/* 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"
);
});
},
});