January in Servo: preloads, better forms, details styling, and more
Servo 0.0.5 is here, bringing with it lots of improvements in web platform features.
Some highlights:
- (@TimvdLippe, @jdm, #40059)
and (@TimvdLippe, #42096)(@mrobinson, #42220)
- (@simonwuelker, #42036)
- OGG files can now be played in (@jdm, #41789)
- ‘cursor-color’ (@mrobinson, #41976)
- ‘content:
’ works on all elements (@andreubotella, #41480) - ‘::details-content’ on
- ‘:open’ on
- ‘:active’ on (@mrobinson, #42095)
- Origin API (@WaterWhisperer, #41712)
- MouseEvent.detail (@mrobinson, #41833)
- Request.keepalive (@TimvdLippe, @WaterWhisperer, #41457, #41811)
- Cyclic imports, import attributes, and JSON modules (@Gae24, #41779)
- navigator.sendBeacon() is enabled by default (@TimvdLippe, #41694)
https_proxy,HTTPS_PROXY, andNO_PROXY(@Narfinger, #41689)- ML-KEM, ML-DSA, and AES-OCB in Crypto (@kkoyung, #41604, #41617, #41615, #41627, #41628, #41647, #41659, #41676, #41791, #41822, #41813, #41829)
Web APIs
Servo now plays OGG media inside
We now support non-px sizes for width and height attributes in
Inactive documents will now correctly reject fullscreen mode changes (@stevennovaryo, #42068).
We’ve enabled support for the navigator.sendBeacon() by default (@TimvdLippe, #41694); the dom_navigator_sendbeacon_enabled preference has been removed.
As part of this work, we implemented the keepalive feature of the Request API (@TimvdLippe, @WaterWhisperer, #41457, #41811).
That’s not all for network-related improvements!
Quota errors from the fetchLater() API provide more details (@TimvdLippe, #41665), and fetch response body promises now reject when invalid gzip content is encountered (@arayaryoma, #39438).
Meanwhile, EventSource connections will no longer endlessly reconnect for permanent failures (@WaterWhisperer, #41651, #42137), and now use the correct ‘Last-Event-Id’ header when reconnecting (@WaterWhisperer, #42103).
Finally, Servo will create PerformanceResourceTiming entries for requests that returned unsuccessful responses (@bellau, #41804).
There has been lots of work related to navigating pages and loading iframes.
We process URL fragments more consistently when navigating via window.location (@TimvdLippe, #41805, #41834), and allow evaluating javascript: URLs when a document’s domain has been modified (@jdm, #41969).
XML documents loaded in an
We’re also made it possible to use blob: URLs from inside ‘about:blank’ and ‘about:srcdoc’ documents (@jdm, #41966, #42104).
Finally, constructed documents (e.g. new Document()) now inherit the origin and domain of the document that created them (@TimvdLippe, #41780), and we implemented the new Origin API (@WaterWhisperer, #41712).
Servo’s mixed content protections are steadily increasing.
Insecure requests (e.g. HTTP) originating from