Safari ignores specified media types in stylesheet processing instructions. It loads all stylesheets instead.
Reported on 27 September 2006.
Test page: http://kennygraham.net/wsg_cssd/safaribug/ [BROKEN]
Tested on locally-built debug build of WebKit r18399 with Safari 2.0.4 (419.3) on Mac OS X 10.4.8 (8N1037).
WebKit supports CSS3 media queries as of r14779. Safari 3 in Mac OS X 10.5 Leopard as well as the Safari 3 Public Beta in 10.4 Tiger both include this support. I believe that fixes this issue.
No this is _not_ fixed.
Here is a test case:
(the original test case is missing).
Compare the rendering in WebKit/Safari 304 with what Gecko & Opera 9+ do.
WebKit applies all stylesheets, inclucing the media print one. It shouldn't.
(and note: WebKit seems to treat this file as being in quirks mode, while it should treat it as standards mode. It is served as application/xhtml+xml)
Thanks for the test case, Philippe! Reopening bug.
Created attachment 17295 [details]
Test case from Comment #2
The bug is that the "alternate" and "media" attributes of <?xsl-stylesheet?> tags in an application/xhtml+xml document are ignored, and all stylesheets are loaded.
If every stylesheet listed defines the same selectors, you get into a "last one loaded wins" situation (which is the case in this test case--try reordering the <?xsl-stylesheet?> tags).
Here is another web site that demonstrates the same issue: http://www.reiermeister.de/
Might this be a duplicate of < https://bugs.webkit.org/show_bug.cgi?id=18657>?
*** Bug 18657 has been marked as a duplicate of this bug. ***
Created attachment 20847 [details]
Moved from bug 18657
This patch is moved from bug 18657, that is clearly a duplicate and this one is older:) It fixes the attached testcase to this one, unfortunately the original
bug testcase in quirksmode site seems gone.
Comment on attachment 20847 [details]
Moved from bug 18657
Great! r=me. However, I would prefer that you fix setMedia to take a PassRefPtr while you're in that code. It takes a raw ptr, but does take ownership of it (so your code doesn't leak) but at first glance it looks like it does. setMedia pre-dates PassRefPtr I think.
Landed in r32719, including the PassRefPtr tweak.