WebKitGtk+:
Status and roadmap to WebKit2

Philippe Normand <philn@igalia.com>

Mario Sánchez Prada <mario@igalia.com>

What is WebKit?

What is WebKitGTK+?

Who is using it?

Previously on WebKitGTK+...

  • GObject bindings for the DOM
  • Support for GTK+ 3.x
  • Improved HTML5 support
  • WebSockets
  • Disk network cache (libsoup)
  • WebGL support
  • Full drag-and-drop support
  • More accessible
  • Increased test coverage (up to 26000 tests)

Stable release (1.6)

  • GTK+ 3.x is default. Kept GTK+ 2.x support
  • More GObject bindings for the DOM
  • Independant JavaScriptCore library
  • Basic support for WebKit2 (WebKit2GTK+)
  • Spell checking APIs
  • Lots of bugfixes

WebKit2: split process model

WebKit2: API & Process Boundaries

WebKit2: API & Process Boundaries

WebKit2: Some details

  • Three different processes:
    • UI Process
    • Web Process
    • Plugin Process

  • IPC Mechanisms:
    • CoreIPC - an abstraction for general message passing, including event handling (sockets)
    • DrawingArea - an abstraction for a cross-process drawing area (mmaped file)

WebKit2: Current status

  • Apple and Qt already released WebKit2 browsers
  • Cross-platform C API exists, internally used
  • GObject API Work-In-Progress (WebKit2GTK+)
  • Most challenges of the split process model solved
  • Tests running, need to deploy more test bots

Unstable releases (1.7.x)

  • More WebKit2GTK+ API written
  • Drag'n'drop on WebKit2GTK+
  • WebInspector on WebKit2GTK+
  • Support for gtk-doc on WebKit2GTK+
  • MiniBrowser ported to WebKit2GTK+ API
  • Initial implementation of WebAudio
  • WebGL enabled by default
  • Initial support for accelerated compositing
  • Performance boost (e.g. JavaScript, rendering...)

Upcoming releases (1.8, 1.10...)

  • Keep working on the WebKit2GTK+ API
  • Accelerated compositing (OpenGL)
  • Implement fullscreen HTML5 support (Video)
  • Finish WebAudio implementation
  • Port multimedia to GStreamer 0.11
  • HW accelerated Video rendering
  • Accessibility enabled on WebKit2GTK+
  • Port more apps to WebKit2GTK+ (yelp, ephy...)
  • ...

Accelerated compositing

Fullscreen HTML5 support


(The HTML5 logo is CC Attribution 3.0 Unported, by the World Wide Web Consortium)

Accessibility on WebKit2GTK+

Accessibility on WebKit2GTK+

Accessibility on WebKit2GTK+

Wrapping up

  • Mature port of WebKit, used everywhere
  • Very active (and open!) development process
  • Perfectly suitable for writing modern browsers
  • Great option for embedded systems
  • Also great for web-based desktop applications
  • Comes with a promising future (WebKit2, AC...)
  • Released regularly (every 6 months)
  • It's accessible! ;-)

Reporting bugs and Contributing

  • http://bugs.webkit.org
  • http://webkitgtk.org
  • http://webkit.org
  • Mailing lists:
    • webkit-gtk@lists.webkit.org
    • webkit-dev@lists.webkit.org
  • IRC channels on irc.freenode.net:
    • #webkitgtk+ and #webkit
Q&A
Thanks for attending!
Philippe Normand <philn@igalia.com>
Mario Sánchez Prada <mario@igalia.com>