v155 · webtransport · datagrams
createWritable, probed and called
The feature adds one method and one interface: WebTransportDatagramDuplexStream.createWritable() returning a WebTransportDatagramsWritable. Both are checkable on the real prototypes, and — because the spec explicitly allows datagram work while a transport is still connecting — createWritable() is genuinely callable here, dead endpoint and all.
Chrome targets this for Chrome 155 behind the WebTransportDatagramsWritable runtime flag (which depends on WebTransportSendGroup) — launch with --enable-blink-features=WebTransportSendGroup,WebTransportDatagramsWritable, or flip chrome://flags/#enable-experimental-web-platform-features and relaunch. No HTTP/3 endpoint is reachable from this showcase; everything below is the synchronous, pre-connection surface.
The surface, on this build
| check | result | meaning |
|---|---|---|
| Press the button. | ||
…and the legacy door, for contrast
Before this feature, Chromium's one way out was datagrams.writable — a property the current spec no longer defines (it keeps living in browsers for compatibility). Reading both surfaces side by side dates a build precisely:
| surface | this build | era |
|---|---|---|
| Runs with the probe above. | ||
code path
const t = new WebTransport("https://127.0.0.1:44443/never");
const dg = t.datagrams; // exists while still connecting
"createWritable" in Object.getPrototypeOf(dg); // the method
typeof WebTransportDatagramsWritable; // the interface
const w = dg.createWritable(); // legal pre-connection (spec 4.3)
w instanceof WritableStream; // true — it IS a WritableStream
w.sendGroup; // null (default)
w.sendOrder; // 0 (default)