Bug 1254145 - Use BrowserTestUtils.removeTab instead of gBrowser.removeTab in BrowserTestUtils.withNewTab since BrowserTestUtils.removeTab is more deterministic since it waits for SessionStore to update. r=gijs

MozReview-Commit-ID: 8DoAiwCuGKl
MozReview-Commit-ID: 5quEUBvfSOR
This commit is contained in:
Jared Wein 2016-03-07 07:31:00 +01:00
parent fc700c757b
commit a24156ff6c

View File

@ -75,8 +75,16 @@ this.BrowserTestUtils = {
}
}
let tab = yield BrowserTestUtils.openNewForegroundTab(options.gBrowser, options.url);
let originalWindow = tab.ownerDocument.defaultView;
let result = yield taskFn(tab.linkedBrowser);
options.gBrowser.removeTab(tab);
let finalWindow = tab.ownerDocument.defaultView;
if (originalWindow == finalWindow && !tab.closing && tab.linkedBrowser) {
yield BrowserTestUtils.removeTab(tab);
} else {
Services.console.logStringMessage(
"BrowserTestUtils.withNewTab: Tab was already closed before " +
"removeTab would have been called");
}
return Promise.resolve(result);
}),