From ae22bfdbb0ca73fd84c1eece143da72e30b08f66 Mon Sep 17 00:00:00 2001 From: noel <noel@chromium.org> Date: Wed, 23 Dec 2015 03:37:55 -0800 Subject: 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} --- third_party/WebKit/Source/platform/scroll/ScrollableArea.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'third_party/WebKit/Source/platform/scroll/ScrollableArea.h') diff --git a/third_party/WebKit/Source/platform/scroll/ScrollableArea.h b/third_party/WebKit/Source/platform/scroll/ScrollableArea.h index 71e221b..50d99bf 100644 --- a/third_party/WebKit/Source/platform/scroll/ScrollableArea.h +++ b/third_party/WebKit/Source/platform/scroll/ScrollableArea.h @@ -212,7 +212,7 @@ public: // Let subclasses provide a way of asking for and servicing scroll // animations. - bool scheduleAnimation(); + virtual bool scheduleAnimation(); virtual void serviceScrollAnimations(double monotonicTime); virtual void updateCompositorScrollAnimations(); virtual void registerForAnimation() { } -- cgit v1.1