mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 22:01:30 +00:00
df5283bd56
`postMessage('claim')` followed by `waitForControlled(win)` was used instead of calling `clients.claim()` in a Service Worker's `activate` event handler; this invocation of the event handler was not reliable due to resurrection (resurrected active workers won't receive an `activate` event). This is no longer necessary with resurrection removed. Differential Revision: https://phabricator.services.mozilla.com/D38687 --HG-- extra : moz-landing-system : lando
53 lines
1.6 KiB
HTML
53 lines
1.6 KiB
HTML
<!--
|
|
Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
|
-->
|
|
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Bug 1408734</title>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script src="error_reporting_helpers.js"></script>
|
|
<script src="utils.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none"></div>
|
|
<pre id="test"></pre>
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
// setup prefs
|
|
add_task(() => {
|
|
return SpecialPowers.pushPrefEnv({"set": [
|
|
["dom.serviceWorkers.enabled", true],
|
|
["dom.serviceWorkers.testing.enabled", true],
|
|
]});
|
|
});
|
|
|
|
// test for bug 1408734
|
|
add_task(async () => {
|
|
// register a service worker
|
|
let registration = await navigator.serviceWorker.register("fetch.js",
|
|
{scope: "./"});
|
|
// wait for service worker be activated
|
|
await waitForState(registration.installing, "activated");
|
|
|
|
// get the ServiceWorkerRegistration we just register through GetRegistration
|
|
registration = await navigator.serviceWorker.getRegistration("./");
|
|
ok(registration, "should get the registration under scope './'");
|
|
|
|
// call unregister()
|
|
await registration.unregister();
|
|
|
|
// access registration.updateViaCache to trigger the bug
|
|
// we really care that we don't crash. In the future we will fix
|
|
is(registration.updateViaCache, "imports",
|
|
"registration.updateViaCache should work after unregister()");
|
|
});
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|