| 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 21018cda889305f1ac26b69ff19bc7e4c29f63db..3966f502a614849155dac0af7bf549ee2277c112 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -2269,6 +2269,15 @@ bool LayerTreeHostImpl::ScrollBy(const gfx::Point& viewport_point,
|
| applied_delta = ScrollLayerWithLocalDelta(layer_impl, pending_delta);
|
| }
|
|
|
| + 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);
|
| + }
|
| +
|
| // If the layer wasn't able to move, try the next one in the hierarchy.
|
| float move_threshold = 0.1f;
|
| bool did_move_layer_x = std::abs(applied_delta.x()) > move_threshold;
|
| @@ -2284,15 +2293,6 @@ bool LayerTreeHostImpl::ScrollBy(const gfx::Point& viewport_point,
|
| break;
|
| }
|
|
|
| - 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_) {
|
| active_tree_->SetCurrentlyScrollingLayer(layer_impl);
|
|
|