| Index: chrome/browser/favicon/favicon_service.cc
|
| diff --git a/chrome/browser/favicon/favicon_service.cc b/chrome/browser/favicon/favicon_service.cc
|
| index b39cac7ba38aa19f79c6ba0a296585e8f2697ed6..afa01428398226f938d45479df75b4f8f5a15747 100644
|
| --- a/chrome/browser/favicon/favicon_service.cc
|
| +++ b/chrome/browser/favicon/favicon_service.cc
|
| @@ -28,7 +28,7 @@ namespace {
|
| void CancelOrRunFaviconResultsCallback(
|
| const base::CancelableTaskTracker::IsCanceledCallback& is_canceled,
|
| const favicon_base::FaviconResultsCallback& callback,
|
| - const std::vector<favicon_base::FaviconBitmapResult>& results) {
|
| + const std::vector<favicon_base::FaviconRawBitmapResult>& results) {
|
| if (is_canceled.Run())
|
| return;
|
| callback.Run(results);
|
| @@ -42,7 +42,7 @@ base::CancelableTaskTracker::TaskId RunWithEmptyResultAsync(
|
| return tracker->PostTask(
|
| base::MessageLoopProxy::current().get(),
|
| FROM_HERE,
|
| - Bind(callback, std::vector<favicon_base::FaviconBitmapResult>()));
|
| + Bind(callback, std::vector<favicon_base::FaviconRawBitmapResult>()));
|
| }
|
|
|
| // Return the TaskId to retreive the favicon from chrome specific URL.
|
| @@ -73,7 +73,7 @@ FaviconService::FaviconService(Profile* profile)
|
| // static
|
| void FaviconService::FaviconResultsCallbackRunner(
|
| const favicon_base::FaviconResultsCallback& callback,
|
| - const std::vector<favicon_base::FaviconBitmapResult>* results) {
|
| + const std::vector<favicon_base::FaviconRawBitmapResult>* results) {
|
| callback.Run(*results);
|
| }
|
|
|
| @@ -101,12 +101,14 @@ base::CancelableTaskTracker::TaskId FaviconService::GetRawFavicon(
|
| favicon_base::IconType icon_type,
|
| int desired_size_in_dip,
|
| ui::ScaleFactor desired_scale_factor,
|
| - const favicon_base::FaviconRawCallback& callback,
|
| + const favicon_base::FaviconRawBitmapCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| favicon_base::FaviconResultsCallback callback_runner =
|
| - Bind(&FaviconService::RunFaviconRawCallbackWithBitmapResults,
|
| + Bind(&FaviconService::RunFaviconRawBitmapCallbackWithBitmapResults,
|
| base::Unretained(this),
|
| - callback, desired_size_in_dip, desired_scale_factor);
|
| + callback,
|
| + desired_size_in_dip,
|
| + desired_scale_factor);
|
|
|
| if (history_service_) {
|
| std::vector<GURL> icon_urls;
|
| @@ -153,11 +155,11 @@ FaviconService::UpdateFaviconMappingsAndFetch(
|
| return RunWithEmptyResultAsync(callback, tracker);
|
| }
|
|
|
| -base::CancelableTaskTracker::TaskId FaviconService::GetFaviconImageForURL(
|
| - const FaviconForURLParams& params,
|
| +base::CancelableTaskTracker::TaskId FaviconService::GetFaviconImageForPageURL(
|
| + const FaviconForPageURLParams& params,
|
| const favicon_base::FaviconImageCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| - return GetFaviconForURLImpl(
|
| + return GetFaviconForPageURLImpl(
|
| params,
|
| FaviconUtil::GetFaviconScaleFactors(),
|
| Bind(&FaviconService::RunFaviconImageCallbackWithBitmapResults,
|
| @@ -167,17 +169,17 @@ base::CancelableTaskTracker::TaskId FaviconService::GetFaviconImageForURL(
|
| tracker);
|
| }
|
|
|
| -base::CancelableTaskTracker::TaskId FaviconService::GetRawFaviconForURL(
|
| - const FaviconForURLParams& params,
|
| +base::CancelableTaskTracker::TaskId FaviconService::GetRawFaviconForPageURL(
|
| + const FaviconForPageURLParams& params,
|
| ui::ScaleFactor desired_scale_factor,
|
| - const favicon_base::FaviconRawCallback& callback,
|
| + const favicon_base::FaviconRawBitmapCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| std::vector<ui::ScaleFactor> desired_scale_factors;
|
| desired_scale_factors.push_back(desired_scale_factor);
|
| - return GetFaviconForURLImpl(
|
| + return GetFaviconForPageURLImpl(
|
| params,
|
| desired_scale_factors,
|
| - Bind(&FaviconService::RunFaviconRawCallbackWithBitmapResults,
|
| + Bind(&FaviconService::RunFaviconRawBitmapCallbackWithBitmapResults,
|
| base::Unretained(this),
|
| callback,
|
| params.desired_size_in_dip,
|
| @@ -185,16 +187,20 @@ base::CancelableTaskTracker::TaskId FaviconService::GetRawFaviconForURL(
|
| tracker);
|
| }
|
|
|
| -base::CancelableTaskTracker::TaskId FaviconService::GetLargestRawFaviconForURL(
|
| +base::CancelableTaskTracker::TaskId
|
| +FaviconService::GetLargestRawFaviconForPageURL(
|
| Profile* profile,
|
| const GURL& page_url,
|
| const std::vector<int>& icon_types,
|
| int minimum_size_in_pixels,
|
| - const favicon_base::FaviconRawCallback& callback,
|
| + const favicon_base::FaviconRawBitmapCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| favicon_base::FaviconResultsCallback favicon_results_callback =
|
| - Bind(&FaviconService::RunFaviconRawCallbackWithBitmapResults,
|
| - base::Unretained(this), callback, 0, ui::ScaleFactor());
|
| + Bind(&FaviconService::RunFaviconRawBitmapCallbackWithBitmapResults,
|
| + base::Unretained(this),
|
| + callback,
|
| + 0,
|
| + ui::ScaleFactor());
|
| if (page_url.SchemeIs(content::kChromeUIScheme) ||
|
| page_url.SchemeIs(extensions::kExtensionScheme)) {
|
| std::vector<ui::ScaleFactor> scale_factor;
|
| @@ -209,28 +215,28 @@ base::CancelableTaskTracker::TaskId FaviconService::GetLargestRawFaviconForURL(
|
| return RunWithEmptyResultAsync(favicon_results_callback, tracker);
|
| }
|
|
|
| -base::CancelableTaskTracker::TaskId FaviconService::GetFaviconForURL(
|
| - const FaviconForURLParams& params,
|
| +base::CancelableTaskTracker::TaskId FaviconService::GetFaviconForPageURL(
|
| + const FaviconForPageURLParams& params,
|
| const favicon_base::FaviconResultsCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| - return GetFaviconForURLImpl(params,
|
| - FaviconUtil::GetFaviconScaleFactors(),
|
| - callback,
|
| - tracker);
|
| + return GetFaviconForPageURLImpl(
|
| + params, FaviconUtil::GetFaviconScaleFactors(), callback, tracker);
|
| }
|
|
|
| base::CancelableTaskTracker::TaskId FaviconService::GetLargestRawFaviconForID(
|
| favicon_base::FaviconID favicon_id,
|
| - const favicon_base::FaviconRawCallback& callback,
|
| + const favicon_base::FaviconRawBitmapCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| // Use 0 as |desired_size_in_dip| to get the largest bitmap for |favicon_id|
|
| // without any resizing.
|
| int desired_size_in_dip = 0;
|
| ui::ScaleFactor desired_scale_factor = ui::SCALE_FACTOR_100P;
|
| favicon_base::FaviconResultsCallback callback_runner =
|
| - Bind(&FaviconService::RunFaviconRawCallbackWithBitmapResults,
|
| + Bind(&FaviconService::RunFaviconRawBitmapCallbackWithBitmapResults,
|
| base::Unretained(this),
|
| - callback, desired_size_in_dip, desired_scale_factor);
|
| + callback,
|
| + desired_size_in_dip,
|
| + desired_scale_factor);
|
|
|
| if (history_service_) {
|
| return history_service_->GetFaviconForID(
|
| @@ -279,7 +285,7 @@ void FaviconService::SetFavicons(const GURL& page_url,
|
| gfx::ImageSkia image_skia = image.AsImageSkia();
|
| image_skia.EnsureRepsForSupportedScales();
|
| const std::vector<gfx::ImageSkiaRep>& image_reps = image_skia.image_reps();
|
| - std::vector<favicon_base::FaviconBitmapData> favicon_bitmap_data;
|
| + std::vector<favicon_base::FaviconRawBitmapData> favicon_bitmap_data;
|
| for (size_t i = 0; i < image_reps.size(); ++i) {
|
| scoped_refptr<base::RefCountedBytes> bitmap_data(
|
| new base::RefCountedBytes());
|
| @@ -288,7 +294,7 @@ void FaviconService::SetFavicons(const GURL& page_url,
|
| &bitmap_data->data())) {
|
| gfx::Size pixel_size(image_reps[i].pixel_width(),
|
| image_reps[i].pixel_height());
|
| - favicon_base::FaviconBitmapData bitmap_data_element;
|
| + favicon_base::FaviconRawBitmapData bitmap_data_element;
|
| bitmap_data_element.bitmap_data = bitmap_data;
|
| bitmap_data_element.pixel_size = pixel_size;
|
| bitmap_data_element.icon_url = icon_url;
|
| @@ -316,8 +322,8 @@ void FaviconService::ClearUnableToDownloadFavicons() {
|
|
|
| FaviconService::~FaviconService() {}
|
|
|
| -base::CancelableTaskTracker::TaskId FaviconService::GetFaviconForURLImpl(
|
| - const FaviconForURLParams& params,
|
| +base::CancelableTaskTracker::TaskId FaviconService::GetFaviconForPageURLImpl(
|
| + const FaviconForPageURLParams& params,
|
| const std::vector<ui::ScaleFactor>& desired_scale_factors,
|
| const favicon_base::FaviconResultsCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| @@ -340,7 +346,7 @@ base::CancelableTaskTracker::TaskId FaviconService::GetFaviconForURLImpl(
|
| void FaviconService::RunFaviconImageCallbackWithBitmapResults(
|
| const favicon_base::FaviconImageCallback& callback,
|
| int desired_size_in_dip,
|
| - const std::vector<favicon_base::FaviconBitmapResult>&
|
| + const std::vector<favicon_base::FaviconRawBitmapResult>&
|
| favicon_bitmap_results) {
|
| favicon_base::FaviconImageResult image_result;
|
| image_result.image = FaviconUtil::SelectFaviconFramesFromPNGs(
|
| @@ -354,19 +360,20 @@ void FaviconService::RunFaviconImageCallbackWithBitmapResults(
|
| callback.Run(image_result);
|
| }
|
|
|
| -void FaviconService::RunFaviconRawCallbackWithBitmapResults(
|
| - const favicon_base::FaviconRawCallback& callback,
|
| +void FaviconService::RunFaviconRawBitmapCallbackWithBitmapResults(
|
| + const favicon_base::FaviconRawBitmapCallback& callback,
|
| int desired_size_in_dip,
|
| ui::ScaleFactor desired_scale_factor,
|
| - const std::vector<favicon_base::FaviconBitmapResult>&
|
| + const std::vector<favicon_base::FaviconRawBitmapResult>&
|
| favicon_bitmap_results) {
|
| if (favicon_bitmap_results.empty() || !favicon_bitmap_results[0].is_valid()) {
|
| - callback.Run(favicon_base::FaviconBitmapResult());
|
| + callback.Run(favicon_base::FaviconRawBitmapResult());
|
| return;
|
| }
|
|
|
| DCHECK_EQ(1u, favicon_bitmap_results.size());
|
| - favicon_base::FaviconBitmapResult bitmap_result = favicon_bitmap_results[0];
|
| + favicon_base::FaviconRawBitmapResult bitmap_result =
|
| + favicon_bitmap_results[0];
|
|
|
| // If the desired size is 0, SelectFaviconFrames() will return the largest
|
| // bitmap without doing any resizing. As |favicon_bitmap_results| has bitmap
|
| @@ -398,7 +405,7 @@ void FaviconService::RunFaviconRawCallbackWithBitmapResults(
|
| std::vector<unsigned char> resized_bitmap_data;
|
| if (!gfx::PNGCodec::EncodeBGRASkBitmap(resized_image.AsBitmap(), false,
|
| &resized_bitmap_data)) {
|
| - callback.Run(favicon_base::FaviconBitmapResult());
|
| + callback.Run(favicon_base::FaviconRawBitmapResult());
|
| return;
|
| }
|
|
|
|
|