demo · v135
srcdoc iframes become SW clients
Chrome 135 makes <iframe srcdoc> documents real service worker clients that inherit the parent's controller. The demo registers an SW, mounts a srcdoc frame, and probes whether it sees the same controller.
Service Worker: ?
parent controller: ?
srcdoc client: ?
srcdoc iframe
event log
the code
// parent
await navigator.serviceWorker.register("./sw.js");
const frame = document.createElement("iframe");
frame.srcdoc = "<script>parent.postMessage(!!navigator.serviceWorker.controller,'*')</script>";
document.body.appendChild(frame);
// before chrome 135: message === false (srcdoc bypassed the SW)
// chrome 135+: message === true (srcdoc inherits parent controller)
see also
- srcdoc SW client — feature index
- ChromeStatus entry
- Service Worker spec