Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / serviceworker / resources / postmessage-msgport-to-client-worker.js
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]);
7         });
8     });
9 };
10
11 function onMessageViaMessagePort(client, e) {
12     var message = e.data;
13     if ('value' in message) {
14         client.postMessage({ack: 'Acking value: ' + message.value});
15     } else if ('done' in message) {
16         client.postMessage({done: true});
17     }
18 }