| 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 55cb2fb092b3b6db15ab2f773f55f2a263c4aefd..9828ffa1d3c85c455e391751afbb9c990d2fe9c5 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -2672,6 +2672,11 @@ void LayerTreeHostImpl::PinchGestureUpdate(float magnify_delta,
|
|
|
| TRACE_EVENT0("cc", "LayerTreeHostImpl::PinchGestureUpdate");
|
|
|
| + // For a moment the scroll offset ends up being outside of the max range. This
|
| + // confuses the delegate so we switch it off till after we're done processing
|
| + // the pinch update.
|
| + active_tree_->SetRootLayerScrollOffsetDelegate(NULL);
|
| +
|
| // Keep the center-of-pinch anchor specified by (x, y) in a stable
|
| // position over the course of the magnify.
|
| float page_scale_delta = active_tree_->page_scale_delta();
|
| @@ -2705,6 +2710,9 @@ void LayerTreeHostImpl::PinchGestureUpdate(float magnify_delta,
|
| InnerViewportScrollLayer()->ClampScrollToMaxScrollOffset();
|
| }
|
|
|
| + active_tree_->SetRootLayerScrollOffsetDelegate(
|
| + root_layer_scroll_offset_delegate_);
|
| +
|
| client_->SetNeedsCommitOnImplThread();
|
| SetNeedsRedraw();
|
| client_->RenewTreePriority();
|
|
|