Bug 1461522 - Honor ui.popup.disable_autohide setting in HTMLTooltip; r?jdescottes draft
authorBrian Birtles <birtles@gmail.com>
Thu, 28 Jun 2018 15:13:05 +0900
changeset 813902 2d76ea92eb15af36da25884682778c6667fe9b7b
parent 813901 b12188aa6424b28932fd16f2d06b0984e711fe96
child 813903 10cc3bee686a361edbb3f655ac6216631631f6d5
push id115042
push userbbirtles@mozilla.com
push dateWed, 04 Jul 2018 04:36:27 +0000
reviewersjdescottes
bugs1461522
milestone63.0a1
Bug 1461522 - Honor ui.popup.disable_autohide setting in HTMLTooltip; r?jdescottes MozReview-Commit-ID: ReYYKPYaVm
devtools/client/shared/widgets/tooltip/HTMLTooltip.js
--- a/devtools/client/shared/widgets/tooltip/HTMLTooltip.js
+++ b/devtools/client/shared/widgets/tooltip/HTMLTooltip.js
@@ -7,16 +7,18 @@
 "use strict";
 
 const EventEmitter = require("devtools/shared/event-emitter");
 const {TooltipToggle} = require("devtools/client/shared/widgets/tooltip/TooltipToggle");
 const {focusableSelector} = require("devtools/client/shared/focus");
 const {getCurrentZoom} = require("devtools/shared/layout/utils");
 const {listenOnce} = require("devtools/shared/async-utils");
 
+const Services = require("Services");
+
 const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 const XHTML_NS = "http://www.w3.org/1999/xhtml";
 
 const POSITION = {
   TOP: "top",
   BOTTOM: "bottom",
 };
 
@@ -732,16 +734,21 @@ HTMLTooltip.prototype = {
     return container;
   },
 
   _onClick: function(e) {
     if (this._isInTooltipContainer(e.target)) {
       return;
     }
 
+    // If the disable autohide setting is in effect, ignore.
+    if (Services.prefs.getBoolPref("ui.popup.disable_autohide", false)) {
+      return;
+    }
+
     this.hide();
     if (this.consumeOutsideClicks && e.button === 0) {
       // Consume only left click events (button === 0).
       e.preventDefault();
       e.stopPropagation();
     }
   },