Intent to Ship: Multicast Support for Direct Sockets API.

38 views
Skip to first unread message

Chromestatus

unread,
Oct 17, 2025, 6:11:11 AM (yesterday) Oct 17
to blin...@chromium.org, green...@google.com, vk...@google.com
Contact emails
vk...@google.com

Explainer
https://github.com/explainers-by-googlers/Multicast-in-Direct-Sockets

Specification
https://github.com/WICG/direct-sockets/pull/79

Design docs

https://github.com/WICG/direct-sockets/blob/main/docs/multicast-explainer.md
https://docs.google.com/document/d/1Wna0lkTrhYoTxOO1GjOrut2nWHO19HEyo9YCk39tXqY/edit?usp=sharing

Summary
Allows Isolated Web Apps to subscribe to multicast groups and receive UDP packets from there, and to specify additional parameters when sending UDP packets to multicasts addresses.

Blink component
Blink>Network->Direct Sockets

Web Feature ID
Missing feature

Motivation
1. Synchronous video stream from one device to the whole network of devices. For example, imagine in a shopping mall there would be multiple displays which show videos simultaneously on all devices. 2. Device discovery on a local network. mDNS protocol uses multicast sockets under the hood. In short, when a device joins a network, it sends a message: “Hello, I am headphones-10, my ip is ‘20.20.20.14’ . Who else is here?”, other devices reply and in such a manner all devices can know about each other without a central server.

Initial public proposal
https://github.com/WICG/proposals/issues/228

TAG review
Tag does not review Isolated Web Apps. It was stated publicly here https://github.com/w3ctag/design-reviews/issues/842#issuecomment-2917031448

TAG review status
Not applicable

Risks


Interoperability and Compatibility
Other browsers may choose to implement this API.

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

Security
Security and privacy considerations are explained https://github.com/WICG/direct-sockets/blob/main/docs/multicast-explainer.md Security considerations This API gives the opportunity to flood the network with packets. By only providing this API to Isolated Web Apps the user agent can be more confident that the application has not been compromised. This allows users and system administrators to confidently grant this capability to trusted applications. Additionally, routers have control, whether they send multicast packets or drop them. In many setups dropping multicast packets is the default setting.

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?

No information provided


Debuggability
The code using this API can be debugged using the standard tools. Integrating the API with the DevTools Networking tab to enable easier introspection of the state of these connections as well as the data transferred could be a beneficial future improvement.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No
This feature is implemented on desktop platforms, although it will only be available to the end users on platforms that support Isolated Web Apps, which is currently only ChromeOS. Android is excluded for historical reasons, although there are no apparent interoperability blockers here.

Is this feature fully tested by web-platform-tests?
No
Cannot be tested in WPT, the issue https://github.com/web-platform-tests/wpt/issues/55304

DevTrial instructions
https://github.com/WICG/direct-sockets/blob/main/docs/multicast-how-to.md

Flag name on about://flags
MulticastInDirectSockets

Finch feature name
MulticastInDirectSockets

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Measurement
Separate programmatic counters for the .idl methods and attributes (via MeasureAs) are included to track the stats for API usage: MulticastControllerJoinGroupFunction MulticastControllerLeaveGroupFunction MulticastControllerJoinedGroupsAttribute

Availability expectation
Feature is available only in Isolated Web Apps on desktop platforms. https://chromestatus.com/feature/5146307550248960

Adoption expectation
Expected to be used initially by a small number of developers inside Isolated Web Apps.

Adoption plan
Working directly with developers that are planning to rely on the API.

Estimated milestones
Shipping on desktop144
DevTrial on desktop142


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

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5073740211814400?gate=5084202819256320

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68aeedee.050a0220.27f047.019b.GAE%40google.com


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages