summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/mochitest/setup-in-child.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/server/tests/mochitest/setup-in-child.js')
-rw-r--r--devtools/server/tests/mochitest/setup-in-child.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/devtools/server/tests/mochitest/setup-in-child.js b/devtools/server/tests/mochitest/setup-in-child.js
new file mode 100644
index 000000000..a575faa20
--- /dev/null
+++ b/devtools/server/tests/mochitest/setup-in-child.js
@@ -0,0 +1,20 @@
+const {Cc, Ci} = require("chrome");
+const cpmm = Cc["@mozilla.org/childprocessmessagemanager;1"].
+ getService(Ci.nsIMessageListenerManager);
+const { DebuggerServer } = require("devtools/server/main");
+
+exports.setupChild = function (a, b, c) {
+ cpmm.sendAsyncMessage("test:setupChild", [a, b, c]);
+};
+
+exports.callParent = function () {
+ // Hack! Fetch DebuggerServerConnection objects directly within DebuggerServer guts.
+ for (let id in DebuggerServer._connections) {
+ let conn = DebuggerServer._connections[id];
+ conn.setupInParent({
+ module: "chrome://mochitests/content/chrome/devtools/server/tests/mochitest/setup-in-parent.js",
+ setupParent: "setupParent",
+ args: [{one: true}, 2, "three"]
+ });
+ }
+};