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. http://trac.webkit.org/projects/webkit/changeset/14779
No this is _not_ fixed. Here is a test case: http://dev.l-c-n.com/XHTML/test1-multistyle2.xhtml (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. Please reopen. (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. Cheers, Rob.
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.