Bug 1432037 - Wait for tab animation end when closing test tabs. r=bgrins
MozReview-Commit-ID: 2XxcOFOqJo
--- a/testing/talos/talos/tests/devtools/addon/content/damp.js
+++ b/testing/talos/talos/tests/devtools/addon/content/damp.js
@@ -274,18 +274,23 @@ Damp.prototype = {
let tab = this._win.gBrowser.selectedTab = this._win.gBrowser.addTab(url);
let browser = tab.linkedBrowser;
browser.addEventListener("load", function onload() {
resolve(tab);
}, {capture: true, once: true});
});
},
- closeCurrentTab() {
+ async closeCurrentTab() {
+ let onTransition = new Promise(done => {
+ this._win.gBrowser.tabContainer.addEventListener("transitionend", done,
+ { once: true });
+ });
this._win.BrowserCloseTabOrWindow();
+ await onTransition;
return this._win.gBrowser.selectedTab;
},
reloadPage(onReload) {
return new Promise(resolve => {
let browser = gBrowser.selectedBrowser;
if (typeof (onReload) == "function") {
onReload().then(resolve);
@@ -903,17 +908,17 @@ async _consoleOpenWithCachedMessagesTest
let tab = await this.addTab(url);
await new Promise(resolve => {
setTimeout(resolve, this._config.rest);
});
return tab;
},
async testTeardown(url) {
- this.closeCurrentTab();
+ await this.closeCurrentTab();
// Force freeing memory now so that it doesn't happen during the next test
await garbageCollect();
this._nextCommand();
},
// Everything below here are common pieces needed for the test runner to function,