Bug 1476137 - Remove promiseWindowWillBeClosed and use BrowserTestUtils.domWindowClosed r=marco

MozReview-Commit-ID: 48y3wP65cm8

--HG--
extra : rebase_source : c489ffd08b9ba5632b96117ee10898d3c01d83e2
This commit is contained in:
sandeep 2018-07-19 11:45:15 +05:30
parent 74f870af6e
commit a9f66711be
4 changed files with 8 additions and 17 deletions

View File

@ -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; });

View File

@ -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() {

View File

@ -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() {

View File

@ -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;
}