WebKitGTK+ 1.1.1 released

A new version of WebKit’s GTK+ port is here, as also announced by Xan! Before I start listing the new features and fixes, let me give you a download link =).

For this version we have changed the binary interface slightly, which requires a soversion bump, so rebuilding applications is in order. The API is still stable, though.

Another major change worthy of note is that we have made libsoup the only HTTP backend available for WebKitGTK+, removing the CURL related code from our port (the CURL backend remains in the tree, though, as it is used by other ports). This should simplify implementation and allows us to expose Soup objects in the API, reducing the amount of wrapping code that is necessary. We are already exposing the SoupSession we use internally, providing yet more power and flexibility to applications using our API.

In this release we finally get to see the official debut of the Web Inspector in the GTK+ port. Can’t wait to see releases of our dear browsers featuring the inspector =). Numerous improvements to hading policy decisions regarding navigations and window creation requests to the application have also come with this release.

We worked hard on finding and fixing crashes for this release, but also numerous fixes for those pet peeves that bother us just a bit, but enough to add up got landed. There are more of those to kill, but things look promising. We are hoping to release again in two weeks, so expect more fixes soon.

So, that’s it. Grab the new version, test it, report bugs, and enjoy!

My first commit to WebKit

So, after some time contributing to WebKit/GTK+ I got invited to be an official committer, and today (yesterday, technically) my account was setup. I have thus been able to commit one of my patches which were already reviewed myself. It is indeed pretty simple. I didn’t want to fuck up big if I did, you know =). At least it is much more meaningful than my first patch that got committed.

Being a committer means I can help speed things up a little by freeing reviewers from the work involved in commiting some of the patches, giving them more time to review new patches instead, so I am very excited about this.

Epiphany/WebKit advancing

Since late 2008 WebKit/GTK+ has been advancing in a better pace than earlier that year. Patches are being reviewed and committed actively, mostly by Holger Freyther (zecke). This last month, among other goodies such as better keyword searching for the WooHoo bar in Epiphany and enabling WebKit’s Soup backend to upload files, I have been working on getting download support into WebKit/GTK+ so that we can use that API in Epiphany.

Most of the heavy work was done by Marco Barisione and Pierre-Luc Beaudoin for Collabora early last year. I brought the patch up-to-date and modified it with input from various people into something simpler and handling some more use cases. Tonight I finally reached a milestone, being able to download a Debian ISO with Epiphany/WebKit:


Epiphany WebKit downloading

This is work in progress. There are many rough edges to sharpen, still, but this work should be ready for merging very soon. If you want to help take a look at the WebKit bug report we are using to track this work, and the corresponding Epiphany bug report.

Anyway, I’ve been using both Epiphany and WebKit/GTK+ from trunk for about a month now, and the number of things I am missing is going down quickly. Come help us test and get a regressionless Epiphany with WebKit/GTK+ for GNOME 2.28!

So, the long-awaited release of gksu-polkit is here

I’m looking for people who are interested in testing the first release of gksu-polkit. I uploaded the first tarball to http://people.debian.org/~kov/gksu/gksu-polkit-0.0.1.tar.gz. There are also x86 packages available (built on a sid with a lot of experimental stuff, so if you have trouble installing please email me and I’ll have that fixed =P).

For some history and discussion on the whys and hows do take a look at the README which exists inside the tarball (or git repo), and on the small page I wrote about it. For those who want to fiddle with the code, and perhaps help me finding bugs and fixing them, here’s my public git tree:

git://git.debian.org/~kov/gksu-polkit.git

One more patch in on WebKit/GTK+

So, we’ve been strugling in the WebKit/GTK+ project to get things moving a bit quicker in the API front. This is much needed if we want to see applications really migrating to a WebKit-based implementation, specially for us to have an Epiphany/WebKit release.

It seems like Holger Freyther has returned full-throttle into patch reviewing and commiting, and has already committed my patch to add WebInspector support, and the one to allow applications to handle requests of new windows, which had been reviewed in a meeting with many developers weeks ago.

We should probably focus on reviewing and applying the web policy delegates one? Also, Holger has done a tremendously awesome work on getting the documentation that is already written available (and improved!), take a look!

gksu gets pipe capability

One of the features I really wanted to get into gksu-policykit early was working correctly with pipes. With the current gksu you cannot do something such as echo blah | gksu tr a-z A-Z. It is actually very hard to work correctly with input/output with su and sudo bellow. I do think it also has something to do with me not being too clever in UNIX file descriptors at the time I originally planned how gksu works. I did get an email from someone at Sun offering to write support for that who never mailed me again, but anyway…

gksu-policykit is currently able to get all the input and output forwarded to/from the process by using an interface similar to glib’s g_spawn_async_with_pipes. Here’s what we are able to do already:


kov@abacate:~/src/gksu-polkit$ echo test string | ./gksu/gksu-polkit /usr/bin/tr a-z A-Z
TEST STRING
kov@abacate:~/src/gksu-polkit$

It’s impressive to me that all the input and output goes over DBus quite nicely.

Web Inspector for WebKit/GTK+

Some weeks ago I read an old blog post about the WebKit Web Inspector having been done for the Qt port. I didn’t know the web inspector at the time, but I loved what I saw. WebKit’s Web Inspector does look nice, and I thought it could finally replace Firebug as my main web development tool.

Since I have been contributing some patches to the GTK+ port of WebKit, I thought I would be able to understand and implement the Inspector. And so I did it. I’m still waiting for further comments, and its current form may not be final, but it works, and I’ve been using it for small debugging needs for a project I’m currently involved here at AlfaiaTI. Some screenshots:

The Inspector tracing some dumb javascript code I am writing

The Inspector showing load time for the various objects of GNOME's web page

Detailed information on a resource downloaded to render the GNOME web page