LGTM1 From: [email protected] <[email protected]> On Behalf Of Chromestatus Sent: Thursday, November 5, 2026 9:37 AM To: [email protected] Cc: Daniel Clark <[email protected]>; [email protected]; [email protected]; Viktoriya Bryhider <[email protected]> Subject: [blink-dev] Intent to Ship: WebTransport connection statistics
Contact emails [email protected]<mailto:[email protected]> Explainer https://github.com/w3c/webtransport/blob/main/explainer.md#stats Specification https://w3c.github.io/webtransport/#dictdef-webtransportconnectionstats Design docs https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/getStats https://w3c.github.io/webtransport/#web-transport-connection-stats Summary WebTransport.getStats() provides asynchronous statistics for an existing connection: round-trip time measurements when available, an estimated sending rate when available, and counts of expired, lost, and dropped datagrams. Statistics remain accessible after the connection closes. Chromium does not currently expose connection byte or packet totals. Blink component Blink>Network>WebTransport<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%3EWebTransport%22> Web Feature ID webtransport<https://webstatus.dev/features/webtransport> Motivation WebTransport applications need to distinguish connection latency, congestion, and datagram loss or expiration from application-side delays. A single asynchronous call exposes a snapshot of the existing connection's health to help developers adapt sending behavior and troubleshoot problems. It does not create a connection or change how application data is transmitted. Initial public proposal No information provided TAG review https://github.com/w3ctag/design-reviews/issues/1212#issuecomment-5071009850 TAG review status Issues addressed Goals for experimentation None Risks Interoperability and Compatibility This is an additive method on an existing WebTransport object: existing code is unaffected if it does not use the new method. Developers must check for method support and handle a rejection or missing dictionary members when working across browsers. Firefox and Safari expose getStats(), but implementation maturity and returned fields vary between all browsers. The WebTransport specification currently defines connection byte/packet counters (bytesSent, bytesSentOverhead, bytesAcknowledged, packetsSent, bytesLost, packetsLost, bytesReceived, packetsReceived) and atSendCapacity; Chromium does not expose these members. Applications should check for optional members rather than assume that every browser returns the same subset. Gecko: Shipped/Shipping (https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/158#apis) WebTransport.getStats() shipped in Firefox 158, released October 13, 2026. WebKit: Shipped/Shipping (https://github.com/WebKit/WebKit/blob/WebKit-7625.2.8/Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm#L410-L413) Safari 27.2 exposes WebTransport.getStats(), but its WebKit(7625.2.8) implementation returns default-initialized connection statistics. WebKit main has since added bytesSent and bytesReceived counters. Web developers: Positive (https://github.com/web-platform-tests/interop/issues/1121) The Interop 2026 WebTransport proposal received 28 positive reactions. Developers also reported active WebTransport use and significant cross-engine differences. Other signals: Ergonomics Values are asynchronous snapshots, not continuously updated measurements. RTT fields are in milliseconds; estimatedSendRate is in bits per second and can be null when no estimate is available. Activation There is no distinct activation risk identified for WebTransport.getStats(). Enabling it exposes an additive method; sites that do not call it keep their existing WebTransport behavior. Security The method returns aggregate connection information for a WebTransport object the caller already owns; it does not disclose payloads or peer credentials and does not add a new connection capability. RTT and estimated send rate can reveal characteristics of a user's network and help fingerprint or correlate activity. The WebTransport spec limits disclosure of connection and datagram counters on connections subject to pooling while permitting selected pooled-connection measurements such as RTT and estimated send rate. 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. This is an additive API on existing WebTransport API and does not change connection establishment or network behavior. Debuggability Applications can inspect getStats() results from script or the DevTools Console. No dedicated DevTools connection-statistics UI is required for the API to work. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? Yes Is this feature fully tested by web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>? Yes https://wpt.fyi/results/webtransport/stats.https.any.html Flag name on about://flags enable-experimental-web-platform-features Finch feature name WebTransportStats Rollout plan Will ship enabled for all users Requires code in //chrome? False Tracking bug https://issues.chromium.org/issues/573538454 Availability expectation Firefox 158 and Safari 26.4 expose WebTransport.getStats(), although implementation maturity and available dictionary fields differ. Adoption expectation Adoption is expected primarily among WebTransport applications that monitor network performance or datagram delivery. Non-OSS dependencies Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function? No Estimated milestones Shipping on desktop 159 DevTrial on desktop 124 Shipping on Android 159 DevTrial on Android 124 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 (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way). None known. Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5120203192139776?gate=5581427851788288 This intent message was generated by Chrome Platform Status<https://chromestatus.com/>. -- 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]<mailto:[email protected]>. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6aecbed8.dafb4d6f.4865.0071.GAE%40google.com<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6aecbed8.dafb4d6f.4865.0071.GAE%40google.com?utm_medium=email&utm_source=footer>. -- 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/DS0PR00MB252754EE07412767EADB011BC5772%40DS0PR00MB2527.namprd00.prod.outlook.com.
