OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/favicon/favicon_handler.h" | 5 #include "chrome/browser/favicon/favicon_handler.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <vector> | 10 #include <vector> |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 favicon_base::IconType icon_type) | 234 favicon_base::IconType icon_type) |
235 : url(url), | 235 : url(url), |
236 image_url(image_url), | 236 image_url(image_url), |
237 image(image), | 237 image(image), |
238 score(score), | 238 score(score), |
239 icon_type(icon_type) {} | 239 icon_type(icon_type) {} |
240 | 240 |
241 //////////////////////////////////////////////////////////////////////////////// | 241 //////////////////////////////////////////////////////////////////////////////// |
242 | 242 |
243 FaviconHandler::FaviconHandler(FaviconClient* client, | 243 FaviconHandler::FaviconHandler(FaviconClient* client, |
244 FaviconHandlerDelegate* delegate, | 244 FaviconDriver* delegate, |
245 Type icon_type, | 245 Type icon_type, |
246 bool download_largest_icon) | 246 bool download_largest_icon) |
247 : got_favicon_from_history_(false), | 247 : got_favicon_from_history_(false), |
248 favicon_expired_or_incomplete_(false), | 248 favicon_expired_or_incomplete_(false), |
249 icon_types_(icon_type == FAVICON | 249 icon_types_(icon_type == FAVICON |
250 ? favicon_base::FAVICON | 250 ? favicon_base::FAVICON |
251 : favicon_base::TOUCH_ICON | | 251 : favicon_base::TOUCH_ICON | |
252 favicon_base::TOUCH_PRECOMPOSED_ICON), | 252 favicon_base::TOUCH_PRECOMPOSED_ICON), |
253 download_largest_icon_(download_largest_icon), | 253 download_largest_icon_(download_largest_icon), |
254 client_(client), | 254 client_(client), |
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 ScheduleDownload(entry->GetURL(), current_candidate()->icon_url, | 682 ScheduleDownload(entry->GetURL(), current_candidate()->icon_url, |
683 ToChromeIconType(current_candidate()->icon_type)); | 683 ToChromeIconType(current_candidate()->icon_type)); |
684 } | 684 } |
685 history_results_ = favicon_bitmap_results; | 685 history_results_ = favicon_bitmap_results; |
686 } | 686 } |
687 | 687 |
688 int FaviconHandler::ScheduleDownload(const GURL& url, | 688 int FaviconHandler::ScheduleDownload(const GURL& url, |
689 const GURL& image_url, | 689 const GURL& image_url, |
690 favicon_base::IconType icon_type) { | 690 favicon_base::IconType icon_type) { |
691 // A max bitmap size is specified to avoid receiving huge bitmaps in | 691 // A max bitmap size is specified to avoid receiving huge bitmaps in |
692 // OnDidDownloadFavicon(). See FaviconHandlerDelegate::StartDownload() | 692 // OnDidDownloadFavicon(). See FaviconDriver::StartDownload() |
693 // for more details about the max bitmap size. | 693 // for more details about the max bitmap size. |
694 const int download_id = DownloadFavicon(image_url, | 694 const int download_id = DownloadFavicon(image_url, |
695 GetMaximalIconSize(icon_type)); | 695 GetMaximalIconSize(icon_type)); |
696 if (download_id) { | 696 if (download_id) { |
697 // Download ids should be unique. | 697 // Download ids should be unique. |
698 DCHECK(download_requests_.find(download_id) == download_requests_.end()); | 698 DCHECK(download_requests_.find(download_id) == download_requests_.end()); |
699 download_requests_[download_id] = | 699 download_requests_[download_id] = |
700 DownloadRequest(url, image_url, icon_type); | 700 DownloadRequest(url, image_url, icon_type); |
701 } | 701 } |
702 | 702 |
(...skipping 14 matching lines...) Expand all Loading... |
717 } else { | 717 } else { |
718 gfx::Size largest = i->icon_sizes[index]; | 718 gfx::Size largest = i->icon_sizes[index]; |
719 i->icon_sizes.clear(); | 719 i->icon_sizes.clear(); |
720 i->icon_sizes.push_back(largest); | 720 i->icon_sizes.push_back(largest); |
721 ++i; | 721 ++i; |
722 } | 722 } |
723 } | 723 } |
724 std::stable_sort(image_urls_.begin(), image_urls_.end(), | 724 std::stable_sort(image_urls_.begin(), image_urls_.end(), |
725 CompareIconSize); | 725 CompareIconSize); |
726 } | 726 } |
OLD | NEW |