Run smooth scroll animations on the compositor when possible
This CL implements "immediate retargeting" shown in the following diagram:
https://docs.google.com/drawings/d/1z76m-GMDgLI-clkfroLJ-5yhsHkmriZr_swP0kn5iw4
This CL does the following
- Add a new state to ScrollAnimatorCompositorCoordinator to update the target
offset on the compositor
- Use the ScrollAnimatorCompositorCoordinator to schedule anim
- Add plumbing from the animators to the animation controller to abort
animations
Sample test pages:
yashmalik.com/nested_scroll_mousewheel_listener.html
yashmalik.com/nested_scroll_mousewheel_listener_15ms_janky.html (tight loop in RAF)
BUG=552556
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1534813004
Cr-Commit-Position: refs/heads/master@{#366685}
31 files changed