Chromium Code Reviews| Index: Source/platform/scroll/ScrollAnimatorNone.cpp |
| diff --git a/Source/platform/scroll/ScrollAnimatorNone.cpp b/Source/platform/scroll/ScrollAnimatorNone.cpp |
| index ceb757b16a23d25b742a17a67a183bb5f43dc217..dce8c972c5f47f96393a3eb882ff0dbdd6219993 100644 |
| --- a/Source/platform/scroll/ScrollAnimatorNone.cpp |
| +++ b/Source/platform/scroll/ScrollAnimatorNone.cpp |
| @@ -433,26 +433,25 @@ ScrollResultOneDimensional ScrollAnimatorNone::userScroll(ScrollbarOrientation o |
| return ScrollResultOneDimensional(needToScroll); |
| } |
| -void ScrollAnimatorNone::scrollToOffsetWithoutAnimation(const FloatPoint& offset, ScrollType scrollType) |
| +void ScrollAnimatorNone::scrollToOffsetWithoutAnimation(const FloatPoint& offset) |
| { |
| - stopAnimationTimerIfNeeded(); |
|
skobes
2015/06/10 23:08:25
Why do we not need this line anymore?
bokan
2015/06/11 00:02:22
We stop the timer in the cancelAnimations() that w
|
| - |
| - m_horizontalData.reset(); |
| - *m_horizontalData.m_currentPosition = offset.x(); |
| - m_horizontalData.m_desiredPosition = offset.x(); |
| m_currentPosX = offset.x(); |
| - |
| - m_verticalData.reset(); |
| - *m_verticalData.m_currentPosition = offset.y(); |
| - m_verticalData.m_desiredPosition = offset.y(); |
| m_currentPosY = offset.y(); |
| - notifyPositionChanged(scrollType); |
| + // Must be called after setting the position since canceling the animation resets |
| + // the desirect position to the current. |
|
skobes
2015/06/10 23:08:25
"desired"
bokan
2015/06/11 00:02:22
Done.
|
| + cancelAnimations(); |
| + notifyPositionChanged(); |
| } |
| void ScrollAnimatorNone::cancelAnimations() |
| { |
| m_animationActive = false; |
| + |
| + m_horizontalData.reset(); |
| + m_verticalData.reset(); |
| + m_horizontalData.m_desiredPosition = m_currentPosX; |
| + m_verticalData.m_desiredPosition = m_currentPosY; |
| } |
| void ScrollAnimatorNone::serviceScrollAnimations() |
| @@ -510,7 +509,7 @@ void ScrollAnimatorNone::animationTimerFired() |
| m_animationActive = false; |
| TRACE_EVENT0("blink", "ScrollAnimatorNone::notifyPositionChanged"); |
| - notifyPositionChanged(UserScroll); |
| + notifyPositionChanged(); |
| if (!continueAnimation) |
| animationDidFinish(); |