Today I finally made a try server build which includes patches to some bugs, each of which fixing a problem that the ACID3 test is checking for.  The build gives us 97/100 points on the ACID3 test, which is impressive.  Here is the list of the fixes that this build includes:

  • Fix to Bug 174351 - Encoding Errors aren't treated as fatal XML errors
  • Fix to Bug 178258 - HTML parser ships to implicit , breaking document.forms or document.getElementById
  • Fix to Bug 216462 - (smil) Implement SVG (SMIL) Animation
  • Fix to Bug 302775 - extractContents doesn't work if start and end node of a Range object is an attribute node [@ nsContentSubtreeIterator::Init]
  • Fix to Bug 454325 - Range.extractContents doesn't clone partially selected nodes

You can download this build from here for all the three platforms.  Here's a screenshot of the ACID3 test with a copy of this build under Windows:

The following is a report of the tests which are failing in this build:

Failed 3 tests.
Test 26 passed, but took 258ms (less than 30fps)
Test 69 passed, but took 3 attempts (less than perfect).
Test 77 failed: expected '4776' but got '5560' - getComputedTextLength failed.
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: 3.23s

The ACID3 tracking bug has details on the failing tests, and is also tracking the bugs filed in Bugzilla for fixing the remaining tests.

Oh, and another cool thing about this build (in case it's not obvious already) is it includes SMIL support!  SMIL is a W3C recommendation for creating declarative animations, which is integrated into SVG.  When you check out this build, make sure to check out some SMIL tests available here.

Oh, and just to mention the obvious, neither of these patches are written by me; I just applied them on my mozilla-central hg clone, and pushed to the try server, with a simple patch I copied from Daniel Holbert's patch to enable SMIL to build by default (because it doesn't seem to be possible to pass a customized .mozconfig file to the try server to use in its builds, and SMIL support by default is turned off, unless –enable-smil is used in .mozconfig).