Bug 1297569 - Disable XUL popup contextmenu handler for all remote targets. r=felipc draft
authorJ. Ryan Stinnett <jryans@gmail.com>
Tue, 23 Aug 2016 19:46:07 -0500
changeset 404760 a99118bf95f375145f83c3d52c41af2b5f85db19
parent 401949 6eaeaf5c15149ba1ec0384a5d9f8db608f28d1a3
child 529256 4fddf00b4b0cf48c09b1130458fc3360f701cd75
push id27286
push userbmo:jryans@gmail.com
push dateWed, 24 Aug 2016 00:50:36 +0000
reviewersfelipc
bugs1297569, 516753
milestone51.0a1
Bug 1297569 - Disable XUL popup contextmenu handler for all remote targets. r=felipc This expands the existing escape hatch added by bug 516753 (which disabled this same handler for content within a remote xul:browser). After this change, it is is disabled for any remote target (`EventStateManager::IsRemoteTarget`), which in practice means remote xul:browser or remote iframe mozbrowser. MozReview-Commit-ID: Ix7fdtDH54R
dom/xul/nsXULPopupListener.cpp
--- a/dom/xul/nsXULPopupListener.cpp
+++ b/dom/xul/nsXULPopupListener.cpp
@@ -133,18 +133,17 @@ nsXULPopupListener::HandleEvent(nsIDOMEv
       return NS_ERROR_FAILURE;
     }
   }
 
   nsCOMPtr<nsIContent> targetContent = do_QueryInterface(target);
   if (!targetContent) {
     return NS_OK;
   }
-  if (targetContent->IsXULElement(nsGkAtoms::browser) &&
-      EventStateManager::IsRemoteTarget(targetContent)) {
+  if (EventStateManager::IsRemoteTarget(targetContent)) {
     return NS_OK;
   }
 
   bool preventDefault;
   mouseEvent->AsEvent()->GetDefaultPrevented(&preventDefault);
   if (preventDefault && targetNode && mIsContext) {
     // Someone called preventDefault on a context menu.
     // Let's make sure they are allowed to do so.