← back to v157 · popup-capability-delegation
conformance · v157
v157 · popup-capability-delegation — conformance probe
8 assertions drawn from the spec. Each is a single contract the spec text makes. Pass/fail reflects what this browser executed; blocked means the contract was not run because it needs user mediation, hardware, or another unavailable precondition. Open the page in Chrome stable / canary / Firefox / Safari to compare.
0
pass
0
fail
0
blocked
8
total
| id | contract | kind | verdict | detail |
|---|---|---|---|---|
user-activation-model-exposed |
navigator.userActivation exists — the transient-activation model whose gate the delegated "popup" token bypasses. spec ↗ | exists | … | |
capability-delegation-framework-validates |
The window-side Capability Delegation framework this proposal extends is live: postMessage with an unrecognised delegate capability throws NotSupportedError instead of silently ignoring the option. spec ↗ | throws | … | |
show-notification-surface |
ServiceWorkerRegistration.prototype.showNotification is a function — the notification whose click grants the transient "popup" capability token. spec ↗ | typeof | … | |
delegate-outside-notificationclick-throws |
client.postMessage(msg, { delegate: 'popup' }) OUTSIDE a trusted notificationclick throws NotAllowedError in a supporting browser; an unsupporting browser delivers the message with the unknown member ignored (the delegation-probe concept runs this exact call through the feature's service worker). spec ↗ | manual | … | |
delegated-open-succeeds-after-notification-click |
After a real notification click, the worker's {delegate:'popup'} message lets the focused client window call window.open() successfully without its own activation. spec ↗ | manual | … | |
receiver-token-expires-in-one-second |
The delegated token on the receiving window lives 1 second: a window.open() delayed 1.5s after the message is popup-blocked. spec ↗ | manual | … | |
single-use-token-invariant |
One notification click never yields two popups: the first window.open() consumes the token (and any activation), the second is blocked. spec ↗ | manual | … | |
non-window-channels-rejected |
delegate: 'popup' is only valid on Client.postMessage targeting a WindowClient; other worker messaging channels throw NotSupportedError. spec ↗ | manual | … |