Bug 16556 - Page div layers do not render in correct location. They end up overlapped.
Summary: Page div layers do not render in correct location. They end up overlapped.
Status: RESOLVED DUPLICATE of bug 29792
Alias: None
Product: WebKit
Classification: Unclassified
Component: Evangelism (show other bugs)
Version: 528+ (Nightly build)
Hardware: Macintosh OS X 10.5
: P2 Normal
Assignee: Nobody
URL: http://msnpiki.msnfanatic.com/index.p...
Keywords: HasReduction
Depends on:
Blocks:
 
Reported: 2007-12-21 08:02 PST by Adam Williams
Modified: 2009-10-31 16:27 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Williams 2007-12-21 08:02:59 PST
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.
Comment 1 David Kilzer (:ddkilzer) 2007-12-21 09:49:37 PST
Confirmed with a local debug build of WebKit r28925 with Safari 3.0.4 (523.12) on Mac OS X 10.4.11 (8S165).

Comment 2 Ingo Chao 2007-12-21 14:26:01 PST
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 
Comment 3 David Kilzer (:ddkilzer) 2007-12-21 16:54:28 PST
(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.

Comment 4 David Kilzer (:ddkilzer) 2007-12-21 19:15:11 PST
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">');
    }
}

Comment 5 David Kilzer (:ddkilzer) 2007-12-21 19:24:30 PST
Easy fix for wikibits.js:

-     } else if (is_khtml) {
+     } else if (is_khtml && !is_safari) {

Comment 6 Dimitri Glazkov (Google) 2009-10-31 10:10:23 PDT
Fixed in bug 29792.

*** This bug has been marked as a duplicate of bug 29792 ***