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 f97eea0f51f09f4ade0b5dc3043f1523d1bb9620..aeb77e47ea25771d9761bdf5e4816c4fd4f8b134 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -2072,10 +2072,17 @@ void LayerTreeHostImpl::ScrollEnd() { |
} |
InputHandler::ScrollStatus LayerTreeHostImpl::FlingScrollBegin() { |
- if (active_tree_->CurrentlyScrollingLayer()) |
- return ScrollStarted; |
+ if (!active_tree_->CurrentlyScrollingLayer()) |
+ return ScrollIgnored; |
- return ScrollIgnored; |
+ if (settings_.ignore_root_layer_flings && |
+ active_tree_->CurrentlyScrollingLayer() == |
+ active_tree_->RootScrollLayer()) { |
+ ClearCurrentlyScrollingLayer(); |
+ return ScrollIgnored; |
+ } |
+ |
+ return ScrollStarted; |
} |
void LayerTreeHostImpl::NotifyCurrentFlingVelocity(gfx::Vector2dF velocity) { |