author | Neil Deakin <neil@mozilla.com> |
Wed, 04 Mar 2015 08:55:02 -0500 | |
changeset 231867 | 771403b7b48633518f11572cf23745df21f01612 |
parent 231866 | f124f6d08ec764d9033ac2483feabc0903d4af59 |
child 231868 | 653bb7fcb7ed3e4df45dbe641c5c22620670c143 |
push id | 28362 |
push user | ryanvm@gmail.com |
push date | Wed, 04 Mar 2015 21:35:51 +0000 |
treeherder | mozilla-central@56492f7244a9 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | gijs |
bugs | 1015617 |
milestone | 39.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
browser/components/customizableui/CustomizableUI.jsm | file | annotate | diff | comparison | revisions |
--- a/browser/components/customizableui/CustomizableUI.jsm +++ b/browser/components/customizableui/CustomizableUI.jsm @@ -3797,17 +3797,17 @@ function XULWidgetSingleWrapper(aWidgetI } return node.getAttribute("overflowedItem") == "true"; }); Object.freeze(this); } const LAZY_RESIZE_INTERVAL_MS = 200; -const OVERFLOW_PANEL_HIDE_DELAY_MS = 500 +const OVERFLOW_PANEL_HIDE_DELAY_MS = 500; function OverflowableToolbar(aToolbarNode) { this._toolbar = aToolbarNode; this._collapsed = new Map(); this._enabled = true; this._toolbar.setAttribute("overflowable", "true"); let doc = this._toolbar.ownerDocument; @@ -4192,23 +4192,23 @@ OverflowableToolbar.prototype = { if (aNode.getAttribute("overflowedItem") == "true") { return this._list; } return this._target; }, _hideTimeoutId: null, _showWithTimeout: function() { - this.show(); - let window = this._toolbar.ownerDocument.defaultView; - if (this._hideTimeoutId) { - window.clearTimeout(this._hideTimeoutId); - this._hideTimeoutId = null; - } - this._hideTimeoutId = window.setTimeout(() => { - if (!this._panel.firstChild.matches(":hover")) { - this._panel.hidePopup(); + this.show().then(function () { + let window = this._toolbar.ownerDocument.defaultView; + if (this._hideTimeoutId) { + window.clearTimeout(this._hideTimeoutId); } - }, OVERFLOW_PANEL_HIDE_DELAY_MS); + this._hideTimeoutId = window.setTimeout(() => { + if (!this._panel.firstChild.matches(":hover")) { + this._panel.hidePopup(); + } + }, OVERFLOW_PANEL_HIDE_DELAY_MS); + }.bind(this)); }, }; CustomizableUIInternal.initialize();