Web Platform Team Blog

Making the web awesome

European WebKit hackathon wrap-up

Between September 22nd and September 24th the Adobe WebKit team in Bucharest organized and hosted an European WebKit hackathon.

Why a WebKit hackathon?

And an European one for that, you might ask. Well, there are a couple of reasons, having to do with both building code and building communities.

Open source projects, more than “closed” projects, need to have at their core a community of people that know, understand and respect each other – technically and, to some extent, personally, too. While it’s possible to meet and be part of the community via the Internet, sometimes direct, face to face interaction can go a long way in helping to understand each other’s position, interests and opinions as well as their skills and areas of expertise.

As such, a WebKit hackathon proved to be the perfect environment for contributing to WebKit – both in terms of code but also in terms of better understanding the contributions and interests of different contributing entities, be it companies or individuals. Hacking sessions were interspersed with presentations and talks about different on-going efforts – ranging from “administrative” tasks to ongoing specification efforts and less common use-cases for WebKit.

European webkittens

With more than 25 people expressing interest in the hackathon, in the end 20 people attended the event – a mix of developers from Intel, Samsung USA, Igalia (Spain) and the University of Szeged (Hungary) and Adobe employees from US and Romania.
The first day debuted with presentations by each team about their work in WebKit and their areas of interest for the rest of the hackathon. In alphabetical order, here’s a brief description of each of these teams.

Adobe‘s current contributions are mainly around new CSS features and their implementation in WebKit – things like CSS Regions and Exclusions, CSS compositing, CSS filters and CSS transforms. There’s also some work around the Chromium Embedding Framework.

Igalia is a company based in Spain and the main contributors/maintainers of the GTK port, their main commercial work being consulting and helping other companies embed WebKitGTK in their products. They shared some interesting insights regarding WebKit development in China and India – apparently many companies are using WebKit and hacking on it and fixing bugs, but close to none contribute back to the trunk.

Intel is investing a lot in WebKit in the context of the EFL WebKit port that is built on Linux. Besides the EFL work, Intel also significantly contributes to other areas of WebKit and Chrome such as WebAudio, enabling Chromium on Android for the x86 architecture and improving the V8 JavaScript engine.

Samsung US is the other important contributor to the EFL port. They also have some interesting contributions around WebCL, working on both the spec and the implementation in WebKit. Igor showed us some nifty bits and pieces but apparently the best is yet to be announced.

The University of Szeged is an important contributor to the Qt WebKit port and the de facto gardeners for it (gardening means making sure the bots for a certain port are green and investigating/fixing issues/logging bugs and rolling out patches when they become red). They also have students working on WebKit for other companies, through different academic collaboration programs like sponsorships and internships. Given the academic environment they’re also involved in more “researchy” projects, mainly around JavaScript optimizations (in JavaScriptCore), parallel image decoding, memory usage instrumentation and optimization.

So what did we hack?

Once we got to know each other a little bit better through the aforementioned presentations, there came the tricky part of deciding what to hack on for the next two days. A number of topics were proposed and in the end three groups were created, focused around SVG & graphics, enabling CSS Regions on other ports and Web Inspector. The better part of the next two days was a mix of hacking, discussing approaches and ideas for the bugs we started on, a more in-depth look at Qt gardening and of course, fun and beer (in the evening!).

Saturday afternoon, before heading for a walk in the city, we had a demo session where everyone had the opportunity to present their work after the hackathon. Here are the highlights of this session:

SVG & graphics

Raul Hudea worked on WebKit bug #96381, enabling -webkit-clip-path to reference fragments inside an SVG document. Andrei Bucur did some similar work, enabling use of gradients defined in an SVG document as CSS masks (think -webkit-mask). Dirk Schultze decided to try something different (non-SVG :) ) and worked on a prototype implementation for the path object in the upcoming canvas specification.

Web Inspector

Mirela Budaes fixed bug #97120 that prevented a pop-out from closing when moving the mouse outside it in certain conditions. Andrei Poenaru, one of our summer interns, continued his great work on enabling CSS Regions support in Web Inspector by bringing the ability to highlight multiple elements at a time in the Elements panel one step closer to completion . As for myself, I worked on bug #91382, adding the ability to comment lines in the JavaScript source editor using the Cmd (Ctrl) + / keyboard shortcut.

CSS Regions on other ports

The team spent some time on figuring out exactly how to enable and disable features both at compile time and at runtime on the different ports. The good news is that on Qt, GTK and EFL with Regions enabled, most of the regions tests already pass. There are still issues around WebKit vs. WebKit 2 as different ports ship different flavors of WebKit by default. They also set up and configured a VM that can compile and run the Qt, GTK and EFL ports with Regions enabled – very useful for testing patches before hitting the bots.

Other hacks

Working somehow outside of the established teams, Horia Olaru prototyped an extension to the document DOM API, similar to document.elementFromPoint() but that actually returns all the elements at the given position, not just the top-most in z-order. Alex Chiculita added the last finishing touches to the CSS FilterLab while also landing a WebKit patch and helping other hackers with his WebKit experience and reviews.

What’s next?

This is the first European WebKit hackathon that Adobe has sponsored. Besides the actual hacking, it was good to see the amount of interaction, learning new things about others, and drafting common lines of actions. Going forward, we’re looking forward to repeating this event, hopefully with even more contributors from more companies interested in WebKit.
In the meanwhile, if you want to make the web better, and would fancy spending a couple of days with web gurus of all stripes in Beijing or Paris, be sure to check out the Test the Web Forward events.

Comments are closed.