Last week I attended the European WebKit Hackathon, the organization and the location were awesome (Bucharest). We had the opportunity to meet with other WebKit teams and know about their work and plans. Adobe, Samsung, Intel, University of Szeged and Igalia were there represented. And of course we spend time hacking in some topics where we could collaborate together. Considering all the specifications the Adobe people are pushing (CSS Regions, CSS Exclusions, CSS Shaders, etc.) it was a great opportunity to try some of their work in WebKitGTK+ and help them with some compilation and testing tricks in the port. I think we can continue helping with some of those specs and make WebKitGTK+ a good port for checking web framework new features.
We also could catch up with Intel EFL hacker Dominik Röttsches. EFL port uses a lot of code from the WebKitGTK+ and our goals are quite similar so it is always good we can spend sometime hacking together. Ossy from the Szeged University explained their testing infrastructure and methods for the WebKitQt port, very interesting points about how to deal with a big project like WebKit.
I would like to thank organization and I hope we can make it next year.
- In 2011, when I wrote my last post I was working on WebKit2 stuff, I was helping to create the initial parts of the GTK+ code. Our goal was to prove it was the best way to spend our time if we wanted to improve graphical result, and I’m glad to say we were right. If you test Epiphany WebKit2 it is easy you check the differences. Now better developers than me are taking care of that work and we are getting a good multiprocess engine.
- We started working in the accelerated compositing for WebKitGTK+, after some initial tests and decisions nowadays we have a fairly complete solution with TextureMapper. The implementation includes a fallback cairo backend and the OpenGL one, it even works in WebKit2. We are trying to push this work as much as we can in order to have it integrated as the GNOME 3.6 graphical solution. WebGL is also working in both versions of the API and even video acceleration is among our goals for this release.
- We added WebKit2 test support and we are now passing 27000 tests, that is an amazing figure. Phil made a great effort to rationalize the use of our bots and we have now a good solution.
- We released WebKitGTK 1.8 for GNOME 3.4 and we started the 1.9 cycle. And after this time it is still a painful task to do, good thing that now Carlos takes care to keep dist-check working.
- We started helping with cairo-gl multisampling compositor, our plan is WebKit integration, this library and last changes in accelerated compositing are good foundations to create a great user experience in any device. There has been good feedback from the WebKitEFL people. They are using this backend in Tizen browser with very good results.
- Awesome Martin and me talked in the last desktop summit (Berlin) about WebKit2GTK+ current situation of the engine and future work. We introduced some work we have done this last year, I think we get the picture mostly right.
- I attended another WebKitGTK+ hackfest in A Coruña, it was great to meet old and new collaborators of the project. We spent a lot of time with accelerated compositing at that point.
- Last year some guys decided to nominate me as a WebKit reviewer and other nice guys backed the proposal.
- In 2012 I had the opportunity to attend the last WebKit meeting in Cupertino, it is really amazing how many interesting things are being developed around the technology and the possibilities we have in the future for a platform like this. I like San Francisco and it is always great to come back every year.
Also in the last year we celebrated Igalia’s 10th anniversary, the truth is that we started working on the project in the beginning of 2001, so I have been working here for more than 11 years already. We use the legal date to celebrate it for technical reasons. It has been a very long trip already, and I feel I’ve changed a lot because all the experiences we had, good and bad. Best thing is that I was able to work in a challenging project with great people, and learn a lot from them.
I think that was all for the wrap-up, probably I’m missing something someone will remind me, sorry about it Internet. I almost forgot, another interesting experience was the time off I had in the beginning of this year, for a little bit more than one month, it was a good way to celebrate the 10 years working.
The 3.6 release is going to bring the WebKit2 support and we will try to have Epiphany integration ready at that point, that would close a great development cycle. I’ll try to blog more from now on and give more information about this (/me smiles), probably explaining some of that work more in detail would make a lot of sense.
By the way, I’ll attend GUADEC this year again, see you there.
It has been a very intense week, we are all tired but I think all the energy spent in the work and discussions during this week has paid off in the end. We have worked in a lot of topics: rendering (performance, leaks, WebGL patches), cleaning tests and bots, networking, JSC, Epiphany, a11y support, gstreamer, plugins, etc.. And we have crossed off a lot of things from the TODO list.
Thanks to everybody that helped to make this real and see you all the next year.
After the hackfest and the Christmas holidays we continued working in the GNOME browser, it is hard but someone has to do it :-P. I wanted to do a small summary because in this time without blogging a lot of things happened and I think sharing the report could be interesting for other people.
The roadmap for 2.30 is waiting just for the soup on-disk cache (Dan is working in this one), so currently we are doing some cleaning work in Epiphany, addressing the current regressions, Diego has joined the group to help with it. Xan did an awesome work finishing the DOM bindings, this patch should be the beginning of the work in this topic in order to have complete bindings. Of course Philippe has been working in the multimedia support adding nice features like the on-disk buffering. Millan is helping also us with the a11y support and on this regard I’m still waiting for a review of the bug 25676 which is required for the caret browsing.
Trying to solve some a11y issues I’ve changed the WebKitGTK+ tooltips support to get rid of some of the work-arounds that it had, now it uses the GtkTooltip API. Regarding the a11y requirements we still have some limitations to position the tooltip that it is not clear how we could solve.
I’ve been also trying to finish some refactoring of the load states inside Epiphany, hopefully now it would be easier to deal with that code.
I wrote this summary initially as a personal report of our work and felt it was nice to share it, this way I can create more interesting posts than using just my work ;). It is also nice to check the interest of other people and companies using WebKitGTK+ in their desktop and in their products.
My interests these weeks are Cody’s GtkOffscreenWindow widget and the DOM bindings, I was wondering also about the visual result of the scrolling in Epiphany, it has some tearing and I think we could do it better. Really interesting things to check :).