Index: LayoutTests/http/tests/serviceworker/resources/extendable-message-event-worker.js |
diff --git a/LayoutTests/http/tests/serviceworker/resources/extendable-message-event-worker.js b/LayoutTests/http/tests/serviceworker/resources/extendable-message-event-worker.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..32bb25ab5efe29ff35a4fb720111579d66819543 |
--- /dev/null |
+++ b/LayoutTests/http/tests/serviceworker/resources/extendable-message-event-worker.js |
@@ -0,0 +1,25 @@ |
+self.onmessage = function(e) { |
+ if (e.data.port) { |
+ self.port = e.data.port; |
+ return; |
+ } |
+ if (e instanceof ExtendableMessageEvent === false) { |
+ self.port.postMessage('Event type should be ExtendableMessageEvent'); |
+ return; |
+ } |
+ if (e.source instanceof Client === false && |
+ e.source.__proto__ !== registration.active.__proto__) { |
+ self.port.postMessage('Source type should be Client or ServiceWorker'); |
+ return; |
+ } |
+ if (e.type !== 'message') { |
+ self.port.postMessage('Event type should be "message"'); |
+ return; |
+ } |
+ var event = new ExtendableMessageEvent('eventType', {source: e.source}); |
+ if (event.source !== e.source) { |
+ self.port.postMessage('Construct new event with source fail'); |
+ return; |
+ } |
+ self.port.postMessage('PASS'); |
+}; |