LGTM1

On 10/20/25 4:14 p.m., Reilly Grant wrote:
IWA OWNER LGTM

This is an extension to an existing IWA-only feature. Multicast introduces additional privacy concerns because since content is intended for consumption by multiple clients it cannot be encrypted in a way which preserves confidentiality (this has been previously discussed on this list an network-dev@). Requiring the user to explicitly choose to install an application rather than making this capability available to any site at least partially mitigates this concern. Reilly Grant | Software Engineer |[email protected] |Google Chrome <https://www.google.com/chrome>


On Fri, Oct 17, 2025 at 3:11 AM Chromestatus <[email protected]> wrote:

    *Contact emails*
    [email protected]

    *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
    
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork-%3EDirect%20Sockets%22>

    *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
    
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?*
    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 desktop         144
    DevTrial on desktop         142



    *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
    <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].
    To view this discussion visit
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68f21631.050a0220.29f70d.0062.GAE%40google.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/68f21631.050a0220.29f70d.0062.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/CAEmk%3DMZTErruSN4dM%2Bx00tOVDQtBxEESqd8HWmWYKaG7nYm9vg%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMZTErruSN4dM%2Bx00tOVDQtBxEESqd8HWmWYKaG7nYm9vg%40mail.gmail.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/2ac595c1-3ac2-4a79-87f5-54ca3ac1bd44%40chromium.org.

Reply via email to