DescriptionDon't send touchcancel on touch scroll start
This switches the default touch scrolling mode from 'touch cancel on scroll' to our new 'touch move absorption' behavior. Briefly: touchmove events still aren't sent during active scrolling (for performance reasons), but will be sent when overscrolling. See https://docs.google.com/a/chromium.org/document/d/1MGuCb0Lb7UfaDmH44bp9YKVG-CVfH6WtKTZl93BXwQw/edit# for details.
This exposes the touch scrolling mode in chrome://flags/#touch-scrolling-mode so that we can easily switch back to the old behavior for diagnostics purposes. This will be removed after this has reached stable (crbug.com/350430).
Fixes a bug where (depending on timing) we could send one or more extra touchmove events at the start of a scroll sequence. Now we start every scroll with moves being absorbed and switch to sending move events only after we've seen an unconsumed GestureScrollUpdate.
Fixes a bug where scrolling the top controls (Android) wouldn't mark the GestureScrollUpdate event as consumed. Adds a unit test covering this and other basic parts of LayerTreeHostImpl's scrolling behavior with respect to top controls.
Updates some tests to support both the original "touchcancel" mode and the new "touchmove absorption" mode. This way if we uncover problems after branch, we can simply flip the default mode (rather than reverting this entire CL).
BUG=346693
R=aelias@chromium.org, jdduke@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=255787
Patch Set 1 #Patch Set 2 : Update tests, fix one bug #Patch Set 3 : More fixes #Patch Set 4 : Fix top controls scrolling and add test #Patch Set 5 : Update test #
Total comments: 2
Patch Set 6 : Add a couple tests #
Total comments: 6
Patch Set 7 : Fix resource description #Patch Set 8 : Merge with trunk (no changes) #Patch Set 9 : Fix win compile warning #Messages
Total messages: 20 (0 generated)
|