Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: components/favicon/core/favicon_service_impl.cc

Issue 2739173002: Always select best favicon bitmap (Closed)
Patch Set: WIP. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "components/favicon/core/favicon_service_impl.h" 5 #include "components/favicon/core/favicon_service_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <cmath> 8 #include <cmath>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 std::vector<int> desired_sizes_in_pixel; 80 std::vector<int> desired_sizes_in_pixel;
81 desired_sizes_in_pixel.push_back(desired_size_in_pixel); 81 desired_sizes_in_pixel.push_back(desired_size_in_pixel);
82 82
83 return history_service_->GetFavicons( 83 return history_service_->GetFavicons(
84 icon_urls, icon_type, desired_sizes_in_pixel, callback_runner, tracker); 84 icon_urls, icon_type, desired_sizes_in_pixel, callback_runner, tracker);
85 } 85 }
86 86
87 base::CancelableTaskTracker::TaskId FaviconServiceImpl::GetFavicon( 87 base::CancelableTaskTracker::TaskId FaviconServiceImpl::GetFavicon(
88 const GURL& icon_url, 88 const GURL& icon_url,
89 favicon_base::IconType icon_type, 89 favicon_base::IconType icon_type,
90 int desired_size_in_dip, 90 const std::vector<int>& desired_sizes_in_pixel,
91 const favicon_base::FaviconResultsCallback& callback, 91 const favicon_base::FaviconResultsCallback& callback,
92 base::CancelableTaskTracker* tracker) { 92 base::CancelableTaskTracker* tracker) {
93 TRACE_EVENT0("browser", "FaviconServiceImpl::GetFavicon"); 93 TRACE_EVENT0("browser", "FaviconServiceImpl::GetFavicon");
94 std::vector<GURL> icon_urls; 94 std::vector<GURL> icon_urls;
95 icon_urls.push_back(icon_url); 95 icon_urls.push_back(icon_url);
96 return history_service_->GetFavicons( 96 return history_service_->GetFavicons(
97 icon_urls, icon_type, GetPixelSizesForFaviconScales(desired_size_in_dip), 97 icon_urls, icon_type, desired_sizes_in_pixel, callback, tracker);
98 callback, tracker);
99 } 98 }
100 99
101 base::CancelableTaskTracker::TaskId 100 base::CancelableTaskTracker::TaskId
102 FaviconServiceImpl::GetFaviconImageForPageURL( 101 FaviconServiceImpl::GetFaviconImageForPageURL(
103 const GURL& page_url, 102 const GURL& page_url,
104 const favicon_base::FaviconImageCallback& callback, 103 const favicon_base::FaviconImageCallback& callback,
105 base::CancelableTaskTracker* tracker) { 104 base::CancelableTaskTracker* tracker) {
106 TRACE_EVENT0("browser", "FaviconServiceImpl::GetFaviconImageForPageURL"); 105 TRACE_EVENT0("browser", "FaviconServiceImpl::GetFaviconImageForPageURL");
107 return GetFaviconForPageURLImpl( 106 return GetFaviconForPageURLImpl(
108 page_url, favicon_base::FAVICON, 107 page_url, favicon_base::FAVICON,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 return favicon_client_->GetFaviconForNativeApplicationURL( 145 return favicon_client_->GetFaviconForNativeApplicationURL(
147 page_url, desired_sizes_in_pixel, favicon_results_callback, tracker); 146 page_url, desired_sizes_in_pixel, favicon_results_callback, tracker);
148 } 147 }
149 return history_service_->GetLargestFaviconForURL( 148 return history_service_->GetLargestFaviconForURL(
150 page_url, icon_types, minimum_size_in_pixels, callback, tracker); 149 page_url, icon_types, minimum_size_in_pixels, callback, tracker);
151 } 150 }
152 151
153 base::CancelableTaskTracker::TaskId FaviconServiceImpl::GetFaviconForPageURL( 152 base::CancelableTaskTracker::TaskId FaviconServiceImpl::GetFaviconForPageURL(
154 const GURL& page_url, 153 const GURL& page_url,
155 int icon_types, 154 int icon_types,
156 int desired_size_in_dip, 155 const std::vector<int>& desired_sizes_in_pixel,
157 const favicon_base::FaviconResultsCallback& callback, 156 const favicon_base::FaviconResultsCallback& callback,
158 base::CancelableTaskTracker* tracker) { 157 base::CancelableTaskTracker* tracker) {
159 TRACE_EVENT0("browser", "FaviconServiceImpl::GetFaviconForPageURL"); 158 TRACE_EVENT0("browser", "FaviconServiceImpl::GetFaviconForPageURL");
160 return GetFaviconForPageURLImpl( 159 return GetFaviconForPageURLImpl(page_url, icon_types, desired_sizes_in_pixel,
161 page_url, icon_types, GetPixelSizesForFaviconScales(desired_size_in_dip), 160 callback, tracker);
162 callback, tracker);
163 } 161 }
164 162
165 base::CancelableTaskTracker::TaskId 163 base::CancelableTaskTracker::TaskId
166 FaviconServiceImpl::UpdateFaviconMappingsAndFetch( 164 FaviconServiceImpl::UpdateFaviconMappingsAndFetch(
167 const GURL& page_url, 165 const GURL& page_url,
168 const std::vector<GURL>& icon_urls, 166 const std::vector<GURL>& icon_urls,
169 int icon_types, 167 int icon_types,
170 int desired_size_in_dip, 168 const std::vector<int>& desired_sizes_in_pixel,
171 const favicon_base::FaviconResultsCallback& callback, 169 const favicon_base::FaviconResultsCallback& callback,
172 base::CancelableTaskTracker* tracker) { 170 base::CancelableTaskTracker* tracker) {
173 return history_service_->UpdateFaviconMappingsAndFetch( 171 return history_service_->UpdateFaviconMappingsAndFetch(
174 page_url, icon_urls, icon_types, 172 page_url, icon_urls, icon_types, desired_sizes_in_pixel, callback,
175 GetPixelSizesForFaviconScales(desired_size_in_dip), callback, tracker); 173 tracker);
176 } 174 }
177 175
178 base::CancelableTaskTracker::TaskId 176 base::CancelableTaskTracker::TaskId
179 FaviconServiceImpl::GetLargestRawFaviconForID( 177 FaviconServiceImpl::GetLargestRawFaviconForID(
180 favicon_base::FaviconID favicon_id, 178 favicon_base::FaviconID favicon_id,
181 const favicon_base::FaviconRawBitmapCallback& callback, 179 const favicon_base::FaviconRawBitmapCallback& callback,
182 base::CancelableTaskTracker* tracker) { 180 base::CancelableTaskTracker* tracker) {
183 TRACE_EVENT0("browser", "FaviconServiceImpl::GetLargestRawFaviconForID"); 181 TRACE_EVENT0("browser", "FaviconServiceImpl::GetLargestRawFaviconForID");
184 // Use 0 as |desired_size| to get the largest bitmap for |favicon_id| without 182 // Use 0 as |desired_size| to get the largest bitmap for |favicon_id| without
185 // any resizing. 183 // any resizing.
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 const std::vector<favicon_base::FaviconRawBitmapResult>& 284 const std::vector<favicon_base::FaviconRawBitmapResult>&
287 favicon_bitmap_results) { 285 favicon_bitmap_results) {
288 TRACE_EVENT0( 286 TRACE_EVENT0(
289 "browser", 287 "browser",
290 "FaviconServiceImpl::RunFaviconRawBitmapCallbackWithBitmapResults"); 288 "FaviconServiceImpl::RunFaviconRawBitmapCallbackWithBitmapResults");
291 callback.Run( 289 callback.Run(
292 ResizeFaviconBitmapResult(favicon_bitmap_results, desired_size_in_pixel)); 290 ResizeFaviconBitmapResult(favicon_bitmap_results, desired_size_in_pixel));
293 } 291 }
294 292
295 } // namespace favicon 293 } // namespace favicon
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698