Index: cc/layer_tree_host_impl.cc |
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc |
index 86c416d0233cca07d0623d55a81b0b4b21de9fea..96b395b0cbdc4f19696d9ce0b6be8165bc377e79 100644 |
--- a/cc/layer_tree_host_impl.cc |
+++ b/cc/layer_tree_host_impl.cc |
@@ -982,7 +982,8 @@ void LayerTreeHostImpl::activatePendingTree() |
TRACE_EVENT_ASYNC_END0("cc", "PendingTree", m_pendingTree.get()); |
m_activeTree->PushPersistedState(m_pendingTree.get()); |
- m_activeTree->SetRootLayer(TreeSynchronizer::synchronizeTrees(m_pendingTree->RootLayer(), m_activeTree->DetachLayerTree(), m_activeTree.get())); |
+ if (m_pendingTree->needs_full_tree_sync()) |
+ m_activeTree->SetRootLayer(TreeSynchronizer::synchronizeTrees(m_pendingTree->RootLayer(), m_activeTree->DetachLayerTree(), m_activeTree.get())); |
TreeSynchronizer::pushProperties(m_pendingTree->RootLayer(), m_activeTree->RootLayer()); |
DCHECK(!m_recycleTree); |