diff options
Diffstat (limited to 'dom/base/test/browser_messagemanager_targetframeloader.js')
-rw-r--r-- | dom/base/test/browser_messagemanager_targetframeloader.js | 31 |
1 files changed, 31 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 000000000..32575d073 --- /dev/null +++ b/dom/base/test/browser_messagemanager_targetframeloader.js @@ -0,0 +1,31 @@ +function frameScript() +{ + sendSyncMessage("Test:Message"); + sendAsyncMessage("Test:Message"); + sendAsyncMessage("Test:Done"); +} + +function test() { + waitForExplicitFinish(); + + var newTab = gBrowser.addTab("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(); + }); +} |