Surfin' Safari

WebKit gets an A+ on Acid3

Posted by Eric Seidel on Saturday, March 22nd, 2008 at 3:05 am

As of revision 31231, WebKit passes Acid3 subtests 23 (bug) and 25 (bug). That brings our score up to 95/100 — an A+! We fixed our parsing of qualified names to match the DOM Level 3 Core specification and now correctly throw NAMESPACE_ERR and INVALID_CHARACTER_ERR exceptions for invalid calls like:
document.createElementNS(null, "foo::bar") or
document.implementation.createDocumentType(":bar", null, null).

Behold the glory:
WebKit gets an A+

Update: The latest WebKit nightly build now includes the fixes for these two Acid 3 bugs.

28 Responses to “WebKit gets an A+ on Acid3”

  1. cfinke Says:

    That would be an A, not an A+. Where I’m from, the only A+ is 100%. (Not to say that this isn’t great work.)

  2. str Says:

    @cfinke: 95% = A+, 100% = A++ ;-)

    Great work! Can’t wait to see 100/100 aka A++!

  3. solipsism Says:

    If we grade on a curve then WebKit has been A+ out of the gate.
    (this thread got off topic quickly)

    Nice Work!

  4. MiLyAni Says:

    I try it , but it is very slow , and it take long time to reach 95 , reaching 91 is fast , but 95 take a very long time ….

    i hope that fixed

  5. DJCarbon43 Says:

    bummer. Still only getting 92-93. Grr.

    Also, the animation doesn’t seem as fast adn smooth as in earlier builds.

  6. petermichaux Says:

    The Webkit team’s speed is very impressive! Congrats and looking forward to 100/100! :-)

  7. Aisys Says:

    It might be better to make posts like this after a Webkit nighty is available that reflects the changes being talked about. Comments like DJCarbon43 suggest that there is a misunderstanding that could be avoided there. At any rate, exciting news! Thanks for blogging the home stretch.

  8. masterleep Says:

    How about Acid2? In Safari 3.1, the eyes are broken if you do a reload.

  9. Rene Says:

    GOGOGO! I’ll be happy to post on Wiki that Safari is the first and currently only browser reaching 100 in the Acid3 test :)

  10. Mithrandir Says:

    Konqueror can use Webkit also. So Safari won’t be the only browser.

  11. Roberto Says:

    You focus on Acid3 and JS, but what about selectors? I know that WebKit pass selector test on css3.info, but what about http://disruptive-innovations.com/zoo/css3tests/selectorTest.html#target ? It looks like WebKit has problem with :hover, and some two other things

  12. simx Says:

    @Aisys: The Webkit nightly that is talked about in this post is available with the fixes. The problem is that there’s another timing bug that causes some people to get slightly lower scores than what is indicated here on this weblog. See the last paragraph here: http://webkit.org/blog/160/acid3-range-exception-test-fixed-webkit-hits-92100/

    [Moderator note: when this and preceding comments were written, the latest nightly build did not contain the fixes mentioned in the blog post. 93 is the score to expect until later today.]

    Also, I agree that 95/100 is not an A+, but WebKit doesn’t need 100/100 to get an A+ either. Where I’m from, an A+ is 98/100 or higher. So WebKit (at least for me) is in the solid A range, but not yet an A+. :)

    But whatever, keep on fixing those bugs! Nice to see that WebKit is already really close to passing.

  13. Kody Bryson Says:

    I don’t know why but tracking WebKit’s progress on this is very exciting. Can’t wait for the next five posts on the topic.

  14. Cameron Zwarich Says:

    @masterleep: How about Acid2? In Safari 3.1, the eyes are broken if you do a reload.

    I fixed that last night. See http://trac.webkit.org/projects/webkit/changeset/31228.

  15. macgasm Says:

    We just did a quick post on all the browsers Acid3 tests a couple days ago, and we completely forgot about webkit. This is awesome, thanks for taking standards so seriously… :)

  16. Suppressingfire Says:

    Hooray for grad inflation!

    It’s pretty close to the reference rendering: http://acid3.acidtests.org/reference.html but not quite there.

  17. DJCarbon43 Says:

    Looks like Eric (or another mod) updated the post. I agree wholeheartedly with AIsys :D

    I’m going to download it and test both ACID 2 and 3 now.

  18. DJCarbon43 Says:

    Hooray!!! :P

    I’m now getting 95 consistently (94 about 1/3 of the time). The initial load is always very smooth, in both an initial window, and in opened tabs. On reload, there is a noticeable delay in some of the tests, which I’m guessing is what is causing the 94.

  19. Brad Says:

    So 95% is an A+ and 100% is an A++? Good grief! Won’t that make people who only get 90% sad? I think 90% should be A+,and there should be an extra plus for every percentage over 90. So Webkit gets an A++++++. Then we should award two pluses for every percentage over 95, so if anyone gets 100%, that would be A++++++++++++++++. To save space, we can write that as A16+.

    By the way, I still only get 91 (A++), with a big pause around 65 (B25–; there are no C’s or D’s). Maybe because I am on PowerPC?

  20. Brad Says:

    By the way, when I was in school, an A+ meant I did extra credit to rise above 100%.

  21. masterleep Says:

    @Cameron Zwarich: I fixed that last night. See http://trac.webkit.org/projects/webkit/changeset/31228.

    Awesome, the team is obviously on top of things. Very impressive.

  22. wyuenho Says:

    I don’t why I test 69, 74, and 78 still consistently fail for me. This happens on Safari 3.1 and the nightlies. I’m on a iBook G4 (mid-2005) and on 10.4.11.

    Test 69 failed: Undefined value
    Test 74 failed: getSVGDocument failed for referencing an svg document.
    Test 78 failed: expected ’90′ but got ’0′ – getRotationOfChar(0) failed.

    This doesn’t happen on Safari 3.1 windows and even on an Intel Mac running 10.4.11.

    This smells like platform specific enough to be a compiler optimization bug to me, but I’m just blind guessing.

  23. qazwart Says:

    I’m glad Safari is doing so well against the Acid3 test. However, Safari has had problems with Midas/designMode support. I know that’s not exactly standard, but its all over the web. Joomla, Mambo, anything that uses TinyMCE, Atlassian products (including Confluence), etc. I like Safari, but there are quite a few websites where I have to switch to FireFox in order to use them.

    I also know that Jira (Atlassian’s bug tracking system) also has problems and it isn’t related to Midas/designMode support. I don’t know what it is, but I can’t transition issues in Jira by simply clicking on them with Safari.

    I also notice that the latest WebKit breaks drop caps on one of my sites: http://etzahaim.org. It works in FireFox, Opera, IE, and even Safari 3.1. The latest WebKit breaks the drop cap. I’m submitting a bug on that one.

  24. DJCarbon43 Says:

    @ Brad: LMAO, Nice :D

    So was that back in cobol and fortran times? ;)

    Happy Easter everyone!

  25. Thomas Ganter Says:

    Probably I’m dumb, but my latest nightly, updated 10 minutes ago, consistently reaches 91/100.
    These tests fail:

    Failed 9 tests.
    Test 02 failed: reached expectation 13 when expecting expectation 12
    Test 26 passed, but took 275ms
    Test 65 passed, but took 23ms
    Test 69 failed: Undefined value
    Test 70 failed: UTF-8 encoded XML document with invalid character did not have a well-formedness error
    Test 74 failed: getSVGDocument failed for referencing an svg document.
    Test 75 failed: Value undefined (result of expression anim.beginElement) is not object.
    Test 76 failed: expected ’0′ but got ’100′ – Incorrect animVal value after svg animation.
    Test 77 failed: expected ’3′ but got ’0′ – getNumberOfChars returned incorrect string length.
    Test 78 failed: expected ’90′ but got ’0′ – getRotationOfChar(0) failed.
    Test 79 failed: expected ’34′ but got ’33′ – SVGSVGTextElement.getNumberOfChars() incorrect
    Total elapsed time: 4.65s

    In case that matters:
    Leopard on PowerPC with Safari 3.1 in plain, new account, (i.e. all default settings).

  26. Brad Says:

    “So was that back in cobol and fortran times?”

    Not too far off. My HS had TRS-80s for the computer classes.

  27. Mark Rowe Says:

    Let me reiterate that the comments on blog posts are not an appropriate place to report bugs. We do not monitor all comments for reports of bugs, nor is it an appropriate medium for the back and forth that is often needed to isolate the issue. If you run into behaviour that you would consider a bug, please file a bug report via the proper channel.

  28. Maciej Stachowiak Says:

    @qazwart We have done a lot in 3.0 and 3.1 to improve support for editing toolkits. We’ve also worked with the vendors of rich text editing controls to help them improve their Safari code paths. The latest version of TinyMCE should work great, and WordPress will be updating to it soon. If you have specific bug reports on Confluence or Jira, please file them at http://bugs.webkit.org and we’ll take a look!