summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
diff options
context:
space:
mode:
authorSteve Kobes <skobes@chromium.org>2016-03-10 10:57:39 -0800
committerSteve Kobes <skobes@chromium.org>2016-03-10 18:59:29 +0000
commit984e315638932b66c55ffac58df5ebc9e5ce8a0f (patch)
treee5195180b62cc30c4db35db34d37f339b49b1f73 /third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
parent90987823fb61e3e94c0289a68095b5e52342762a (diff)
downloadchromium_src-984e315638932b66c55ffac58df5ebc9e5ce8a0f.zip
chromium_src-984e315638932b66c55ffac58df5ebc9e5ce8a0f.tar.gz
chromium_src-984e315638932b66c55ffac58df5ebc9e5ce8a0f.tar.bz2
Account for scroll origin in scroll animators.
Blink and cc have different notions of scroll offset - Blink's is relative to the scroll origin which is non-zero in RTL documents. The CompositorScrollOffsetAnimationCurve must work entirely in cc scroll offsets since it is handed over to cc which doesn't know about the scroll origin. This patch teaches ScrollAnimator and ProgrammaticScrollAnimator to convert in both directions when creating and using the curve object. BUG=581264 Review URL: https://codereview.chromium.org/1776503002 Cr-Commit-Position: refs/heads/master@{#379974} (cherry picked from commit 0bb16600006793953292ee1e7fd8bf0a66f575dc) Review URL: https://codereview.chromium.org/1777353002 . Cr-Commit-Position: refs/branch-heads/2623@{#609} Cr-Branched-From: 92d77538a86529ca35f9220bd3cd512cbea1f086-refs/heads/master@{#369907}
Diffstat (limited to 'third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp')
-rw-r--r--third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
index 142b27e..19f77ba 100644
--- a/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
+++ b/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
@@ -195,4 +195,16 @@ WebCompositorAnimationPlayer* ScrollAnimatorCompositorCoordinator::compositorPla
return m_compositorPlayer.get();
}
+FloatPoint ScrollAnimatorCompositorCoordinator::compositorOffsetFromBlinkOffset(FloatPoint offset)
+{
+ offset.moveBy(scrollableArea()->scrollOrigin());
+ return offset;
+}
+
+FloatPoint ScrollAnimatorCompositorCoordinator::blinkOffsetFromCompositorOffset(FloatPoint offset)
+{
+ offset.moveBy(-scrollableArea()->scrollOrigin());
+ return offset;
+}
+
} // namespace blink