[webkit-gtk] GObject DOM bindings

Carlos Garcia Campos cgarcia at igalia.com
Tue Aug 30 00:36:00 PDT 2016

Apple is planning to implement a lot of new WebIDL features that could
break the GObject DOM bindings. In some cases it could be just
impossible to have an implementation in the GObject bindings because of
the C limitation (optional arguments, templates, function overrides,

So, the current plan, unless someone opposes or has a better idea, is
to freeze the API, like Apple recently did. It basically means taking
the current generated API and copy it into the source tree so we will
no longer auto-generate that code. There isn't any compatibility issue,
because it's the same API we are currently exposing. Although, we can
probably avoid some new APIs in unstable the nobody is using. 

That way Apple can implement all the WebIDL features without breaking
our bindings, and we will not have to be fixing the bindings everyday.

But we need to decide what to do with the GObject DOM API in the long
term. 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 can probably check now what
unstable APIs are apps currently using, and move them to stable, since
the APIs are not going to change anymore for sure. So, we have time to
decide what to do.

Apple changed to a different model: "dynamically bridging from Swift
and Objective-C to JavaScript rather statically bridging to the DOM".
Having a public API with backwards compatibility guarantee depending on
code that is auto-generated has always been a headache for us, so
moving to any other mechanism could make the maintenance easier. But at
the same time, the GObject DOM API is quite useful and convenient, so
any replacement should be at least ad good as our current DOM API.

Any idea or comment about this is more than welcome.

More details in this webkit-dev thread:

Carlos Garcia Campos
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20160830/5f723f0e/attachment.sig>

More information about the webkit-gtk mailing list