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

Unified Diff: chrome/browser/favicon/favicon_service.cc

Issue 11360233: Ensure that favicons always have 1x representation regardless of whether the platform supports it (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/favicon/favicon_service.h ('k') | chrome/browser/favicon/favicon_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/favicon/favicon_service.cc
diff --git a/chrome/browser/favicon/favicon_service.cc b/chrome/browser/favicon/favicon_service.cc
index 789d4910cbc525d7c09719ee9a8fc62f5720d11c..afdaef2442fcfa8fdd36666ff1fa20a4fa929102 100644
--- a/chrome/browser/favicon/favicon_service.cc
+++ b/chrome/browser/favicon/favicon_service.cc
@@ -75,7 +75,6 @@ FaviconService::Handle FaviconService::GetFavicon(
const GURL& icon_url,
history::IconType icon_type,
int desired_size_in_dip,
- const std::vector<ui::ScaleFactor>& desired_scale_factors,
CancelableRequestConsumerBase* consumer,
const FaviconResultsCallback& callback) {
GetFaviconRequest* request = new GetFaviconRequest(callback);
@@ -84,7 +83,7 @@ FaviconService::Handle FaviconService::GetFavicon(
std::vector<GURL> icon_urls;
icon_urls.push_back(icon_url);
history_service_->GetFavicons(request, icon_urls, icon_type,
- desired_size_in_dip, desired_scale_factors);
+ desired_size_in_dip, FaviconUtil::GetFaviconScaleFactors());
} else {
ForwardEmptyResultAsync(request);
}
@@ -96,14 +95,14 @@ FaviconService::Handle FaviconService::UpdateFaviconMappingsAndFetch(
const std::vector<GURL>& icon_urls,
int icon_types,
int desired_size_in_dip,
- const std::vector<ui::ScaleFactor>& desired_scale_factors,
CancelableRequestConsumerBase* consumer,
const FaviconResultsCallback& callback) {
GetFaviconRequest* request = new GetFaviconRequest(callback);
AddRequest(request, consumer);
if (history_service_) {
history_service_->UpdateFaviconMappingsAndFetch(request, page_url,
- icon_urls, icon_types, desired_size_in_dip, desired_scale_factors);
+ icon_urls, icon_types, desired_size_in_dip,
+ FaviconUtil::GetFaviconScaleFactors());
} else {
ForwardEmptyResultAsync(request);
}
@@ -119,9 +118,9 @@ FaviconService::Handle FaviconService::GetFaviconImageForURL(
params.desired_size_in_dip,
callback));
- std::vector<ui::ScaleFactor> desired_scale_factors =
- ui::GetSupportedScaleFactors();
- return GetFaviconForURLImpl(params, desired_scale_factors, request);
+ return GetFaviconForURLImpl(params,
+ FaviconUtil::GetFaviconScaleFactors(),
+ request);
}
FaviconService::Handle FaviconService::GetRawFaviconForURL(
@@ -142,10 +141,11 @@ FaviconService::Handle FaviconService::GetRawFaviconForURL(
FaviconService::Handle FaviconService::GetFaviconForURL(
const FaviconForURLParams& params,
- const std::vector<ui::ScaleFactor>& desired_scale_factors,
const FaviconResultsCallback& callback) {
GetFaviconRequest* request = new GetFaviconRequest(callback);
- return GetFaviconForURLImpl(params, desired_scale_factors, request);
+ return GetFaviconForURLImpl(params,
+ FaviconUtil::GetFaviconScaleFactors(),
+ request);
}
FaviconService::Handle FaviconService::GetLargestRawFaviconForID(
@@ -282,7 +282,7 @@ void FaviconService::GetFaviconImageCallback(
history::FaviconImageResult image_result;
image_result.image = FaviconUtil::SelectFaviconFramesFromPNGs(
favicon_bitmap_results,
- ui::GetSupportedScaleFactors(),
+ FaviconUtil::GetFaviconScaleFactors(),
desired_size_in_dip);
image_result.icon_url = image_result.image.IsEmpty() ?
GURL() : favicon_bitmap_results[0].icon_url;
@@ -325,23 +325,13 @@ void FaviconService::GetRawFaviconCallback(
// Convert raw bytes to SkBitmap, resize via SelectFaviconFrames(), then
// convert back.
- SkBitmap bitmap;
- if (!gfx::PNGCodec::Decode(bitmap_result.bitmap_data->front(),
- bitmap_result.bitmap_data->size(),
- &bitmap)) {
- callback.Run(handle, history::FaviconBitmapResult());
- return;
- }
-
- std::vector<SkBitmap> bitmaps;
- bitmaps.push_back(bitmap);
std::vector<ui::ScaleFactor> desired_scale_factors;
desired_scale_factors.push_back(desired_scale_factor);
- gfx::ImageSkia resized_image = SelectFaviconFrames(bitmaps,
- desired_scale_factors, desired_size_in_dip, NULL);
+ gfx::Image resized_image = FaviconUtil::SelectFaviconFramesFromPNGs(
+ favicon_bitmap_results, desired_scale_factors, desired_size_in_dip);
std::vector<unsigned char> resized_bitmap_data;
- if (!gfx::PNGCodec::EncodeBGRASkBitmap(*resized_image.bitmap(), false,
+ if (!gfx::PNGCodec::EncodeBGRASkBitmap(resized_image.AsBitmap(), false,
&resized_bitmap_data)) {
callback.Run(handle, history::FaviconBitmapResult());
return;
« no previous file with comments | « chrome/browser/favicon/favicon_service.h ('k') | chrome/browser/favicon/favicon_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698