summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/unresolved_fetch_worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/serviceworkers/test/unresolved_fetch_worker.js')
-rw-r--r--dom/serviceworkers/test/unresolved_fetch_worker.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/dom/serviceworkers/test/unresolved_fetch_worker.js b/dom/serviceworkers/test/unresolved_fetch_worker.js
new file mode 100644
index 0000000000..fae74f34b8
--- /dev/null
+++ b/dom/serviceworkers/test/unresolved_fetch_worker.js
@@ -0,0 +1,18 @@
+var keepPromiseAlive;
+onfetch = function (event) {
+ event.waitUntil(
+ clients.matchAll().then(clients => {
+ clients.forEach(client => {
+ client.postMessage("continue");
+ });
+ })
+ );
+
+ // Never resolve, and keep it alive on our global so it can't get GC'ed and
+ // make this test weird and intermittent.
+ event.respondWith((keepPromiseAlive = new Promise(function (res, rej) {})));
+};
+
+addEventListener("activate", function (event) {
+ event.waitUntil(clients.claim());
+});