Index: cc/trees/layer_tree_impl.cc |
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc |
index 78ffa8cf2497522e40a1b1ed003d1bbb6c2bc82a..4bc8d1e5bb128a589841ba5271916b4ca2ec33e7 100644 |
--- a/cc/trees/layer_tree_impl.cc |
+++ b/cc/trees/layer_tree_impl.cc |
@@ -92,7 +92,10 @@ LayerTreeImpl::LayerTreeImpl(LayerTreeHostImpl* layer_tree_host_impl) |
needs_full_tree_sync_(true), |
next_activation_forces_redraw_(false), |
has_ever_been_drawn_(false), |
- render_surface_layer_list_id_(0) { |
+ render_surface_layer_list_id_(0), |
+ top_controls_content_offset_(0), |
+ top_controls_delta_(0), |
+ sent_top_controls_delta_(0) { |
} |
LayerTreeImpl::~LayerTreeImpl() { |
@@ -200,6 +203,12 @@ void LayerTreeImpl::PushPropertiesTo(LayerTreeImpl* target_tree) { |
target_tree->PassSwapPromises(&swap_promise_list_); |
+ target_tree->top_controls_content_offset_ = top_controls_content_offset_; |
+ target_tree->top_controls_delta_ = |
+ target_tree->top_controls_delta_ - |
+ target_tree->sent_top_controls_delta_; |
+ target_tree->sent_top_controls_delta_ = 0.f; |
+ |
target_tree->SetPageScaleValues( |
page_scale_factor(), min_page_scale_factor(), max_page_scale_factor(), |
target_tree->page_scale_delta() / target_tree->sent_page_scale_delta()); |
@@ -376,6 +385,10 @@ void LayerTreeImpl::ApplySentScrollAndScaleDeltasFromAbortedCommit() { |
page_scale_delta_ /= sent_page_scale_delta_; |
sent_page_scale_delta_ = 1.f; |
+ top_controls_content_offset_ += sent_top_controls_delta_; |
+ top_controls_delta_ -= sent_top_controls_delta_; |
+ sent_top_controls_delta_ = 0.f; |
+ |
if (!root_layer()) |
return; |