Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test that lazy background tabs aren't unintentionally loaded when building
// the a11y tree (bug 1700708).
addAccessibleTask(``, async function () {
await SpecialPowers.pushPrefEnv({
set: [["browser.sessionstore.restore_on_demand", true]],
});
info("Opening a new window");
let win = await BrowserTestUtils.openNewBrowserWindow();
// Window is opened with a blank tab.
info("Loading second tab");
await BrowserTestUtils.openNewForegroundTab({
gBrowser: win.gBrowser,
url: "data:text/html,2",
});
info("Loading third tab");
await BrowserTestUtils.openNewForegroundTab({
gBrowser: win.gBrowser,
url: "data:text/html,3",
});
info("Closing the window");
await BrowserTestUtils.closeWindow(win);
is(SessionStore.getClosedWindowCount(), 1, "Should have a window to restore");
info("Restoring the window");
win = SessionStore.undoCloseWindow(0);
await BrowserTestUtils.waitForEvent(win, "SSWindowStateReady");
await BrowserTestUtils.waitForEvent(
win.gBrowser.tabContainer,
"SSTabRestored"
);
is(win.gBrowser.tabs.length, 3, "3 tabs restored");
ok(win.gBrowser.tabs[2].selected, "Third tab selected");
ok(getAccessible(win.gBrowser.tabs[1]), "Second tab has accessible");
ok(!win.gBrowser.browsers[1].isConnected, "Second tab is lazy");
info("Closing the restored window");
await BrowserTestUtils.closeWindow(win);
});