tor-browser

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

browser_newtab_menu.js (1228B)


      1 add_task(async function newtabPreloaded() {
      2  await openPreferencesViaOpenPreferencesAPI("paneHome", { leaveOpen: true });
      3 
      4  const { contentDocument: doc, contentWindow } = gBrowser;
      5  function dispatchMenuItemCommand(menuItem) {
      6    const cmdEvent = doc.createEvent("xulcommandevent");
      7    cmdEvent.initCommandEvent(
      8      "command",
      9      true,
     10      true,
     11      contentWindow,
     12      0,
     13      false,
     14      false,
     15      false,
     16      false,
     17      0,
     18      null,
     19      0
     20    );
     21    menuItem.dispatchEvent(cmdEvent);
     22  }
     23 
     24  const menuHome = doc.querySelector(`#newTabMode menuitem[value="0"]`);
     25  const menuBlank = doc.querySelector(`#newTabMode menuitem[value="1"]`);
     26  ok(menuHome.selected, "The first item, Home (default), is selected.");
     27  ok(NewTabPagePreloading.enabled, "Default Home allows preloading.");
     28 
     29  dispatchMenuItemCommand(menuBlank);
     30  ok(menuBlank.selected, "The second item, Blank, is selected.");
     31  ok(!NewTabPagePreloading.enabled, "Non-Home prevents preloading.");
     32 
     33  dispatchMenuItemCommand(menuHome);
     34  ok(menuHome.selected, "The first item, Home, is selected again.");
     35  ok(NewTabPagePreloading.enabled, "Default Home allows preloading again.");
     36 
     37  BrowserTestUtils.removeTab(gBrowser.selectedTab);
     38 });