summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/background-fetch/service_workers/sw-abort.js
blob: c61377758dff76b068f5c2d1fb2484783dd0ca8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
importScripts('sw-helpers.js');

async function getFetchResult(record) {
  try {
    await record.responseReady;
  } catch (e) {
    return {
      response: false,
      name: e.name,
    };
  }

  return {
    response: true,
  };
}
self.addEventListener('backgroundfetchabort', event => {
  event.waitUntil(
    event.registration.matchAll()
      .then(records =>
            Promise.all(records.map(record => getFetchResult(record))))
      .then(results => sendMessageToDocument({results})));
});