commit | a1403ff3efbd8f412e2e0c9b0257da3933f8692b | [log] [tgz] |
---|---|---|
author | W. James MacLean <wjmaclean@chromium.org> | Mon Jun 11 19:28:08 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Jun 11 19:28:08 2018 |
tree | 54c02091f8ceb84e44c2028f2ec06583a2272417 | |
parent | e6c18518bbcc4fb0ca88aa7d11214021abad09d9 [diff] |
Route Emulated Touch Events for OOPIFs This CL makes TouchEmulator work for OOPIFs by 1) Instantiating a single TouchEmulator for all views, 2) Moving ownership of the single TouchEmulator to RenderWidgetHostInputEventRouter (RWHIER), and 3) Routing the subsequent touch/gesture events through the input event router. The last item is important so that scroll bubbling from OOPIFs to parent views will work properly. It's important to note that emulated touch events are *always* routed to the same view that originally received the mouse event that is being converted into a touch event. But GestureEvent targetting will now follow the usual rules enforced by RWHIER. A core component of this CL involves having RWHIER implement TouchEmulatorClient, so that it can mediate actions among multiple views without the TouchEmulator needing to be aware of their existence. Ideally we would like the single TouchEmulator to use the same GestureProvider as the root view, but since touch emulation requires custom configuration of the GestureProvider, and since (at present) GestureProvider does not allow most configuration parameters to change after instantiation, having a single GestureProvider will have to wait. Bug: 824772 Change-Id: I1c007631e08fd7f4ece8accb896cad9bc4982f97 Reviewed-on: https://chromium-review.googlesource.com/1069661 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Reviewed-by: Ken Buchanan <kenrb@chromium.org> Commit-Queue: James MacLean <wjmaclean@chromium.org> Cr-Commit-Position: refs/heads/master@{#566103}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .