Index: cc/layer_impl.cc |
diff --git a/cc/layer_impl.cc b/cc/layer_impl.cc |
index 54e45fadb2528f0e0f1545e2fa4afd830ddfcc36..0b57f6790f9cf88a7bf19f2ea8adab2bbb0b3011 100644 |
--- a/cc/layer_impl.cc |
+++ b/cc/layer_impl.cc |
@@ -9,6 +9,7 @@ |
#include "base/debug/trace_event.h" |
#include "base/stringprintf.h" |
#include "cc/debug_border_draw_quad.h" |
+#include "cc/geometry.h" |
#include "cc/layer_sorter.h" |
#include "cc/math_util.h" |
#include "cc/proxy.h" |
@@ -179,13 +180,15 @@ ResourceProvider::ResourceId LayerImpl::contentsResourceId() const |
return 0; |
} |
-FloatSize LayerImpl::scrollBy(const FloatSize& scroll) |
+gfx::Vector2dF LayerImpl::scrollBy(const gfx::Vector2dF& scroll) |
{ |
- IntSize minDelta = -toSize(m_scrollPosition); |
- IntSize maxDelta = m_maxScrollPosition - toSize(m_scrollPosition); |
+ gfx::Vector2dF minDelta = -m_scrollOffset; |
+ gfx::Vector2dF maxDelta = m_maxScrollOffset - m_scrollOffset; |
// Clamp newDelta so that position + delta stays within scroll bounds. |
- FloatSize newDelta = (m_scrollDelta + scroll).expandedTo(minDelta).shrunkTo(maxDelta); |
- FloatSize unscrolled = m_scrollDelta + scroll - newDelta; |
+ gfx::Vector2dF newDelta = (m_scrollDelta + scroll); |
+ newDelta = ClampFromBelow(newDelta, minDelta); |
+ newDelta = ClampFromAbove(newDelta, maxDelta); |
+ gfx::Vector2dF unscrolled = m_scrollDelta + scroll - newDelta; |
if (m_scrollDelta == newDelta) |
return unscrolled; |
@@ -623,16 +626,16 @@ void LayerImpl::setContentsScale(float contentsScaleX, float contentsScaleY) |
m_layerPropertyChanged = true; |
} |
-void LayerImpl::setScrollPosition(const IntPoint& scrollPosition) |
+void LayerImpl::setScrollOffset(gfx::Vector2d scrollOffset) |
{ |
- if (m_scrollPosition == scrollPosition) |
+ if (m_scrollOffset == scrollOffset) |
return; |
- m_scrollPosition = scrollPosition; |
+ m_scrollOffset = scrollOffset; |
noteLayerPropertyChangedForSubtree(); |
} |
-void LayerImpl::setScrollDelta(const FloatSize& scrollDelta) |
+void LayerImpl::setScrollDelta(const gfx::Vector2dF& scrollDelta) |
{ |
if (m_scrollDelta == scrollDelta) |
return; |
@@ -670,9 +673,9 @@ void LayerImpl::didLoseContext() |
{ |
} |
-void LayerImpl::setMaxScrollPosition(const IntSize& maxScrollPosition) |
+void LayerImpl::setMaxScrollOffset(gfx::Vector2d maxScrollOffset) |
{ |
- m_maxScrollPosition = maxScrollPosition; |
+ m_maxScrollOffset = maxScrollOffset; |
if (!m_scrollbarAnimationController) |
return; |