diff options
Diffstat (limited to 'dom/ipc/tests/JSProcessActor/browser_devtools_loader.js')
-rw-r--r-- | dom/ipc/tests/JSProcessActor/browser_devtools_loader.js | 57 |
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" + ); + }); + }, +}); |