Index: chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
index 4c0ca3ba07c67253faaf35211a2a8e453182555d..4eb470f5acf3e9ed8b321a990dc629ed3e78fb5a 100644 |
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
@@ -596,27 +596,32 @@ void ChromeWebUIControllerFactory::GetFaviconForURL( |
std::vector<favicon_base::FaviconRawBitmapResult>* favicon_bitmap_results = |
new std::vector<favicon_base::FaviconRawBitmapResult>(); |
- // Assume that GetFaviconResourceBytes() returns favicons which are |
- // |gfx::kFaviconSize| x |gfx::kFaviconSize| DIP. |
- std::vector<ui::ScaleFactor> scale_factors = |
- favicon_base::GetFaviconScaleFactors(); |
+ // Use ui::GetSupportedScaleFactors instead of |
+ // favicon_base::GetFaviconScales() because chrome favicons comes from |
+ // resources. |
+ std::vector<ui::ScaleFactor> resource_scale_factors = |
+ ui::GetSupportedScaleFactors(); |
+ |
std::vector<gfx::Size> candidate_sizes; |
- for (size_t i = 0; i < scale_factors.size(); ++i) { |
- float scale = ui::GetScaleForScaleFactor(scale_factors[i]); |
+ for (size_t i = 0; i < resource_scale_factors.size(); ++i) { |
+ float scale = ui::GetScaleForScaleFactor(resource_scale_factors[i]); |
+ // Assume that GetFaviconResourceBytes() returns favicons which are |
+ // |gfx::kFaviconSize| x |gfx::kFaviconSize| DIP. |
int candidate_edge_size = |
- static_cast<int>(gfx::kFaviconSize * scale + 0.5f); |
+ static_cast<int>(gfx::kFaviconSize * scale + 0.5f); |
candidate_sizes.push_back( |
gfx::Size(candidate_edge_size, candidate_edge_size)); |
} |
std::vector<size_t> selected_indices; |
- SelectFaviconFrameIndices(candidate_sizes, |
- desired_sizes_in_pixel, |
- &selected_indices, |
- NULL); |
+ SelectFaviconFrameIndices( |
+ candidate_sizes, desired_sizes_in_pixel, &selected_indices, NULL); |
for (size_t i = 0; i < selected_indices.size(); ++i) { |
size_t selected_index = selected_indices[i]; |
- scoped_refptr<base::RefCountedMemory> bitmap(GetFaviconResourceBytes( |
- url, scale_factors[selected_index])); |
+ ui::ScaleFactor selected_resource_scale = |
+ resource_scale_factors[selected_index]; |
+ |
+ scoped_refptr<base::RefCountedMemory> bitmap( |
+ GetFaviconResourceBytes(url, selected_resource_scale)); |
if (bitmap.get() && bitmap->size()) { |
favicon_base::FaviconRawBitmapResult bitmap_result; |
bitmap_result.bitmap_data = bitmap; |