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 });