Index: cc/trees/layer_tree_impl.cc |
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc |
index 860f067f9f87d42be779023d5e42a23ae49ea088..c160d97bb96b4a4d0eff95ccf2d8b86ddf06de32 100644 |
--- a/cc/trees/layer_tree_impl.cc |
+++ b/cc/trees/layer_tree_impl.cc |
@@ -231,6 +231,24 @@ void LayerTreeImpl::UpdateMaxScrollOffset() { |
root_scroll_layer_->SetMaxScrollOffset(gfx::ToFlooredVector2d(max_scroll)); |
} |
+static void ApplySentScrollDeltasOn(LayerImpl* layer) { |
+ layer->ApplySentScrollDeltas(); |
+} |
+ |
+void LayerTreeImpl::ApplySentScrollAndScaleDeltas() { |
+ DCHECK(IsActiveTree()); |
+ |
+ page_scale_factor_ *= sent_page_scale_delta_; |
+ page_scale_delta_ /= sent_page_scale_delta_; |
+ sent_page_scale_delta_ = 1.f; |
+ |
+ if (!root_layer()) |
+ return; |
+ |
+ LayerTreeHostCommon::CallFunctionForSubtree( |
+ root_layer(), base::Bind(&ApplySentScrollDeltasOn)); |
+} |
+ |
void LayerTreeImpl::UpdateSolidColorScrollbars() { |
DCHECK(settings().solid_color_scrollbars); |