| 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 |