Bug 1262439 - 6 - Update the eye-dropper devtools menu entry to use the new eye-dropper; r=ochameau draft
authorPatrick Brosset <pbrosset@mozilla.com>
Thu, 09 Jun 2016 13:19:09 +0200
changeset 385012 c7deaa4cbe06bac70cac7c15ae2688b6bd49edbd
parent 385011 686966a8d27f6edfaae4d02355f91bbe6d4b0e12
child 385013 e770b7c1203c6488cc8db56b55f350ea9890085a
push id22388
push userpbrosset@mozilla.com
push dateThu, 07 Jul 2016 13:03:20 +0000
reviewersochameau
bugs1262439
milestone50.0a1
Bug 1262439 - 6 - Update the eye-dropper devtools menu entry to use the new eye-dropper; r=ochameau Removes some old eye-dropper related code in browser.js which was not used anymore since the devtools menu are added dynamically now. And replaces the code in devtools/client/menus.js to call the gcli eyedropper command now instead of the old eyedropper tool. MozReview-Commit-ID: DMn9eiVOnGY
browser/base/content/browser.js
devtools/client/menus.js
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -7684,31 +7684,16 @@ var ResponsiveUI = {
 };
 
 XPCOMUtils.defineLazyGetter(ResponsiveUI, "ResponsiveUIManager", function() {
   let tmp = {};
   Cu.import("resource://devtools/client/responsivedesign/responsivedesign.jsm", tmp);
   return tmp.ResponsiveUIManager;
 });
 
-function openEyedropper() {
-  var eyedropper = new this.Eyedropper(this, { context: "menu",
-                                               copyOnSelect: true });
-  eyedropper.open();
-}
-
-Object.defineProperty(this, "Eyedropper", {
-  get: function() {
-    let devtools = Cu.import("resource://devtools/shared/Loader.jsm", {}).devtools;
-    return devtools.require("devtools/client/eyedropper/eyedropper").Eyedropper;
-  },
-  configurable: true,
-  enumerable: true
-});
-
 XPCOMUtils.defineLazyGetter(window, "gShowPageResizers", function () {
   // Only show resizers on Windows 2000 and XP
   return AppConstants.isPlatformAndVersionAtMost("win", "5.9");
 });
 
 var MousePosTracker = {
   _listeners: new Set(),
   _x: 0,
--- a/devtools/client/menus.js
+++ b/devtools/client/menus.js
@@ -32,17 +32,18 @@
  *   If true, the menuitem is prefixed by a checkbox and runtime code can
  *   toggle it.
  */
 
 const Services = require("Services");
 const isMac = Services.appinfo.OS === "Darwin";
 
 loader.lazyRequireGetter(this, "gDevToolsBrowser", "devtools/client/framework/devtools-browser", true);
-loader.lazyRequireGetter(this, "Eyedropper", "devtools/client/eyedropper/eyedropper", true);
+loader.lazyRequireGetter(this, "CommandUtils", "devtools/client/shared/developer-toolbar", true);
+loader.lazyRequireGetter(this, "TargetFactory", "devtools/client/framework/target", true);
 
 loader.lazyImporter(this, "BrowserToolboxProcess", "resource://devtools/client/framework/ToolboxProcess.jsm");
 loader.lazyImporter(this, "ResponsiveUIManager", "resource://devtools/client/responsivedesign/responsivedesign.jsm");
 loader.lazyImporter(this, "ScratchpadManager", "resource://devtools/client/scratchpad/scratchpad-manager.jsm");
 
 exports.menuitems = [
   { id: "menu_devToolbox",
     l10nKey: "devToolboxMenuItem",
@@ -139,19 +140,23 @@ exports.menuitems = [
       keytext: true
     },
     checkbox: true
   },
   { id: "menu_eyedropper",
     l10nKey: "eyedropper",
     oncommand(event) {
       let window = event.target.ownerDocument.defaultView;
-      let eyedropper = new Eyedropper(window, { context: "menu",
-                                                copyOnSelect: true });
-      eyedropper.open();
+      let target = TargetFactory.forTab(window.gBrowser.selectedTab);
+
+      CommandUtils.createRequisition(target, {
+        environment: CommandUtils.createEnvironment({target})
+      }).then(requisition => {
+        requisition.updateExec("eyedropper");
+      }, e => console.error(e));
     },
     checkbox: true
   },
   { id: "menu_scratchpad",
     l10nKey: "scratchpad",
     oncommand() {
       ScratchpadManager.openScratchpad();
     },