chromium/third_party/blink/web_tests/external/wpt/background-fetch/service_workers/sw-abort.js

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})));
});