Contact emails [email protected], [email protected]
Explainer https://github.com/w3c/webtransport/blob/main/explainer.md Specification https://www.w3.org/TR/webtransport/#dom-webtransportoptions-datagramsreadabletype Summary Adds the WebTransportOptions.datagramsReadableType constructor option. By default, incoming WebTransport Datagrams are exposed through a default ReadableStream . Applications that require BYOB reading can request a readable byte stream by setting datagramsReadableType: "bytes" . Blink component Blink>Network>WebTransport Web Feature ID webtransport Motivation WebTransport Datagrams are discrete messages rather than an undifferentiated byte sequence. A readable byte stream can lose empty Datagrams and can lose message boundaries when BYOB reads use a minimum byte count spanning multiple Datagrams. Making a default ReadableStream the default preserves Datagram boundaries and empty Datagrams. Applications that benefit from BYOB allocation control can explicitly opt into the byte-stream behavior. Initial public proposal No information provided TAG review Not applicable — this is a small incremental addition within the existing WebTransport specification. TAG review status Not applicable Goals for experimentation None Risks Interoperability and Compatibility Interoperability risk is low to medium. The API and default-stream behavior are defined in the WebTransport specification and covered by WPT. Firefox already uses a default non-byte stream when the option is omitted, but does not yet support the explicit "bytes" mode in current public test runs. Compatibility risk is mitigated by runtime gating. Chromium historically exposed the Datagram readable as a byte stream, so enabling the feature changes the default behavior: existing applications using a BYOB reader without specifying datagramsReadableType: "bytes" would fail. Applications using ordinary readers continue to receive Uint8Array chunks Gecko: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=2007755) Firefox is implementing datagramsReadableType: "bytes" and BYOB Datagram reads WebKit: In development (https://bugs.webkit.org/show_bug.cgi?id=319830) WebKit main implements the standardized datagramsReadableType option Web developers: Positive (https://github.com/web-platform-tests/interop/issues/1121) The Interop 2026 WebTransport proposal received 28 👍 reactions. Developers also reported active WebTransport use and significant cross-engine differences. Other signals: Ergonomics Low. The default stream better matches Datagram message semantics. Applications needing BYOB allocation control must explicitly opt into "bytes" , making the semantic tradeoff visible in application code. Activation The main activation risk is existing Chromium-specific code assuming that transport.datagrams.readable always supports BYOB readers. Such applications must explicitly request datagramsReadableType: "bytes" . The feature remains experimentally gated while compatibility and interoperability are evaluated. Security Low. The option changes only the JavaScript stream adapter used to expose already-received Datagrams. It does not provide additional network access, expose new information, or alter WebTransport's secure-context and connection security requirements. WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? Low. The implementation is cross-platform Blink code and requires no WebView-specific integration. The primary compatibility consideration is the same as Chrome: applications using a BYOB reader must explicitly request datagramsReadableType: "bytes" . Debuggability No feature-specific DevTools UI is required. Applications can inspect whether datagrams.readable supports BYOB by attempting to acquire a BYOB reader. Existing WebTransport logging, NetLog, and DevTools network diagnostics remain available for connection and Datagram issues. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? Yes Yes. Implemented in cross-platform Blink code without platform-specific dependencies. Is this feature fully tested by web-platform-tests? Yes https://wpt.fyi/results/webtransport/datagrams.https.any.html?label=experimental&label=master&aligned Flag name on about://flags chrome://flags/#enable-experimental-web-platform-features Finch feature name WebTransportDatagramsReadableType Rollout plan Will ship enabled for all users Requires code in //chrome? False Tracking bug https://issues.chromium.org/issues/547572475 Availability expectation WebKit has implemented the option and corresponding default-stream behavior in its main branch. Firefox implements the default non-byte stream behavior, although explicit "bytes" /BYOB mode does not yet pass current public WPT runs. Broad availability is expected as implementations converge on the WebTransport specification. Adoption expectation Adoption is expected mainly among WebTransport applications that use BYOB readers or need reliable preservation of Datagram message boundaries. Most applications using ordinary readers require no code changes. Adoption plan Adoption is expected through WebTransport documentation and Interop 2026 visibility. Existing Chromium applications using BYOB readers will need to explicitly set datagramsReadableType: "bytes" when the feature is enabled. Estimated milestones Shipping on desktop 159 DevTrial on desktop 155 Shipping on Android 159 DevTrial on Android 155 Shipping on WebView 159 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (eg links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (eg, changing to naming or structure of the API in a non-backward-compatible way). None currently anticipated. The option and default-stream behavior are already defined in the WebTransport specification. Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5148774971342848?gate=5517621058469888 Links to previous Intent discussions Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6aa86417.edf999b6.71d4e.0a07.GAE%40google.com This intent message was generated by Chrome Platform Status. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6ad92614.a6e82b8f.de7e0.027e.GAE%40google.com.
