Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index 00ae766155f380cb6f9ec597dd5b8575d7791b36..9e93c71a7aa4efe58b931595e224a33312c54049 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -2593,12 +2593,17 @@ gfx::Vector2dF LayerTreeHostImpl::ScrollLayer(LayerImpl* layer_impl, |
InputHandlerScrollResult LayerTreeHostImpl::ScrollBy( |
const gfx::Point& viewport_point, |
- const gfx::Vector2dF& scroll_delta) { |
+ const gfx::Vector2dF& unrailed_scroll_delta, |
+ InputHandler::RailsMode rails_mode) { |
TRACE_EVENT0("cc", "LayerTreeHostImpl::ScrollBy"); |
if (!CurrentlyScrollingLayer()) |
return InputHandlerScrollResult(); |
- gfx::Vector2dF pending_delta = scroll_delta; |
+ gfx::Vector2dF pending_delta = unrailed_scroll_delta; |
+ if (rails_mode == InputHandler::RAILS_MODE_HORIZONTAL) |
+ pending_delta.set_y(0); |
+ if (rails_mode == InputHandler::RAILS_MODE_VERTICAL) |
+ pending_delta.set_x(0); |
gfx::Vector2dF unused_root_delta; |
bool did_scroll_x = false; |
bool did_scroll_y = false; |