Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

  • This test has a WPT meta file that expects 2 subtest issues.
  • This WPT test may be referenced by the following Test IDs:
<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async (test) => {
const reg = await navigator.serviceWorker.register('./serviceworker.js', { type: 'module' });
test.add_cleanup(() => reg.unregister());
assert_not_equals(reg.installing, undefined);
}, "Javascript importing JSON Module should load within the context of a service worker");
promise_test(test => {
return promise_rejects_dom(test, "SecurityError",
navigator.serviceWorker.register('./module.json', { type: 'module' }),
"Attempting to load JSON as a service worker should fail");
}, "Trying to register a service worker with a top-level JSON Module should fail");
promise_test(async (test) => {
const reg = await navigator.serviceWorker.register('./serviceworker-dynamic-import.js', { type: 'module' });
test.add_cleanup(() => reg.unregister());
assert_not_equals(reg.installing, undefined);
reg.installing.postMessage("PING");
const msgEvent = await new Promise(resolve => {
navigator.serviceWorker.onmessage = resolve;
});
assert_equals(msgEvent.data, "FAILED");
}, "JSON Module dynamic import should not load within the context of a service worker");
</script>