diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-28 21:24:32 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-28 21:24:32 +0200 |
commit | 3170ee7692ef30ee67f26219b19b2b4115c01a56 (patch) | |
tree | 68c69d03e2e707d6c6c957e73942a638b8c50277 /application/palemoon/components/places/content/browserPlacesViews.js | |
parent | 1545320721d22045168b1ca15f924f4143128512 (diff) | |
download | UXP-3170ee7692ef30ee67f26219b19b2b4115c01a56.tar UXP-3170ee7692ef30ee67f26219b19b2b4115c01a56.tar.gz UXP-3170ee7692ef30ee67f26219b19b2b4115c01a56.tar.lz UXP-3170ee7692ef30ee67f26219b19b2b4115c01a56.tar.xz UXP-3170ee7692ef30ee67f26219b19b2b4115c01a56.zip |
Hide and disable open_all/cut/copy/delete/properties when opening
bookmarks/history context menu with no selection
This resolves #882 (by not offering options that can't be used)
Diffstat (limited to 'application/palemoon/components/places/content/browserPlacesViews.js')
-rw-r--r-- | application/palemoon/components/places/content/browserPlacesViews.js | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/application/palemoon/components/places/content/browserPlacesViews.js b/application/palemoon/components/places/content/browserPlacesViews.js index eec7274a4..8b90dd280 100644 --- a/application/palemoon/components/places/content/browserPlacesViews.js +++ b/application/palemoon/components/places/content/browserPlacesViews.js @@ -109,8 +109,15 @@ PlacesViewBase.prototype = { get selectedNode() { if (this._contextMenuShown) { - let popup = document.popupNode; - return popup._placesNode || popup.parentNode._placesNode || null; + let anchor = this._contextMenuShown.triggerNode; + if (!anchor) + return null; + + if (anchor._placesNode) + return this._rootElt == anchor ? null : anchor._placesNode; + + anchor = anchor.parentNode; + return this._rootElt == anchor ? null : (anchor._placesNode || null); } return null; }, @@ -176,13 +183,13 @@ PlacesViewBase.prototype = { }, buildContextMenu: function PVB_buildContextMenu(aPopup) { - this._contextMenuShown = true; + this._contextMenuShown = aPopup; window.updateCommands("places"); return this.controller.buildContextMenu(aPopup); }, destroyContextMenu: function PVB_destroyContextMenu(aPopup) { - this._contextMenuShown = false; + this._contextMenuShown = null; }, _cleanPopup: function PVB_cleanPopup(aPopup, aDelay) { |