Category Archives: Code

WebKit on Clutter

I was at FOSDEM 2008 in Brussels and had a really good time. I know it’s been two weeks and I still haven’t published anything on it, but anyway…

I met the Collabora guys there, who got me interested in WebKit and introduced me to some developers from Linden Lab, who are looking into embedding WebKit on their client. One thing led to another and when I got home the people from Collabora asked me if I’d like to help them getting WebKit onto 3D space, which is something a lot of people are trying out right now as this demo for WebKit on OpenGL through Cairo and OpenVG shows.

To make a first demo of the possibilities, I remembered a presentation I saw on FOSDEM on Clutter, a really cool library that makes creating innovative, 2D-on-3D GUIs easy. It even has some initial support for WebKit embedding, although mouse clicks didn’t work. After some work to adapt the code to the latest Clutter code and adding some extra event handling code, I finally have a working WebKit 3D cube with support for mouse clicks:

WebKit rendering on a Clutter cube.

Right now the event handling is done with synthetic Gdk events created on the spot. I think the best way forward is the simple embedding API that’s already being discussed for WebKit.

Update: Now it also supports transforming the WebKit projection:
WebKit rendering on a scaling Clutter cube.