| Summary: | Rendering bug at www.raiffeisen.at | ||
|---|---|---|---|
| Product: | [Applications] konqueror | Reporter: | JG <jg> |
| Component: | khtml parsing | Assignee: | Konqueror Bugs <konqueror-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | HI | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented 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 |