Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Issue 2015113003: Correctly update scroll offset animations in response to scroll anchoring (Closed)

Created:
4 years, 7 months ago by ymalik
Modified:
4 years, 6 months ago
Reviewers:
ajuma, skobes, Rick Byers
CC:
chromium-reviews, szager+layoutwatch_chromium.org, rjwright, zoltan1, blink-reviews-animation_chromium.org, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, shans, jchaffraix+rendering, darktears, blink-reviews, Eric Willigers
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Correctly update scroll offset animations in response to scroll anchoring This CL fixes the incorrect implementation in https://crrev.com/1926473003. In addition to the state WaitingToCancelOnCompositorButNewScroll introduced previously, it adds a new state RunningOnCompositorButNeedsAdjustment when an ongoing animation needs to be adjusted. We need the former to fix issue 599876. When an adjustment needs to be made, ScrollAnchor calls into ScrollAnimator which adjusts the curve. When the animation is running on MT, this is enough, but if the animation is running on CC, we abort the old animation and push a new one with the adjusted initial and target positions (hence the new state). This CL also cleans up ::updateCompositorAnimations. Added a new test case for testing MT animation and an animation running on CC is tested by the layout test added in the initial patch. (fast/scroll-behavior/smooth-scroll/ongoing-smooth-scroll-anchors.html) BUG=594456 Committed: https://crrev.com/07ed51b3771572c4bff43a990351f4be1de4f4ae Cr-Commit-Position: refs/heads/master@{#396913}

Patch Set 1 #

Total comments: 8

Patch Set 2 : review comments #

Patch Set 3 : nit #

Messages

Total messages: 24 (10 generated)
ymalik
4 years, 7 months ago (2016-05-26 23:07:03 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2015113003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2015113003/1
4 years, 7 months ago (2016-05-26 23:08:06 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-27 01:39:08 UTC) #7
commit-bot: I haz the power
Dry run: None
4 years, 7 months ago (2016-05-27 01:39:21 UTC) #8
ajuma
lgtm https://codereview.chromium.org/2015113003/diff/1/third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp File third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp (right): https://codereview.chromium.org/2015113003/diff/1/third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp#newcode327 third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp:327: // adjustment ot the curve. s/ot/to
4 years, 6 months ago (2016-05-27 14:21:35 UTC) #9
skobes
Thanks for doing this! https://codereview.chromium.org/2015113003/diff/1/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp File third_party/WebKit/Source/core/layout/ScrollAnchor.cpp (right): https://codereview.chromium.org/2015113003/diff/1/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp#newcode245 third_party/WebKit/Source/core/layout/ScrollAnchor.cpp:245: ScrollAnimatorBase* animator = m_scroller->existingScrollAnimator(); Could ...
4 years, 6 months ago (2016-05-27 17:58:30 UTC) #10
ymalik
@skobed PTAL :) https://codereview.chromium.org/2015113003/diff/1/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp File third_party/WebKit/Source/core/layout/ScrollAnchor.cpp (right): https://codereview.chromium.org/2015113003/diff/1/third_party/WebKit/Source/core/layout/ScrollAnchor.cpp#newcode245 third_party/WebKit/Source/core/layout/ScrollAnchor.cpp:245: ScrollAnimatorBase* animator = m_scroller->existingScrollAnimator(); On 2016/05/27 ...
4 years, 6 months ago (2016-05-27 20:03:11 UTC) #11
skobes
lgtm
4 years, 6 months ago (2016-05-27 20:05:45 UTC) #12
ymalik
+jbroman for Source/platform
4 years, 6 months ago (2016-05-27 20:10:46 UTC) #14
ymalik
+rbyers for Source/platform
4 years, 6 months ago (2016-05-31 15:20:15 UTC) #16
Rick Byers
RS LGTM - ajuma and skobes are experts here.
4 years, 6 months ago (2016-05-31 16:12:23 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2015113003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2015113003/40001
4 years, 6 months ago (2016-05-31 18:38:16 UTC) #20
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 6 months ago (2016-05-31 20:25:13 UTC) #22
commit-bot: I haz the power
4 years, 6 months ago (2016-05-31 20:45:14 UTC) #24
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/07ed51b3771572c4bff43a990351f4be1de4f4ae
Cr-Commit-Position: refs/heads/master@{#396913}

Powered by Google App Engine
This is Rietveld 408576698