summaryrefslogtreecommitdiffstats
path: root/dom/workers/test/sharedWorker_ports.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/workers/test/sharedWorker_ports.js')
-rw-r--r--dom/workers/test/sharedWorker_ports.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/dom/workers/test/sharedWorker_ports.js b/dom/workers/test/sharedWorker_ports.js
new file mode 100644
index 000000000..64672e6ab
--- /dev/null
+++ b/dom/workers/test/sharedWorker_ports.js
@@ -0,0 +1,24 @@
+var port;
+onconnect = function(evt) {
+ evt.source.postMessage({ type: "connected" });
+
+ if (!port) {
+ port = evt.source;
+ evt.source.onmessage = function(evtFromPort) {
+ port.postMessage({type: "status",
+ test: "Port from the main-thread!" == evtFromPort.data,
+ msg: "The message is coming from the main-thread"});
+ port.postMessage({type: "status",
+ test: (evtFromPort.ports.length == 1),
+ msg: "1 port transferred"});
+
+ evtFromPort.ports[0].onmessage = function(evtFromPort2) {
+ port.postMessage({type: "status",
+ test: (evtFromPort2.data.type == "connected"),
+ msg: "The original message received" });
+ port.postMessage({type: "finish"});
+ close();
+ }
+ }
+ }
+}