Chromium Code Reviews| Index: ui/base/resource/resource_bundle.cc |
| diff --git a/ui/base/resource/resource_bundle.cc b/ui/base/resource/resource_bundle.cc |
| index 24c05606eead09f08c2297556732a361cfc9aa56..491d7dc25f3901706735a7b8887a34a53d038f8b 100644 |
| --- a/ui/base/resource/resource_bundle.cc |
| +++ b/ui/base/resource/resource_bundle.cc |
| @@ -286,6 +286,33 @@ base::RefCountedStaticMemory* ResourceBundle::LoadDataResourceBytes( |
| return NULL; |
| } |
| +base::RefCountedStaticMemory* ResourceBundle::LoadImageResourceBytes( |
| + int resource_id, |
| + float scale_factor) const { |
| + base::StringPiece data = GetRawImageResource(resource_id, scale_factor); |
| + if (data.empty()) |
| + return NULL; |
| + |
| + return new base::RefCountedStaticMemory( |
| + reinterpret_cast<const unsigned char*>(data.data()), data.length()); |
| +} |
| + |
| +base::StringPiece ResourceBundle::GetRawImageResource( |
| + int resource_id, |
| + float scale_factor) const { |
| + base::StringPiece best_match; |
| + float best_match_scale = 0; |
| + for (size_t i = 0; i < data_packs_.size(); ++i) { |
| + if (best_match.empty() || |
| + fabs(best_match_scale - scale_factor) > |
| + fabs(data_packs_[i]->GetScaleFactor() - scale_factor)) { |
| + if (data_packs_[i]->GetStringPiece(resource_id, &best_match)) |
|
sail
2012/05/09 16:09:41
Worse case this will cause StringPiece to be overw
flackr
2012/05/09 19:57:01
Done.
|
| + best_match_scale = data_packs_[i]->GetScaleFactor(); |
| + } |
| + } |
| + return best_match; |
| +} |
| + |
| base::StringPiece ResourceBundle::GetRawDataResource(int resource_id) const { |
| DCHECK(locale_resources_data_.get()); |
| base::StringPiece data; |