Home > Free Software, GNOME, Igalia, WebKit > WebKitGTK+ Hackfest 2012

WebKitGTK+ Hackfest 2012

This year again the WebKitGTK+ hackfest took place at the Igalia office in A Coruña, and this year again it’s been awesome.

My main goal for the hackfest was to implement an extension system for the web process in WebKit2, that would allow, among other things, to access the DOM, which is the major regression of the WebKit2 GTK+ API. The idea was to use the exactly same GObject DOM bindings API we are currently using in WebKit1, so I moved it to a convenient static library and installed the public headers in its own directory making it shareable between WebKit1 and WebKit2. Once GObject DOM bindings were accessible from WebKit2 I wrote a first patch to implement the web extension system providing a new API for extensions to access the DOM.

I also took advantage of the hackfest time, to re-take a task I had pending for some time, adding an API to WebKit2 to handle SSL errors. I didn’t have time to finish the API, but managed to write a first patch to set a policy for SSL errors. For now it only allows to ignore SSL errors and continue the load or make the load fail in case of SSL errors. The idea is to add a new policy to ask the user what to do.

Even though it was not part of my initial plans for the hackfest I ended up working on the document reading integration in Epiphany. I wrote an initial patch for Epiphany to load documents supported by Evince embedded in the window like a web view. There are still a lot of features to integrate like zooming, searching, printing, etc.

Epiphany showing a PDF document

I set a milestone to switch Epiphany to WebKit2 by default at the end of the hackfest, but I didn’t have time to fix all the regressions. We are a lot closer, though.

This event is impossible without the sponsors, thanks!

 

  1. pyluyten
    December 26th, 2012 at 16:40 | #1

    yip, do you mean _get_dom_document? this would be totally cool

  2. carlos garcia campos
    December 26th, 2012 at 17:47 | #2

    @pyluyten

    Exactly, webkit_web_page_get_dom_document(), but only available from web extensions running in the web process.

  3. Leif
    December 27th, 2012 at 00:23 | #3

    Will there be a way to turn off the Evince embedded preview? I prefer to let the app mimetype handler do the work.

  4. carlos garcia campos
    December 27th, 2012 at 09:58 | #4

    @Leif

    I don’t know, but I’d be in favour of adding a setting.

  5. Kẏra
    January 28th, 2013 at 05:11 | #5

    Any closer to flicking the switch and making Webkit2 the default?

  6. carlos garcia campos
    January 28th, 2013 at 08:46 | #6

    @Kẏra

    Yes, we are indeed closer, see the WebKit2 section of the Epiphany roadmap, everything is mostly done:

    https://live.gnome.org/Epiphany/Roadmap/3.8

  1. No trackbacks yet.
*