Bug 1244596 - Re-order awaits on browser loads in browser_revive_crashed_bg_tabs.js to avoid intermittent failure. r?mikedeboer
In this test, it was possible for browser2 to finish loading _before_ the
BrowserTestUtils.browserLoaded function we were awaiting on for browser1 had
yielded back to the test, meaning that by the time we got to run
BrowserTestUtils.browserLoaded(browser2), the browser was already done loading,
and browserLoaded would be waiting for a page load that would never occur.
MozReview-Commit-ID: EagrRrAAdJP
--- a/browser/components/sessionstore/test/browser_revive_crashed_bg_tabs.js
+++ b/browser/components/sessionstore/test/browser_revive_crashed_bg_tabs.js
@@ -16,22 +16,22 @@ add_task(async function setup() {
await pushPrefs(["dom.ipc.processCount", 1],
["toolkit.cosmeticAnimations.enabled", false],
["browser.sessionstore.restore_on_demand", false]);
});
add_task(async function test_revive_bg_tabs_on_demand() {
let newTab1 = BrowserTestUtils.addTab(gBrowser, PAGE_1);
let browser1 = newTab1.linkedBrowser;
+ await BrowserTestUtils.browserLoaded(browser1);
+
gBrowser.selectedTab = newTab1;
let newTab2 = BrowserTestUtils.addTab(gBrowser, PAGE_2);
let browser2 = newTab2.linkedBrowser;
-
- await BrowserTestUtils.browserLoaded(browser1);
await BrowserTestUtils.browserLoaded(browser2);
await TabStateFlusher.flush(browser2);
// Now crash the selected tab
let windowReady = BrowserTestUtils.waitForEvent(window, "SSWindowStateReady");
await BrowserTestUtils.crashBrowser(browser1);