v152 · ssm multicast · capability probe

Isolated-context probe

Before explaining what sourceAddress does, prove what this page can see. Every row below is a real read of this browsing context — and the headline result on a normal web page is absence: Direct Sockets interfaces carry [IsolatedContext] in their IDL, so they only exist inside an installed Isolated Web App. Absent here means policy gate, not missing implementation or old browser.

Probe this context

Live probe results (nothing cached, nothing assumed)
probethis page, right nowinside an installed IWA (with the flag)
Probes not run yet.

The IDL that explains the table

[
  Exposed=(Window, DedicatedWorker),
  SecureContext,
  IsolatedContext            // ← the gate this page fails, by design
]
interface MulticastController {
  Promise<undefined> joinGroup(DOMString groupAddress,
      optional MulticastGroupOptions options = {});
  Promise<undefined> leaveGroup(DOMString groupAddress,
      optional MulticastGroupOptions options = {});
  readonly attribute FrozenArray<(DOMString or MulticastMembership)> joinedGroups;
};

dictionary MulticastGroupOptions {
  DOMString sourceAddress;   // ← the entire v152 feature
};

To exercise this for real you need all three layers: (1) an installed Isolated Web App (signed web bundle; isolated-app: origin) — that is what makes UDPSocket exist at all; (2) the direct-sockets / direct-sockets-multicast permissions policies granted in its manifest — without the multicast policy, join/leave and multicast sends reject with NotAllowedError; (3) the SSM flag: SourceSpecificMulticastInDirectSockets has status test on trunk, which means even --enable-experimental-web-platform-features does not turn it on — launch Chrome with --enable-blink-features=SourceSpecificMulticastInDirectSockets. No origin trial exists.

see also