maanantai 29. joulukuuta 2008

WebKit for Maemo

I'm one of the happy owners of Nokia N810 Internet Tablet. For me the device is all about browsing so I'm a bit disappointed how the internal browser performs. I don't need Flash, nor UI that doesn't fully utilize the screen estate. What I need is a lightning fast browser with gesture based navigation so that the small screen don't get too crowded. There's no need for the URL bar to be on top of the page all the time. There's no need for back and forward buttons to be shown as one can simply use gestures instead and so on.

So what do we need to make this true? Some coding skills and WebKit source code of course! It is pretty simple to take the latest WebKit source code and compile it for the device. There's already GTK+ support in the trunk so it should be a piece of cake to make it run on N8xx too.

I'll explain the steps and release the source code once it is mature enough.

Here's the line that I used for configuring the beast in Scratchbox:

# ./configure --with-hildon --enable-svg=no --enable-xslt=no --enable-xpath=no --enable-icon-database=no --enable-database=no --enable-dom-storage=no --enable-offline-web-applications=no --enable-dashboard-support=no --disable-jit --disable-geolocation --with-http-backend=curl

2 kommenttia:

Wellu Mäkinen kirjoitti...

My few kilobyte test browser works like a charm on regular pages but the pages using SSL won't show up. Seems like I've stumbled on https://bugs.webkit.org/show_bug.cgi?id=19146

Wellu Mäkinen kirjoitti...

Yesterday I tried to compile the latest trunk for Diablo but didn't succeed. It took me some time to find out that they've removed CURL backend for good in GTK builds at least. This means that the build needs to be done against libsoup. Well, it appears that Diablo only has libsoup 2.2 while WebKit requires at least 2.4 to compile and function. Again, the compilation and usage of newer libsoup requires glib that isn't available for Diablo.. I'll have to dig in to this when I have more time. For now it is goodbye to WebKit!

Here's the link to the relevant change in WebKit: http://trac.webkit.org/changeset/41138