Index: ui/android/resources/resource_manager_impl.cc |
diff --git a/ui/android/resources/resource_manager_impl.cc b/ui/android/resources/resource_manager_impl.cc |
index b97fb19251bbd0b169d4b3b373325a68624e9654..265123523b2117e33c18d5e0ea91613206b57202 100644 |
--- a/ui/android/resources/resource_manager_impl.cc |
+++ b/ui/android/resources/resource_manager_impl.cc |
@@ -66,12 +66,15 @@ ResourceManager::Resource* ResourceManagerImpl::GetResource( |
DCHECK_GE(res_type, ANDROID_RESOURCE_TYPE_FIRST); |
DCHECK_LE(res_type, ANDROID_RESOURCE_TYPE_LAST); |
- Resource* resource = resources_[res_type].Lookup(res_id); |
+ Resource* resource = nullptr; |
+ if (resources_[res_type].find(res_id) != resources_[res_type].end()) { |
aelias_OOO_until_Jul13
2016/09/09 21:50:05
nit: no braces for 1-line into 1-line if statement
mdjones
2016/09/12 16:55:09
Done.
|
+ resource = resources_[res_type][res_id].get(); |
+ } |
if (!resource || res_type == ANDROID_RESOURCE_TYPE_DYNAMIC || |
res_type == ANDROID_RESOURCE_TYPE_DYNAMIC_BITMAP) { |
RequestResourceFromJava(res_type, res_id); |
- resource = resources_[res_type].Lookup(res_id); |
+ resource = resources_[res_type][res_id].get(); |
} |
return resource; |
@@ -98,13 +101,11 @@ ResourceManager::Resource* ResourceManagerImpl::GetStaticResourceWithTint( |
} |
ResourceMap* resource_map = tinted_resources_[tint_color].get(); |
- Resource* tinted_resource = resource_map->Lookup(res_id); |
- |
// If the resource is already cached, use it. |
- if (tinted_resource) |
- return tinted_resource; |
+ if (resource_map->find(res_id) != resource_map->end()) |
aelias_OOO_until_Jul13
2016/09/09 21:50:05
Please put the result of the find in a local varia
mdjones
2016/09/12 16:55:09
Done.
|
+ return (*resource_map)[res_id].get(); |
- tinted_resource = new Resource(); |
+ std::unique_ptr<Resource> tinted_resource = base::MakeUnique<Resource>(); |
ResourceManager::Resource* base_image = |
GetResource(ANDROID_RESOURCE_TYPE_STATIC, res_id); |
@@ -131,16 +132,15 @@ ResourceManager::Resource* ResourceManagerImpl::GetStaticResourceWithTint( |
tinted_bitmap.setImmutable(); |
// Create a UI resource from the new bitmap. |
- tinted_resource = new Resource(); |
tinted_resource->size = gfx::Size(base_image->size); |
tinted_resource->padding = gfx::Rect(base_image->padding); |
tinted_resource->aperture = gfx::Rect(base_image->aperture); |
tinted_resource->ui_resource = cc::ScopedUIResource::Create(host_, |
cc::UIResourceBitmap(tinted_bitmap)); |
- resource_map->AddWithID(tinted_resource, res_id); |
+ (*resource_map)[res_id].swap(tinted_resource); |
- return tinted_resource; |
+ return (*resource_map)[res_id].get(); |
} |
void ResourceManagerImpl::ClearTintedResourceCache(JNIEnv* env, |
@@ -154,7 +154,7 @@ void ResourceManagerImpl::PreloadResource(AndroidResourceType res_type, |
DCHECK_LE(res_type, ANDROID_RESOURCE_TYPE_LAST); |
// Don't send out a query if the resource is already loaded. |
- if (resources_[res_type].Lookup(res_id)) |
+ if (resources_[res_type].find(res_id) != resources_[res_type].end()) |
return; |
PreloadResourceFromJava(res_type, res_id); |
@@ -179,35 +179,38 @@ void ResourceManagerImpl::OnResourceReady(JNIEnv* env, |
"resource_type", res_type, |
"resource_id", res_id); |
- |
- Resource* resource = resources_[res_type].Lookup(res_id); |
- if (!resource) { |
- resource = new Resource(); |
- resources_[res_type].AddWithID(resource, res_id); |
+ if (resources_[res_type].find(res_id) == resources_[res_type].end()) { |
aelias_OOO_until_Jul13
2016/09/09 21:50:05
Please put the result of the find in a local varia
mdjones
2016/09/12 16:55:09
Done.
|
+ resources_[res_type][res_id].reset(new Resource()); |
} |
gfx::JavaBitmap jbitmap(bitmap.obj()); |
- resource->size = jbitmap.size(); |
- resource->padding.SetRect(padding_left, padding_top, |
- padding_right - padding_left, |
- padding_bottom - padding_top); |
- resource->aperture.SetRect(aperture_left, aperture_top, |
- aperture_right - aperture_left, |
- aperture_bottom - aperture_top); |
+ resources_[res_type][res_id]->size = jbitmap.size(); |
+ resources_[res_type][res_id]->padding.SetRect(padding_left, padding_top, |
+ padding_right - padding_left, |
+ padding_bottom - padding_top); |
+ resources_[res_type][res_id]->aperture.SetRect( |
+ aperture_left, aperture_top, |
+ aperture_right - aperture_left, |
+ aperture_bottom - aperture_top); |
SkBitmap skbitmap = gfx::CreateSkBitmapFromJavaBitmap(jbitmap); |
skbitmap.setImmutable(); |
- resource->ui_resource = |
+ resources_[res_type][res_id]->ui_resource = |
cc::ScopedUIResource::Create(host_, cc::UIResourceBitmap(skbitmap)); |
} |
CrushedSpriteResource* ResourceManagerImpl::GetCrushedSpriteResource( |
int bitmap_res_id, int metadata_res_id) { |
- CrushedSpriteResource* resource = |
- crushed_sprite_resources_.Lookup(bitmap_res_id); |
+ |
+ CrushedSpriteResource* resource = nullptr; |
+ if (crushed_sprite_resources_.find(bitmap_res_id) |
+ != crushed_sprite_resources_.end()) { |
+ resource = crushed_sprite_resources_[bitmap_res_id].get(); |
+ } |
+ |
if (!resource) { |
RequestCrushedSpriteResourceFromJava(bitmap_res_id, metadata_res_id, false); |
- resource = crushed_sprite_resources_.Lookup(bitmap_res_id); |
+ resource = crushed_sprite_resources_[bitmap_res_id].get(); |
} else if (resource->BitmapHasBeenEvictedFromMemory()) { |
RequestCrushedSpriteResourceFromJava(bitmap_res_id, metadata_res_id, true); |
} |
@@ -236,17 +239,14 @@ void ResourceManagerImpl::OnCrushedSpriteResourceReady( |
SkBitmap skbitmap = |
gfx::CreateSkBitmapFromJavaBitmap(gfx::JavaBitmap(bitmap.obj())); |
- CrushedSpriteResource* resource = new CrushedSpriteResource( |
- skbitmap, |
- src_dst_rects, |
- gfx::Size(unscaled_sprite_width, unscaled_sprite_height), |
- gfx::Size(scaled_sprite_width, scaled_sprite_height)); |
+ std::unique_ptr<CrushedSpriteResource> resource = |
+ base::MakeUnique<CrushedSpriteResource>( |
+ skbitmap, |
+ src_dst_rects, |
+ gfx::Size(unscaled_sprite_width, unscaled_sprite_height), |
+ gfx::Size(scaled_sprite_width, scaled_sprite_height)); |
- if (crushed_sprite_resources_.Lookup(bitmap_res_id)) { |
- crushed_sprite_resources_.Replace(bitmap_res_id, resource); |
- } else { |
- crushed_sprite_resources_.AddWithID(resource, bitmap_res_id); |
- } |
+ crushed_sprite_resources_[bitmap_res_id].swap(resource); |
} |
CrushedSpriteResource::SrcDstRects |
@@ -283,15 +283,14 @@ void ResourceManagerImpl::OnCrushedSpriteResourceReloaded( |
const JavaRef<jobject>& jobj, |
jint bitmap_res_id, |
const JavaRef<jobject>& bitmap) { |
- CrushedSpriteResource* resource = |
- crushed_sprite_resources_.Lookup(bitmap_res_id); |
- if (!resource) { |
+ if (crushed_sprite_resources_.find(bitmap_res_id) |
aelias_OOO_until_Jul13
2016/09/09 21:50:05
Please put the result of the find in a local varia
mdjones
2016/09/12 16:55:09
Done.
|
+ == crushed_sprite_resources_.end()) { |
// Cannot reload a resource that has not been previously loaded. |
return; |
} |
SkBitmap skbitmap = |
gfx::CreateSkBitmapFromJavaBitmap(gfx::JavaBitmap(bitmap.obj())); |
- resource->SetBitmap(skbitmap); |
+ crushed_sprite_resources_[bitmap_res_id]->SetBitmap(skbitmap); |
} |
// static |