| 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_service.h" | 5 #include "chrome/browser/favicon/favicon_service.h" |
| 6 | 6 |
| 7 #include "base/hash.h" | 7 #include "base/hash.h" |
| 8 #include "base/message_loop/message_loop_proxy.h" | 8 #include "base/message_loop/message_loop_proxy.h" |
| 9 #include "chrome/browser/favicon/favicon_util.h" | 9 #include "chrome/browser/favicon/favicon_util.h" |
| 10 #include "chrome/browser/history/history_backend.h" | 10 #include "chrome/browser/history/history_backend.h" |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 base::CancelableTaskTracker::TaskId FaviconService::GetLargestRawFaviconForURL( | 192 base::CancelableTaskTracker::TaskId FaviconService::GetLargestRawFaviconForURL( |
| 193 Profile* profile, | 193 Profile* profile, |
| 194 const GURL& page_url, | 194 const GURL& page_url, |
| 195 const std::vector<int>& icon_types, | 195 const std::vector<int>& icon_types, |
| 196 int minimum_size_in_pixels, | 196 int minimum_size_in_pixels, |
| 197 const FaviconRawCallback& callback, | 197 const FaviconRawCallback& callback, |
| 198 base::CancelableTaskTracker* tracker) { | 198 base::CancelableTaskTracker* tracker) { |
| 199 FaviconResultsCallback favicon_results_callback = | 199 FaviconResultsCallback favicon_results_callback = |
| 200 Bind(&FaviconService::RunFaviconRawCallbackWithBitmapResults, | 200 Bind(&FaviconService::RunFaviconRawCallbackWithBitmapResults, |
| 201 base::Unretained(this), callback, 0, ui::ScaleFactor()); | 201 base::Unretained(this), callback, 0, ui::ScaleFactor()); |
| 202 if (page_url.SchemeIs(chrome::kChromeUIScheme) || | 202 if (page_url.SchemeIs(content::kChromeUIScheme) || |
| 203 page_url.SchemeIs(extensions::kExtensionScheme)) { | 203 page_url.SchemeIs(extensions::kExtensionScheme)) { |
| 204 std::vector<ui::ScaleFactor> scale_factor; | 204 std::vector<ui::ScaleFactor> scale_factor; |
| 205 scale_factor.push_back(ui::SCALE_FACTOR_100P); | 205 scale_factor.push_back(ui::SCALE_FACTOR_100P); |
| 206 return GetFaviconForChromeURL(profile, page_url, scale_factor, | 206 return GetFaviconForChromeURL(profile, page_url, scale_factor, |
| 207 favicon_results_callback, tracker); | 207 favicon_results_callback, tracker); |
| 208 } else if (history_service_) { | 208 } else if (history_service_) { |
| 209 return history_service_->GetLargestFaviconForURL(page_url, icon_types, | 209 return history_service_->GetLargestFaviconForURL(page_url, icon_types, |
| 210 minimum_size_in_pixels, callback, tracker); | 210 minimum_size_in_pixels, callback, tracker); |
| 211 } | 211 } |
| 212 return RunWithEmptyResultAsync(favicon_results_callback, tracker); | 212 return RunWithEmptyResultAsync(favicon_results_callback, tracker); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 missing_favicon_urls_.clear(); | 318 missing_favicon_urls_.clear(); |
| 319 } | 319 } |
| 320 | 320 |
| 321 FaviconService::~FaviconService() {} | 321 FaviconService::~FaviconService() {} |
| 322 | 322 |
| 323 base::CancelableTaskTracker::TaskId FaviconService::GetFaviconForURLImpl( | 323 base::CancelableTaskTracker::TaskId FaviconService::GetFaviconForURLImpl( |
| 324 const FaviconForURLParams& params, | 324 const FaviconForURLParams& params, |
| 325 const std::vector<ui::ScaleFactor>& desired_scale_factors, | 325 const std::vector<ui::ScaleFactor>& desired_scale_factors, |
| 326 const FaviconResultsCallback& callback, | 326 const FaviconResultsCallback& callback, |
| 327 base::CancelableTaskTracker* tracker) { | 327 base::CancelableTaskTracker* tracker) { |
| 328 if (params.page_url.SchemeIs(chrome::kChromeUIScheme) || | 328 if (params.page_url.SchemeIs(content::kChromeUIScheme) || |
| 329 params.page_url.SchemeIs(extensions::kExtensionScheme)) { | 329 params.page_url.SchemeIs(extensions::kExtensionScheme)) { |
| 330 return GetFaviconForChromeURL(profile_, params.page_url, | 330 return GetFaviconForChromeURL(profile_, params.page_url, |
| 331 desired_scale_factors, callback, tracker); | 331 desired_scale_factors, callback, tracker); |
| 332 } else if (history_service_) { | 332 } else if (history_service_) { |
| 333 return history_service_->GetFaviconsForURL(params.page_url, | 333 return history_service_->GetFaviconsForURL(params.page_url, |
| 334 params.icon_types, | 334 params.icon_types, |
| 335 params.desired_size_in_dip, | 335 params.desired_size_in_dip, |
| 336 desired_scale_factors, | 336 desired_scale_factors, |
| 337 callback, | 337 callback, |
| 338 tracker); | 338 tracker); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 if (!gfx::PNGCodec::EncodeBGRASkBitmap(resized_image.AsBitmap(), false, | 399 if (!gfx::PNGCodec::EncodeBGRASkBitmap(resized_image.AsBitmap(), false, |
| 400 &resized_bitmap_data)) { | 400 &resized_bitmap_data)) { |
| 401 callback.Run(chrome::FaviconBitmapResult()); | 401 callback.Run(chrome::FaviconBitmapResult()); |
| 402 return; | 402 return; |
| 403 } | 403 } |
| 404 | 404 |
| 405 bitmap_result.bitmap_data = base::RefCountedBytes::TakeVector( | 405 bitmap_result.bitmap_data = base::RefCountedBytes::TakeVector( |
| 406 &resized_bitmap_data); | 406 &resized_bitmap_data); |
| 407 callback.Run(bitmap_result); | 407 callback.Run(bitmap_result); |
| 408 } | 408 } |
| OLD | NEW |