| Index: components/favicon/core/large_icon_service.cc
|
| diff --git a/components/favicon/core/large_icon_service.cc b/components/favicon/core/large_icon_service.cc
|
| index 57953b271d9fe6d9cba00fb2555efc346abf9a59..5a9e1d2586881230a3f7dda2dd393d26c08e5e64 100644
|
| --- a/components/favicon/core/large_icon_service.cc
|
| +++ b/components/favicon/core/large_icon_service.cc
|
| @@ -26,6 +26,7 @@ class LargeIconWorker : public base::RefCountedThreadSafe<LargeIconWorker> {
|
| public:
|
| LargeIconWorker(int min_source_size_in_pixel,
|
| int desired_size_in_pixel,
|
| + const favicon_base::FallbackIconStyle& fallback_icon_style,
|
| favicon_base::LargeIconCallback callback,
|
| scoped_refptr<base::TaskRunner> background_task_runner,
|
| base::CancelableTaskTracker* tracker);
|
| @@ -63,6 +64,7 @@ class LargeIconWorker : public base::RefCountedThreadSafe<LargeIconWorker> {
|
|
|
| int min_source_size_in_pixel_;
|
| int desired_size_in_pixel_;
|
| + favicon_base::FallbackIconStyle fallback_icon_style_;
|
| favicon_base::LargeIconCallback callback_;
|
| scoped_refptr<base::TaskRunner> background_task_runner_;
|
| base::CancelableTaskTracker* tracker_;
|
| @@ -75,15 +77,16 @@ class LargeIconWorker : public base::RefCountedThreadSafe<LargeIconWorker> {
|
| LargeIconWorker::LargeIconWorker(
|
| int min_source_size_in_pixel,
|
| int desired_size_in_pixel,
|
| + const favicon_base::FallbackIconStyle& fallback_icon_style,
|
| favicon_base::LargeIconCallback callback,
|
| scoped_refptr<base::TaskRunner> background_task_runner,
|
| base::CancelableTaskTracker* tracker)
|
| : min_source_size_in_pixel_(min_source_size_in_pixel),
|
| desired_size_in_pixel_(desired_size_in_pixel),
|
| + fallback_icon_style_(fallback_icon_style),
|
| callback_(callback),
|
| background_task_runner_(background_task_runner),
|
| - tracker_(tracker) {
|
| -}
|
| + tracker_(tracker) {}
|
|
|
| LargeIconWorker::~LargeIconWorker() {
|
| }
|
| @@ -103,15 +106,15 @@ void LargeIconWorker::ProcessIconOnBackgroundThread() {
|
| result_.reset(
|
| new favicon_base::LargeIconResult(resized_bitmap_result));
|
| } else {
|
| - // Failed to resize |bitmap_result_|, so compute fallback icon style.
|
| - scoped_ptr<favicon_base::FallbackIconStyle> fallback_icon_style(
|
| - new favicon_base::FallbackIconStyle());
|
| + // Failed to resize |bitmap_result_|, so send fallback icon style.
|
| + favicon_base::FallbackIconStyle* style =
|
| + new favicon_base::FallbackIconStyle();
|
| + *style = fallback_icon_style_;
|
| if (bitmap_result_.is_valid()) {
|
| - favicon_base::SetDominantColorAsBackground(
|
| - bitmap_result_.bitmap_data, fallback_icon_style.get());
|
| + favicon_base::SetDominantColorAsBackground(bitmap_result_.bitmap_data,
|
| + style);
|
| }
|
| - result_.reset(
|
| - new favicon_base::LargeIconResult(fallback_icon_style.release()));
|
| + result_.reset(new favicon_base::LargeIconResult(style));
|
| }
|
| }
|
|
|
| @@ -176,18 +179,19 @@ LargeIconService::~LargeIconService() {
|
| }
|
|
|
| base::CancelableTaskTracker::TaskId
|
| - LargeIconService::GetLargeIconOrFallbackStyle(
|
| - const GURL& page_url,
|
| - int min_source_size_in_pixel,
|
| - int desired_size_in_pixel,
|
| - const favicon_base::LargeIconCallback& callback,
|
| - base::CancelableTaskTracker* tracker) {
|
| +LargeIconService::GetLargeIconOrFallbackStyle(
|
| + const GURL& page_url,
|
| + int min_source_size_in_pixel,
|
| + int desired_size_in_pixel,
|
| + const favicon_base::FallbackIconStyle& fallback_icon_style,
|
| + const favicon_base::LargeIconCallback& callback,
|
| + base::CancelableTaskTracker* tracker) {
|
| DCHECK_LE(1, min_source_size_in_pixel);
|
| DCHECK_LE(0, desired_size_in_pixel);
|
|
|
| - scoped_refptr<LargeIconWorker> worker =
|
| - new LargeIconWorker(min_source_size_in_pixel, desired_size_in_pixel,
|
| - callback, background_task_runner_, tracker);
|
| + scoped_refptr<LargeIconWorker> worker = new LargeIconWorker(
|
| + min_source_size_in_pixel, desired_size_in_pixel, fallback_icon_style,
|
| + callback, background_task_runner_, tracker);
|
|
|
| // TODO(beaudoin): For now this is just a wrapper around
|
| // GetLargestRawFaviconForPageURL. Add the logic required to select the best
|
|
|