summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/blocking_install_event_worker.js
blob: 8ca6201316ac2ba7fe58d9c588da5da714d6a573 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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" });
  }
});