Bug 1261299 - Add a flag to check whether the widget query event is dispatched on the chrome or content process. draft
authorJimmy Wang <jimmyw22@gmail.com>
Tue, 05 Jul 2016 14:15:49 -0400
changeset 387313 3452de0c7e26e77f6a8cbb27f9b1aec1aa6f12d4
parent 387312 47c17f18ffcdbda15968b7aa71d7792876c0bb35
child 387314 7c7c9024a433ca3b725f35eb447d3003011b0138
child 387684 e76cdd096a1c6144045e62e3b4341347ff945ccd
push id22934
push userjimmyw22@gmail.com
push dateWed, 13 Jul 2016 19:15:42 +0000
bugs1261299
milestone50.0a1
Bug 1261299 - Add a flag to check whether the widget query event is dispatched on the chrome or content process. MozReview-Commit-ID: EO3vfjdWupA
dom/events/EventStateManager.cpp
widget/TextEvents.h
--- a/dom/events/EventStateManager.cpp
+++ b/dom/events/EventStateManager.cpp
@@ -849,19 +849,21 @@ EventStateManager::HandleQueryContentEve
     case eQueryTextRect:
     case eQueryEditorRect:
       if (!IsTargetCrossProcess(aEvent)) {
         break;
       }
       // Will not be handled locally, remote the event
       GetCrossProcessTarget()->HandleQueryContentEvent(*aEvent);
       return;
-    // Following events have not been supported in e10s mode yet.
     case eQueryContentState:
     case eQuerySelectionAsTransferable:
+      aEvent->mIsContentProcess = IsRemoteTarget(GetFocusedContent());
+      break;
+    // Following events have not been supported in e10s mode yet.
     case eQueryCharacterAtPoint:
     case eQueryDOMWidgetHittest:
     case eQueryTextRectArray:
       break;
     default:
       return;
   }
 
--- a/widget/TextEvents.h
+++ b/widget/TextEvents.h
@@ -747,16 +747,17 @@ public:
   {
     NS_ASSERTION(mMessage == eQuerySelectedText ||
                  mMessage == eQueryCaretRect ||
                  mMessage == eQueryTextRect,
                  "not querying selection or text rect");
     return mReply.mWritingMode;
   }
 
+  bool mIsContentProcess;
   bool mSucceeded;
   bool mUseNativeLineBreak;
   bool mWithFontRanges;
   struct Input final
   {
     uint32_t EndOffset() const
     {
       CheckedInt<uint32_t> endOffset =