Source code

Revision control

Copy as Markdown

Other Tools

importScripts("/resources/testharness.js");
const timings = {}
const DELAY_ACTIVATION = 500
self.addEventListener('activate', event => {
event.waitUntil(new Promise(resolve => {
timings.activateWorkerStart = performance.now() + performance.timeOrigin;
// This gives us enough time to ensure activation would delay fetch handling
step_timeout(resolve, DELAY_ACTIVATION);
}).then(() => timings.activateWorkerEnd = performance.now() + performance.timeOrigin));
})
self.addEventListener('fetch', event => {
timings.handleFetchEvent = performance.now() + performance.timeOrigin;
event.respondWith(Promise.resolve(new Response(new Blob([`
<script>
parent.postMessage(${JSON.stringify(timings)}, "*")
</script>
`]))));
});