1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16

content / test / data / service_worker / fetch_from_service_worker.html [blame]

<script>
async function setup() {
  await navigator.serviceWorker.register('fetch_from_service_worker.js');
  await navigator.serviceWorker.ready;
  return 'ready';
}

function fetch_from_service_worker(url) {
  return new Promise(async resolve => {
    const registration = await navigator.serviceWorker.ready;
    const channel = new MessageChannel();
    channel.port1.onmessage = e => { resolve(e.data); };
    registration.active.postMessage({url}, [channel.port2]);
  });
}
</script>