Bug 1391705 - don't show context menu except on toolbarbuttons on the main view, r?adw draft
authorGijs Kruitbosch <gijskruitbosch@gmail.com>
Wed, 23 Aug 2017 13:29:47 +0100
changeset 651290 b717d8da5fc9d607c86a16a0bb023cf4a914bbac
parent 651207 b911a4c97fde5d8bdeebfd5d0266ee9f7b9e59b2
child 727649 d8b99644f550a25cb3f6311e28c8629dc9590f5a
push id75659
push usergijskruitbosch@gmail.com
push dateWed, 23 Aug 2017 12:33:20 +0000
reviewersadw
bugs1391705
milestone57.0a1
Bug 1391705 - don't show context menu except on toolbarbuttons on the main view, r?adw MozReview-Commit-ID: GkGXAIrP15u
browser/base/content/browser-pageActions.js
browser/base/content/browser.xul
--- a/browser/base/content/browser-pageActions.js
+++ b/browser/base/content/browser-pageActions.js
@@ -590,16 +590,20 @@ var BrowserPageActions = {
    * onContextMenuShowing.
    *
    * @param  event (DOM event, required)
    *         The contextmenu event.
    */
   onContextMenu(event) {
     let node = event.originalTarget;
     this._contextAction = this.actionForNode(node);
+    // Don't show the menu if there's no action where the user clicked!
+    if (!this._contextAction) {
+      event.preventDefault();
+    }
   },
 
   /**
    * Call this on the context menu's popupshowing event.
    *
    * @param  event (DOM event, required)
    *         The popupshowing event.
    * @param  popup (DOM node, required)
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
@@ -424,26 +424,26 @@
            class="cui-widget-panel"
            role="group"
            type="arrow"
            hidden="true"
            flip="slide"
            position="bottomcenter topright"
            tabspecific="true"
            noautofocus="true"
-           context="pageActionPanelContextMenu"
-           oncontextmenu="BrowserPageActions.onContextMenu(event);"
            copyURL-title="&copyURLCmd.label;"
            emailLink-title="&emailPageCmd.label;"
            sendToDevice-title="&sendToDevice.label3;"
            sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
       <photonpanelmultiview id="pageActionPanelMultiView"
                             mainViewId="pageActionPanelMainView"
                             viewCacheId="appMenu-viewCache">
         <panelview id="pageActionPanelMainView"
+                   context="pageActionPanelContextMenu"
+                   oncontextmenu="BrowserPageActions.onContextMenu(event);"
                    class="PanelUI-subView">
           <vbox class="panel-subview-body"/>
         </panelview>
       </photonpanelmultiview>
     </panel>
 
     <menupopup id="pageActionPanelContextMenu"
                onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);">