diff --git a/widget/TextEventDispatcher.cpp b/widget/TextEventDispatcher.cpp index 0139f7da4c8e..b9ec2f553f24 100644 --- a/widget/TextEventDispatcher.cpp +++ b/widget/TextEventDispatcher.cpp @@ -240,6 +240,16 @@ Maybe TextEventDispatcher::MaybeQueryWritingModeAtSelection() return Nothing(); } + // If a remote content has focus and IME does not have focus, it's going to + // fail eQuerySelectedText in ContentCacheParent. For avoiding to waste + // unnecessary runtime cost and to prevent unnecessary warnings, we should + // not dispatch the event in the case. + const InputContext inputContext = mWidget->GetInputContext(); + if (XRE_IsE10sParentProcess() && inputContext.IsOriginContentProcess() && + !inputContext.mIMEState.IsEditable()) { + return Nothing(); + } + WidgetQueryContentEvent querySelectedTextEvent(true, eQuerySelectedText, mWidget); nsEventStatus status = nsEventStatus_eIgnore;