Summary: | konqueror: empty page after logging in in bugzilla | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Nicolas L. <kde> |
Component: | general | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | grave | CC: | aragao.otavio, germain, kde, kollix, mcguire |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Mandriva RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Patch |
Description
Nicolas L.
2007-11-22 10:22:54 UTC
Saw that a few times, not sure about what's going on.. Will give trying to reproduce it a shot.. Potentially related: going to the intro page twice (opening konq, then using help->konqueror introduction) also produces a blank page. The DOM tree looks fine, but there is basically no render tree: konqueror(10754) khtml::RenderObject::printTree: "" "RenderCanvas(1): 0x84c6910 {0 0} mmk mi zI: auto <> (0,0,819,504) [0-0] { mT: 0 qT: 0 mB: 0 qB: 0} layer=0x84c69e0" konqueror(10754) khtml::RenderObject::printTree: " " "RenderBlock(1): 0x84c6a44 {0 0} ci mmk mi <html> (0,0,819,0) [0-0] { mT: 0 qT: 0 mB: 0 qB: 0} layer=0x84c6ac8" Roughly what happens on second intro page visit: All attaches are from the parser. HTMLHeadElementImpl and HTMLBodyElementImpl do not get renderer, in the first case because rendererIsNeeded returns false (not sure why yet). On the first visit, all of the above happens, but also after this it does a recalcStyle due to a stylesheet being loaded: 11: /opt/kde4/lib/libkhtml.so.5(_ZN3DOM12DocumentImpl19updateStyleSelectorEb+0x4e) [0xb427d71e] 12: /opt/kde4/lib/libkhtml.so.5(_ZN3DOM12DocumentImpl16styleSheetLoadedEv+0x5c) [0xb427da7c] 13: /opt/kde4/lib/libkhtml.so.5(_ZN3DOM20HTMLStyleElementImpl11sheetLoadedEv+0x36) [0xb42bd996] 14: /opt/kde4/lib/libkhtml.so.5(_ZNK3DOM17CSSStyleSheetImpl11checkLoadedEv+0x47) [0xb4380d87] 15: /opt/kde4/lib/libkhtml.so.5(_ZNK3DOM13StyleBaseImpl11checkLoadedEv+0x18) [0xb4390948] 16: /opt/kde4/lib/libkhtml.so.5(_ZN3DOM17CSSImportRuleImpl13setStyleSheetERKNS_9DOMStringES3_S3_+0x115) [0xb43855f5] 17: /opt/kde4/lib/libkhtml.so.5(_ZN5khtml19CachedCSSStyleSheet11checkNotifyEv+0x13a) [0xb43b98da] 18: /opt/kde4/lib/libkhtml.so.5(_ZN5khtml19CachedCSSStyleSheet4dataER7QBufferb+0x258) [0xb43be6c8] 19: /opt/kde4/lib/libkhtml.so.5(_ZN5khtml6Loader12slotFinishedEP4KJob+0x178) [0xb43bb608] .. where stuff is attached fine. FOUC stuff, may be? Does indeed appear to be FOUC stuff. Stuck at one pending sheet... Somehow. I don't see us noting the loading of the other @import rules. ugh. Germain: at least the case of blank pages on revisiting the intro page seems to be caused by your r728823. I don't understand the connection between the commit message and the change, either. Reporter, any chance you could test if commenting out this block: if (parentSheet && parentSheet->processed()) { parentSheet->doc()->addPendingSheet(); } in khtml/css/css_ruleimpl.cpp fixes the problem you're seeing? re#5: indeed. Thanks for the pointer, I'll have a look later tonight. I'm a bit swamped by other duties atm.
> I don't understand the connection between the commit message and the change,
> either.
the connection is that stylesheets are counted in the document as trees while they are loading. If you add an import rule from script, the stylesheet tree you are adding the rule to will already have been parsed/loaded, so your added sheet need to re-register the whole tree to the document as being in "loading" state. Not sure if that's clear :)
Ah, I see --- I missed the only chunk that changes the grammar itself among the FOUC-avoidance refcounting changes. The thing is, I don't see where we mark stylesheets as loaded here, but I know it's tricky since there is a hiearchy there. I really dislike this stuff, it's brittle and buggy (e.g. in XML). *** Bug 152186 has been marked as a duplicate of this bug. *** The same patch that Germain commited also caused regressions in WebKit. Regression fixed with WC#r17825 Created attachment 22220 [details]
Patch
Port of the WC#r17825 regression fix.
Great, thank you for finding that out! I missed that revision. Please apply at will... (Changing version to 4.0 so that the release team has a single bugzilla query for tracking remaining blocking issues. Using priorities "Grave" for showstopper, "Major" for very serious bug.) *** Bug 151769 has been marked as a duplicate of this bug. *** SVN commit 742309 by carewolf: Follow-up patch to earlier patch ported from WebCore. Fixes Wikipedia and many other sites. BUG:152689 M +1 -2 css/css_stylesheetimpl.cpp M +10 -4 html/html_headimpl.cpp M +2 -2 html/html_headimpl.h M +1 -1 xml/dom_nodeimpl.h WebSVN link: http://websvn.kde.org/?view=rev&revision=742309 |