| Index: third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp
|
| diff --git a/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp b/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp
|
| index 99f58fd7b3390ca1aa25e12abf734218f3a4dfea..437bee38681c0dd871c04818285008f2721062fb 100644
|
| --- a/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp
|
| +++ b/third_party/WebKit/Source/platform/scroll/ProgrammaticScrollAnimator.cpp
|
| @@ -56,7 +56,7 @@ void ProgrammaticScrollAnimator::animateToOffset(FloatPoint offset)
|
| m_startTime = 0.0;
|
| m_targetOffset = offset;
|
| m_animationCurve = adoptPtr(CompositorFactory::current().createScrollOffsetAnimationCurve(
|
| - m_targetOffset,
|
| + compositorOffsetFromBlinkOffset(m_targetOffset),
|
| CompositorAnimationCurve::TimingFunctionTypeEaseInOut,
|
| CompositorScrollOffsetAnimationCurve::ScrollDurationDeltaBased));
|
|
|
| @@ -83,7 +83,7 @@ void ProgrammaticScrollAnimator::tickAnimation(double monotonicTime)
|
| m_startTime = monotonicTime;
|
| double elapsedTime = monotonicTime - m_startTime;
|
| bool isFinished = (elapsedTime > m_animationCurve->duration());
|
| - FloatPoint offset = m_animationCurve->getValue(elapsedTime);
|
| + FloatPoint offset = blinkOffsetFromCompositorOffset(m_animationCurve->getValue(elapsedTime));
|
| notifyPositionChanged(IntPoint(offset.x(), offset.y()));
|
|
|
| if (isFinished) {
|
| @@ -139,7 +139,8 @@ void ProgrammaticScrollAnimator::updateCompositorAnimations()
|
|
|
| if (!sentToCompositor) {
|
| m_runState = RunState::RunningOnMainThread;
|
| - m_animationCurve->setInitialValue(FloatPoint(m_scrollableArea->scrollPosition()));
|
| + m_animationCurve->setInitialValue(compositorOffsetFromBlinkOffset(
|
| + FloatPoint(m_scrollableArea->scrollPosition())));
|
| if (!m_scrollableArea->scheduleAnimation()) {
|
| notifyPositionChanged(IntPoint(m_targetOffset.x(), m_targetOffset.y()));
|
| resetAnimationState();
|
| @@ -158,7 +159,8 @@ void ProgrammaticScrollAnimator::layerForCompositedScrollingDidChange(Compositor
|
| m_runState = RunState::RunningOnMainThread;
|
| m_compositorAnimationId = 0;
|
| m_compositorAnimationGroupId = 0;
|
| - m_animationCurve->setInitialValue(FloatPoint(m_scrollableArea->scrollPosition()));
|
| + m_animationCurve->setInitialValue(compositorOffsetFromBlinkOffset(
|
| + FloatPoint(m_scrollableArea->scrollPosition())));
|
| m_scrollableArea->registerForAnimation();
|
| if (!m_scrollableArea->scheduleAnimation()) {
|
| resetAnimationState();
|
|
|