mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-28 12:45:27 +00:00
Bug 1476137 - Remove promiseWindowWillBeClosed and use BrowserTestUtils.domWindowClosed r=marco
MozReview-Commit-ID: 48y3wP65cm8 --HG-- extra : rebase_source : c489ffd08b9ba5632b96117ee10898d3c01d83e2
This commit is contained in:
parent
74f870af6e
commit
a9f66711be
@ -31,7 +31,7 @@ add_task(async function closeLastTabInWindow() {
|
||||
let newWin = await promiseOpenAndLoadWindow({}, true);
|
||||
let firstTab = newWin.gBrowser.selectedTab;
|
||||
await promiseTabLoadEvent(firstTab, TEST_PAGE);
|
||||
let windowClosedPromise = promiseWindowWillBeClosed(newWin);
|
||||
let windowClosedPromise = BrowserTestUtils.domWindowClosed(newWin);
|
||||
expectingDialog = true;
|
||||
// close tab:
|
||||
document.getAnonymousElementByAttribute(firstTab, "anonid", "close-button").click();
|
||||
@ -46,7 +46,7 @@ add_task(async function closeWindowWithMultipleTabsIncludingOneBeforeUnload() {
|
||||
let firstTab = newWin.gBrowser.selectedTab;
|
||||
await promiseTabLoadEvent(firstTab, TEST_PAGE);
|
||||
await promiseTabLoadEvent(newWin.gBrowser.addTab(), "http://example.com/");
|
||||
let windowClosedPromise = promiseWindowWillBeClosed(newWin);
|
||||
let windowClosedPromise = BrowserTestUtils.domWindowClosed(newWin);
|
||||
expectingDialog = true;
|
||||
newWin.BrowserTryToCloseWindow();
|
||||
await windowClosedPromise;
|
||||
@ -59,7 +59,7 @@ add_task(async function closeWindoWithSingleTabTwice() {
|
||||
let newWin = await promiseOpenAndLoadWindow({}, true);
|
||||
let firstTab = newWin.gBrowser.selectedTab;
|
||||
await promiseTabLoadEvent(firstTab, TEST_PAGE);
|
||||
let windowClosedPromise = promiseWindowWillBeClosed(newWin);
|
||||
let windowClosedPromise = BrowserTestUtils.domWindowClosed(newWin);
|
||||
expectingDialog = true;
|
||||
wantToClose = false;
|
||||
let firstDialogShownPromise = new Promise((resolve, reject) => { resolveDialogPromise = resolve; });
|
||||
|
@ -10,7 +10,7 @@ add_task(async function() {
|
||||
win.gBrowser.removeTab(tab);
|
||||
|
||||
// Closing a tab will also close its parent chrome window, but async
|
||||
await promiseWindowWillBeClosed(win);
|
||||
await BrowserTestUtils.domWindowClosed(win);
|
||||
});
|
||||
|
||||
add_task(async function() {
|
||||
|
@ -153,7 +153,7 @@ function test() {
|
||||
|
||||
Services.prefs.setBoolPref(ALWAYS_DOWNLOAD_DIR_PREF, false);
|
||||
testOnWindow(undefined, function(win) {
|
||||
let windowGonePromise = promiseWindowWillBeClosed(win);
|
||||
let windowGonePromise = BrowserTestUtils.domWindowClosed(win);
|
||||
Services.prefs.setBoolPref(SAVE_PER_SITE_PREF, true);
|
||||
triggerSave(win, function() {
|
||||
windowGonePromise.then(function() {
|
||||
|
@ -4,6 +4,8 @@ ChromeUtils.defineModuleGetter(this, "PlacesUtils",
|
||||
"resource://gre/modules/PlacesUtils.jsm");
|
||||
ChromeUtils.defineModuleGetter(this, "PlacesTestUtils",
|
||||
"resource://testing-common/PlacesTestUtils.jsm");
|
||||
ChromeUtils.defineModuleGetter(this, "BrowserTestUtils",
|
||||
"resource://testing-common/BrowserTestUtils.jsm");
|
||||
ChromeUtils.defineModuleGetter(this, "TabCrashHandler",
|
||||
"resource:///modules/ContentCrashHandlers.jsm");
|
||||
|
||||
@ -205,19 +207,8 @@ function whenNewWindowLoaded(aOptions, aCallback) {
|
||||
}, {once: true});
|
||||
}
|
||||
|
||||
function promiseWindowWillBeClosed(win) {
|
||||
return new Promise((resolve, reject) => {
|
||||
Services.obs.addObserver(function observe(subject, topic) {
|
||||
if (subject == win) {
|
||||
Services.obs.removeObserver(observe, topic);
|
||||
executeSoon(resolve);
|
||||
}
|
||||
}, "domwindowclosed");
|
||||
});
|
||||
}
|
||||
|
||||
function promiseWindowClosed(win) {
|
||||
let promise = promiseWindowWillBeClosed(win);
|
||||
let promise = BrowserTestUtils.domWindowClosed(win);
|
||||
win.close();
|
||||
return promise;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user