<!--
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>