Projects/Acid3
< Projects
Acid3 Test Failures of KHTML
This is an overview of the remaing failures of KHTML on the Acid3 test. FF3.1 beta2pre scores 92/100, with 4 of the 6 colored boxes filled in correctly.
Test No | Area | Diagnosis | Comment | passes in FF3 | passes in FF3.1 |
---|---|---|---|---|---|
13 | DOM Range | Unhandled mutation | Yes | Yes | |
26/27 | JS + DOM Memory management | Cycle breaking cleaning up too much | Yes, but slow | Yes, but slow | |
29 | HTML Parser | Parser bug: table missing whitespace kid | Yes | Yes | |
48 (red linktest failed) | CSS | :visited doesn't match URL of part | Bug in konqueror's history manager. Works in testkhtml | Yes | Yes |
51 | DOM2 Table | Stray row | Buggy test. Raised with Ian Hickson. | Yes | Yes |
53 | DOM2 Forms | Not managing form's element collection when not in document. | Yes | Yes | |
70 | XML Parser | " UTF-8 encoded XML document with invalid character did not have a well-formedness error" | No | ||
74 | DOM | "getSVGDocument missing on <iframe> element." | Yes | ||
75 | SVG+SMIL DOM | "SVG DOM interface SVGRectElement not supported." | No | ||
76 | SVG+SMIL DOM | ?? | No | ||
77,78,79 | SVG Fonts | ?? | No |
Note: An upgrade to PCRE 7.7 is required to make tests 89 and 90 pass.
Random patch storage
These are not meant for commit, but more as a proof of analysis, and starting point for proper fix:
#16, red cat.
Ugly, but roughly correct.
Index: kio/slavebase.cpp =================================================================== --- kio/slavebase.cpp (revision 793314) +++ kio/slavebase.cpp (working copy) @@ -527,6 +527,7 @@ void SlaveBase::errorPage() { send( INF_ERROR_PAGE ); + mOutgoingMetaData["__kio_error_page"] = "1"; } static bool isSubCommand(int cmd) @@ -554,6 +555,11 @@ KIO_DATA << mOutgoingMetaData; send( INF_META_DATA, data ); } + + // re-send the error-page flag as well. + if (mOutgoingMetaData.contains("__kio_error_page")) + send( INF_ERROR_PAGE ); + KIO_DATA << _type; send( INF_MIME_TYPE, data ); while(true)
#48, red linktest failed
It's a bug inside KonqHistoryManager --- it ignores some inserts, which makes the link not :visited.