| Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-loopback-worker.js
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-loopback-worker.js b/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-loopback-worker.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a8885163a817f25404ee525e9cc20c1af665936f
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/extendable-message-event-loopback-worker.js
|
| @@ -0,0 +1,44 @@
|
| +self.addEventListener('message', function(event) {
|
| + switch (event.data.type) {
|
| + case 'start':
|
| + self.registration.active.postMessage(
|
| + {type: '1st', client_id: event.source.id});
|
| + break;
|
| + case '1st':
|
| + // 1st loopback message via ServiceWorkerRegistration.active.
|
| + var results = [
|
| + '1st loopback: ' + event,
|
| + ' event.origin: ' + event.origin,
|
| + ' event.lastEventId: ' + event.lastEventId,
|
| + ' event.source: ' + event.source,
|
| + ' event.source.scriptURL: ' + event.source.scriptURL,
|
| + ' event.source.state: ' + event.source.state,
|
| + ' event.ports: ' + event.ports,
|
| + ];
|
| + var client_id = event.data.client_id;
|
| + event.source.postMessage({type: '2nd', client_id: client_id});
|
| + event.waitUntil(clients.get(client_id)
|
| + .then(function(client) {
|
| + client.postMessage({type: 'record', results: results});
|
| + }));
|
| + break;
|
| + case '2nd':
|
| + // 2nd loopback message via ExtendableMessageEvent.source.
|
| + var results = [
|
| + '2nd loopback: ' + event,
|
| + ' event.origin: ' + event.origin,
|
| + ' event.lastEventId: ' + event.lastEventId,
|
| + ' event.source: ' + event.source,
|
| + ' event.source.scriptURL: ' + event.source.scriptURL,
|
| + ' event.source.state: ' + event.source.state,
|
| + ' event.ports: ' + event.ports,
|
| + ];
|
| + var client_id = event.data.client_id;
|
| + event.waitUntil(clients.get(client_id)
|
| + .then(function(client) {
|
| + client.postMessage({type: 'record', results: results});
|
| + client.postMessage({type: 'finish'});
|
| + }));
|
| + break;
|
| + }
|
| + });
|
|
|