blob: db21a262a7a9745a4ef348d4249014625209f1f7 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
</head>
<body>
<script>
var activeWorker;
var registration;
async function doTest()
{
registration = await navigator.serviceWorker.register("third-party-worker.js", { scope : "." });
activeWorker = registration.installing;
await new Promise((resolve, reject) => {
activeWorker.addEventListener('statechange', () => {
if (activeWorker.state === "activated")
resolve();
});
setTimeout(reject, 5000);
});
}
window.onmessage = async (e) => {
try {
await doTest();
navigator.serviceWorker.onmessage = async (e) => {
await registration.unregister();
parent.postMessage(e.data, '*');
}
activeWorker.postMessage(e.data);
} catch (e) {
if (registration)
registration.unregister();
parent.postMessage("FAILED: " + e, '*');
}
}
</script>
</body>
</html>