Summary: | Rendering bug at www.raiffeisen.at | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | JG <jg> |
Component: | khtml parsing | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | HI | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
JG
2006-06-04 14:22:21 UTC
this is looking rather bad: http://validator.w3.org/check?uri=http%3A%2F%2Fwww.raiffeisen.at%2FeBusiness%2Frai_template1%2F0%2C7572%2C1006637000974-NA-NA-NA-1-NA%2C00.html this is also somewhat bad: http://jigsaw.w3.org/css-validator/validator/?uri=http%3A//www.raiffeisen.at/eBusiness/rai_template1/0,7572,1006637000974-NA-NA-NA-1-NA,00.html just seems like konqueror isn't yet as good at rendering crap as opera and firefox ;) hehe, nice.. or not :) i guess i'll ask them to fix those errors then.. thanks JG It's caused by <!--BEGIN-- rai_left --> So a regression in SGML comment parsing SVN commit 548216 by carewolf: Don't assume that a website that sends us a broken crappy DOCTYPE is going to be even remotely parsable in strict mode. BUG: 128616 M +2 -2 html_documentimpl.cpp --- branches/KDE/3.5/kdelibs/khtml/html/html_documentimpl.cpp #548215:548216 @@ -475,8 +475,8 @@ // Look up the entry in our gperf-generated table. const PubIDInfo* doctypeEntry = findDoctypeEntry(pubIDStr, publicID.length()); if (!doctypeEntry) { - // The DOCTYPE is not in the list. Assume strict mode. - pMode = Strict; + // The DOCTYPE is not in the list. Assume compatible mode. + pMode = Compat; hMode = Html4; return; } SVN commit 548236 by carewolf: Copy Mozilla doctype detection instead. Simplify spaces in the doctype string, but keep the "broken doctypes means strict HTML" behavior. CCBUG: 128616 M +4 -3 html_documentimpl.cpp --- branches/KDE/3.5/kdelibs/khtml/html/html_documentimpl.cpp #548235:548236 @@ -399,7 +399,7 @@ // We need to trim whitespace off the public identifier. publicID = buffer.mid(publicIDStart, publicIDEnd - publicIDStart); - publicID = publicID.stripWhiteSpace(); + publicID = publicID.simplifyWhiteSpace(); *resultFlags |= PARSEMODE_HAVE_PUBLIC_ID; } else { if (containsString("system", buffer, index)) { @@ -475,8 +475,9 @@ // Look up the entry in our gperf-generated table. const PubIDInfo* doctypeEntry = findDoctypeEntry(pubIDStr, publicID.length()); if (!doctypeEntry) { - // The DOCTYPE is not in the list. Assume compatible mode. - pMode = Compat; + // The DOCTYPE is not in the list. Assume strict mode. + // ### Doesn't make any sense, but it's what Mozilla does. + pMode = Strict; hMode = Html4; return; } thanks very much! tested it and works very well! now i only have to find out why rendering of http://last.fm is broken in 3.5.3, in 3.5.2 it worked fine.. guess this will be a new bug report :) JG |