Bug 1289152 - switch eyedropperOpen flag in Tooltip when picking color;r=zer0 draft
authorJulian Descottes <jdescottes@mozilla.com>
Mon, 25 Jul 2016 20:39:01 +0200
changeset 392512 b2a36fda8a8abac53184c667775d2bc4e1d99284
parent 392228 b3a0aa75399dbb7da9a246082293cdd36fe05be7
child 526349 a3e2a6ef1ecde322efd8b86433441039366a5f9b
push id24046
push userjdescottes@mozilla.com
push dateMon, 25 Jul 2016 19:03:41 +0000
reviewerszer0
bugs1289152
milestone50.0a1
Bug 1289152 - switch eyedropperOpen flag in Tooltip when picking color;r=zer0 The eyedropper gets hidden when canceled and when selecting a color. The Tooltip should listen to both events to update its internal state flags. MozReview-Commit-ID: KYwmybh9mRo
devtools/client/shared/widgets/Tooltip.js
--- a/devtools/client/shared/widgets/Tooltip.js
+++ b/devtools/client/shared/widgets/Tooltip.js
@@ -845,31 +845,36 @@ Heritage.extend(SwatchBasedEditorTooltip
   _openEyeDropper: function () {
     let {inspector, toolbox, telemetry} = this.inspector;
     telemetry.toolOpened("pickereyedropper");
     inspector.pickColorFromPage({copyOnSelect: false}).catch(e => console.error(e));
 
     inspector.once("color-picked", color => {
       toolbox.win.focus();
       this._selectColor(color);
+      this._onEyeDropperDone();
     });
 
     inspector.once("color-pick-canceled", () => {
-      this.eyedropperOpen = false;
-      this.activeSwatch = null;
+      this._onEyeDropperDone();
     });
 
     this.eyedropperOpen = true;
 
     // close the colorpicker tooltip so that only the eyedropper is open.
     this.hide();
 
     this.tooltip.emit("eyedropper-opened");
   },
 
+  _onEyeDropperDone: function () {
+    this.eyedropperOpen = false;
+    this.activeSwatch = null;
+  },
+
   _colorToRgba: function (color) {
     color = new colorUtils.CssColor(color);
     let rgba = color._getRGBATuple();
     return [rgba.r, rgba.g, rgba.b, rgba.a];
   },
 
   _toDefaultType: function (color) {
     let colorObj = new colorUtils.CssColor(color);