summaryrefslogtreecommitdiffstats
path: root/application/palemoon/components/places/content/browserPlacesViews.js
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-07-28 21:24:32 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-07-28 21:24:32 +0200
commit3170ee7692ef30ee67f26219b19b2b4115c01a56 (patch)
tree68c69d03e2e707d6c6c957e73942a638b8c50277 /application/palemoon/components/places/content/browserPlacesViews.js
parent1545320721d22045168b1ca15f924f4143128512 (diff)
downloadUXP-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.js15
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) {