commit | 0b48b62c4392e7cd594d9fbe8684e93abc72aa1b | [log] [tgz] |
---|---|---|
author | Sahel Sharify <sahel@chromium.org> | Thu Nov 08 21:27:02 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Nov 08 21:27:02 2018 |
tree | 7acaded01484591ac5f81ccd37ace29746dfe6de | |
parent | ec359a9fb542a5f6f92708ec05c186dd15cac7f4 [diff] |
Fixed fling regression from registering observer on GSB instead of GFS. This cl resolves the regression that is caused by the following cl: https://chromium-review.googlesource.com/c/chromium/src/+/1313270 The previous cl calls UnregisterFlingSchedulerObserver() twice when a fling gets cancelled: once from gesture_event_queue while handling the generated GSE and once from FlingScheduler::DidStopFlingingOnBrowser. When there is only one active fling and the fling is not interrupted by another scroll/fling this works fine since the second Unregister call does nothing. However sometimes when a new fling replaces an active fling (e.g. starting a fling in the opposite direction of the currently active fling) the second Unregister call unregisters the observer that is added for the new fling. Since the observer is unregistered for the new fling no ProgressFling will get called till the user does a third fling. on the first ProgressFling call for the third fling, the controller tries to cancel the second fling and calls unregister which unregisters the observer for the third fling and the same thing happens for the rest of the flings from now on. This cl fixes the issue by not calling UnregisterFlingSchedulerObserver() in FlingScheduler::DidStopFlingingOnBrowser since it will get called once the generated GSE of the fling cancel is processed. Bug: 901831 Change-Id: I4d52f512ea38764fc64c580f6cac5ed4a32c1bee Reviewed-on: https://chromium-review.googlesource.com/c/1327145 Reviewed-by: Dave Tapuska <dtapuska@chromium.org> Commit-Queue: Sahel Sharify <sahel@chromium.org> Cr-Commit-Position: refs/heads/master@{#606606}
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 .