Standards work is in progress.
No tag review as no APIs are being added; this just makes one more thing transferable, which is an already well-reviewed pattern.
The streams APIs provide ubiquitous, interoperable primitives for creating, composing, and consuming streams of data. A natural thing to want to do with a stream is pass it off to a Worker. This provides a fluent primitive for offloading work onto another thread. Transferable Streams add this capability by allowing ReadableStream, WritableStream and TransformStream objects to be passed as arguments to postMessage().
Interoperability and Compatibility
Edge: No signals
Firefox: Public support
Safari: No signals
Web developers: Positive
Please include links where possible.
This will most commonly be used with Workers or ServiceWorkers.
The API is asynchronous and designed to permit good optimisation decisions.
The feature puts together two things that developers are already using, so it will be easy to adopt.
High-fidelity polyfilling is made difficult by the need to intercept “message” events, but it’s possible to make a “good enough” polyfill to simulate the behaviour. See https://github.com/MattiasBuelens/remote-web-streams for example. Alternatively, developers could offload work onto another thread in browsers implementing transferable streams, while continuing to run it on the main thread in other browsers.
Detecting support for transferable streams is awkward. It’s necessary to postMessage a stream and see if it works.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Link to entry on the feature dashboard
Requesting approval to ship?
I can imagine that supporting this would be non-trivial in some
implementations, maybe it's worth proactively seeking out their
feedback long before we get close to shipping this?
You received this message because you are subscribed to the Google Groups "blink-network-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-network-...@chromium.org.
To post to this group, send email to blink-ne...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-network-dev/CAARdPYehmwDOgo%3DxQy9mTY18ZKe60GMDAOOxSoibe8dHKShNRA%40mail.gmail.com.