| Index: cc/layer_tree_host.cc
|
| diff --git a/cc/layer_tree_host.cc b/cc/layer_tree_host.cc
|
| index 9ee1e4201c118f7560f89e57d6d8882ee475480d..3fcfad2aca1cc855693a71a861be4f5fc610820a 100644
|
| --- a/cc/layer_tree_host.cc
|
| +++ b/cc/layer_tree_host.cc
|
| @@ -254,6 +254,10 @@ void LayerTreeHost::finishCommitOnImplThread(LayerTreeHostImpl* hostImpl)
|
| {
|
| DCHECK(m_proxy->isImplThread());
|
|
|
| + // If there are linked evicted backings, these backings' resources may be put into the
|
| + // impl tree, so we can't draw yet. Determine this before clearing all evicted backings.
|
| + bool newImplTreeHasNoEvictedResources = !m_contentsTextureManager->linkedEvictedBackingsExist();
|
| +
|
| m_contentsTextureManager->updateBackingsInDrawingImplTree();
|
| m_contentsTextureManager->reduceMemory(hostImpl->resourceProvider());
|
|
|
| @@ -300,6 +304,11 @@ void LayerTreeHost::finishCommitOnImplThread(LayerTreeHostImpl* hostImpl)
|
| hostImpl->setDebugState(m_debugState);
|
| hostImpl->savePaintTime(m_renderingStats.totalPaintTime);
|
|
|
| + if (newImplTreeHasNoEvictedResources) {
|
| + if (syncTree->ContentsTexturesPurged())
|
| + syncTree->ResetContentsTexturesPurged();
|
| + }
|
| +
|
| m_commitNumber++;
|
| }
|
|
|
|
|