diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js')
-rw-r--r-- | browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js b/browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js new file mode 100644 index 0000000000..f47f20a2d7 --- /dev/null +++ b/browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js @@ -0,0 +1,44 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +add_task(async function test_hide_popup_with_protections_panel_showing() { + await BrowserTestUtils.withNewTab( + "https://test1.example.com/", + async function (browser) { + // Request location permissions and wait for that prompt to appear. + let popupShownPromise = waitForNotificationPanel(); + await SpecialPowers.spawn(browser, [], async function () { + content.navigator.geolocation.getCurrentPosition(() => {}); + }); + await popupShownPromise; + + // Click on the icon for the protections panel, to show the panel. + popupShownPromise = BrowserTestUtils.waitForEvent( + window, + "popupshown", + true, + event => event.target == gProtectionsHandler._protectionsPopup + ); + EventUtils.synthesizeMouseAtCenter( + document.getElementById("tracking-protection-icon-container"), + {} + ); + await popupShownPromise; + + // Make sure the location permission prompt closed. + Assert.ok(!PopupNotifications.isPanelOpen, "Geolocation popup is hidden"); + + // Close the protections panel. + let popupHidden = BrowserTestUtils.waitForEvent( + gProtectionsHandler._protectionsPopup, + "popuphidden" + ); + gProtectionsHandler._protectionsPopup.hidePopup(); + await popupHidden; + + // Make sure the location permission prompt came back. + Assert.ok(PopupNotifications.isPanelOpen, "Geolocation popup is showing"); + } + ); +}); |