OLD | NEW |
| 1 importScripts('./extendable-message-event-utils.js'); |
| 2 |
1 self.addEventListener('message', function(event) { | 3 self.addEventListener('message', function(event) { |
2 switch (event.data.type) { | 4 switch (event.data.type) { |
3 case 'start': | 5 case 'start': |
4 self.registration.active.postMessage( | 6 self.registration.active.postMessage( |
5 {type: '1st', client_id: event.source.id}); | 7 {type: '1st', client_id: event.source.id}); |
6 break; | 8 break; |
7 case '1st': | 9 case '1st': |
8 // 1st loopback message via ServiceWorkerRegistration.active. | 10 // 1st loopback message via ServiceWorkerRegistration.active. |
9 var results = [ | 11 var results = { |
10 '1st loopback: ' + event, | 12 trial: 1, |
11 ' event.origin: ' + event.origin, | 13 event: ExtendableMessageEventUtils.serialize(event) |
12 ' event.lastEventId: ' + event.lastEventId, | 14 }; |
13 ' event.source: ' + event.source, | |
14 ' event.source.scriptURL: ' + event.source.scriptURL, | |
15 ' event.source.state: ' + event.source.state, | |
16 ' event.ports: ' + event.ports, | |
17 ]; | |
18 var client_id = event.data.client_id; | 15 var client_id = event.data.client_id; |
19 event.source.postMessage({type: '2nd', client_id: client_id}); | 16 event.source.postMessage({type: '2nd', client_id: client_id}); |
20 event.waitUntil(clients.get(client_id) | 17 event.waitUntil(clients.get(client_id) |
21 .then(function(client) { | 18 .then(function(client) { |
22 client.postMessage({type: 'record', results: results}); | 19 client.postMessage({type: 'record', results: results}); |
23 })); | 20 })); |
24 break; | 21 break; |
25 case '2nd': | 22 case '2nd': |
26 // 2nd loopback message via ExtendableMessageEvent.source. | 23 // 2nd loopback message via ExtendableMessageEvent.source. |
27 var results = [ | 24 var results = { |
28 '2nd loopback: ' + event, | 25 trial: 2, |
29 ' event.origin: ' + event.origin, | 26 event: ExtendableMessageEventUtils.serialize(event) |
30 ' event.lastEventId: ' + event.lastEventId, | 27 }; |
31 ' event.source: ' + event.source, | |
32 ' event.source.scriptURL: ' + event.source.scriptURL, | |
33 ' event.source.state: ' + event.source.state, | |
34 ' event.ports: ' + event.ports, | |
35 ]; | |
36 var client_id = event.data.client_id; | 28 var client_id = event.data.client_id; |
37 event.waitUntil(clients.get(client_id) | 29 event.waitUntil(clients.get(client_id) |
38 .then(function(client) { | 30 .then(function(client) { |
39 client.postMessage({type: 'record', results: results}); | 31 client.postMessage({type: 'record', results: results}); |
40 client.postMessage({type: 'finish'}); | 32 client.postMessage({type: 'finish'}); |
41 })); | 33 })); |
42 break; | 34 break; |
43 } | 35 } |
44 }); | 36 }); |
OLD | NEW |