WHATWG Weekly: “Distributed Extensibility” put to rest and loads more
Two weeks ago I reported that Philip Jägenstedt wrote a proposal to ignore the Content-Type
header for video resources and last week that made it into the HTML standard. Video formats were already being sniffed if the Content-Type
had an appropriate value. Now that process is simplified.
The server-sent events feature was also simplified. 2xx — except 200 — HTTP response codes no longer have any special semantics.
Meanwhile Web Workers gained the online
and offline
events turning its navigator.onLine
into something useful. And the window.onerror
feature will also be invoked for compile-time errors. Aryeh Gregor’s work on window.atob()
and window.btoa()
— methods for base 64 encoding and decoding — made it into the HTML standard.
The Wider Web
Ian Hickson dedicated a blog entry to a change to the HTML standard with regards to script execution order. Suffice to say that inserting scripts dynamically is hairy, but at least it is well defined now.
Robert O'Callahan wrote Distinguishing "Embeddable" Versus "Readable" Web Resources Considered Harmful to which I replied with Breaking Web Platform Consistency Considered Harmful. Loading external resources is a complicated topic and I would like to avoid changing strategy there. Ian Hickson captures it quite well in a comment: I think the consistency argument has to be given a lot of weight, because otherwise each generation of Web standards people will bring with it a whole new set of API styles, and we’ll end up with a platform that is nigh on impossible to intuitively understand.
Related to loading policies a post by Mike Cardwell on abusing HTTP status codes to expose private information garnered quite a bit of attention last week. Simon Pieters suggested that my From-Origin
proposal would be able to tackle that issue. It is quite a severe privacy problem that we should study carefully.
If you are interested in what editors of the CSS Working Group are working on there is now @csscommits where updates of CSS specifications are announced.
“Distributed Extensibility”
The Chairs of the W3C HTML Working Group finally announced the decision on ISSUE-41. HTML will not have XML-style namespaces. HTML has numerous extension points already and it is unclear whether namespaces are a good idea. It is nice that the W3C and WHATWG are in agreement on this, insofar they are actually separate.
I should point out that this decision can still be appealed if new information is brought forward. This discussion has been going on for a decade so hopefully we covered it, but you never know.
On the List
- Nicholas Zakas with Yahoo! put forward a proposal for separating script downloads and execution. Giving more control over when scripts are executed.
- Mike Wilson discovered a potential issue in the quite complicated algorithm for navigating.
- Tab Atkins with Google requested that the expected behavior of the
accept
attribute on file controls is made more clear. E.g. that it allows for microphone integration. - Boris Zbarsky with Mozilla found an inconsistency between
canvas
and CSS color serialization with regards to the alpha channel while cleaning up some code in Gecko. - Aryeh Gregor who is busy editing DOM Range thanks to some money from Google is currently figuring out HTML-to-plaintext conversion. Maybe one day we will understand how the web platform works!
- Adam Barth put forward a proposal for cryptographically strong random numbers which generated quite a bit of traffic. The most popular idea so far seems to be introducing
window.crypto.getRandomUint8Array(length)
.
It’s awesome that none other than Sam Ruby announced the decision on “decentralized extensibility”, given this comment from 2008: