Since the original fork from KHTML, a lot of water as passed under the bridge of webkit development, to the point that as of today, webkit based browsers thrive all over linux land.
The padoca team decided to do some light testing and benchmark, and to check out what exactly is going on with webkit in the land of the penguin. So, without further ado…
Lets start by learning what exactly is webkit, courtesy of wikipedia 🙂
So, that is that 😀 Webkit is a browser engine, like gecko is the browser engine for mozilla/firefox and friends.
Now, for something completely similar, who are there guys (browsers) anyway?
First and foremost, the grandfather of the webkit itself, the great, lean, mean and kde machine, Konqueror and is KHTML engine!!!
But wait a minute, isn’t KHTML somewhat diferent from webkit? Well.. yes and no, webkit WAS based in KHTML, so for testing purposes (not to mention merit) we included KHTML in our review, but there’s a somewhat more hidden reason also. You see, Konqueror has a webkit kpart so you can switch between khtml and webkit on-the-fly, and THATS the primary reason we added good old konki to the review 🙂
Lets see how every browser likes to be called. We used w3schools to ask them nicely, and this is what konki told us:
Mozilla/5.0 (compatible; Konqueror/4.2; Linux) KHTML/4.2.2 (like Gecko)
Now lets torture.. i mean ask nicely the webkit part:
Mozilla/5.0 (Konqueror/4.2; Linux) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3)
Acording to the dealer, konki fails with the acid because of this:
Failed 13 tests.
Test 13 failed: collapsed is wrong after deletion
Test 26 failed: e1 – parent element doesn’t exist after looping
Test 27 failed: e1 – parent element doesn’t exist after waiting
Test 29 failed: expected ‘2’ but got ‘1’ – cloned table had wrong number of children
Test 31 passed, but took 35ms (less than 30fps)
Test 40 passed, but took 34ms (less than 30fps)
Test 51 failed: expected ‘6’ but got ‘5’ – wrong number of rows
Test 53 failed: expected ‘1’ but got ‘0’ – form’s elements array has wrong size
Test 54 passed, but took 34ms (less than 30fps)
Test 69 passed, but took 70 attempts (less than perfect).
Test 70 failed: UTF-8 encoded XML document with invalid character did not have a well-formedness error
Test 74 failed: getSVGDocument missing on <iframe> element.
Test 75 failed: SVG DOM interface SVGRectElement not supported.
Test 76 failed: Undefined value
Test 77 failed: SVGTextContentElement.getNumberOfChars() not supported.
Test 78 failed: Attempt to use a non-function object or a value as a function.
Test 79 failed: Attempt to use a non-function object or a value as a function.
Total elapsed time: 11.28s
The webkit kpart performs a little better, but still isn’t perfect (keep reading and you’ll be shocked on how many browsers pass the test flawlessly).
Here are the scores:
Failed 2 tests.
Test 00 passed, but took 156ms (less than 30fps)
Test 01 passed, but took 42ms (less than 30fps)
Test 26 passed, but took 112ms (less than 30fps)
Test 65 passed, but took 94ms (less than 30fps)
Test 69 failed: timeout — could be a networking issue
Test 74 failed: getSVGDocument failed for <object> referencing an svg document.
Test 75 passed, but took 73ms (less than 30fps)
Total elapsed time: 9.48s
But in real life, both browsers perform very well and konki as a feature none of the other webkit browser have, the versatility. Since one image speaks for a thousand words and we are lazy, here it is what we mean:
Next kid is a peach 😀 Is name is arora, is qt/kde based and it works very well indeed. It’s our favorite of all the webkit browsers till now.
It insists after questioned that is name is:
Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6
Next in the bunch comes our gtk based favorite, midori.
Identified by this name, is the only that passed the acid3 test flawlessly, probably because its the one with the newest webkit engine as you can see:
Mozilla/5.0 (X11; U; Linux i686; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) midori
The dealer says:
Failed 0 tests.
Test 26 passed, but took 87ms (less than 30fps)
Test 69 passed, but took 89 attempts (less than perfect).
Test 79 passed, but took 54ms (less than 30fps)
Total elapsed time: 9.47s
Next we have a midori cousin from the east, kazehakase, which besides the unpronounceable name has the differential of being the only hybrid browser of the bunch (he can use both gecko and webkit engines, a feat on its own), but is still a little slow and rough around the edges. A nice browser nonetheless.
Passport card shows him as a:
Mozilla/5.0 (X11; U; Linux i686; en-us) AppleWebKit/525.1+ (KHTML, like Gecko, Safari/525.1+) kazehakase
He also has acid3 on its veins:
Failed 0 tests.
Test 26 passed, but took 98ms (less than 30fps)
Test 69 passed, but took 73 attempts (less than perfect).
Total elapsed time: 3.34s
We are now down to two browsers, the youngest of the bunch, the babies of the pack, ladies and gentlemen, please welcome…
reKonq is a baby browser with a lot of promise. based on QTWebDemo just like arora, is aim is to be a full feature KDE browser, and already has a few interesting tricks, like being a singleton app (if a tab crash it doesn’t bring the browser down with it, just like google chrome). It is also very fast and just like arora and the bunch, supports flash and performs very well in day to day usage). We are going to keep a very close eye on this kid as he matures.
After asking if he likes mommy or daddy more, he answered:
Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) rekonq
The kid also isn’t old enough for acid3, but he’s getting there:
Puff daddy would be proud:
CHROMIUM!!! The google chrome open source cousin already is developing nicely…
The ultrascan shows he is a:
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/530.7 (KHTML, like Gecko) Chrome/22.214.171.124 Safari/530.7
Unfortunately to the youth organizations he’s already on acid:
And this medical records show there is no hope for the little fella, he’s addicted already:
Failed 0 tests.
Test 26 passed, but took 106ms (less than 30fps)
Total elapsed time: 1.34s
Chromium doesn’t support flash yet, or any plugin for that matter, it doesn’t have proxy support yet, or a options menu, or a bookmarks manager, or almost anything you would encounter in a modern browser. But it will eventually, it already has working tabs, download bar and history with search.
Complete with bar chart 🙂
Lower is better
The webkit linux browser ecosystem is very much alive and well, with a lot of interesting features and innovation coming along.
We look forward to review this bunch again in about 6 months and see how they grew and how successful they have become.
Thanks for reading.