chromium/third_party/blink/web_tests/wpt_internal/cache_storage/resources/padding-fetch-sw.js

self.addEventListener('fetch', evt => {
  if (!evt.request.url.includes('simple.js') || evt.request.mode != 'no-cors')
    return;

  evt.respondWith(async function() {
    // Fetch the response from the network.
    const net_response = await fetch(evt.request);

    // Before returning the response store a clone in cache_storage
    // and compute its padded usage.
    const cache = await caches.open('padding');
    // Make sure to use the URL and not the full request.  The main window
    // and service worker requests may have different headers which can
    // throw off the size comparison.
    await cache.put(evt.request.url, net_response.clone());
    const usage = (await navigator.storage.estimate()).usageDetails.caches;
    await cache.delete(evt.request.url);

    // Send the padded usage value to the main window so that it can
    // be compared.
    const client = await clients.get(evt.clientId);
    client.postMessage({ usage: usage });

    // Finally return the original network response.
    return net_response;
  }());
});