summaryrefslogtreecommitdiffstats
path: root/dom/ipc/tests/JSProcessActor/browser_devtools_loader.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/ipc/tests/JSProcessActor/browser_devtools_loader.js')
-rw-r--r--dom/ipc/tests/JSProcessActor/browser_devtools_loader.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/dom/ipc/tests/JSProcessActor/browser_devtools_loader.js b/dom/ipc/tests/JSProcessActor/browser_devtools_loader.js
new file mode 100644
index 0000000000..0d2699c5a9
--- /dev/null
+++ b/dom/ipc/tests/JSProcessActor/browser_devtools_loader.js
@@ -0,0 +1,57 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+declTest("getActor in the regular shared loader", {
+ loadInDevToolsLoader: false,
+
+ async test(browser) {
+ let parent = browser.browsingContext.currentWindowGlobal.domProcess;
+ let parentActor = parent.getActor("TestProcessActor");
+ ok(parentActor, "JSProcessActorParent should have value.");
+ is(
+ Cu.getRealmLocation(Cu.getGlobalForObject(parentActor)),
+ "shared JSM global",
+ "The JSActor module in the parent process should be loaded in the shared global"
+ );
+
+ await SpecialPowers.spawn(browser, [], async function () {
+ let child = ChromeUtils.domProcessChild;
+ ok(child, "DOMProcessChild should have value.");
+ let childActor = child.getActor("TestProcessActor");
+ ok(childActor, "JSProcessActorChild should have value.");
+ is(
+ Cu.getRealmLocation(Cu.getGlobalForObject(childActor)),
+ "shared JSM global",
+ "The JSActor module in the child process should be loaded in the shared global"
+ );
+ });
+ },
+});
+
+declTest("getActor in the distinct DevTools loader", {
+ loadInDevToolsLoader: true,
+
+ async test(browser) {
+ let parent = browser.browsingContext.currentWindowGlobal.domProcess;
+ let parentActor = parent.getActor("TestProcessActor");
+ ok(parentActor, "JSProcessActorParent should have value.");
+ is(
+ Cu.getRealmLocation(Cu.getGlobalForObject(parentActor)),
+ "DevTools global",
+ "The JSActor module in the parent process should be loaded in the distinct DevTools global"
+ );
+
+ await SpecialPowers.spawn(browser, [], async function () {
+ let child = ChromeUtils.domProcessChild;
+ ok(child, "DOMProcessChild should have value.");
+ let childActor = child.getActor("TestProcessActor");
+ ok(childActor, "JSProcessActorChild should have value.");
+ is(
+ Cu.getRealmLocation(Cu.getGlobalForObject(childActor)),
+ "DevTools global",
+ "The JSActor module in the child process should be loaded in the distinct DevTools global"
+ );
+ });
+ },
+});