Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2320)

Unified Diff: cc/layers/viewport.cc

Issue 2388563002: Clean up viewport scrolling methods in CC (Closed)
Patch Set: Fix tests Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/viewport.h ('k') | cc/trees/layer_tree_host_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « cc/layers/viewport.h ('k') | cc/trees/layer_tree_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698