diff options
author | Steve Kobes <skobes@chromium.org> | 2016-03-10 10:57:39 -0800 |
---|---|---|
committer | Steve Kobes <skobes@chromium.org> | 2016-03-10 18:59:29 +0000 |
commit | 984e315638932b66c55ffac58df5ebc9e5ce8a0f (patch) | |
tree | e5195180b62cc30c4db35db34d37f339b49b1f73 /third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp | |
parent | 90987823fb61e3e94c0289a68095b5e52342762a (diff) | |
download | chromium_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.cpp | 12 |
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 |