| Index: third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp
|
| diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp b/third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp
|
| index af2340832e8dad8845e7a8f6ababeabbfe2ac122..38a3df57dd9be6db040824ac3a8b8aea5d09383c 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp
|
| +++ b/third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp
|
| @@ -147,7 +147,15 @@ bool ScrollAnimator::willAnimateToOffset(const FloatPoint& targetPos)
|
| if (m_runState == RunState::PostAnimationCleanup)
|
| resetAnimationState();
|
|
|
| - if (m_animationCurve && m_runState != RunState::WaitingToCancelOnCompositor) {
|
| + if (m_runState == RunState::WaitingToCancelOnCompositor) {
|
| + // Ignore user scroll if WaitingToCancelOnCompositor. Can be in this
|
| + // state when holding down an arrow.
|
| + // TODO(ymalik): Handle this case by either updating the target on the
|
| + // current scroll or starting a new animation (see crbug.com/599876).
|
| + return true;
|
| + }
|
| +
|
| + if (m_animationCurve) {
|
| if ((targetPos - m_targetOffset).isZero())
|
| return true;
|
|
|
|
|