| 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_handler.h" | 5 #include "chrome/browser/favicon/favicon_handler.h" |
| 6 | 6 |
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/bind.h" | 12 #include "base/bind.h" |
| 13 #include "base/bind_helpers.h" | 13 #include "base/bind_helpers.h" |
| 14 #include "base/memory/ref_counted_memory.h" | 14 #include "base/memory/ref_counted_memory.h" |
| 15 #include "chrome/browser/favicon/favicon_service.h" |
| 15 #include "chrome/browser/favicon/favicon_service_factory.h" | 16 #include "chrome/browser/favicon/favicon_service_factory.h" |
| 16 #include "chrome/browser/favicon/favicon_util.h" | 17 #include "chrome/browser/favicon/favicon_util.h" |
| 17 #include "components/favicon_base/select_favicon_frames.h" | 18 #include "components/favicon_base/select_favicon_frames.h" |
| 18 #include "skia/ext/image_operations.h" | 19 #include "skia/ext/image_operations.h" |
| 19 #include "ui/gfx/codec/png_codec.h" | 20 #include "ui/gfx/codec/png_codec.h" |
| 20 #include "ui/gfx/image/image.h" | 21 #include "ui/gfx/image/image.h" |
| 21 #include "ui/gfx/image/image_skia.h" | 22 #include "ui/gfx/image/image_skia.h" |
| 22 #include "ui/gfx/image/image_util.h" | 23 #include "ui/gfx/image/image_util.h" |
| 23 | 24 |
| 24 using content::FaviconURL; | 25 using content::FaviconURL; |
| (...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 NOTREACHED(); | 502 NOTREACHED(); |
| 502 return 0; | 503 return 0; |
| 503 } | 504 } |
| 504 return driver_->StartDownload(image_url, max_bitmap_size); | 505 return driver_->StartDownload(image_url, max_bitmap_size); |
| 505 } | 506 } |
| 506 | 507 |
| 507 void FaviconHandler::UpdateFaviconMappingAndFetch( | 508 void FaviconHandler::UpdateFaviconMappingAndFetch( |
| 508 const GURL& page_url, | 509 const GURL& page_url, |
| 509 const GURL& icon_url, | 510 const GURL& icon_url, |
| 510 favicon_base::IconType icon_type, | 511 favicon_base::IconType icon_type, |
| 511 const FaviconService::FaviconResultsCallback& callback, | 512 const favicon_base::FaviconResultsCallback& callback, |
| 512 base::CancelableTaskTracker* tracker) { | 513 base::CancelableTaskTracker* tracker) { |
| 513 // TODO(pkotwicz): pass in all of |image_urls_| to | 514 // TODO(pkotwicz): pass in all of |image_urls_| to |
| 514 // UpdateFaviconMappingsAndFetch(). | 515 // UpdateFaviconMappingsAndFetch(). |
| 515 std::vector<GURL> icon_urls; | 516 std::vector<GURL> icon_urls; |
| 516 icon_urls.push_back(icon_url); | 517 icon_urls.push_back(icon_url); |
| 517 client_->GetFaviconService()->UpdateFaviconMappingsAndFetch( | 518 client_->GetFaviconService()->UpdateFaviconMappingsAndFetch( |
| 518 page_url, icon_urls, icon_type, preferred_icon_size(), callback, tracker); | 519 page_url, icon_urls, icon_type, preferred_icon_size(), callback, tracker); |
| 519 } | 520 } |
| 520 | 521 |
| 521 void FaviconHandler::GetFaviconFromFaviconService( | 522 void FaviconHandler::GetFaviconFromFaviconService( |
| 522 const GURL& icon_url, | 523 const GURL& icon_url, |
| 523 favicon_base::IconType icon_type, | 524 favicon_base::IconType icon_type, |
| 524 const FaviconService::FaviconResultsCallback& callback, | 525 const favicon_base::FaviconResultsCallback& callback, |
| 525 base::CancelableTaskTracker* tracker) { | 526 base::CancelableTaskTracker* tracker) { |
| 526 client_->GetFaviconService()->GetFavicon( | 527 client_->GetFaviconService()->GetFavicon( |
| 527 icon_url, icon_type, preferred_icon_size(), callback, tracker); | 528 icon_url, icon_type, preferred_icon_size(), callback, tracker); |
| 528 } | 529 } |
| 529 | 530 |
| 530 void FaviconHandler::GetFaviconForURLFromFaviconService( | 531 void FaviconHandler::GetFaviconForURLFromFaviconService( |
| 531 const GURL& page_url, | 532 const GURL& page_url, |
| 532 int icon_types, | 533 int icon_types, |
| 533 const FaviconService::FaviconResultsCallback& callback, | 534 const favicon_base::FaviconResultsCallback& callback, |
| 534 base::CancelableTaskTracker* tracker) { | 535 base::CancelableTaskTracker* tracker) { |
| 535 client_->GetFaviconService()->GetFaviconForURL( | 536 client_->GetFaviconService()->GetFaviconForURL( |
| 536 FaviconService::FaviconForURLParams( | 537 FaviconService::FaviconForURLParams( |
| 537 page_url, icon_types, preferred_icon_size()), | 538 page_url, icon_types, preferred_icon_size()), |
| 538 callback, | 539 callback, |
| 539 tracker); | 540 tracker); |
| 540 } | 541 } |
| 541 | 542 |
| 542 void FaviconHandler::SetHistoryFavicons(const GURL& page_url, | 543 void FaviconHandler::SetHistoryFavicons(const GURL& page_url, |
| 543 const GURL& icon_url, | 544 const GURL& icon_url, |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 } else { | 707 } else { |
| 707 gfx::Size largest = i->icon_sizes[index]; | 708 gfx::Size largest = i->icon_sizes[index]; |
| 708 i->icon_sizes.clear(); | 709 i->icon_sizes.clear(); |
| 709 i->icon_sizes.push_back(largest); | 710 i->icon_sizes.push_back(largest); |
| 710 ++i; | 711 ++i; |
| 711 } | 712 } |
| 712 } | 713 } |
| 713 std::stable_sort(image_urls_.begin(), image_urls_.end(), | 714 std::stable_sort(image_urls_.begin(), image_urls_.end(), |
| 714 CompareIconSize); | 715 CompareIconSize); |
| 715 } | 716 } |
| OLD | NEW |