Bug 1283582 - Stop displaying the context menu in Fennec if web content did a preventDefault on the event. r?margaret draft
authorKartikaya Gupta <kgupta@mozilla.com>
Thu, 30 Jun 2016 15:04:08 -0400
changeset 382881 d41ee1432ba459c99df71c71af099d4ffb244728
parent 382798 82e1f1b9c0559f38a8460e2f2f3044de4c7712d6
child 524323 016835622ea9fbe500244f760d705270413d3c51
push id21860
push userkgupta@mozilla.com
push dateThu, 30 Jun 2016 19:04:35 +0000
reviewersmargaret
bugs1283582
milestone50.0a1
Bug 1283582 - Stop displaying the context menu in Fennec if web content did a preventDefault on the event. r?margaret MozReview-Commit-ID: 88PMQt2IiNs
mobile/android/chrome/content/browser.js
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -2673,16 +2673,22 @@ var NativeWindow = {
      */
     show: function(event) {
       // Android Long-press / contextmenu event provides clientX/Y data. This is not provided
       // by mochitest: test_browserElement_inproc_ContextmenuEvents.html.
       if (!event.clientX || !event.clientY) {
         return;
       }
 
+      // If the event was already defaultPrevented by somebody (web content, or
+      // some other part of gecko), then don't do anything with it.
+      if (event.defaultPrevented) {
+        return;
+      }
+
       // Use the highlighted element for the context menu target. When accessibility is
       // enabled, elements may not be highlighted so use the event target instead.
       this._target = BrowserEventHandler._highlightElement || event.target;
       if (!this._target) {
         return;
       }
 
       // Try to build a list of contextmenu items. If successful, actually show the