Use mojom.InputTargetClient for targeting mouse events in oopif |
|||
Issue descriptionIf the hit-test targeter for oopif returns a target with low-confidence ( issue 796648 ), then it would be necessary to use the mojom.InputTargetClient api to find a good target.
,
Dec 21 2017
I have a CL up for this at: https://chromium-review.googlesource.com/c/chromium/src/+/838626 The CL is still WIP, but I think gives a good overview of the final architecture.
,
Dec 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8e8ae37d2e02943cadb4d658777866e8e4a12f60 commit 8e8ae37d2e02943cadb4d658777866e8e4a12f60 Author: Sadrul Habib Chowdhury <sadrul@chromium.org> Date: Sun Dec 24 03:56:47 2017 event router: Use mojom.InputTargetClient for targeting. Introduce a RenderWidgetTargeter. Briefly: . RenderWidgetTargeter is responsible for finding a target for a particular event. Right now, it first asks the router itself to find a target. The router returns a target, and a bool flag, indicating whether the returned target needs to be asked for the final target (i.e. whether InputTargetClient should be used). . Once HitTestQuery is ready, the same RenderWidgetTargeter can be used, but instead of asking the router itself for the target, and bool flag, the targeter will ask the HitTestQuery. . If an event-targeting request is sent to a client using the mojom.InputTargetClient API, then subsequent events are put in a queue, until the client responds to the request. . Once a client responds to a targeting request, RenderWidgetTargeter attempts to flush the queue, until the queue becomes empty, or another targeting request to a client is made using InputTargetClient api. Bug: 796656 Change-Id: I55a75f9d69136731af96b2bf292c0f361fa729c4 Reviewed-on: https://chromium-review.googlesource.com/838626 Reviewed-by: Ken Buchanan <kenrb@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org> Cr-Commit-Position: refs/heads/master@{#526154} [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/BUILD.gn [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/frame_host/render_frame_host_impl.cc [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/frame_host/render_frame_host_impl.h [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/renderer_host/DEPS [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/renderer_host/render_widget_host_impl.cc [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/renderer_host/render_widget_host_impl.h [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/renderer_host/render_widget_host_input_event_router.cc [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/renderer_host/render_widget_host_input_event_router.h [add] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/renderer_host/render_widget_targeter.cc [add] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/renderer_host/render_widget_targeter.h [modify] https://crrev.com/8e8ae37d2e02943cadb4d658777866e8e4a12f60/content/browser/site_per_process_browsertest.cc
,
Jan 5 2018
I am changing this bug to be for just mouse events. Fix for mouse-wheel event is tracked in issue 799473 . Fix for touch events is tracked in issue 799474 . |
|||
►
Sign in to add a comment |
|||
Comment 1 by sadrul@chromium.org
, Dec 20 2017