tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }