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.

Reply via email to