1 self.onmessage = function(e) {
2 self.clients.getServiced().then(function(clients) {
3 clients.forEach(function(client) {
4 var messageChannel = new MessageChannel();
5 messageChannel.port1.onmessage = onMessageViaMessagePort.bind(null, client);
6 client.postMessage({port: messageChannel.port2}, [messageChannel.port2]);
11 function onMessageViaMessagePort(client, e) {
13 if ('value' in message) {
14 client.postMessage({ack: 'Acking value: ' + message.value});
15 } else if ('done' in message) {
16 client.postMessage({done: true});