[webkit-dev] Extending webkit javascript

Mark Rowe mrowe at apple.com
Sun Jan 18 21:04:08 PST 2009

On 2009-01-17, at 07:57, webkitdev at aol.com wrote:

> Hi,
> I am trying to extend the javascript to invoke custom C code in  
> webkit.
> Basically my requirement is to load a webpage that contains the UI  
> built in Java script and on some user actions, I need to call C  
> library functions on Linux. I looked at the testapi.c in API  
> directory and added similar functions in GtkLauncher program(main.c)  
> to add "MyObject". But when a I load a webpage containing "MyObject"  
> I am getting error "ReferenceError: Can't find variable: MyObject".  
> Then I copied the entire testapi.c into GtkLauncher main.c, replaced  
> main() with test_main() and invoked the test_api() (along with a few  
> tweaks for the header files .). This way I am able to get all the  
> tests (testapi.js) succeed, but I am still getting the  
> "ReferenceError". Looking at the code, I see that there is a context  
> that is passed, which I believe is not passed to the webview. Is  
> there a way in which I can use the same context as the webview and  
> add my object?

The window-object-cleared signal is emitted when the global context of  
a frame is initialized.  One of the arguments that is passed to this  
signal handler is the JSGlobalContextRef corresponding to the frame's  
execution environment.  You can set your properties on the global  
object of this context to expose them to JavaScript that executes in  
the context of this frame.

Hope this helps,

- Mark

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20090118/e4163cbd/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2413 bytes
Desc: not available
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20090118/e4163cbd/attachment.bin>

More information about the webkit-dev mailing list