// Tests referrer on context menu navigation - open link in new container tab. // Selects "open link in new container tab" from the context menu. function getReferrerTest(aTestNumber) { let testCase = _referrerTests[aTestNumber]; if (testCase) { // We want all the referrer tests to fail! testCase.result = ""; } return testCase; } function startNewTabTestCase(aTestNumber) { info( "browser_referrer_open_link_in_container_tab: " + getReferrerTestDescription(aTestNumber) ); contextMenuOpened(gTestWindow, "testlink").then(function (aContextMenu) { someTabLoaded(gTestWindow).then(function (aNewTab) { gTestWindow.gBrowser.selectedTab = aNewTab; checkReferrerAndStartNextTest( aTestNumber, null, aNewTab, startNewTabTestCase ); }); let menu = gTestWindow.document.getElementById( "context-openlinkinusercontext-menu" ); let menupopup = menu.menupopup; menu.addEventListener( "popupshown", function () { is(menupopup.nodeType, Node.ELEMENT_NODE, "We have a menupopup."); ok(menupopup.firstElementChild, "We have a first container entry."); let firstContext = menupopup.firstElementChild; is( firstContext.nodeType, Node.ELEMENT_NODE, "We have a first container entry." ); ok( firstContext.hasAttribute("data-usercontextid"), "We have a usercontextid value." ); aContextMenu.addEventListener( "popuphidden", function () { firstContext.doCommand(); }, { once: true } ); aContextMenu.hidePopup(); }, { once: true } ); menu.openMenu(true); }); } function test() { waitForExplicitFinish(); SpecialPowers.pushPrefEnv( { set: [["privacy.userContext.enabled", true]] }, function () { requestLongerTimeout(10); // slowwww shutdown on e10s startReferrerTest(startNewTabTestCase); } ); }