From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- ...pupNotification_hide_after_protections_panel.js | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js (limited to 'browser/base/content/test/popupNotifications/browser_popupNotification_hide_after_protections_panel.js') 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"); + } + ); +}); -- cgit v1.2.3