summaryrefslogtreecommitdiffstats
path: root/test/wpt/tests/service-workers/service-worker/ServiceWorkerGlobalScope/resources/extendable-message-event-ping-worker.js
blob: d07b22959cc0018cc31096929fd6ea380883ca78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
importScripts('./extendable-message-event-utils.js');

self.addEventListener('message', function(event) {
    switch (event.data.type) {
      case 'start':
        // Send a ping message to another service worker.
        self.registration.waiting.postMessage(
            {type: 'ping', client_id: event.source.id});
        break;
      case 'pong':
        var results = {
            pingOrPong: 'pong',
            event: ExtendableMessageEventUtils.serialize(event)
        };
        var client_id = event.data.client_id;
        event.waitUntil(clients.get(client_id)
            .then(function(client) {
                client.postMessage({type: 'record', results: results});
                client.postMessage({type: 'finish'});
              }));
        break;
    }
  });