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 --- .../test/browser_firefoxView_selected_restore.js | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 browser/components/sessionstore/test/browser_firefoxView_selected_restore.js (limited to 'browser/components/sessionstore/test/browser_firefoxView_selected_restore.js') diff --git a/browser/components/sessionstore/test/browser_firefoxView_selected_restore.js b/browser/components/sessionstore/test/browser_firefoxView_selected_restore.js new file mode 100644 index 0000000000..c5da71d96d --- /dev/null +++ b/browser/components/sessionstore/test/browser_firefoxView_selected_restore.js @@ -0,0 +1,88 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +const { _LastSession } = ChromeUtils.importESModule( + "resource:///modules/sessionstore/SessionStore.sys.mjs" +); +const { sinon } = ChromeUtils.importESModule( + "resource://testing-common/Sinon.sys.mjs" +); + +const state = { + windows: [ + { + tabs: [ + { + entries: [ + { + url: "https://example.org/", + triggeringPrincipal_base64, + }, + ], + }, + ], + selected: 2, + }, + ], +}; + +add_task(async function test_firefox_view_selected_tab() { + let fxViewBtn = document.getElementById("firefox-view-button"); + ok(fxViewBtn, "Got the Firefox View button"); + fxViewBtn.click(); + + await BrowserTestUtils.browserLoaded( + window.FirefoxViewHandler.tab.linkedBrowser + ); + + let allTabsRestored = promiseSessionStoreLoads(1); + + _LastSession.setState(state); + + is(gBrowser.tabs.length, 2, "Number of tabs is 2"); + + ss.restoreLastSession(); + + await allTabsRestored; + + ok( + window.FirefoxViewHandler.tab.selected, + "The Firefox View tab is selected and the browser window did not close" + ); + is(gBrowser.tabs.length, 3, "Number of tabs is 3"); + + gBrowser.removeTab(window.FirefoxViewHandler.tab); + gBrowser.removeTab(gBrowser.selectedTab); +}); + +add_task(async function test_firefox_view_previously_selected() { + let fxViewBtn = document.getElementById("firefox-view-button"); + ok(fxViewBtn, "Got the Firefox View button"); + fxViewBtn.click(); + + await BrowserTestUtils.browserLoaded( + window.FirefoxViewHandler.tab.linkedBrowser + ); + + let tab = gBrowser.tabs[1]; + gBrowser.selectedTab = tab; + + let allTabsRestored = promiseSessionStoreLoads(1); + + _LastSession.setState(state); + + is(gBrowser.tabs.length, 2, "Number of tabs is 2"); + + ss.restoreLastSession(); + + await allTabsRestored; + + ok( + window.FirefoxViewHandler.tab.selected, + "The Firefox View tab is selected and the browser window did not close" + ); + is(gBrowser.tabs.length, 3, "Number of tabs is 3"); + + gBrowser.removeTab(window.FirefoxViewHandler.tab); + gBrowser.removeTab(gBrowser.selectedTab); +}); -- cgit v1.2.3