On Thu, Jun 5, 2014 at 3:44 PM, Matthew Flaschen mflaschen@wikimedia.org wrote:
I did a quick check, and Jigsaw (the W3C's validator) does complain about our data URLs on that page:
http://jigsaw.w3.org/css-validator/validator?uri=https% 3A%2F%2Fbits.wikimedia.org%2Fes.wikipedia.org%2Fload.php% 3Fdebug%3Dfalse%26lang%3Des%26modules%3Dext.gadget.a-commons-directo% 252Cimagenesinfobox%252CrefToolbar%7Cext.uls.nojs%7Cext.visualEditor. viewPageTarget.noscript%7Cext.wikihiero%7Cmediawiki.legacy. commonPrint%252Cshared%7Cmediawiki.skinning.interface%7Cmediawiki.ui. button%7Cskins.vector.styles%26only%3Dstyles%26skin% 3Dvector%26*&profile=css3&usermedium=all&warning=1&vextwarning=&lang=en
.filehistory a img, #file img:hover
Value Error : background url(data:image/png;base64,iVBO[blahblah]) is an incorrect URL url(data:image/png;base64,iVBO[blahblah]) repeat
The Jigsaw CSS validator complains about any data URL inside url() unless it's in quotes. The snippet .filehistory a img,#file img:hover{ background:white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGElEQVQYV2N4DwX/oYBhgARgDJjEAAkAAEC99wFuu0VFAAAAAElFTkSuQmCC') repeat; background:white url(// bits.wikimedia.org/static-1.24wmf7/skins/common/images/Checker-16x16.png?2014-05-29T15:05:00Z) repeat!ie } passes with the added quotes.
Stackoverflow [1] thinks this a bug in Jigsaw, but regardless why would the CSS generate bogus requests in a cross-section of browsers? "some less forgiving browsers" doesn't normally include 60% Firefox 29 and 31% Chrome 35.
If it's only es and pt, I wonder if it's something else in the bits.wikimedia response that makes the browser try to interpret the charset in the data URI as other than charset=US-ASCII . I don't know of a charset that would not interpret these ASCII characters as ASCII.
Besides the other theories advanced, might it be sporadic ResourceLoader mis-minification?
What's the HTTP Referer for these requests, can we tell if it's coming from an external <link rel > to CSS or CSS a mw.loader.implement() piece of JavaScript inserting the CSS?
[1] < http://stackoverflow.com/questions/15481088/are-unquoted-data-uris-valid-in-...