WebKit gets 100% on Acid3
March 27, 2008 by alp · 18 Comments
Today we reached a milestone with WebKit/GTK+ as it became the first browser engine on Linux/X11 to get a full score on Acid3, shortly after the Acid3 pass by WebKit for Safari/Mac.
There is actually still a little work to be done before we can claim a flawless Acid3 pass. Two of the most visible remaining issues in the GTK+ port are :visited (causing the “LINKTEST FAILED” notice in the screenshot) and the lack of CSS text shadow support in the Cairo/text backend which is needed to match the reference rendering.
It’s amazing to see how far we’ve come in the last few months, and great to see the WebKit GTK+ team now playing an active role in the direction of WebCore as WebKit continues to build momentum amongst developers.
Update: We now also match the reference rendering.

Amazing !
Lack of support for :visited seems like a feature.
How long until us mere mortals can install a .deb of epiphany-webkit in Hardy?
I can’t wait
Awesome. There’s just one thing I miss: some debian or ubuntu repository with updated packages of webkit nightlies and browsers using it (Epiphany, Juniper, Midori, maybe some else)…
Yeah, “:visited” is so annoying …
Does it really count as 100% if you don’t match the reference rendering?
jamesh: 100/100 of the tests really do pass, but like I explained there are still some things to be done to achieve a flawless pass such as matching the reference rendering — which isn’t tested automatically and so not part of the the 100 groups of core tests.
Some of these fixes need to be done by the GTK+ porting team, and one or two directly in WebCore. They are mostly minor tweaks that should get done over the next few days.
Awesome work guys.
I can’t even compile it with svg enabled! Wondering how it passes?
./configure –enable-video –enable-svg –prefix=/opt/socialtv
make
DerivedSources/SVGElementFactory.cpp: In function ‘WebCore::SVGElement* WebCore::altGlyphConstructor(WebCore::Document*, bool)’:
DerivedSources/SVGElementFactory.cpp:129: error: expected type-specifier before ‘SVGAltGlyphElement’
DerivedSources/SVGElementFactory.cpp:129: error: cannot convert ‘int*’ to ‘WebCore::SVGElement*’ in return
DerivedSources/SVGElementFactory.cpp:129: error: expected ‘;’ before ‘SVGAltGlyphElement’
DerivedSources/SVGElementFactory.cpp:129: error: ‘SVGAltGlyphElement’ was not declared in this scope
…
Any clue?
Ashwin: Try –enable-svg-experimental instead. Looks like the standard –enable-svg is busted. You’ll need to clean your build tree from the previous attempt.
We’ll need to move some SVG features from the experimental profile to the stable one now that they’re becoming mature and interdependent.
Midori 0.0.17 in Mandriva’s repositories gets it perfectly without errors 100/100.
WebKit passed Acid3 fully for the first time on Friday. So it’s 100 subtests of 100 passed now.
Opera 9.60 Beta scored 85.