зеркало из https://github.com/mozilla/gecko-dev.git
59 строки
1.7 KiB
HTML
59 строки
1.7 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="/tests/SimpleTest/AddTask.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: "./"});
|
|
let sw = registration.installing || registration.active;
|
|
|
|
// wait for service worker be activated
|
|
await waitForState(sw, 'activated');
|
|
|
|
// wait for control changed
|
|
sw.postMessage('claim');
|
|
await waitForControlled(window);
|
|
|
|
// 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>
|