summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/service-worker/resources/clients-matchall-worker.js
blob: f0ae90d814227781e479492845436b2a60c2070e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
self.onmessage = function(e) {
  var port = e.data.port;
  var options = e.data.options;

  self.clients.matchAll(options).then(function(clients) {
      var message = [];
      clients.forEach(function(client) {
          var frame_type = client.frameType;
          if (client.url.indexOf('clients-matchall-include-uncontrolled.https.html') > -1 &&
              client.frameType == 'auxiliary') {
            // The test tab might be opened using window.open() by the test framework.
            // In that case, just pretend it's top-level!
            frame_type = 'top-level';
          }
          message.push([client.visibilityState,
                        client.focused,
                        client.url,
                        frame_type]);
        });
      // Sort by url
      message.sort(function(a, b) { return a[2] > b[2] ? 1 : -1; });
      port.postMessage(message);
    });
};