summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/blocking_install_event_worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/serviceworkers/test/blocking_install_event_worker.js')
-rw-r--r--dom/serviceworkers/test/blocking_install_event_worker.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/dom/serviceworkers/test/blocking_install_event_worker.js b/dom/serviceworkers/test/blocking_install_event_worker.js
new file mode 100644
index 0000000000..8ca6201316
--- /dev/null
+++ b/dom/serviceworkers/test/blocking_install_event_worker.js
@@ -0,0 +1,22 @@
+function postMessageToTest(msg) {
+ return clients.matchAll({ includeUncontrolled: true }).then(list => {
+ for (var client of list) {
+ if (client.url.endsWith("test_install_event_gc.html")) {
+ client.postMessage(msg);
+ break;
+ }
+ }
+ });
+}
+
+addEventListener("install", evt => {
+ // This must be a simple promise to trigger the CC failure.
+ evt.waitUntil(new Promise(function () {}));
+ postMessageToTest({ type: "INSTALL_EVENT" });
+});
+
+addEventListener("message", evt => {
+ if (evt.data.type === "ping") {
+ postMessageToTest({ type: "pong" });
+ }
+});