| Index: cc/trees/layer_tree_host.cc
|
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
| index f18e3b865409bd20d0c17468d03396cca14c09b0..837488b35dcf5a9fa01a73dd762c3b89b4e9156b 100644
|
| --- a/cc/trees/layer_tree_host.cc
|
| +++ b/cc/trees/layer_tree_host.cc
|
| @@ -1141,8 +1141,8 @@ UIResourceId LayerTreeHost::CreateUIResource(UIResourceClient* client) {
|
|
|
| // Deletes a UI resource. May safely be called more than once.
|
| void LayerTreeHost::DeleteUIResource(UIResourceId uid) {
|
| - UIResourceClientMap::iterator iter = ui_resource_client_map_.find(uid);
|
| - if (iter == ui_resource_client_map_.end())
|
| + UIResourceClientMap::iterator it = ui_resource_client_map_.find(uid);
|
| + if (it == ui_resource_client_map_.end())
|
| return;
|
|
|
| UIResourceRequest request;
|
| @@ -1152,26 +1152,44 @@ void LayerTreeHost::DeleteUIResource(UIResourceId uid) {
|
| ui_resource_client_map_.erase(uid);
|
| }
|
|
|
| +// Returns the size of a resource given its id.
|
| +gfx::Size LayerTreeHost::GetUIResourceSize(UIResourceId uid) {
|
| + UIResourceClientMap::iterator it = ui_resource_client_map_.find(uid);
|
| + if (it == ui_resource_client_map_.end())
|
| + return gfx::Size();
|
| +
|
| + DCHECK(it->second);
|
| +
|
| + bool resource_lost = false;
|
| + UIResourceClient* client = it->second;
|
| + scoped_refptr<UIResourceBitmap> bitmap =
|
| + client->GetBitmap(uid, resource_lost);
|
| +
|
| + DCHECK(bitmap.get());
|
| +
|
| + return bitmap->GetSize();
|
| +}
|
| +
|
| void LayerTreeHost::UIResourceLost(UIResourceId uid) {
|
| - UIResourceClientMap::iterator iter = ui_resource_client_map_.find(uid);
|
| - if (iter == ui_resource_client_map_.end())
|
| + UIResourceClientMap::iterator it = ui_resource_client_map_.find(uid);
|
| + if (it == 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);
|
| + request.bitmap = it->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.
|
| - for (UIResourceClientMap::iterator iter = ui_resource_client_map_.begin();
|
| - iter != ui_resource_client_map_.end();
|
| - ++iter) {
|
| - UIResourceLost(iter->first);
|
| + for (UIResourceClientMap::iterator it = ui_resource_client_map_.begin();
|
| + it != ui_resource_client_map_.end();
|
| + ++it) {
|
| + UIResourceLost(it->first);
|
| }
|
| }
|
|
|
|
|