browser_messagemanager_targetframeloader.js (1056B)
1 function frameScript() { 2 sendSyncMessage("Test:Message"); 3 sendAsyncMessage("Test:Message"); 4 sendAsyncMessage("Test:Done"); 5 } 6 7 function test() { 8 waitForExplicitFinish(); 9 10 var newTab = BrowserTestUtils.addTab(gBrowser, "about:blank"); 11 gBrowser.selectedTab = newTab; 12 13 let browser = newTab.linkedBrowser; 14 let frameLoader = browser.frameLoader; 15 Assert.notStrictEqual(frameLoader, null, "frameLoader looks okay"); 16 17 browser.messageManager.loadFrameScript( 18 "data:,(" + frameScript.toString() + ")()", 19 false 20 ); 21 22 browser.messageManager.addMessageListener("Test:Message", msg => { 23 Assert.strictEqual(msg.target, browser, "<browser> is correct"); 24 Assert.strictEqual( 25 msg.targetFrameLoader, 26 frameLoader, 27 "frameLoader is correct" 28 ); 29 Assert.strictEqual( 30 browser.frameLoader, 31 msg.targetFrameLoader, 32 "browser frameloader is correct" 33 ); 34 }); 35 36 browser.messageManager.addMessageListener("Test:Done", () => { 37 info("Finished"); 38 gBrowser.removeCurrentTab(); 39 finish(); 40 }); 41 }