[webkit-dev] Extending WebKit JavaScript support

Christian Dywan christian at twotoasts.de
Thu Nov 13 01:51:13 PST 2008


Am Thu, 13 Nov 2008 01:34:17 -0800 (PST)
schrieb Iulian <iliescu.iulian at gmail.com>:

> I would like to extend JavaScript support with new objects (similar
> to Math, RegEx, String). Because these objects needs to interact with
> the OS (Linux) i cannot use JavaScript Object support to create these
> objects from JavaScript.
> I studied WebKit documentation but i don't know what should i do to
> add such an object.

Heya,

if Linux means Gtk, something like the following will do:

    JSClassDefinition js_class_def = kJSClassDefinitionEmpty;
    js_class_def.className = g_strdup (name);
    js_class_def.getPropertyNames = _js_class_get_property_names_cb;
    js_class_def.hasProperty = _js_class_has_property_cb;
    js_class_def.getProperty = _js_class_get_property_cb;
    js_class_def.setProperty = _js_class_set_property_cb;
    JSClassRef js_class = JSClassCreate (&js_class_def);
    JSObjectRef js_object = JSObjectMake (js_context, js_class,
    instance);

Where you need to implement the underscore prefixed functions yourself.

For more pointers I suggest the public headers of JavaScriptCore, the
two test programmes, and the file gjs.c in the Midori source tree. The
API of javascript is pretty intuitive once you got the hang of it.

ciao,
    Christian


More information about the webkit-dev mailing list