Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<!--
Any copyright is dedicated to the Public Domain.
-->
<!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>