[webkit-gtk] GObject DOM bindings

philip.chimento at gmail.com philip.chimento at gmail.com
Tue Aug 30 21:39:38 PDT 2016


On Tue, Aug 30, 2016 at 5:00 AM Gustavo Noronha Silva <gns at gnome.org> wrote:

> Hey,
>
> On Tue, Aug 30, 2016, at 07:53 AM, Michael Catanzaro wrote:
> > On Tue, 2016-08-30 at 09:36 +0200, Carlos Garcia Campos wrote:
> > > Freezing the API is not going to be a problem in the short-medium
> > > term, we haven't added any new API to the stable part since we split
> > > the API, and I can only remember a single bug report requesting to
> > > move
> > > something from unstable to stable
> >
> > We have a serious problem right now in that applications (Epiphany,
> > Yelp, Evolution) depend on our unstable API, but we break the unstable
> > ABI without any soname bumps. From a downstream perspective, this is
> > really terrible. It's fine to have unstable API, but it *must* have
> > proper soname versioning or it makes life hell for downstreams. We
> > could, e.g., have two separate shared libs, and you need to link
> > separately to the unstable lib to get the unstable API.
>
> Long term, I think it might pay off if we move away from GObject
> bindings and into making running arbitrary JS code (possibly with access
> to GObject APIs through something like seed) on the page's JS context
> simpler. I think the GObject bindings were very useful in their current
> form when you could use them from your main program, but less so when
> you'll have to run it on the web process and set up some kind of IPC
> anyway.
>
> Do we have an idea how people are using the DOM bindings today and how?
> Would they be properly served by an easier to use JS bridge?
>

Here's an example of something I'm doing with the DOM bindings:
https://github.com/endlessm/eos-sdk/blob/master/webhelper/webextensions/wh2extension.c
Here, I use the DOM bindings to identify HTML elements marked for i18n, and
call back into the UI process via DBus to fetch the translations using
gettext.

As you can see most of this code deals with IPC, so any API that would make
IPC less of a pain to set up in web extensions would be welcome. I'm not
sure, though, how running JS code would make it easier since there's
already webkit_web_view_run_javascript().

Regards,
Philip C
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20160831/e3db274b/attachment.html>


More information about the webkit-gtk mailing list