chromium/third_party/blink/web_tests/external/wpt/fenced-frame/resources/serviceWorker-navigate.js

self.importScripts('utils.js');

self.onmessage = function(e) {
  var key = e.data.key;
  var url = e.data.url;

  e.waitUntil(self.clients.claim().then(() => {
      return self.clients.matchAll({type: 'window'});
    }).then(clients => {
      return clients.map(client => {
        // Check to make sure WindowClient.navigate() is supported.
        if (client.url === url) {
          return client.navigate(generateURL('serviceWorker-navigate-inner-success.html',
                                        [key]));
        }
      });
    }));
};