| Index: LayoutTests/http/tests/serviceworker/resources/postmessage-msgport-to-client-worker.js
|
| diff --git a/LayoutTests/http/tests/serviceworker/resources/postmessage-msgport-to-client-worker.js b/LayoutTests/http/tests/serviceworker/resources/postmessage-msgport-to-client-worker.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..16e16d36dc5e75fb28a5461a1fea1868afb785a2
|
| --- /dev/null
|
| +++ b/LayoutTests/http/tests/serviceworker/resources/postmessage-msgport-to-client-worker.js
|
| @@ -0,0 +1,18 @@
|
| +self.onmessage = function(e) {
|
| + self.clients.getServiced().then(function(clients) {
|
| + clients.forEach(function(client) {
|
| + var messageChannel = new MessageChannel();
|
| + messageChannel.port1.onmessage = onMessageViaMessagePort.bind(null, client);
|
| + client.postMessage({port: messageChannel.port2}, [messageChannel.port2]);
|
| + });
|
| + });
|
| +};
|
| +
|
| +function onMessageViaMessagePort(client, e) {
|
| + var message = e.data;
|
| + if ('value' in message) {
|
| + client.postMessage({ack: 'Acking value: ' + message.value});
|
| + } else if ('done' in message) {
|
| + client.postMessage({done: true});
|
| + }
|
| +}
|
|
|