Index: cc/trees/layer_tree_host.cc |
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc |
index 27659e054bea869e8bcc1940036e2f5d82fead9b..220083f77f30b11cc53a38d723df0856f2da10b1 100644 |
--- a/cc/trees/layer_tree_host.cc |
+++ b/cc/trees/layer_tree_host.cc |
@@ -435,7 +435,8 @@ void LayerTreeHost::DidLoseOutputSurface() { |
if (output_surface_lost_) |
return; |
- DidLoseUIResources(); |
+ bool resource_lost = true; |
+ RecreateUIResources(resource_lost); |
num_failed_recreate_attempts_ = 0; |
output_surface_lost_ = true; |
@@ -1150,26 +1151,17 @@ void LayerTreeHost::DeleteUIResource(UIResourceId uid) { |
ui_resource_client_map_.erase(uid); |
} |
-void LayerTreeHost::UIResourceLost(UIResourceId uid) { |
- UIResourceClientMap::iterator iter = ui_resource_client_map_.find(uid); |
- if (iter == ui_resource_client_map_.end()) |
- return; |
- |
- UIResourceRequest request; |
- bool resource_lost = true; |
- request.type = UIResourceRequest::UIResourceCreate; |
- request.id = uid; |
- request.bitmap = iter->second->GetBitmap(uid, resource_lost); |
- DCHECK(request.bitmap.get()); |
- ui_resource_request_queue_.push_back(request); |
-} |
- |
-void LayerTreeHost::DidLoseUIResources() { |
- // When output surface is lost, we need to recreate the resource. |
+void LayerTreeHost::RecreateUIResources(bool resource_lost) { |
for (UIResourceClientMap::iterator iter = ui_resource_client_map_.begin(); |
iter != ui_resource_client_map_.end(); |
++iter) { |
- UIResourceLost(iter->first); |
+ UIResourceId uid = iter->first; |
+ UIResourceRequest request; |
+ request.type = UIResourceRequest::UIResourceCreate; |
+ request.id = uid; |
+ request.bitmap = iter->second->GetBitmap(uid, resource_lost); |
+ DCHECK(request.bitmap.get()); |
+ ui_resource_request_queue_.push_back(request); |
} |
} |