implementation to RenderInputRouter.
This CL refactors input handling interfaces by moving InputRouterClient
interface's implementation to RenderInputRouter completely from
RenderWidgetHostImpl, which would allow RenderInputRouter to handle
touch input events with InputVizard. RenderInputRouterClient is also
introduced which would be passing the repsonsiblity of handling
non-touch input events to RenderWidgetHostImpl in the browser, since
these are not going to be handled on VizCompositor thread with
InputVizard.
Doc Link:
https://docs.google.com/document/d/1dgbvnRChsvfMpXceQ24UbTdFwJpmk5VIl7WXHwExAC4/edit?tab=t.0#heading=h.7wb78gd5w8i0
Bug: b:331420891
Change-Id: I6669f8457bcb7ccf7db639325e6f23fc1c2785f3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5636652
Auto-Submit: Aman Verma <amanvr@google.com>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Aman Verma <amanvr@google.com>
Cr-Commit-Position: refs/heads/main@{#1320247}
This change merges the above mentioned interfaces, since
InputRouterClient is only ever extended by InputRouterClientImplClient
and by MockInputRouterClient. The split isn't for logically splitting
two different concepts, instead they existed due to historical reasons
where we had LegacyInputRouter based on legacy IPC.
P.S. Some tests and test support files still depend on
input_router_impl.h but they would be removed later when we move test
files to //components/input: http://b/345502386.
Bug: b/340182114
Change-Id: I7d1f19d75695c27c64f3a7c203f72b11fad360c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5621072
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Kartar Singh <kartarsingh@google.com>
Cr-Commit-Position: refs/heads/main@{#1316535}
from RenderWidgetHostImpl.
This CL migrates InputDispositionHandler implementation from
RenderWidgetHostImpl to RenderInputRouter. RenderInputRouter will
currently delegate handling GestureEventAck and WheelEventAck to RWHI,
however GestureEventAck handling will be moved to RIR in the next CL to
allow handling touch input events in the common code with InputVizard.
This refactoring is a part of bigger project to handle input on viz
thread (go/input-on-viz). We are moving input related interfaces that
RenderWidgetHostImpl uses to //components/input. This would provide a
single stack in //components/input that we quickly enter in either the
browser or GPU viz which would allow for relatively clean movement of
code. GPU process can link in the same input stack and forward the data
to the renderer using the same code.
Doc Link:
https://docs.google.com/document/d/1dgbvnRChsvfMpXceQ24UbTdFwJpmk5VIl7WXHwExAC4/edit?tab=t.0#heading=h.7wb78gd5w8i0
Bug: b:331420891
Change-Id: Ia6e04472d133125893afe952d1cdeafd00339e69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5589804
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Aman Verma <amanvr@google.com>
Cr-Commit-Position: refs/heads/main@{#1312698}
RenderInputRouter.
This CL does following things:
1. Modifies RenderWidgetHostLatencyTracker to
RenderInputRouterLatencyTracker.
2. Moves methods ForwardTouchEventWithLatencyInfo and
DispatchInputEventWithLatencyInfo to RIR.
3. Implements InputDispositionHandler interface on RIR, handling
TouchAcks and forwarding wheel and gesture acks to be handled by
RWHI. GestureAck's handling will be moved to RIR in subsequent CLs.
4. Makes BrowserAccessibilityStateImpl an InputEventObserver.
5. Removes unnecessary StopFling() from RWHI::DidNavigate.
AX-Relnotes: n/a
Bug: b:331420891
Change-Id: Iee2c9c360d866ecb68db6f88e0d7463f8554e2af
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5527130
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Aman Verma <amanvr@google.com>
Reviewed-by: Stephen Nusko <nuskos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1311833}
RenderWidgetHostImpl.
This CL introduces the following changes to remove dependency of
RenderWidgetTargeter and RenderWidgetHostInputEventRouter on
RenderWidgetHostImpl :
1. Introduces RenderInputRouterDelegate to allow delegation of methods
which will have a different implementation in Viz with InputVizard.
2. Moves mojo methods (ShowContextMenu & BindInputTargetClient) from
FrameWidget interface to RenderInputRouterClient mojo interface.
3. Moves is_in_gesture_scroll_, is_in_touchpad_gesture_fling_ from RWHI
to RIR.
4. Modify RenderWidgetHostInputEventRouter's GetRenderWidgetHostAtPoint
method to GetRenderWidgetHostViewInputAtPoint.
Doc Link:
https://docs.google.com/document/d/1dgbvnRChsvfMpXceQ24UbTdFwJpmk5VIl7WXHwExAC4/edit?tab=t.0#heading=h.7wb78gd5w8i0
Change-Id: I8c62155e5f19f3b50faf9e617b5e5de0ebb4bcb3
Bug: b:330555923
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5371927
Commit-Queue: Aman Verma <amanvr@google.com>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1285164}