diff options
author | noel <noel@chromium.org> | 2015-12-23 03:37:55 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-23 11:38:50 +0000 |
commit | ae22bfdbb0ca73fd84c1eece143da72e30b08f66 (patch) | |
tree | 9ab8d0258fc3b2b38b55cdcd17414f730c9938c4 /third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp | |
parent | 2b7b5550416097a10d9373bc5f0810201d5f127d (diff) | |
download | chromium_src-ae22bfdbb0ca73fd84c1eece143da72e30b08f66.zip chromium_src-ae22bfdbb0ca73fd84c1eece143da72e30b08f66.tar.gz chromium_src-ae22bfdbb0ca73fd84c1eece143da72e30b08f66.tar.bz2 |
Reland of un smooth scroll animations on the compositor when possible (patchset #1 id:1 of https://codereview.chromium.org/1548883002/ )
Reason for revert:
The revert did not help, the tests
virtual/threaded/fast/scroll-behavior/overflow-scroll-root-frame-animates.html
virtual/threaded/fast/scroll-behavior/overflow-scroll-animates.html
are now slower and hitting test timeout limits.
Original issue's description:
> Revert of Run smooth scroll animations on the compositor when possible (patchset #4 id:60001 of https://codereview.chromium.org/1534813004/ )
>
> Reason for revert:
> Appears to have made Linux debug builds fail the following tests:
>
> virtual/threaded/fast/scroll-behavior/overflow-scroll-root-frame-animates.html
> virtual/threaded/fast/scroll-behavior/overflow-scroll-animates.html
>
> https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%29/builds/5360
>
> Reverting to green the Blink tree.
>
> Original issue's description:
> > 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
> >
> > Committed: https://crrev.com/5534a2b2972534b523014c803e1e0e0541855cc7
> > Cr-Commit-Position: refs/heads/master@{#366685}
>
> TBR=skobes@chromium.org,ajuma@chromium.org,vollick@chromium.org,rbyers@chromium.org,ymalik@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=552556
>
> Committed: https://crrev.com/51059d9d038aa255afdddfcbd3d418eb42b718ff
> Cr-Commit-Position: refs/heads/master@{#366733}
TBR=skobes@chromium.org,ajuma@chromium.org,vollick@chromium.org,rbyers@chromium.org,ymalik@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=552556
Review URL: https://codereview.chromium.org/1543043004
Cr-Commit-Position: refs/heads/master@{#366739}
Diffstat (limited to 'third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp')
-rw-r--r-- | third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp b/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp index 6910c4f..3e29f04 100644 --- a/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp +++ b/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp @@ -64,6 +64,12 @@ void ProgrammaticScrollAnimator::animateToOffset(FloatPoint offset) m_runState = RunState::WaitingToSendToCompositor; } +void ProgrammaticScrollAnimator::cancelAnimation() +{ + ASSERT(m_runState != RunState::RunningOnCompositorButNeedsUpdate); + ScrollAnimatorCompositorCoordinator::cancelAnimation(); +} + void ProgrammaticScrollAnimator::tickAnimation(double monotonicTime) { if (m_runState != RunState::RunningOnMainThread) @@ -154,6 +160,7 @@ void ProgrammaticScrollAnimator::layerForCompositedScrollingDidChange(WebComposi void ProgrammaticScrollAnimator::notifyCompositorAnimationFinished(int groupId) { + ASSERT(m_runState != RunState::RunningOnCompositorButNeedsUpdate); ScrollAnimatorCompositorCoordinator::compositorAnimationFinished(groupId); } |