Summary: | KHTML in KDE 4 fails Acid3 test | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Alex Lowe <lengau> |
Component: | khtml | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | normal | CC: | browserbugs2, finex, germain, hkBst, janow49420, kde, kde, lists.jjorge, maksim, niaseg1-mx, nn.dm55, porten, rasasi78, Regnaron, tuju, walch.martin, yaroslav.sapozhnik, znerd |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
patch fixing test eleven
Supply createDocument() with part and view acid3 test with kwebkitpart rev 1090565 |
Description
Alex Lowe
2008-01-30 04:53:30 UTC
I tried acid3 test also and konqueror (3.5.8.) chrashes. Well, we can't pass all the tests since it uses native SVG which we simply doesn't have. I also strongly suspect a few of the selector tests to be wrong in the current version of test. And I think the table DOM test is wrong :-) I have my doubts about "test 64: more attribute tests" (although we pass it now): why should a custom attribute not be accessible as an ordinary JavaScript property? Which specification disallows such an extension? SVN commit 790075 by ggarand: merge WC/r29775/#16982/ by David Hyatt <hyatt at apple dot com> "Make sure to make <head> the current block if it is created before a <body>" to show the buckets. CCBUG:156947 M +6 -0 htmlparser.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=790075 SVN commit 790077 by ggarand: stylesheets with unappropriate mimetype should be ignored in strict mode. red->black CCBUG:156947 M +6 -2 css/css_ruleimpl.cpp M +1 -1 css/css_ruleimpl.h M +6 -2 html/html_headimpl.cpp M +1 -1 html/html_headimpl.h M +19 -3 misc/loader.cpp M +11 -1 misc/loader.h M +1 -1 misc/loader_client.h M +2 -2 xml/dom_docimpl.cpp M +1 -1 xml/dom_docimpl.h M +1 -1 xml/dom_elementimpl.h M +2 -2 xml/dom_xmlimpl.cpp M +1 -1 xml/dom_xmlimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=790077 SVN commit 790156 by ggarand: automatically merged revision 790075: merge WC/r29775/#16982/ by David Hyatt <hyatt at apple dot com> "Make sure to make <head> the current block if it is created before a <body>" to show the buckets. CCBUG:156947 M +6 -0 htmlparser.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=790156 SVN commit 790157 by ggarand: automatically merged revision 790077: stylesheets with unappropriate mimetype should be ignored in strict mode. red->black CCBUG:156947 M +6 -2 css/css_ruleimpl.cpp M +1 -1 css/css_ruleimpl.h M +6 -2 html/html_headimpl.cpp M +1 -1 html/html_headimpl.h M +19 -3 misc/loader.cpp M +11 -1 misc/loader.h M +1 -1 misc/loader_client.h M +2 -2 xml/dom_docimpl.cpp M +1 -1 xml/dom_docimpl.h M +1 -1 xml/dom_elementimpl.h M +2 -2 xml/dom_xmlimpl.cpp M +1 -1 xml/dom_xmlimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=790157 SVN commit 792683 by orlovich: Properly close DOM-created nodes. Fixes CNN.com election tracker, and 3 Acid3 tests (more like 3.5, actually --- gets one further). It also makes Acid3 look uglier, since it exposes a bug in rendering of alternate content (it didn't show up before since the object was plain not getting loaded). I know what's wrong just need to <strike>Bug dfaure for a solution</strike>figure out how to fix it. CCBUG:156947 M +1 -5 dom/dom_node.cpp M +6 -0 xml/dom_nodeimpl.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=792683 SVN commit 792687 by orlovich: automatically merged revision 792683: Properly close DOM-created nodes. Fixes CNN.com election tracker, and 3 Acid3 tests (more like 3.5, actually --- gets one further). It also makes Acid3 look uglier, since it exposes a bug in rendering of alternate content (it didn't show up before since the object was plain not getting loaded). I know what's wrong just need to <strike>Bug dfaure for a solution</strike>figure out how to fix it. CCBUG:156947 M +1 -5 dom/dom_node.cpp M +6 -0 xml/dom_nodeimpl.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=792687 Created a Wiki page for an overview of open issues: http://techbase.kde.org/index.php?title=Projects/Acid3 Created attachment 24153 [details]
patch fixing test eleven
Please review... I hope I'm not stepping on some toes... was just wandering in
the vicinity on this file.
Same as in WebCore except I believe their version as a minor mistake
(they used parentOfNewParent->isCharacterDataNode() instead of
parentOfNewParent->offsetInCharacters() so won't work for
ProcessingInstruction)
SVN commit 792734 by orlovich: Properly update currentTarget in capture phases. Fixes acid3 test31. (Line got lost during container porting. Bad review job by me :( ) CCBUG:156947 M +1 -0 dom_nodeimpl.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=792734 SVN commit 792735 by orlovich: automatically merged revision 792734: Properly update currentTarget in capture phases. Fixes acid3 test31. (Line got lost during container porting. Bad review job by me :( ) CCBUG:156947 M +1 -0 dom_nodeimpl.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=792735 Regarding Germain's patch for test 11 (comment #12): I had been trying to fix it before but had given up temporarily as I had come to this conclusion: two types of exceptions would apply and I did not want to simply swap the checks around (like http://bugs.webkit.org/attachment.cgi?id=19822) does. This patch does not swap the blocks of code around - which is good. I just admit I did not see the parentOfNewParent stuff being directly advised on the spec. It's right that the BAD_BOUNDARYPOINTS_ERR check checks for != Node::CDATA_SECTION_NODE where WebCore checks for != != Node::TEXT_NODE? To nitpick: in our code base the comment should not be talking about "m_start.container" but rather "m_startContainer". Similarly the null pointer checks in maxStartOffset() and maxEndOffset(). Re:#15 Hi Harri, > I just admit I did not see the parentOfNewParent stuff being directly > advised on the spec. I believe this is covered by "Raised if the container of the start of the Range is of a type that does not allow children of the type of newParent" According to the definitions section, 'container' in the context of text ranges, means the text node itself. Which is clearly not a possible meaning here, otherwise surrounding any text node with an element node would raise : hence the interpretation that it means more plainly the container of the text node. > It's right that the BAD_BOUNDARYPOINTS_ERR check checks for != > Node::CDATA_SECTION_NODE where WebCore checks for != != Node::TEXT_NODE? Acid3 interpreted stricto sensu the sentence "Raised if the Range partially selects a non-text node." and so expect comments to raise, because a comment is-a( CharacterData ). To formally support that interpretation, I kept the check for CDATASection, because CDataSection is-a( Text ). The intent of this exception seems to be to make it hard to abuse the DOM tree with this method. This is mostly useless, as it may be easily decomposed in term of extractContents()+insertNode()+appendChild(). But with this intent in mind, it is consistent that splitting a comment or processing instructions to surround them with other nodes would be considered an abuse. (Our check is incomplete, by the way. It definetly should scan the whole range, not just the boundaries. Spec example: <FOO>A[B<BAR>C]D</BAR>E</FOO> should raise. Would need to check what other engines do...) > To nitpick: indeed, will fix. Do you think it is acceptable? (his is on the wiki page, but putting it here since it's a semi-review issue): We fail test 04 since the parser sets discard_until = ID_CLOSE + ID_IFRAME for iframes. The reason appears to be to hide content inside, which should no longer be needed. However, this isn't without risks since IIRC IceWeasel parsers the content literally. Thoughts? Germain, patch in comment #12 looks like a pragmatic solution. Please commit. SVN commit 793178 by ggarand: merge some ad hoc changes to RangeImpl::surroundContents, whose main rationale is "keep Acid3's 11th test happy". I tried hard to make up a sound explanation for those, digging deep into the specification's arcane semantics, but eventually, I don't think I really convinced myself, and certainly not Harri. He says: "it's a pragmatic solution". And that's what it is. CCBUG:156947 M +37 -11 dom2_rangeimpl.cpp M +2 -0 dom2_rangeimpl.h M +6 -0 dom_nodeimpl.h M +3 -0 dom_textimpl.h M +5 -0 dom_xmlimpl.cpp M +2 -0 dom_xmlimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=793178 SVN commit 793179 by ggarand: Get our subframes to reliably and synchronously update their dimensions, when changed from JS. This allows the dynamic Media Queries subtests to pass - changes were previously applied too late, after a return to the event loop. Acid3-46 CCBUG:156947 M +21 -6 rendering/render_replaced.cpp M +3 -0 xml/dom_docimpl.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=793179 SVN commit 793181 by ggarand: automatically merged revision 793178: merge some ad hoc changes to RangeImpl::surroundContents, whose main rationale is "keep Acid3's 11th test happy". I tried hard to make up a sound explanation for those, digging deep into the specification's arcane semantics, but eventually, I don't think I really convinced myself, and certainly not Harri. He says: "it's a pragmatic solution". And that's what it is. CCBUG:156947 M +37 -11 dom2_rangeimpl.cpp M +2 -0 dom2_rangeimpl.h M +6 -0 dom_nodeimpl.h M +3 -0 dom_textimpl.h M +5 -0 dom_xmlimpl.cpp M +2 -0 dom_xmlimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=793181 Created attachment 24212 [details]
Supply createDocument() with part and view
Fixes last bit of Acid3 test 98. For security reasons the JS will refuse to
work with an (X)HTML document without a view.
> Well, we can't pass all the tests since it uses native SVG which we simply doesn't have.
why is that? I think WebKit also uses KSVG2 and it can pass?
As I wrote here (http://bugs.kde.org/show_bug.cgi?id=92670#c6) I've done a patch that fixes 18th Acid3 test. Now I think it's good to fix onload events (it could make khtml to pass some additional tests). re:c#24: I think Allan was looking at that patch --- thanks! The load events are definitely important in general --- the current handling is really quite iffy, and one of the top items on my TODO list --- but feel free to beat me to it! Load events in khtml are good enough to pass acid3, but there's another issue. There isn't any SVG support, so first dynamic loaded iframe from 65th test (an SVG document) doesn't raise load event. One question: where is ksvg2 at all? I can't find this - I think it should be merged to khtml. re: c#26, other part: the onload events only do a sensible thing for HTML, and only in 1/2 of iframe vs. object cases. They should do it all the time (e.g. do it on a completed() signal) re:c#27 Porting SVG implementation from WebKit to KHTML is a GSoC project... so I won't try to do this myself. re:c#28 I checked load events on Acid3 downloaded to my hd... In real Acid3 load events are broken (most aren't raised and some <object>'s are raised twice). SVN commit 810117 by ggarand: Full parsing of doctype by the HTML Tokenizer patch by Gustaw Smolarczy <kwielkiegie at gmail dt com>, improving upon a webkit patch slightly modified to provide a turnaround for broken behaviour of KHTMLPart::write() noticed by Gustaw. Fixing Acid 3's 18th test. BUG: 92670 CCBUG: 156947 M +14 -247 html/html_documentimpl.cpp M +5 -1 html/html_documentimpl.h M +76 -0 html/htmlparser.cpp M +6 -0 html/htmlparser.h M +324 -3 html/htmltokenizer.cpp M +58 -0 html/htmltokenizer.h M +19 -9 khtml_part.cpp M +21 -4 khtml_part.h M +2 -0 khtmlpart_p.h M +5 -18 xml/dom_docimpl.cpp M +2 -1 xml/dom_docimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=810117 SVN commit 810118 by ggarand: add implicit media 'all' when parsing Media Queries ported from a patch by Dan Berstein <mitz at apple dt com> covering recent changes in Acid3/48 CCBUG: 156947 M +1 -1 css_mediaquery.cpp M +464 -445 parser.cpp M +15 -10 parser.y WebSVN link: http://websvn.kde.org/?view=rev&revision=810118 SVN commit 812182 by porten: One of the create*Document() overloads was lacking a KHTMLView parameter. As our code relies on a view in many places (like JS security checks) I added it and create a dummy KHTMLPart in the JS binding for createDocument() +1 on Acid3. Had already posted the patch in the bug report weeks ago. CCBUGS: 156947 M +2 -1 dom/dom_doc.cpp M +5 -1 ecma/kjs_dom.cpp M +1 -1 khtml_part.h M +11 -4 xml/dom_docimpl.cpp M +2 -1 xml/dom_docimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=812182 re:c#32 With this patch, generated document has main document KHTMLView. So changing document.title causes change of KHTMLView title (Acid3 page has title "Sparrow" like generated document). Did anyone check the ACID2 test on webstandards.org? This is my release of Konq: Version 4.1.00 (KDE 4.0.99 (4.1 RC1+)) "release 13.3" It fails to render the eyeballs correctly. Testing URL: http://www.webstandards.org/files/acid2/test.html#top Konq used to correctly render ACID2. So this is a regression in Konq 4.1 (or maybe an older regression, but nevertheless, a regression). You should probably file a new bug on it (I don't have KDE4 ATM, but will when I can actually get it installed on this computer -- it's still not ver Mac-friendly). bug confirmed in 4.0.98 - eveballs not rendered (red dotted field instead) Konqueror from KDE 4.1 final is passing ACID2 fine for me... Nah, no with WebKit engine. KHTML renders good, webkit has problems mentioned above Oddly enough, Acid2 renders exactly as you've described it (with a red field instead of eyeballs) when I use Firefox 3.01 with NoScript enabled. Is it possible that Konquerer is perhaps just blocking a script or something? This wouldn't necessarily mean it's a regression, it could just be blocking it for security reasons. Rendering link: http://www.geocities.com/hockeypuck360/ffNoScrp.png SVN commit 874250 by ggarand: -"href [...] For inline style sheets, the value of this attribute is null." -adapt ad hoc patch by D.W.Hyatt<hyatt at apple dot com> to make cssRules live. => 72 CCBUG: 156947 M +35 -6 css/css_ruleimpl.cpp M +7 -5 css/css_ruleimpl.h M +2 -1 ecma/kjs_css.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=874250 SVN commit 940704 by ggarand: use a stricter grammar for the parsing of CSS selectors: require at least a whitespace for the 'Descendant' combinator. we used to accept 'html*' as 'html *' CCBUG: 156947 M +1 -1 cssparser.cpp M +456 -440 parser.cpp M +1 -1 parser.h M +35 -18 parser.y WebSVN link: http://websvn.kde.org/?view=rev&revision=940704 SVN commit 940705 by ggarand: don't discard iframe children. changed proposed by Maksim a long time ago. looks right to me too. CCBUG: 156947 M +0 -1 htmlparser.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=940705 SVN commit 940713 by ggarand: automatically merged revision 940704: use a stricter grammar for the parsing of CSS selectors: require at least a whitespace for the 'Descendant' combinator. we used to accept 'html*' as 'html *' CCBUG: 156947 M +1 -1 cssparser.cpp M +456 -440 parser.cpp M +1 -1 parser.h M +35 -18 parser.y WebSVN link: http://websvn.kde.org/?view=rev&revision=940713 SVN commit 940714 by ggarand: automatically merged revision 940705: don't discard iframe children. changed proposed by Maksim a long time ago. looks right to me too. CCBUG: 156947 M +0 -1 htmlparser.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=940714 Is planned for KDE 4.3 migration to webkit? Browsers as Arora or reKonq working much better than konqueror, but konq have better integration and webkit-kpart isn't still in perfekt state. P.S. Sorry for OT konqueror-4.2.2 just crashed for me on the Acid3 test: Application: Konqueror (konqueror), signal SIGSEGV 0x00007f215f8d0901 in nanosleep () from /lib/libc.so.6 [Current thread is 0 (LWP 12228)] Thread 2 (Thread 0x7f2151e53950 (LWP 12236)): #0 0x00007f2161fa904d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f21622167d7 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4 #2 0x00007f216220d959 in QThreadPoolThread::run () from /usr/lib64/qt4/libQtCore.so.4 #3 0x00007f2162215a79 in QThreadPrivate::start () from /usr/lib64/qt4/libQtCore.so.4 #4 0x00007f2161fa5017 in start_thread () from /lib/libpthread.so.0 #5 0x00007f215f900f7d in clone () from /lib/libc.so.6 #6 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f2164c8c750 (LWP 12228)): [KCrash Handler] #5 ~QColormap (this=0x7fff6ccd20a0) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:133 #6 0x00007f2156ca393b in colorMediaFeatureEval () from /usr/lib64/libkhtml.so.5 #7 0x00007f2156ca7492 in khtml::MediaQueryEvaluator::eval () from /usr/lib64/libkhtml.so.5 #8 0x00007f2156ca75c5 in khtml::MediaQueryEvaluator::eval () from /usr/lib64/libkhtml.so.5 #9 0x00007f2156c80697 in khtml::CSSStyleSelectorList::append () from /usr/lib64/libkhtml.so.5 #10 0x00007f2156c91260 in khtml::CSSStyleSelector::CSSStyleSelector () from /usr/lib64/libkhtml.so.5 #11 0x00007f2156b43c6c in DOM::DocumentImpl::rebuildStyleSelector () from /usr/lib64/libkhtml.so.5 #12 0x00007f2156b43dd5 in DOM::DocumentImpl::updateStyleSelector () from /usr/lib64/libkhtml.so.5 #13 0x00007f2156b51252 in DOM::NodeBaseImpl::dispatchChildInsertedEvents () from /usr/lib64/libkhtml.so.5 #14 0x00007f2156b5185a in DOM::NodeBaseImpl::appendChild () from /usr/lib64/libkhtml.so.5 #15 0x00007f2156ceaf75 in DOMNodeProtoFunc::callAsFunction () from /usr/lib64/libkhtml.so.5 #16 0x00007f215668b659 in KJS::JSObject::call () from /usr/lib64/libkjs.so.4 #17 0x00007f21566a58e1 in KJS::Machine::runBlock () from /usr/lib64/libkjs.so.4 #18 0x00007f2156687c1c in KJS::FunctionImp::callAsFunction () from /usr/lib64/libkjs.so.4 #19 0x00007f215668b659 in KJS::JSObject::call () from /usr/lib64/libkjs.so.4 #20 0x00007f21566a58e1 in KJS::Machine::runBlock () from /usr/lib64/libkjs.so.4 #21 0x00007f2156687c1c in KJS::FunctionImp::callAsFunction () from /usr/lib64/libkjs.so.4 #22 0x00007f215668b659 in KJS::JSObject::call () from /usr/lib64/libkjs.so.4 #23 0x00007f2156d1b982 in KJS::ScheduledAction::execute () from /usr/lib64/libkhtml.so.5 #24 0x00007f2156d1d415 in KJS::WindowQObject::timerEvent () from /usr/lib64/libkhtml.so.5 #25 0x00007f21622f8493 in QObject::event () from /usr/lib64/qt4/libQtCore.so.4 #26 0x00007f2161643bbd in QApplicationPrivate::notify_helper (this=0x622c60, receiver=0xc8c9a0, e=0x7fff6ccd44e0) at kernel/qapplication.cpp:4084 #27 0x00007f216164b57a in QApplication::notify (this=0x7fff6ccd4a00, receiver=0xc8c9a0, e=0x7fff6ccd44e0) at kernel/qapplication.cpp:4049 #28 0x00007f21630ee8ab in KApplication::notify () from /usr/lib64/libkdeui.so.5 #29 0x00007f21622e9a2b in QCoreApplication::notifyInternal () from /usr/lib64/qt4/libQtCore.so.4 #30 0x00007f2162311f1e in QTimerInfoList::activateTimers () from /usr/lib64/qt4/libQtCore.so.4 #31 0x00007f216230ef2d in timerSourceDispatch () from /usr/lib64/qt4/libQtCore.so.4 #32 0x00007f215e00d89a in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #33 0x00007f215e01104d in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #34 0x00007f215e01120b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #35 0x00007f216230ee8f in QEventDispatcherGlib::processEvents () from /usr/lib64/qt4/libQtCore.so.4 #36 0x00007f21616c9b7f in QGuiEventDispatcherGlib::processEvents (this=0x7fff6ccd20a0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202 #37 0x00007f21622e83e2 in QEventLoop::processEvents () from /usr/lib64/qt4/libQtCore.so.4 #38 0x00007f21622e8575 in QEventLoop::exec () from /usr/lib64/qt4/libQtCore.so.4 #39 0x00007f21622ea5ec in QCoreApplication::exec () from /usr/lib64/qt4/libQtCore.so.4 #40 0x00007f216488da47 in kdemain () from /usr/lib64/libkdeinit4_konqueror.so #41 0x00007f215f84f5c6 in __libc_start_main () from /lib/libc.so.6 #42 0x00000000004008e9 in _start () Current language: auto; currently asm SVN commit 963619 by ggarand: Initial implementation for CSS3 Web Fonts. http://www.w3.org/TR/css3-webfonts Downloadable fonts work nicely already. Still some problems for the thorough recalc of MinMax once the final font is loaded though. Also, we still don't use the full CSS3 font matching algorithm for now... it needs more work and more testing. I tried to reuse as much bits and pieces from WebCore as possible, though I doubt we can keep similar implementation at the end of the day. CCBUG: 156947 M +19 -1 css/css_ruleimpl.cpp M +3 -2 css/css_ruleimpl.h M +53 -4 css/css_valueimpl.cpp M +46 -0 css/css_valueimpl.h M +93 -3 css/cssparser.cpp M +3 -0 css/cssparser.h M +287 -272 css/cssproperties.c M +55 -53 css/cssproperties.h M +2 -0 css/cssproperties.in M +15 -0 css/cssstyleselector.cpp M +3 -1 css/cssstyleselector.h M +405 -395 css/parser.cpp M +8 -5 css/parser.y M +55 -2 misc/loader.cpp M +25 -1 misc/loader.h WebSVN link: http://websvn.kde.org/?view=rev&revision=963619 SVN commit 965865 by ggarand: .port most of WebCore's current 'Length' API to KHTML - the only conversion I did not do is width()/minWidth() => calcValue()/calcMinValue() as it is a bit tricky. .merge some work bringing better precision to percentage calculations. Combined with Web Fonts, this let us get rid of the red square+purple 'X' at the top right of acid3. CCBUG: 156947 M +7 -7 css/css_renderstyledeclarationimpl.cpp M +1 -1 css/css_renderstyledeclarationimpl.h M +18 -18 css/cssstyleselector.cpp M +0 -1 html/htmltokenizer.cpp M +1 -1 html/htmltokenizer.h M +99 -39 misc/khtmllayout.h M +1 -1 rendering/RenderSVGRoot.cpp M +2 -2 rendering/bidi.cpp M +17 -17 rendering/render_block.cpp M +80 -80 rendering/render_box.cpp M +1 -1 rendering/render_box.h M +2 -2 rendering/render_br.cpp M +1 -1 rendering/render_form.cpp M +2 -2 rendering/render_image.cpp M +2 -2 rendering/render_layer.cpp M +2 -2 rendering/render_line.cpp M +7 -7 rendering/render_object.cpp M +2 -2 rendering/render_object.h M +3 -3 rendering/render_style.cpp M +4 -4 rendering/render_style.h M +24 -24 rendering/render_table.cpp M +89 -100 rendering/table_layout.cpp M +0 -8 rendering/table_layout.h M +2 -2 xml/dom_nodeimpl.cpp M +1 -1 xml/dom_stringimpl.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=965865 right now, the top right red square will only be covered by the Ahem X on the first acid3 load. Reloading the test will have it be uncovered. Probably a bug in the web font implementation, though I can't figure it out at the moment. SVN commit 976964 by ggarand: implement getSVGDocument, ecma-only: it's evil, useless, polluting, half-deprecated, but acid3-74 depends on it. CCBUG: 156947 M +32 -4 ecma/kjs_html.cpp M +2 -2 ecma/kjs_html.h M +5 -0 xml/dom_docimpl.cpp M +1 -0 xml/dom_docimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=976964 SVN commit 978411 by ggarand: .abort XML parsing when invalid characters were found in the input stream (acid3-70) .add helper methods to KEncodingDetector for reporting such errors .add unit test asserting some KEncodingDetector properties kindly reviewed by Maksim Orlovich. CCBUG: 156947 M +18 -0 kdecore/localization/kencodingdetector.cpp M +25 -0 kdecore/localization/kencodingdetector.h M +1 -0 kdecore/tests/CMakeLists.txt M +2 -3 khtml/khtml_part.cpp M +1 -0 khtml/xml/dom_docimpl.cpp M +4 -0 khtml/xml/dom_docimpl.h M +12 -2 khtml/xml/xml_tokenizer.cpp M +2 -2 khtml/xml/xml_tokenizer.h WebSVN link: http://websvn.kde.org/?view=rev&revision=978411 Konqueror gets 100/100 with a black cat while on WebKit KPart. @Artem: An exact (SVN/release) version number as well as a screenshot would be helpful. Created attachment 40805 [details]
acid3 test with kwebkitpart rev 1090565
Please don't pollute this report with qtwebkit kpart bugs, it is off topic. There is a specific bug system component 'kwebkitpart' for that. Use it. Thanks. Using KDE 4.5.0 the test result is 89/100 :-( (In reply to comment #56) > Using KDE 4.5.0 the test result is 89/100 :-( Same result here with KDE 4.4.4 Update: 4.7.0 gets 89/100 and "YOU SHOULD NOT SEE THIS AT ALL" appears in the upper-left corner. The title text also gets changed to "Sparrow". Test 29 of acid3 test: http://www.gtalbot.org/BrowserBugsSection/Konqueror4Bugs/test29-acid3.html Firefox 5.0, Opera 11.50, Chrome 12.0.742.124 and Safari 5.1 pass this test. Konqueror 4.7.0 under KDE 4.7.0 fails this test. I will create a separate bug report for this if requested. Gérard Talbot (In reply to comment #3) > And I think the table DOM test is wrong :-) Maksim, If you were referring to test 29, note that test 29 in acid3 test uses dynamically embedded invalid markup <table> code with <script type="text/javascript">document.write('(...) <table><tr><td><p><\/tbody> <\/table>');</script> but the http://www.gtalbot.org/BrowserBugsSection/Konqueror4Bugs/test29-acid3.html testcase uses static-declarative well-formed markup code and valid markup code. Gérard Test 53 of acid3 test: http://www.gtalbot.org/BrowserBugsSection/Konqueror4Bugs/test53-acid3.html Firefox 5.0, Opera 11.50, Chrome 12.0.742.124 and Safari 5.1 pass this test. Konqueror 4.7.0 under KDE 4.7.0 fails this test. I will create a separate bug report for this if requested. Gérard Talbot There has been some changes done to and in acid3 test. So, right now, Konqueror 4.7.0 (with Javascript debugger disabled) scores 92 and not 89. Tests 29 and 53 are still not passed and, to be utterly honest with anyone reading this, such tests 29 and 53 are not important to pass and definitely not critical in any way, shape or manner. Tests 29 and 53 may affect, IMO, one webpage out of 1 billion webpages, maybe/probably less than that. regards, Gérard What changed in acid3 test on September 17th 2011: " (...) parts of the platform that still haven't received broad use; for example: changing how exceptions in the aforementioned DOM Range specification work, by merging them into the regular DOMException mechanism; making Attr objects not be Node objects; possibly dropping or simplifying SVG Fonts and SVG SMIL animation; dropping XLink; making DocType nodes work more like other nodes rather than being special. (...) we have updated the Acid3 test by commenting out the parts of the test that might get changed in the specs, including everything I listed above. " Acid3 2011 Update, by Ian Hickson 17 sept. 2011 https://plus.google.com/107429617152575897589/posts/JdHnqpuUER4 Gérard As of 4.10.2 I get 100%, with still a graphical glitch : <img src='http://upload.wikimedia.org/wikipedia/commons/9/97/Konqueror_4.10.2.png'> (In reply to comment #64) > As of 4.10.2 I get 100%, with still a graphical glitch : > > <img > src='http://upload.wikimedia.org/wikipedia/commons/9/97/Konqueror_4.10.2. > png'> Probably you're using WebKit. In WebKit, you obtain 100/100, but with the message "You should not this at all". At this this moment, with KHTML and Konqueror 4.11.0, the result is 92/100. And this bug report is about KHTML, not WebKit. Reporting results for konqueror 4.11.3: Failed 6 tests. Test 13 failed: collapsed is wrong after deletion Test 26 passed, but took 194ms (less than 30fps) Test 29 failed: expected '2' but got '1' - cloned table had wrong number of children Test 51 failed: expected '6' but got '5' - wrong number of rows Test 53 failed: expected '1' but got '0' - form's elements array has wrong size Test 65 passed, but took 218ms (less than 30fps) Test 69 passed, but took 40 attempts (less than perfect). Test 75 failed: SVG DOM interface SVGRectElement not supported. Test 77 failed: SVGTextContentElement.getNumberOfChars() not supported. Total elapsed time: 5.69s It is worse with Konqueror 4.12.0: Tests 26 and 27 also fail now. Failed 8 tests. Test 13 failed: collapsed is wrong after deletion Test 26 failed: e1 - parent element doesn't exist after looping Test 27 failed: e1 - parent element doesn't exist after waiting Test 29 failed: expected '2' but got '1' - cloned table had wrong number of children Test 51 failed: expected '6' but got '5' - wrong number of rows Test 53 failed: expected '1' but got '0' - form's elements array has wrong size Test 65 passed, but took 97ms (less than 30fps) Test 69 passed, but took 269 attempts (less than perfect). Test 75 failed: SVG DOM interface SVGRectElement not supported. Test 77 failed: SVGTextContentElement.getNumberOfChars() not supported. Total elapsed time: 4.25s |