Bug 1441507 - Fix window focus issue for intermittent browser_shim_disable_devtools;r=pbro draft
authorJulian Descottes <jdescottes@mozilla.com>
Fri, 04 May 2018 19:40:23 +0200
changeset 791679 96208fbdd2564dfcd5b276c186e1cbe8a7abda82
parent 791201 bdf300e9c6e5bee43b59b56a18b2bf79f6d6dc82
push id108871
push userjdescottes@mozilla.com
push dateFri, 04 May 2018 21:09:11 +0000
reviewerspbro
bugs1441507
milestone61.0a1
Bug 1441507 - Fix window focus issue for intermittent browser_shim_disable_devtools;r=pbro MozReview-Commit-ID: 1e4NmJNdP3G
devtools/startup/tests/browser/browser_shim_disable_devtools.js
--- 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 => {