Bug 1414053 - Adds the boundary crossing callback to DevTools.jsm. r?mconley draft
authorgrenewode <grenewodemiller@gmail.com>
Thu, 02 Nov 2017 16:30:14 -0400
changeset 692828 9a1b9f2ba0c92400bf757f446c6e2749acf8975b
parent 689632 3f627210c55d6b2b0a0635683cc4a29102a90270
child 693323 82da374617a5e2f395afaf1b9a71effe2c1394f1
child 693791 d2c444dc5e45d1f0945b0c273e5ce852198166a7
push id87607
push userbmo:mill2540@msu.edu
push dateFri, 03 Nov 2017 16:20:45 +0000
reviewersmconley
bugs1414053, 1403686, 1412357
milestone58.0a1
Bug 1414053 - Adds the boundary crossing callback to DevTools.jsm. r?mconley Also, once this lands, it should clean up some of the failing tests on Bugs #1403686 and #1412357. MozReview-Commit-ID: 5rCjjlzuavq
browser/tools/mozscreenshots/mozscreenshots/extension/configurations/DevTools.jsm
--- a/browser/tools/mozscreenshots/mozscreenshots/extension/configurations/DevTools.jsm
+++ b/browser/tools/mozscreenshots/mozscreenshots/extension/configurations/DevTools.jsm
@@ -16,48 +16,52 @@ let { devtools } = Cu.import("resource:/
 let TargetFactory = devtools.TargetFactory;
 
 function getTargetForSelectedTab() {
   let browserWindow = Services.wm.getMostRecentWindow("navigator:browser");
   let target = TargetFactory.forTab(browserWindow.gBrowser.selectedTab);
   return target;
 }
 
+function selectToolbox() {
+  return gDevTools.getToolbox(getTargetForSelectedTab()).win.document.querySelector("#toolbox-container");
+}
+
 this.DevTools = {
   init(libDir) {
     let panels = ["options", "webconsole", "jsdebugger", "styleeditor",
                   "performance", "netmonitor"];
 
     panels.forEach(panel => {
       this.configurations[panel] = {};
-      this.configurations[panel].selectors = ["#toolbox-container"];
+      this.configurations[panel].selectors = [selectToolbox];
       this.configurations[panel].applyConfig = async function() {
         await gDevTools.showToolbox(getTargetForSelectedTab(), panel, "bottom");
         await new Promise(resolve => setTimeout(resolve, 500));
       };
     });
   },
 
   configurations: {
     bottomToolbox: {
-      selectors: ["#toolbox-container"],
+      selectors: [selectToolbox],
       async applyConfig() {
         await gDevTools.showToolbox(getTargetForSelectedTab(), "inspector", "bottom");
         await new Promise(resolve => setTimeout(resolve, 1000));
       },
     },
     sideToolbox: {
-      selectors: ["#toolbox-container"],
+      selectors: [selectToolbox],
       async applyConfig() {
         await gDevTools.showToolbox(getTargetForSelectedTab(), "inspector", "side");
         await new Promise(resolve => setTimeout(resolve, 500));
       },
     },
     undockedToolbox: {
-      selectors: ["#toolbox-container"],
+      selectors: [selectToolbox],
       windowType: "devtools:toolbox",
       async applyConfig() {
         await gDevTools.showToolbox(getTargetForSelectedTab(), "inspector", "window");
         await new Promise(resolve => setTimeout(resolve, 500));
       },
     }
   },
 };