Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
const { RootMessageHandler } = ChromeUtils.importESModule(
"chrome://remote/content/shared/messagehandler/RootMessageHandler.sys.mjs"
);
add_task(async function test_windowGlobal_to_root_command() {
// Navigate to a page to make sure that the windowglobal modules run in a
// different process than the root module.
const tab = BrowserTestUtils.addTab(
gBrowser,
);
await BrowserTestUtils.browserLoaded(tab.linkedBrowser);
const browsingContextId = tab.linkedBrowser.browsingContext.id;
const rootMessageHandler = createRootMessageHandler(
"session-id-windowglobal-to-rootModule"
);
for (const commandName of [
"testHandleCommandToRoot",
"testSendRootCommand",
]) {
const valueFromRoot = await rootMessageHandler.handleCommand({
moduleName: "windowglobaltoroot",
commandName,
destination: {
type: WindowGlobalMessageHandler.type,
id: browsingContextId,
},
});
is(
valueFromRoot,
"root-value-called-from-windowglobal",
"Retrieved the expected value from windowglobaltoroot using " +
commandName
);
}
rootMessageHandler.destroy();
gBrowser.removeTab(tab);
});