diff options
Diffstat (limited to 'dom/base/test/browser_messagemanager_targetframeloader.js')
-rw-r--r-- | dom/base/test/browser_messagemanager_targetframeloader.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/dom/base/test/browser_messagemanager_targetframeloader.js b/dom/base/test/browser_messagemanager_targetframeloader.js new file mode 100644 index 0000000000..62c8482add --- /dev/null +++ b/dom/base/test/browser_messagemanager_targetframeloader.js @@ -0,0 +1,36 @@ +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; + ok(frameLoader !== null, "frameLoader looks okay"); + + browser.messageManager.loadFrameScript( + "data:,(" + frameScript.toString() + ")()", + false + ); + + browser.messageManager.addMessageListener("Test:Message", msg => { + ok(msg.target === browser, "<browser> is correct"); + ok(msg.targetFrameLoader === frameLoader, "frameLoader is correct"); + ok( + browser.frameLoader === msg.targetFrameLoader, + "browser frameloader is correct" + ); + }); + + browser.messageManager.addMessageListener("Test:Done", () => { + info("Finished"); + gBrowser.removeCurrentTab(); + finish(); + }); +} |