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
--- 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);