self.addEventListener("install", () => { performance.mark("__serviceworker_event"); dump("[SW]:", "Install event\n"); }); self.addEventListener("fetch", event => { performance.mark("__serviceworker_event"); dump(`Handling fetch event for ${event.request.url}\n`); event.respondWith(handleFetch(event.request)); }); async function handleFetch(request) { if (request.url.endsWith("-generated.svg")) { dump( "An icon file that should be generated was requested, let's answer directly.\n" ); return new Response( `firefox-logo-nightly`, { headers: { "content-type": "image/svg+xml" } } ); } dump( `A normal URL ${request.url} has been requested, let's fetch it from the network.\n` ); return fetch(request); }