tor-browser

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

browser_two_windows.js (1489B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 const TEST_PAGE = "https://example.com/document-builder.sjs?html=tab";
      7 
      8 add_task(async function test_broadcasting_two_windows_command() {
      9  const window1Browser = gBrowser.selectedTab.linkedBrowser;
     10  await loadURL(window1Browser, TEST_PAGE);
     11  const browsingContext1 = window1Browser.browsingContext;
     12 
     13  const window2 = await BrowserTestUtils.openNewBrowserWindow();
     14  registerCleanupFunction(() => BrowserTestUtils.closeWindow(window2));
     15 
     16  const window2Browser = window2.gBrowser.selectedBrowser;
     17  await loadURL(window2Browser, TEST_PAGE);
     18  const browsingContext2 = window2Browser.browsingContext;
     19 
     20  const rootMessageHandler = createRootMessageHandler(
     21    "session-id-broadcasting_two_windows_command"
     22  );
     23  const broadcastValue = await sendTestBroadcastCommand(
     24    "commandwindowglobalonly",
     25    "testBroadcast",
     26    {},
     27    contextDescriptorAll,
     28    rootMessageHandler
     29  );
     30 
     31  ok(
     32    Array.isArray(broadcastValue),
     33    "The broadcast returned an array of values"
     34  );
     35  is(broadcastValue.length, 2, "The broadcast returned 2 values as expected");
     36 
     37  ok(
     38    broadcastValue.includes("broadcast-" + browsingContext1.id),
     39    "The broadcast returned the expected value from tab1"
     40  );
     41  ok(
     42    broadcastValue.includes("broadcast-" + browsingContext2.id),
     43    "The broadcast returned the expected value from tab2"
     44  );
     45 
     46  rootMessageHandler.destroy();
     47 });