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 958419eb306af5bcd1bc1b8a0b022095b9941ee5..52812352469e3fc9a54bd7168d2cd03611ab285b 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -2272,8 +2272,14 @@ bool LayerTreeHostImpl::ScrollBy(const gfx::Point& viewport_point, |
break; |
} |
- if (layer_impl == InnerViewportScrollLayer()) |
+ if (layer_impl == InnerViewportScrollLayer()) { |
unused_root_delta.Subtract(applied_delta); |
+ const float kOverscrollEpsilon = 0.01f; |
+ if (std::abs(unused_root_delta.x()) < kOverscrollEpsilon) |
+ unused_root_delta.set_x(0.0f); |
+ if (std::abs(unused_root_delta.y()) < kOverscrollEpsilon) |
+ unused_root_delta.set_y(0.0f); |
+ } |
did_lock_scrolling_layer_ = true; |
if (!should_bubble_scrolls_) { |