summaryrefslogtreecommitdiffstats
path: root/dom/base/test/browser_messagemanager_targetframeloader.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/browser_messagemanager_targetframeloader.js')
-rw-r--r--dom/base/test/browser_messagemanager_targetframeloader.js31
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();
+ });
+}