Index: components/history/core/browser/history_backend.cc |
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc |
index 3c38c2de9ae0cd87bd409be258889e44b1e3fb1d..f00488a41ffa48405109a3e2d76cd5a3622e4b0e 100644 |
--- a/components/history/core/browser/history_backend.cc |
+++ b/components/history/core/browser/history_backend.cc |
@@ -1432,8 +1432,6 @@ void HistoryBackend::GetFavicons( |
void HistoryBackend::GetLargestFaviconForURL( |
const GURL& page_url, |
- const std::vector<int>& icon_types, |
- int minimum_size_in_pixels, |
favicon_base::FaviconRawBitmapResult* favicon_bitmap_result) { |
DCHECK(favicon_bitmap_result); |
@@ -1447,57 +1445,27 @@ void HistoryBackend::GetLargestFaviconForURL( |
icon_mappings.empty()) |
return; |
- int required_icon_types = 0; |
- for (std::vector<int>::const_iterator i = icon_types.begin(); |
- i != icon_types.end(); ++i) { |
- required_icon_types |= *i; |
- } |
- |
- // Find the largest bitmap for each IconType placing in |
- // |largest_favicon_bitmaps|. |
- std::map<favicon_base::IconType, FaviconBitmap> largest_favicon_bitmaps; |
+ // Find the largest bitmap. |
+ FaviconBitmap largest_icon; |
for (std::vector<IconMapping>::const_iterator i = icon_mappings.begin(); |
i != icon_mappings.end(); ++i) { |
- if (!(i->icon_type & required_icon_types)) |
- continue; |
std::vector<FaviconBitmapIDSize> bitmap_id_sizes; |
thumbnail_db_->GetFaviconBitmapIDSizes(i->icon_id, &bitmap_id_sizes); |
- FaviconBitmap& largest = largest_favicon_bitmaps[i->icon_type]; |
for (std::vector<FaviconBitmapIDSize>::const_iterator j = |
bitmap_id_sizes.begin(); |
j != bitmap_id_sizes.end(); ++j) { |
- if (largest.bitmap_id == 0 || |
- (largest.pixel_size.width() < j->pixel_size.width() && |
- largest.pixel_size.height() < j->pixel_size.height())) { |
- largest.icon_id = i->icon_id; |
- largest.bitmap_id = j->bitmap_id; |
- largest.pixel_size = j->pixel_size; |
+ if (largest_icon.bitmap_id == 0 || |
+ (largest_icon.pixel_size.width() < j->pixel_size.width() && |
+ largest_icon.pixel_size.height() < j->pixel_size.height())) { |
+ largest_icon.icon_id = i->icon_id; |
+ largest_icon.bitmap_id = j->bitmap_id; |
+ largest_icon.pixel_size = j->pixel_size; |
} |
} |
} |
- if (largest_favicon_bitmaps.empty()) |
+ if (largest_icon.bitmap_id == 0) |
return; |
- // Find an icon which is larger than minimum_size_in_pixels in the order of |
- // icon_types. |
- FaviconBitmap largest_icon; |
- for (std::vector<int>::const_iterator t = icon_types.begin(); |
- t != icon_types.end(); ++t) { |
- for (std::map<favicon_base::IconType, FaviconBitmap>::const_iterator f = |
- largest_favicon_bitmaps.begin(); |
- f != largest_favicon_bitmaps.end(); ++f) { |
- if (f->first & *t && |
- (largest_icon.bitmap_id == 0 || |
- (largest_icon.pixel_size.height() < f->second.pixel_size.height() && |
- largest_icon.pixel_size.width() < f->second.pixel_size.width()))) { |
- largest_icon = f->second; |
- } |
- } |
- if (largest_icon.pixel_size.width() > minimum_size_in_pixels && |
- largest_icon.pixel_size.height() > minimum_size_in_pixels) |
- break; |
- } |
- |
GURL icon_url; |
favicon_base::IconType icon_type; |
if (!thumbnail_db_->GetFaviconHeader(largest_icon.icon_id, &icon_url, |