diff options
Diffstat (limited to 'devtools/client/debugger/test/mochitest/examples/doc-service-workers.html')
-rw-r--r-- | devtools/client/debugger/test/mochitest/examples/doc-service-workers.html | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/devtools/client/debugger/test/mochitest/examples/doc-service-workers.html b/devtools/client/debugger/test/mochitest/examples/doc-service-workers.html new file mode 100644 index 0000000000..f670e3b014 --- /dev/null +++ b/devtools/client/debugger/test/mochitest/examples/doc-service-workers.html @@ -0,0 +1,39 @@ +<script> +async function registerWorker() { + const sw = navigator.serviceWorker; + const swr = await sw.register("service-worker.sjs", { scope: "" }); + dump(`Registered, scope is: ${swr.scope}\n`); + + await new Promise(resolve => { + const worker = swr.installing || swr.waiting || swr.active; + if (worker.state === 'activated') { + return resolve(); + } + + worker.addEventListener('statechange', () => { + if (worker.state === 'activated') { + return resolve(); + } + }); + }); +} + +async function unregisterWorker() { + const sw = navigator.serviceWorker; + const swr = await sw.register("service-worker.sjs", { scope: "" }); + return swr.unregister(); +} + +async function fetchFromWorker() { + const response = await fetch("whatever"); + const text = await response.text(); + console.log(`Response ${text}`); +} + +async function registerAndFetchFromWorker() { + await registerWorker(); + await fetchFromWorker(); +} + +fetchFromWorker(); +</script> |