| 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 2435b5f93ad2d6c901f6ddefd6f34e4185a7a3a5..05f4c7d964289c7b85260da91a6ffaf1559d45ed 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -2083,6 +2083,7 @@ void LayerTreeHostImpl::PushScrollbarOpacitiesFromActiveToPending() {
|
| void LayerTreeHostImpl::ActivateSyncTree() {
|
| if (pending_tree_) {
|
| TRACE_EVENT_ASYNC_END0("cc", "PendingTree:waiting", pending_tree_.get());
|
| + active_tree_->lifecycle().AdvanceTo(LayerTreeLifecycle::kBeginningSync);
|
|
|
| DCHECK(pending_tree_duration_timer_);
|
| // Reset will call the destructor and log the timer histogram.
|
| @@ -2098,25 +2099,21 @@ void LayerTreeHostImpl::ActivateSyncTree() {
|
| active_tree_.get());
|
| }
|
|
|
| - // Property trees may store damage status. We preserve the active tree
|
| - // damage status by pushing the damage status from active tree property
|
| - // trees to pending tree property trees or by moving it onto the layers.
|
| - if (active_tree_->property_trees()->changed) {
|
| - if (pending_tree_->property_trees()->sequence_number ==
|
| - active_tree_->property_trees()->sequence_number)
|
| - active_tree_->property_trees()->PushChangeTrackingTo(
|
| - pending_tree_->property_trees());
|
| - else
|
| - active_tree_->MoveChangeTrackingToLayers();
|
| - }
|
| - TreeSynchronizer::PushLayerProperties(pending_tree(), active_tree());
|
| -
|
| PushScrollbarOpacitiesFromActiveToPending();
|
| + pending_tree_->PushPropertyTreesTo(active_tree_.get());
|
| + active_tree_->lifecycle().AdvanceTo(
|
| + LayerTreeLifecycle::kSyncedPropertyTrees);
|
| +
|
| + TreeSynchronizer::PushLayerProperties(pending_tree(), active_tree());
|
| + active_tree_->lifecycle().AdvanceTo(
|
| + LayerTreeLifecycle::kSyncedLayerProperties);
|
|
|
| pending_tree_->PushPropertiesTo(active_tree_.get());
|
| if (!pending_tree_->LayerListIsEmpty())
|
| pending_tree_->property_trees()->ResetAllChangeTracking();
|
|
|
| + active_tree_->lifecycle().AdvanceTo(LayerTreeLifecycle::kNotSyncing);
|
| +
|
| // Now that we've synced everything from the pending tree to the active
|
| // tree, rename the pending tree the recycle tree so we can reuse it on the
|
| // next sync.
|
|
|