Index: LayoutTests/http/tests/serviceworker/resources/postmessage-cross-process-worker.js |
diff --git a/LayoutTests/http/tests/serviceworker/resources/postmessage-cross-process-worker.js b/LayoutTests/http/tests/serviceworker/resources/postmessage-cross-process-worker.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..12cea5ba55e87d130438c4a6aa5b7d9ad4f386d9 |
--- /dev/null |
+++ b/LayoutTests/http/tests/serviceworker/resources/postmessage-cross-process-worker.js |
@@ -0,0 +1,30 @@ |
+var port; |
+var resultport = null; |
+var result = null; |
+ |
+self.onmessage = function(e) { |
+ var message = e.data; |
+ if ('port' in message) { |
+ port = message.port; |
+ port.onmessage = onMessage; |
+ } else if ('done' in message) { |
+ result = message.done; |
+ if (resultport) { |
+ resultport.postMessage(result); |
+ } |
+ } else if ('resultport' in message) { |
+ resultport = message.resultport; |
+ if (result) { |
+ resultport.postMessage(result); |
+ } |
falken
2014/11/20 02:29:13
The checks for resultport and result are a tad con
Marijn Kruisselbrink
2014/11/20 20:41:13
Done.
|
+ } |
+}; |
+ |
+function onMessage(e) { |
falken
2014/11/20 02:29:13
on_message
Marijn Kruisselbrink
2014/11/20 20:41:13
Done.
|
+ var message = e.data; |
+ if ('value' in message) { |
+ port.postMessage('Acking value: ' + message.value); |
+ } else if ('done' in message) { |
+ port.postMessage('quit'); |
+ } |
+} |