diff options
author | ymalik <ymalik@chromium.org> | 2015-12-22 15:17:10 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-22 23:18:23 +0000 |
commit | 5534a2b2972534b523014c803e1e0e0541855cc7 (patch) | |
tree | 59ad1c2863849ef5bacf96f4eaf5446f5742ece2 /cc/blink/web_layer_impl.h | |
parent | 5a080f017c68b6230a6acea6cca89414d12db661 (diff) | |
download | chromium_src-5534a2b2972534b523014c803e1e0e0541855cc7.zip chromium_src-5534a2b2972534b523014c803e1e0e0541855cc7.tar.gz chromium_src-5534a2b2972534b523014c803e1e0e0541855cc7.tar.bz2 |
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}
Diffstat (limited to 'cc/blink/web_layer_impl.h')
-rw-r--r-- | cc/blink/web_layer_impl.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/cc/blink/web_layer_impl.h b/cc/blink/web_layer_impl.h index a1b762b..3fd0bcc 100644 --- a/cc/blink/web_layer_impl.h +++ b/cc/blink/web_layer_impl.h @@ -113,6 +113,7 @@ class WebLayerImpl : public blink::WebLayer { void removeAnimation(int animation_id, blink::WebCompositorAnimation::TargetProperty) override; void pauseAnimation(int animation_id, double time_offset) override; + void abortAnimation(int animation_id) override; bool hasActiveAnimation() override; void setForceRenderSurface(bool force) override; void setScrollPositionDouble(blink::WebDoublePoint position) override; |