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.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/dom/workers/test/sharedWorker_ports.js b/dom/workers/test/sharedWorker_ports.js
new file mode 100644
index 0000000000..6bdb5695db
--- /dev/null
+++ b/dom/workers/test/sharedWorker_ports.js
@@ -0,0 +1,30 @@
+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();
+ };
+ };
+ }
+};