Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- Manifest: dom/base/test/browser.toml
function frameScript() {
sendSyncMessage("Test:Message");
sendAsyncMessage("Test:Message");
sendAsyncMessage("Test:Done");
}
function test() {
waitForExplicitFinish();
var newTab = BrowserTestUtils.addTab(gBrowser, "about:blank");
gBrowser.selectedTab = newTab;
let browser = newTab.linkedBrowser;
let frameLoader = browser.frameLoader;
Assert.notStrictEqual(frameLoader, null, "frameLoader looks okay");
browser.messageManager.loadFrameScript(
"data:,(" + frameScript.toString() + ")()",
false
);
browser.messageManager.addMessageListener("Test:Message", msg => {
Assert.strictEqual(msg.target, browser, "<browser> is correct");
Assert.strictEqual(
msg.targetFrameLoader,
frameLoader,
"frameLoader is correct"
);
Assert.strictEqual(
browser.frameLoader,
msg.targetFrameLoader,
"browser frameloader is correct"
);
});
browser.messageManager.addMessageListener("Test:Done", () => {
info("Finished");
gBrowser.removeCurrentTab();
finish();
});
}