From 40a355a42d4a9444dc753c04c6608dade2f06a23 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:13:27 +0200 Subject: Adding upstream version 125.0.1. Signed-off-by: Daniel Baumann --- .../browser_openPromptInBackgroundTab.js | 113 +-------------------- 1 file changed, 1 insertion(+), 112 deletions(-) (limited to 'browser/base/content/test/tabPrompts/browser_openPromptInBackgroundTab.js') diff --git a/browser/base/content/test/tabPrompts/browser_openPromptInBackgroundTab.js b/browser/base/content/test/tabPrompts/browser_openPromptInBackgroundTab.js index 6b116b71f9..2fa3752881 100644 --- a/browser/base/content/test/tabPrompts/browser_openPromptInBackgroundTab.js +++ b/browser/base/content/test/tabPrompts/browser_openPromptInBackgroundTab.js @@ -22,118 +22,7 @@ registerCleanupFunction(function () { * the user to enable this automatically re-selecting. We then check that * checking the checkbox does actually enable that behaviour. */ -add_task(async function test_old_modal_ui() { - // We're intentionally testing the old modal mechanism, so disable the new one. - await SpecialPowers.pushPrefEnv({ - set: [["prompts.contentPromptSubDialog", false]], - }); - - let firstTab = gBrowser.selectedTab; - // load page that opens prompt when page is hidden - let openedTab = await BrowserTestUtils.openNewForegroundTab( - gBrowser, - pageWithAlert, - true - ); - let openedTabGotAttentionPromise = BrowserTestUtils.waitForAttribute( - "attention", - openedTab - ); - // switch away from that tab again - this triggers the alert. - await BrowserTestUtils.switchTab(gBrowser, firstTab); - // ... but that's async on e10s... - await openedTabGotAttentionPromise; - // check for attention attribute - is( - openedTab.hasAttribute("attention"), - true, - "Tab with alert should have 'attention' attribute." - ); - ok(!openedTab.selected, "Tab with alert should not be selected"); - - // switch tab back, and check the checkbox is displayed: - await BrowserTestUtils.switchTab(gBrowser, openedTab); - // check the prompt is there, and the extra row is present - let promptElements = - openedTab.linkedBrowser.parentNode.querySelectorAll("tabmodalprompt"); - is(promptElements.length, 1, "There should be 1 prompt"); - let ourPromptElement = promptElements[0]; - let checkbox = ourPromptElement.querySelector( - "checkbox[label*='example.com']" - ); - ok(checkbox, "The checkbox should be there"); - ok(!checkbox.checked, "Checkbox shouldn't be checked"); - // tick box and accept dialog - checkbox.checked = true; - let ourPrompt = - openedTab.linkedBrowser.tabModalPromptBox.getPrompt(ourPromptElement); - ourPrompt.onButtonClick(0); - // Wait for that click to actually be handled completely. - await new Promise(function (resolve) { - Services.tm.dispatchToMainThread(resolve); - }); - // check permission is set - is( - Services.perms.ALLOW_ACTION, - PermissionTestUtils.testPermission(pageWithAlert, "focus-tab-by-prompt"), - "Tab switching should now be allowed" - ); - - // Check if the control center shows the correct permission. - let shown = BrowserTestUtils.waitForEvent( - window, - "popupshown", - true, - event => event.target == gPermissionPanel._permissionPopup - ); - gPermissionPanel._identityPermissionBox.click(); - await shown; - let labelText = SitePermissions.getPermissionLabel("focus-tab-by-prompt"); - let permissionsList = document.getElementById( - "permission-popup-permission-list" - ); - let label = permissionsList.querySelector( - ".permission-popup-permission-label" - ); - is(label.textContent, labelText); - gPermissionPanel._permissionPopup.hidePopup(); - - // Check if the identity icon signals granted permission. - ok( - gPermissionPanel._identityPermissionBox.hasAttribute("hasPermissions"), - "identity-box signals granted permissions" - ); - - let openedTabSelectedPromise = BrowserTestUtils.waitForAttribute( - "selected", - openedTab, - "true" - ); - // switch to other tab again - await BrowserTestUtils.switchTab(gBrowser, firstTab); - - // This is sync in non-e10s, but in e10s we need to wait for this, so yield anyway. - // Note that the switchTab promise doesn't actually guarantee anything about *which* - // tab ends up as selected when its event fires, so using that here wouldn't work. - await openedTabSelectedPromise; - // should be switched back - ok(openedTab.selected, "Ta-dah, the other tab should now be selected again!"); - - // In e10s, with the conformant promise scheduling, we have to wait for next tick - // to ensure that the prompt is open before removing the opened tab, because the - // promise callback of 'openedTabSelectedPromise' could be done at the middle of - // RemotePrompt.openTabPrompt() while 'DOMModalDialogClosed' event is fired. - await TestUtils.waitForTick(); - - BrowserTestUtils.removeTab(openedTab); -}); - -add_task(async function test_new_modal_ui() { - // We're intentionally testing the new modal mechanism, so make sure it's enabled. - await SpecialPowers.pushPrefEnv({ - set: [["prompts.contentPromptSubDialog", true]], - }); - +add_task(async function test_modal_ui() { // Make sure we clear the focus tab permission set in the previous test PermissionTestUtils.remove(pageWithAlert, "focus-tab-by-prompt"); -- cgit v1.2.3