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