From 4c0b9746a5594d2fd82def8619628606d043057a Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Tue, 22 Oct 2024 22:32:07 +0000 Subject: [PATCH] Backed out 2 changesets (bug 1926055) for causing bc failures browser_multiselect_tabs_unload_with_beforeunload.js CLOSED TREE Backed out changeset 85a555f31920 (bug 1926055) Backed out changeset db41b497b1be (bug 1926055) UltraBlame original commit: 1fc2a51d27a0c4340b0e92d4cb4b5c017157a286 --- browser/app/profile/firefox.js | 23 - browser/base/content/browser.xhtml | 18 - browser/base/content/main-popupset.inc.xhtml | 43 - browser/base/content/main-popupset.js | 13 - .../tabbrowser/content/tabbrowser.js | 313 ---- .../tabbrowser/test/browser/tabs/browser.toml | 14 - .../tabs/browser_multiselect_tabs_unload.js | 1458 --------------- ...ltiselect_tabs_unload_with_beforeunload.js | 1654 ----------------- browser/locales-preview/tabUnload.ftl | 113 -- browser/locales/jar.mn | 17 - 10 files changed, 3666 deletions(-) delete mode 100644 browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload.js delete mode 100644 browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload_with_beforeunload.js delete mode 100644 browser/locales-preview/tabUnload.ftl diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index af004d6ccd321..94518a6b2107d 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -28941,29 +28941,6 @@ false ; / / -Enables -the -" -Unload -Tab -" -context -menu -item -pref -( -" -browser -. -tabs -. -unloadTabInContextMenu -" -false -) -; -/ -/ If true unprivileged diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml index 8e8c2c9afddd6..4c09158a3d335 100644 --- a/browser/base/content/browser.xhtml +++ b/browser/base/content/browser.xhtml @@ -1370,24 +1370,6 @@ ftl / > < -link -rel -= -" -localization -" -href -= -" -preview -/ -tabUnload -. -ftl -" -/ -> -< title data - diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml index 54dc653607c4d..b4e435ba0ce80 100644 --- a/browser/base/content/main-popupset.inc.xhtml +++ b/browser/base/content/main-popupset.inc.xhtml @@ -454,49 +454,6 @@ menuitem id = " -context_unloadTab -" -data -- -lazy -- -l10n -- -id -= -" -tab -- -context -- -unload -- -n -- -tabs -" -data -- -l10n -- -args -= -' -{ -" -tabCount -" -: -1 -} -' -/ -> -< -menuitem -id -= -" context_pinTab " data diff --git a/browser/base/content/main-popupset.js b/browser/base/content/main-popupset.js index 5a8cca81b2e4f..07eb9c18552fb 100644 --- a/browser/base/content/main-popupset.js +++ b/browser/base/content/main-popupset.js @@ -546,19 +546,6 @@ break ; case " -context_unloadTab -" -: -TabContextMenu -. -explicitUnloadTabs -( -) -; -break -; -case -" context_fullscreenAutohide " : diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js index 4054b85b2d1ef..6a3a80fbb162d 100644 --- a/browser/components/tabbrowser/content/tabbrowser.js +++ b/browser/components/tabbrowser/content/tabbrowser.js @@ -753,24 +753,6 @@ enabled false ) ; -XPCOMUtils -. -defineLazyPreferenceGetter -( -this -" -_unloadTabInContextMenu -" -" -browser -. -tabs -. -unloadTabInContextMenu -" -false -) -; if ( AppConstants @@ -26542,128 +26524,6 @@ return closedCount ; } -async -explicitUnloadTabs -( -tabs -) -{ -let -unloadBlocked -= -await -this -. -runBeforeUnloadForTabs -( -tabs -) -; -if -( -unloadBlocked -) -{ -return -; -} -if -( -tabs -. -some -( -tab -= -> -tab -. -selected -) -) -{ -/ -/ -Unloading -the -currently -selected -tab -. -/ -/ -Need -to -select -a -different -one -before -unloading -. -let -newTab -= -this -. -_findTabToBlurTo -( -this -. -selectedTab -tabs -) -; -if -( -newTab -) -{ -this -. -selectedTab -= -newTab -; -} -else -{ -/ -/ -probably -unloading -everything -/ -/ -show -Firefox -View -FirefoxViewHandler -. -openTab -( -) -; -} -} -for -( -let -tab -of -tabs -) -{ -this -. -discardBrowser -( -tab -true -) -; -} -} / * * @@ -46194,141 +46054,6 @@ hidden ! multiselectionContext ; -let -unloadTabItem -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -if -( -gBrowser -. -_unloadTabInContextMenu -) -{ -let -tabs -= -this -. -contextTab -. -multiselected -? -gBrowser -. -selectedTabs -: -[ -this -. -contextTab -] -; -/ -/ -linkedPanel -is -false -if -the -tab -is -already -unloaded -/ -/ -Cannot -unload -about -: -pages -etc -. -so -skip -browsers -that -are -not -remote -let -unloadableTabs -= -tabs -. -filter -( -t -= -> -t -. -linkedPanel -& -& -t -. -linkedBrowser -? -. -isRemoteBrowser -) -; -unloadTabItem -. -hidden -= -unloadableTabs -. -length -= -= -= -0 -; -unloadTabItem -. -setAttribute -( -" -data -- -l10n -- -args -" -JSON -. -stringify -( -{ -tabCount -: -unloadableTabs -. -length -} -) -) -; -} -else -{ -unloadTabItem -. -hidden -= -true -; -} / / Show @@ -48148,44 +47873,6 @@ true ; } } -explicitUnloadTabs -( -) -{ -if -( -this -. -contextTab -. -multiselected -) -{ -gBrowser -. -explicitUnloadTabs -( -gBrowser -. -selectedTabs -) -; -} -else -{ -gBrowser -. -explicitUnloadTabs -( -[ -this -. -contextTab -] -) -; -} -} moveTabsToNewGroup ( ) diff --git a/browser/components/tabbrowser/test/browser/tabs/browser.toml b/browser/components/tabbrowser/test/browser/tabs/browser.toml index 025d4004d4ab4..cdb55dc04aa01 100644 --- a/browser/components/tabbrowser/test/browser/tabs/browser.toml +++ b/browser/components/tabbrowser/test/browser/tabs/browser.toml @@ -859,20 +859,6 @@ js ] [ " -browser_multiselect_tabs_unload -. -js -" -] -[ -" -browser_multiselect_tabs_unload_with_beforeunload -. -js -" -] -[ -" browser_multiselect_tabs_using_Ctrl . js diff --git a/browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload.js b/browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload.js deleted file mode 100644 index a7232aba01e33..0000000000000 --- a/browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload.js +++ /dev/null @@ -1,1458 +0,0 @@ -/ -* -Any -copyright -is -dedicated -to -the -Public -Domain -. -http -: -/ -/ -creativecommons -. -org -/ -publicdomain -/ -zero -/ -1 -. -0 -/ -* -/ -async -function -openTabMenuFor -( -tab -) -{ -let -tabMenu -= -tab -. -ownerDocument -. -getElementById -( -" -tabContextMenu -" -) -; -let -tabMenuShown -= -BrowserTestUtils -. -waitForEvent -( -tabMenu -" -popupshown -" -) -; -EventUtils -. -synthesizeMouseAtCenter -( -tab -{ -type -: -" -contextmenu -" -} -tab -. -ownerGlobal -) -; -await -tabMenuShown -; -return -tabMenu -; -} -add_task -( -async -function -test_unload_selected_and_one_other_tab -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -let -tab3 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -3 -" -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab1 -) -; -await -triggerClickOn -( -tab2 -{ -ctrlKey -: -true -} -) -; -ok -( -tab1 -. -multiselected -" -Tab1 -is -multiselected -" -) -; -ok -( -tab2 -. -multiselected -" -Tab2 -is -multiselected -" -) -; -ok -( -! -tab3 -. -multiselected -" -Tab3 -is -not -multiselected -" -) -; -/ -/ -Check -the -context -menu -with -a -multiselected -tabs -updateTabContextMenu -( -tab2 -) -; -ok -( -! -menuItemUnload -. -hidden -" -Unload -Tab -is -visible -" -) -; -is -( -JSON -. -parse -( -menuItemUnload -. -getAttribute -( -" -data -- -l10n -- -args -" -) -) -. -tabCount -2 -" -showing -2 -tabs -on -menu -item -" -) -; -/ -/ -Check -the -context -menu -with -a -non -- -multiselected -tab -updateTabContextMenu -( -tab3 -) -; -ok -( -! -menuItemUnload -. -hidden -" -Unload -Tab -is -visible -" -) -; -is -( -JSON -. -parse -( -menuItemUnload -. -getAttribute -( -" -data -- -l10n -- -args -" -) -) -. -tabCount -1 -" -showing -1 -tabs -on -menu -item -" -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab3 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -TestUtils -. -waitForCondition -( -( -) -= -> -! -tab3 -. -linkedPanel -" -Wait -for -Tab3 -to -be -unloaded -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab3 -) -; -await -TestUtils -. -waitForCondition -( -( -) -= -> -tab3 -. -linkedPanel -" -Wait -for -Tab3 -to -be -loaded -again -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab3 -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -} -) -; -add_task -( -async -function -test_unload_one_unselected_tab -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -let -tab3 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -3 -" -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab1 -) -; -updateTabContextMenu -( -tab2 -) -; -ok -( -! -menuItemUnload -. -hidden -" -Unload -Tab -is -visible -" -) -; -is -( -JSON -. -parse -( -menuItemUnload -. -getAttribute -( -" -data -- -l10n -- -args -" -) -) -. -tabCount -1 -" -showing -1 -tab -on -menu -item -" -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab2 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -TestUtils -. -waitForCondition -( -( -) -= -> -! -tab2 -. -linkedPanel -" -Wait -for -Tab2 -to -be -unloaded -" -) -; -is -( -gBrowser -. -selectedTab -tab1 -" -Should -stay -on -current -tab -" -) -; -ok -( -tab1 -. -linkedPanel -" -Tab1 -still -loaded -" -) -; -ok -( -tab3 -. -linkedPanel -" -Tab3 -still -loaded -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab3 -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -} -) -; -add_task -( -async -function -test_unload_selected_tab -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -let -tab3 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -3 -" -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab1 -) -; -updateTabContextMenu -( -tab1 -) -; -ok -( -! -menuItemUnload -. -hidden -" -Unload -Tab -is -visible -" -) -; -is -( -JSON -. -parse -( -menuItemUnload -. -getAttribute -( -" -data -- -l10n -- -args -" -) -) -. -tabCount -1 -" -showing -1 -tabs -on -menu -item -" -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab1 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -TestUtils -. -waitForCondition -( -( -) -= -> -! -tab1 -. -linkedPanel -" -Wait -for -Tab1 -to -be -unloaded -" -) -; -is -( -gBrowser -. -selectedTab -tab2 -" -Should -select -another -tab -" -) -; -ok -( -tab2 -. -linkedPanel -& -& -tab3 -. -linkedPanel -" -Other -tabs -should -be -loaded -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab3 -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -} -) -; -add_task -( -async -function -test_unload_all_tabs -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -] -} -) -; -let -originalTab -= -gBrowser -. -selectedTab -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -let -tab3 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -3 -" -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -triggerClickOn -( -tab1 -{ -ctrlKey -: -true -} -) -; -await -triggerClickOn -( -tab2 -{ -ctrlKey -: -true -} -) -; -await -triggerClickOn -( -tab3 -{ -ctrlKey -: -true -} -) -; -updateTabContextMenu -( -originalTab -) -; -ok -( -! -menuItemUnload -. -hidden -" -Unload -Tab -is -visible -" -) -; -is -( -JSON -. -parse -( -menuItemUnload -. -getAttribute -( -" -data -- -l10n -- -args -" -) -) -. -tabCount -4 -" -showing -4 -tabs -on -menu -item -" -) -; -{ -let -menu -= -await -openTabMenuFor -( -originalTab -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -TestUtils -. -waitForCondition -( -( -) -= -> -! -originalTab -. -linkedPanel -& -& -! -tab1 -. -linkedPanel -& -& -! -tab2 -. -linkedPanel -& -& -! -tab3 -. -linkedPanel -" -Wait -for -all -tabs -to -be -unloaded -" -) -; -is -( -gBrowser -. -selectedTab -FirefoxViewHandler -. -tab -" -Should -select -Firefox -View -tab -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab3 -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -await -BrowserTestUtils -. -removeTab -( -FirefoxViewHandler -. -tab -) -; -} -) -; -add_task -( -async -function -test_pref_off_does_not_show_unload_menu_item -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -false -] -] -} -) -; -let -originalTab -= -gBrowser -. -selectedTab -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -updateTabContextMenu -( -originalTab -) -; -ok -( -menuItemUnload -. -hidden -" -Unload -Tab -is -hidden -" -) -; -} -) -; -add_task -( -async -function -test_cannot_unload_tab_does_not_show_unload_menu_item -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -about -: -config -" -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -updateTabContextMenu -( -tab1 -) -; -ok -( -menuItemUnload -. -hidden -" -Unload -Tab -is -hidden -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -} -) -; diff --git a/browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload_with_beforeunload.js b/browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload_with_beforeunload.js deleted file mode 100644 index 132a0450a4126..0000000000000 --- a/browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_unload_with_beforeunload.js +++ /dev/null @@ -1,1654 +0,0 @@ -/ -* -Any -copyright -is -dedicated -to -the -Public -Domain -. -http -: -/ -/ -creativecommons -. -org -/ -publicdomain -/ -zero -/ -1 -. -0 -/ -* -/ -const -{ -PromptTestUtils -} -= -ChromeUtils -. -importESModule -( -" -resource -: -/ -/ -testing -- -common -/ -PromptTestUtils -. -sys -. -mjs -" -) -; -async -function -openTabMenuFor -( -tab -) -{ -let -tabMenu -= -tab -. -ownerDocument -. -getElementById -( -" -tabContextMenu -" -) -; -let -tabMenuShown -= -BrowserTestUtils -. -waitForEvent -( -tabMenu -" -popupshown -" -) -; -EventUtils -. -synthesizeMouseAtCenter -( -tab -{ -type -: -" -contextmenu -" -} -tab -. -ownerGlobal -) -; -await -tabMenuShown -; -return -tabMenu -; -} -function -injectBeforeUnload -( -browser -) -{ -return -ContentTask -. -spawn -( -browser -null -async -function -( -) -{ -content -. -window -. -addEventListener -( -" -beforeunload -" -function -( -event -) -{ -var -str -= -" -Leaving -? -" -; -event -. -returnValue -= -str -; -return -str -; -} -true -) -; -} -) -; -} -/ -/ -Wait -for -onbeforeunload -dialog -and -dismiss -it -immediately -. -function -awaitAndCloseBeforeUnloadDialog -( -browser -doStayOnPage -) -{ -return -PromptTestUtils -. -handleNextPrompt -( -browser -{ -modalType -: -Services -. -prompt -. -MODAL_TYPE_CONTENT -promptType -: -" -confirmEx -" -} -{ -buttonNumClick -: -doStayOnPage -? -1 -: -0 -} -) -; -} -/ -* -global -messageManager -* -/ -add_task -( -async -function -test_unload_selected_and_allow -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -[ -" -dom -. -require_user_interaction_for_beforeunload -" -false -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -injectBeforeUnload -( -tab1 -. -linkedBrowser -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab1 -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab1 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -awaitAndCloseBeforeUnloadDialog -( -tab1 -. -linkedBrowser -false -) -; -await -TestUtils -. -waitForCondition -( -( -) -= -> -! -tab1 -. -linkedPanel -" -Wait -for -Tab1 -to -be -unloaded -" -) -; -is -( -gBrowser -. -selectedTab -tab2 -" -Should -select -another -loaded -tab -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -} -) -; -add_task -( -async -function -test_unload_selected_and_block -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -[ -" -dom -. -require_user_interaction_for_beforeunload -" -false -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -injectBeforeUnload -( -tab1 -. -linkedBrowser -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab1 -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab1 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -awaitAndCloseBeforeUnloadDialog -( -tab1 -. -linkedBrowser -true -) -; -ok -( -tab1 -. -linkedPanel -" -tab1 -should -still -be -loaded -" -) -; -is -( -gBrowser -. -selectedTab -tab1 -" -tab1 -should -still -be -selected -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -/ -/ -Make -sure -this -tab -actually -closes -let -beforeUnloadPromise -= -awaitAndCloseBeforeUnloadDialog -( -tab1 -. -linkedBrowser -false -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -await -beforeUnloadPromise -; -} -) -; -add_task -( -async -function -test_unload_multiple_and_allow -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -[ -" -dom -. -require_user_interaction_for_beforeunload -" -false -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -let -tab3 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -3 -" -) -; -injectBeforeUnload -( -tab2 -. -linkedBrowser -) -; -injectBeforeUnload -( -tab3 -. -linkedBrowser -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab2 -) -; -await -triggerClickOn -( -tab3 -{ -ctrlKey -: -true -} -) -; -let -tab2Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab2 -. -linkedBrowser -false -) -; -let -tab3Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab3 -. -linkedBrowser -false -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab2 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -TestUtils -. -waitForCondition -( -( -) -= -> -! -tab2 -. -linkedPanel -& -& -! -tab3 -. -linkedPanel -" -Wait -for -Tab2 -and -Tab3 -to -be -unloaded -" -) -; -await -tab2Promise -; -await -tab3Promise -; -is -( -gBrowser -. -selectedTab -tab1 -" -Should -select -another -loaded -tab -" -) -; -/ -/ -Make -sure -tabs -actually -close -await -BrowserTestUtils -. -removeTab -( -tab3 -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -} -) -; -add_task -( -async -function -test_unload_selected_and_block -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -[ -" -dom -. -require_user_interaction_for_beforeunload -" -false -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -injectBeforeUnload -( -tab1 -. -linkedBrowser -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab1 -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab1 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -awaitAndCloseBeforeUnloadDialog -( -tab1 -. -linkedBrowser -true -) -; -ok -( -tab1 -. -linkedPanel -" -tab1 -should -still -be -loaded -" -) -; -is -( -gBrowser -. -selectedTab -tab1 -" -tab1 -should -still -be -selected -" -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -/ -/ -Make -sure -this -tab -actually -closes -let -beforeUnloadPromise -= -awaitAndCloseBeforeUnloadDialog -( -tab1 -. -linkedBrowser -false -) -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -await -beforeUnloadPromise -; -} -) -; -add_task -( -async -function -test_unload_multiple_and_block_first -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -[ -" -dom -. -require_user_interaction_for_beforeunload -" -false -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -let -tab3 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -3 -" -) -; -injectBeforeUnload -( -tab2 -. -linkedBrowser -) -; -injectBeforeUnload -( -tab3 -. -linkedBrowser -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab2 -) -; -await -triggerClickOn -( -tab3 -{ -ctrlKey -: -true -} -) -; -let -tab2Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab2 -. -linkedBrowser -true -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab2 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -tab2Promise -; -ok -( -tab1 -. -linkedPanel -" -tab1 -should -still -be -loaded -" -) -; -ok -( -tab2 -. -linkedPanel -" -tab2 -should -still -be -loaded -" -) -; -ok -( -tab3 -. -linkedPanel -" -tab3 -should -still -be -loaded -" -) -; -/ -/ -Make -sure -tabs -actually -close -let -tab3Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab3 -. -linkedBrowser -false -) -; -await -BrowserTestUtils -. -removeTab -( -tab3 -) -; -await -tab3Promise -; -tab2Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab2 -. -linkedBrowser -false -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -await -tab2Promise -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -} -) -; -add_task -( -async -function -test_unload_multiple_and_block_second -( -) -{ -await -SpecialPowers -. -pushPrefEnv -( -{ -set -: -[ -[ -" -browser -. -tabs -. -unloadTabInContextMenu -" -true -] -[ -" -dom -. -require_user_interaction_for_beforeunload -" -false -] -] -} -) -; -let -tab1 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -1 -" -) -; -let -tab2 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -2 -" -) -; -let -tab3 -= -await -addTab -( -" -https -: -/ -/ -example -. -com -/ -3 -" -) -; -injectBeforeUnload -( -tab2 -. -linkedBrowser -) -; -injectBeforeUnload -( -tab3 -. -linkedBrowser -) -; -let -menuItemUnload -= -document -. -getElementById -( -" -context_unloadTab -" -) -; -await -BrowserTestUtils -. -switchTab -( -gBrowser -tab2 -) -; -await -triggerClickOn -( -tab3 -{ -ctrlKey -: -true -} -) -; -let -tab2Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab2 -. -linkedBrowser -false -) -; -let -tab3Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab3 -. -linkedBrowser -true -) -; -{ -let -menu -= -await -openTabMenuFor -( -tab2 -) -; -menu -. -activateItem -( -menuItemUnload -) -; -} -await -tab2Promise -; -await -tab3Promise -; -ok -( -tab1 -. -linkedPanel -" -tab1 -should -still -be -loaded -" -) -; -ok -( -tab2 -. -linkedPanel -" -tab2 -should -still -be -loaded -" -) -; -ok -( -tab3 -. -linkedPanel -" -tab3 -should -still -be -loaded -" -) -; -/ -/ -Make -sure -tabs -actually -close -tab3Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab3 -. -linkedBrowser -false -) -; -await -BrowserTestUtils -. -removeTab -( -tab3 -) -; -await -tab3Promise -; -tab2Promise -= -awaitAndCloseBeforeUnloadDialog -( -tab2 -. -linkedBrowser -false -) -; -await -BrowserTestUtils -. -removeTab -( -tab2 -) -; -await -tab2Promise -; -await -BrowserTestUtils -. -removeTab -( -tab1 -) -; -} -) -; diff --git a/browser/locales-preview/tabUnload.ftl b/browser/locales-preview/tabUnload.ftl deleted file mode 100644 index db4b30d86d9eb..0000000000000 --- a/browser/locales-preview/tabUnload.ftl +++ /dev/null @@ -1,113 +0,0 @@ -# -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 -https -: -/ -/ -mozilla -. -org -/ -MPL -/ -2 -. -0 -/ -. -# -# -Variables -: -# -# -tabCount -( -Number -) -: -the -number -of -tabs -that -are -affected -by -the -action -. -tab -- -context -- -unload -- -n -- -tabs -= -. -label -= -{ -tabCount -- -> -[ -1 -] -Unload -Tab -* -[ -other -] -Unload -{ -tabCount -} -Tabs -} -. -accesskey -= -U diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn index ae4bb7cff4713..dd4d38f11cde4 100644 --- a/browser/locales/jar.mn +++ b/browser/locales/jar.mn @@ -323,23 +323,6 @@ tabGroups . ftl ) -preview -/ -tabUnload -. -ftl -( -. -. -/ -locales -- -preview -/ -tabUnload -. -ftl -) AB_CD . jar