diff options
Diffstat (limited to 'browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js')
-rw-r--r-- | browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js b/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js deleted file mode 100644 index 91a4a7e9c..000000000 --- a/browser/base/content/test/general/browser_beforeunload_duplicate_dialogs.js +++ /dev/null @@ -1,76 +0,0 @@ -const TEST_PAGE = "http://mochi.test:8888/browser/browser/base/content/test/general/file_double_close_tab.html"; - -var expectingDialog = false; -var wantToClose = true; -var resolveDialogPromise; -function onTabModalDialogLoaded(node) { - ok(expectingDialog, "Should be expecting this dialog."); - expectingDialog = false; - if (wantToClose) { - // This accepts the dialog, closing it - node.Dialog.ui.button0.click(); - } else { - // This keeps the page open - node.Dialog.ui.button1.click(); - } - if (resolveDialogPromise) { - resolveDialogPromise(); - } -} - -SpecialPowers.pushPrefEnv({"set": [["dom.require_user_interaction_for_beforeunload", false]]}); - -// Listen for the dialog being created -Services.obs.addObserver(onTabModalDialogLoaded, "tabmodal-dialog-loaded", false); -registerCleanupFunction(() => { - Services.prefs.clearUserPref("browser.tabs.warnOnClose"); - Services.obs.removeObserver(onTabModalDialogLoaded, "tabmodal-dialog-loaded"); -}); - -add_task(function* closeLastTabInWindow() { - let newWin = yield promiseOpenAndLoadWindow({}, true); - let firstTab = newWin.gBrowser.selectedTab; - yield promiseTabLoadEvent(firstTab, TEST_PAGE); - let windowClosedPromise = promiseWindowWillBeClosed(newWin); - expectingDialog = true; - // close tab: - document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); - yield windowClosedPromise; - ok(!expectingDialog, "There should have been a dialog."); - ok(newWin.closed, "Window should be closed."); -}); - -add_task(function* closeWindowWithMultipleTabsIncludingOneBeforeUnload() { - Services.prefs.setBoolPref("browser.tabs.warnOnClose", false); - let newWin = yield promiseOpenAndLoadWindow({}, true); - let firstTab = newWin.gBrowser.selectedTab; - yield promiseTabLoadEvent(firstTab, TEST_PAGE); - yield promiseTabLoadEvent(newWin.gBrowser.addTab(), "http://example.com/"); - let windowClosedPromise = promiseWindowWillBeClosed(newWin); - expectingDialog = true; - newWin.BrowserTryToCloseWindow(); - yield windowClosedPromise; - ok(!expectingDialog, "There should have been a dialog."); - ok(newWin.closed, "Window should be closed."); - Services.prefs.clearUserPref("browser.tabs.warnOnClose"); -}); - -add_task(function* closeWindoWithSingleTabTwice() { - let newWin = yield promiseOpenAndLoadWindow({}, true); - let firstTab = newWin.gBrowser.selectedTab; - yield promiseTabLoadEvent(firstTab, TEST_PAGE); - let windowClosedPromise = promiseWindowWillBeClosed(newWin); - expectingDialog = true; - wantToClose = false; - let firstDialogShownPromise = new Promise((resolve, reject) => { resolveDialogPromise = resolve; }); - document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); - yield firstDialogShownPromise; - info("Got initial dialog, now trying again"); - expectingDialog = true; - wantToClose = true; - resolveDialogPromise = null; - document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click(); - yield windowClosedPromise; - ok(!expectingDialog, "There should have been a dialog."); - ok(newWin.closed, "Window should be closed."); -}); |