Bug 1441507 - Fix window focus issue for intermittent browser_shim_disable_devtools;r=pbro
MozReview-Commit-ID: 1e4NmJNdP3G
--- a/devtools/startup/tests/browser/browser_shim_disable_devtools.js
+++ b/devtools/startup/tests/browser/browser_shim_disable_devtools.js
@@ -28,16 +28,20 @@ add_task(async function() {
if (AppConstants.MOZ_DEV_EDITION) {
CustomizableUI.removeWidgetFromArea("developer-button");
}
info("Open a new window, all window-specific hooks for DevTools will be disabled.");
let win = OpenBrowserWindow({private: false});
await waitForDelayedStartupFinished(win);
+ info("Open a new tab on the new window to ensure the focus is on the new window");
+ let tab = win.gBrowser.addTab("data:text/html;charset=utf-8,<title>foo</title>");
+ await BrowserTestUtils.browserLoaded(win.gBrowser.getBrowserForTab(tab));
+
info("Synthesize a DevTools shortcut, the toolbox should not open on this new window.");
synthesizeToggleToolboxKey(win);
// There is no event to wait for here as this shortcut should have no effect.
/* eslint-disable mozilla/no-arbitrary-setTimeout */
await new Promise(r => setTimeout(r, 1000));
is(gDevTools._toolboxes.size, 0, "No toolbox has been opened");
@@ -61,16 +65,18 @@ add_task(async function() {
contextMenu.hidePopup();
await onContextMenuHidden;
let toolsMenu = win.document.getElementById("webDeveloperMenu");
ok(toolsMenu.hidden, "The Web Developer item of the tools menu is hidden");
let hamburgerMenu = win.document.getElementById("appMenu-developer-button");
ok(hamburgerMenu.hidden, "The Web Developer item of the hamburger menu is hidden");
+ win.gBrowser.removeTab(tab);
+
info("Close the test window");
let winClosed = BrowserTestUtils.windowClosed(win);
win.BrowserTryToCloseWindow();
await winClosed;
});
function waitForDelayedStartupFinished(win) {
return new Promise(resolve => {