diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /browser/base/content/test/referrer/browser_referrer_open_link_in_container_tab.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | browser/base/content/test/referrer/browser_referrer_open_link_in_container_tab.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/browser/base/content/test/referrer/browser_referrer_open_link_in_container_tab.js b/browser/base/content/test/referrer/browser_referrer_open_link_in_container_tab.js new file mode 100644 index 0000000000..3fe5df53c4 --- /dev/null +++ b/browser/base/content/test/referrer/browser_referrer_open_link_in_container_tab.js @@ -0,0 +1,80 @@ +// 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); + } + ); +} |