Bug 1261299 - Add a flag to check whether the widget query event is dispatched on the chrome or content process.
MozReview-Commit-ID: EO3vfjdWupA
--- 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 =