From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- ...rowsing_last_private_browsing_context_exited.js | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 browser/components/privatebrowsing/test/browser/browser_privatebrowsing_last_private_browsing_context_exited.js (limited to 'browser/components/privatebrowsing/test/browser/browser_privatebrowsing_last_private_browsing_context_exited.js') diff --git a/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_last_private_browsing_context_exited.js b/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_last_private_browsing_context_exited.js new file mode 100644 index 0000000000..1fd28d4ca6 --- /dev/null +++ b/browser/components/privatebrowsing/test/browser/browser_privatebrowsing_last_private_browsing_context_exited.js @@ -0,0 +1,66 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +add_task(async function test_no_notification_when_pb_autostart() { + let observedLastPBContext = false; + let observerExited = { + observe(aSubject, aTopic, aData) { + observedLastPBContext = true; + }, + }; + Services.obs.addObserver(observerExited, "last-pb-context-exited"); + + await SpecialPowers.pushPrefEnv({ + set: [["browser.privatebrowsing.autostart", true]], + }); + + let win = await BrowserTestUtils.openNewBrowserWindow(); + + let browser = win.gBrowser.selectedTab.linkedBrowser; + ok(browser.browsingContext.usePrivateBrowsing, "should use private browsing"); + + await BrowserTestUtils.closeWindow(win); + + await SpecialPowers.popPrefEnv(); + Services.obs.removeObserver(observerExited, "last-pb-context-exited"); + ok(!observedLastPBContext, "No last-pb-context-exited notification seen"); +}); + +add_task(async function test_notification_when_about_preferences() { + let observedLastPBContext = false; + let observerExited = { + observe(aSubject, aTopic, aData) { + observedLastPBContext = true; + }, + }; + Services.obs.addObserver(observerExited, "last-pb-context-exited"); + + let win = await BrowserTestUtils.openNewBrowserWindow({ private: true }); + + let browser = win.gBrowser.selectedTab.linkedBrowser; + ok(browser.browsingContext.usePrivateBrowsing, "should use private browsing"); + ok(browser.browsingContext.isContent, "should be content browsing context"); + + let tab = await BrowserTestUtils.addTab(win.gBrowser, "about:preferences"); + ok( + tab.linkedBrowser.browsingContext.usePrivateBrowsing, + "should use private browsing" + ); + ok( + tab.linkedBrowser.browsingContext.isContent, + "should be content browsing context" + ); + + let tabClose = BrowserTestUtils.waitForTabClosing(win.gBrowser.selectedTab); + BrowserTestUtils.removeTab(win.gBrowser.selectedTab); + await tabClose; + + ok(!observedLastPBContext, "No last-pb-context-exited notification seen"); + + await BrowserTestUtils.closeWindow(win); + + Services.obs.removeObserver(observerExited, "last-pb-context-exited"); + ok(observedLastPBContext, "No last-pb-context-exited notification seen"); +}); -- cgit v1.2.3