commit | ce09732e027baa00932ffc4b8ec06f735333153a | [log] [tgz] |
---|---|---|
author | Xida Chen <xidachen@chromium.org> | Wed May 30 15:22:48 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Wed May 30 15:22:48 2018 |
tree | b4eac1d046c522a8e4feccc185b99923f02f2362 | |
parent | 3234223cf7b4853d379e6c0728de26f4d135f48b [diff] |
Send GFS/GFC to FlingController before TouchActionFilter In our current implementation, we ask touch action filter to process a gesture event first and then check whether the event should be queued or not. For FlingStart and FlingCancel we never queue them even if the touch action filter says that they are allowed. As a result, FlingStart gesture will always sent to touch action filter and that's causing some bugs. This CL fixes it by re-ordering how we process a gesture event. We apply three different filters in the following order: 1-The fling controller decides to either filter the event or forward it. The filtering happens either when the controller processes the GSF/GFC events or when it suppresses GSB/GSU events during fling boosting. 2- If the event is not filtered by the fling controller, the touch action filter checks to filter the touchscreen gesture scroll events, with this change this filter doesn't receive GFS events anymore since they are already filtered by the fling controller. 3- If a gesture event is not filtered by any of the two filters above, the gesture_event_queue chooses to either add the event to the event queue to be sent to the renderer or filter the event and add it to debouncing_deferral_queue_. Bug: 838616 Change-Id: I0e363d2fff12fdf5f91c51d42c3752355bb7cccd Reviewed-on: https://chromium-review.googlesource.com/1075554 Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Reviewed-by: Sahel Sharifymoghaddam <sahel@chromium.org> Commit-Queue: Xida Chen <xidachen@chromium.org> Cr-Commit-Position: refs/heads/master@{#562831}
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 .