Index: cc/trees/layer_tree_impl.cc |
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc |
index 25cd58a6bf26c695d6bae75db99f1ee2fe0a7afc..6ccc72e23b75578f9bf7ed9bd99ef74c2e15e8e4 100644 |
--- a/cc/trees/layer_tree_impl.cc |
+++ b/cc/trees/layer_tree_impl.cc |
@@ -222,6 +222,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); |