Surfin' Safari

Acid3 Range Exception Test Fixed – WebKit hits 92/100

Posted by Maciej Stachowiak on Sunday, March 16th, 2008 at 8:10 pm

I’ve fixed Acid3 test 11, a test case of exception codes from Range.surroundContents. The fix involved changing the exception checking code at the start of the rather complex Range::surroundContents core DOM method. As you can see, this wasn’t a very complicated change.

This brings up another point about Acid3. Elsewhere on the interblag, some have argued that Acid3 is not an important test because a lot of what it tests are edge cases or obscure technologies. Our own Dave Hyatt downplayed the importance of the numeric score. It’s true that acid tests like this are not thorough standards compliance tests, and often enter the realm of very obscure standards details. But Acid 3 tests a lot of technologies that matter to everyday web development. While some tests are crazy edge cases, others are meat and potatoes interoperability issues that web developers have to work around today. Keep in mind that while the tests cover quirks of particular features, they also incidentally test much bigger gaps, for example the fact that some browsers are missing certain features entirely.

Some of you have also mentioned that you get slightly lower scores than the high score most are getting, or that some tests fail sporadically or on reload. I’m not entirely sure, but I think many of you are running into bug 17672, a timing issue that we’ll have to fix to fully pass the test. There are also a few remaining rendering issues we have to resolve, in addition to fixing the 8 remaining tests, to claim a full pass. Still, I’m pretty excited about the progress we have made so far.

6 Responses to “Acid3 Range Exception Test Fixed – WebKit hits 92/100”

  1. fastveg Says:

    Amazing work guys – keep it up!

  2. solipsism Says:

    It is amazing the speed at which this test is being passed, though I have noticed that the last few builds have introduced significant speed issues. While there are only 8 tests that aren’t being passed, there are many more that are taking too much time or too many attempts to complete. My average speed has gone from <1 sec to ~3 sec. After 10 tries test 00, 26, 32, 33, 37, 41, 46, 65, 69, 74 were all reported as passing but with completion issues, though not all on the same Acid3 rendering.

    (I assume this is a known issue and I don’t know how to search to see if these have even been listed yet so I have not reported them to the bug list.)

    — MacBook / 10.5.2 / 2.Ghz / 667MHz FSB / 4MB L2 / 3MB RAM / / Safari 3.1 / WebKit r31090 —

  3. Kody Bryson Says:

    I agree with your logic. I have felt that comments made by Microsoft that these tests weren’t important were made largely because their browser didn’t pass them. However, whether these tests test the “most important” parts is irrelevant. The point is that the tests find bugs. To say they’re not important is to say bugs are not important. And while they might not be the “most important” bugs, they’re at least the “most public” or the “most talked about”.

    The tests absolutely should target the most obscure parts of the standard that require the most stages to be fixed to actually work. Like testing the finger hopefully makes sure there’s a wrist, elbow, and shoulder that all work to some extent. Behind every failed test are many bugs that need to be fixed. And each bug that needs to be fixed means some developer is reading a part of the standard and truly understanding it, probably for the first time. At that point a whole bunch of bugs will likely get fixed, not just the ones for the test.

  4. Kody Bryson Says:

    Oh also, wouldn’t it be cool if you guys got an acid 3 browser fully released before IE and Firefox released an acid 2 compliant browser? No pressure.

  5. Maciej Stachowiak Says:

    @solipsism The times displayed are just advisory to help browsers pass the “smooth animation” criterion. They were just recently added to the test, and are not failures. Also, you should be looking for the smooth animation with a cached load (load it once, close the window, load it again). In my experience, at least on a fast machine, the animation looks smooth for almost the whole test, it only visibly jitters on test 26, at least on a release build. We’ll have to speed up that test to claim a full pass as well.

  6. solipsism Says:

    I hadn’t realized that was a new feature to assist developers. Thanks for the insight.