Support for Wayland in WebKit2GTK+

Abstract

The goal of the project is introducing support for the Wayland display protocol in WebKit2GTK+ , the GTK+ port of the popular WebKit web content engine that uses the multi-process architecture. The latter, while ideal when a crash occurs in the viewed web page, can be tricky when it comes to displaying the rendered web page under the Wayland display protocol.

Social

Reports

  1. GSoC 2013 - Late to the (reporting) party

  2. Building WebKit2GTK+ with Wayland as the target

  3. WebKit2GTK+ regression testing under Weston

  4. WebGL in WebKit2GTK+ under Wayland

  5. Final remarks on GSoC 2013

Tasks

WebGL support under the Wayland display bug

Short description

Requires refactoring of the EGL context wrapper interface so it can support multiple EGL platforms (Wayland, X11, the 'default' platform). The Wayland-specific EGL platform abstraction relies on creating a dummy wl_surface object to acquire the EGLSurface that's then used for rendering.

Code and bugs

Status

Complete - requires review and landing in the trunk, hopefully can be merged into the 2.2 stable branch (GNOME 3.10).
Screenshot of get.webgl.org.


Running layout tests in separate Wayland compositors

Short description

Parts of the massive layout test suite can be run in parallel testing programs, instances of the so-called WebKitTestRunner executable. At the moment, under the X display server, separate instances are run inside their own Xvfb display server, which has its pros and cons.

Under the Wayland display protocol, each WebKitTestRunner can be run inside its own display compositor. This provides proper hardware acceleration to the test runners (moving away from software rendering) and also enables running the compositors inside one 'master' compositor.

Code and bugs

Status

Complete.
Screenshot of multiple WebKitTestRunner instances inside a master Weston compositor.


The Wayland build target

Short description

It should be possible to build WebKit2GTK+ with only the Wayland build target enabled, or with both Wayland and X11 targets enabled in parallel. Similarly to the GTK+ toolkit, this would enable running applications using WebKit2GTK+ under both display protocols while only being linked to one version of the WebKit2GTK+ library. This of course also requires the GTK+ toolkit to have both Wayland and X11 backends enabled and functioning.

Code and bugs

  • bugs.webkit.org #120627

  • Landed as r155032

  • Also required further, smaller changes that disabled specific features that are not yet supported under Wayland.

Status

Complete.

Outreach/SummerOfCode/2013/Projects/ZanDobersek_WK2GTKWayland (last edited 2013-12-03 18:34:15 by WilliamJonMcCann)