Chromium Code Reviews
DescriptionRespect the order of input messages from browser to renderer
When we call InputConnection#setSelection and other methods together,
the order sometimes does not get kept. The reason is that
SetEditableSelectionOffsets is a frame message while all the others are
input messages, and they go to different message queues.
In addition, RenderViewImpl is the only who registers its routing ID
through InputHandlerManager::AddInputHandler() call. RenderFrameImpl,
on the other hand, does not register itself.
Once routing ID is registered, InputEventFilter will post input messages to
compositor impl thread first (such that scrolling can happen inside
compositor impl thread and keep in line with other input message handling
order).
We fix this by
1) Changing SetEditableSelectionOffsets from FrameMsg to InputMsg.
(Now there is no remaining frame messages in ime_adapter_android.cc.)
2) Change DidAddInputHandler() and DidRemoveInputHandler() names to
RegisterRoutingID() and UnregisterRoutingID(), respectively.
3) Register RenderFrame's routing ID at InputEventFilter.
BUG=601707
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review-Url: https://codereview.chromium.org/1877073003
Cr-Commit-Position: refs/heads/master@{#399404}
(cherry picked from commit d659e20ed5d564cca67934147b481a32a59f3f6a)
Committed: https://chromium.googlesource.com/chromium/src/+/17ab5a827acb2ae1dbf1a53181d0dd09a0769766
Patch Set 1 #Messages
Total messages: 2 (1 generated)
|