Bug 16556
Summary: | Page div layers do not render in correct location. They end up overlapped. | ||
---|---|---|---|
Product: | WebKit | Reporter: | Adam Williams <mysticalosx> |
Component: | Evangelism | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | ayg, dglazkov, info, webkit |
Priority: | P2 | Keywords: | HasReduction |
Version: | 528+ (Nightly build) | ||
Hardware: | Mac | ||
OS: | OS X 10.5 | ||
URL: | http://msnpiki.msnfanatic.com/index.php/MSNP9:Changes |
Adam Williams
comparison browser was Firefox 2.x which did not exhibit the same behavior. Safari Version 3.0.4 (5523.10.6) also shows bad layout behavior.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
David Kilzer (:ddkilzer)
Confirmed with a local debug build of WebKit r28925 with Safari 3.0.4 (523.12) on Mac OS X 10.4.11 (8S165).
Ingo Chao
They do some heavy browser sniffing in wikibits.js and load KHTMLFixes.css, so
#column-content { margin-left: 0; } in KHTMLFixes.css erroneously overrides
#column-content { margin-left: 200px; } in main.css
David Kilzer (:ddkilzer)
(In reply to comment #2)
> They do some heavy browser sniffing in wikibits.js and load KHTMLFixes.css, so
> #column-content { margin-left: 0; } in KHTMLFixes.css erroneously overrides
> #column-content { margin-left: 200px; } in main.css
Thanks, Ingo! Based on this information, changing this to an evangelism bug.
David Kilzer (:ddkilzer)
Here's the faulty is_khtml detection code:
var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));
Here's the code that writes the unwanted stylesheet:
// document.write special stylesheet links
if(typeof stylepath != 'undefined' && typeof skin != 'undefined') {
if (is_opera_preseven) {
document.write('<link rel="stylesheet" type="text/css" href="'+stylepath+'/'+skin+'/Opera6Fixes.css">');
} else if (is_opera_seven) {
document.write('<link rel="stylesheet" type="text/css" href="'+stylepath+'/'+skin+'/Opera7Fixes.css">');
} else if (is_khtml) {
document.write('<link rel="stylesheet" type="text/css" href="'+stylepath+'/'+skin+'/KHTMLFixes.css">');
}
}
David Kilzer (:ddkilzer)
Easy fix for wikibits.js:
- } else if (is_khtml) {
+ } else if (is_khtml && !is_safari) {
Dimitri Glazkov (Google)
Fixed in bug 29792.
*** This bug has been marked as a duplicate of bug 29792 ***