Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'linux'
- Manifest: browser/base/content/test/referrer/browser.toml
// 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);
}
);
}