OLD | NEW |
(Empty) | |
| 1 self.onmessage = function(e) { |
| 2 self.clients.matchAll().then(function(clients) { |
| 3 clients.forEach(function(client) { |
| 4 var messageChannel = new MessageChannel(); |
| 5 messageChannel.port1.onmessage = |
| 6 onMessageViaMessagePort.bind(null, client); |
| 7 client.postMessage({port: messageChannel.port2}, |
| 8 [messageChannel.port2]); |
| 9 }); |
| 10 }); |
| 11 }; |
| 12 |
| 13 function onMessageViaMessagePort(client, e) { |
| 14 var message = e.data; |
| 15 if ('value' in message) { |
| 16 client.postMessage({ack: 'Acking value: ' + message.value}); |
| 17 } else if ('done' in message) { |
| 18 client.postMessage({done: true}); |
| 19 } |
| 20 } |
OLD | NEW |