| 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 1bbd920a6737bef268a6689ae60b5c5aa36fe47e..0cac71500419cd67738db3b3561397aa49388c2f 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;
|
|
|
|
|