Index: cc/layers/viewport.cc |
diff --git a/cc/layers/viewport.cc b/cc/layers/viewport.cc |
index f2f6282d166a4bee64c6952afbaed0b690689e9d..8b58c5f3345c0b209d1d5cee67229884c41422cf 100644 |
--- a/cc/layers/viewport.cc |
+++ b/cc/layers/viewport.cc |
@@ -68,6 +68,14 @@ Viewport::ScrollResult Viewport::ScrollBy(const gfx::Vector2dF& delta, |
return result; |
} |
+void Viewport::ScrollByInnerFirst(const gfx::Vector2dF& delta) { |
+ LayerImpl* scroll_layer = InnerScrollLayer(); |
+ |
+ gfx::Vector2dF unused_delta = scroll_layer->ScrollBy(delta); |
+ if (!unused_delta.IsZero() && OuterScrollLayer()) |
+ OuterScrollLayer()->ScrollBy(unused_delta); |
+} |
+ |
bool Viewport::ShouldAnimateViewport(const gfx::Vector2dF& viewport_delta, |
const gfx::Vector2dF& pending_delta) { |
float max_dim_viewport_delta = |
@@ -186,6 +194,10 @@ void Viewport::PinchEnd() { |
pinch_zoom_active_ = false; |
} |
+LayerImpl* Viewport::MainScrollLayer() const { |
+ return InnerScrollLayer(); |
+} |
+ |
gfx::Vector2dF Viewport::ScrollTopControls(const gfx::Vector2dF& delta) { |
gfx::Vector2dF excess_delta = |
host_impl_->top_controls_manager()->ScrollBy(delta); |