| 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 "components/favicon/core/favicon_handler.h" | 5 #include "components/favicon/core/favicon_handler.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 service_->GetFavicon( | 509 service_->GetFavicon( |
| 510 icon_url, icon_type, preferred_icon_size(), | 510 icon_url, icon_type, preferred_icon_size(), |
| 511 base::Bind(&FaviconHandler::OnFaviconData, base::Unretained(this)), | 511 base::Bind(&FaviconHandler::OnFaviconData, base::Unretained(this)), |
| 512 &cancelable_task_tracker_); | 512 &cancelable_task_tracker_); |
| 513 } else { | 513 } else { |
| 514 // Ask the history service for the icon. This does two things: | 514 // Ask the history service for the icon. This does two things: |
| 515 // 1. Attempts to fetch the favicon data from the database. | 515 // 1. Attempts to fetch the favicon data from the database. |
| 516 // 2. If the favicon exists in the database, this updates the database to | 516 // 2. If the favicon exists in the database, this updates the database to |
| 517 // include the mapping between the page url and the favicon url. | 517 // include the mapping between the page url and the favicon url. |
| 518 // This is asynchronous. The history service will call back when done. | 518 // This is asynchronous. The history service will call back when done. |
| 519 // TODO(pkotwicz): pass in all of |image_urls_| to | |
| 520 // UpdateFaviconMappingsAndFetch(). | |
| 521 service_->UpdateFaviconMappingsAndFetch( | 519 service_->UpdateFaviconMappingsAndFetch( |
| 522 url_, {icon_url}, icon_type, preferred_icon_size(), | 520 url_, icon_url, icon_type, preferred_icon_size(), |
| 523 base::Bind(&FaviconHandler::OnFaviconData, base::Unretained(this)), | 521 base::Bind(&FaviconHandler::OnFaviconData, base::Unretained(this)), |
| 524 &cancelable_task_tracker_); | 522 &cancelable_task_tracker_); |
| 525 } | 523 } |
| 526 } | 524 } |
| 527 } | 525 } |
| 528 | 526 |
| 529 void FaviconHandler::OnFaviconData(const std::vector< | 527 void FaviconHandler::OnFaviconData(const std::vector< |
| 530 favicon_base::FaviconRawBitmapResult>& favicon_bitmap_results) { | 528 favicon_base::FaviconRawBitmapResult>& favicon_bitmap_results) { |
| 531 bool has_results = !favicon_bitmap_results.empty(); | 529 bool has_results = !favicon_bitmap_results.empty(); |
| 532 bool has_valid_result = HasValidResult(favicon_bitmap_results); | 530 bool has_valid_result = HasValidResult(favicon_bitmap_results); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 // A max bitmap size is specified to avoid receiving huge bitmaps in | 574 // A max bitmap size is specified to avoid receiving huge bitmaps in |
| 577 // OnDidDownloadFavicon(). See FaviconDriver::StartDownload() | 575 // OnDidDownloadFavicon(). See FaviconDriver::StartDownload() |
| 578 // for more details about the max bitmap size. | 576 // for more details about the max bitmap size. |
| 579 const int download_id = | 577 const int download_id = |
| 580 delegate_->DownloadImage(image_url, GetMaximalIconSize(handler_type_), | 578 delegate_->DownloadImage(image_url, GetMaximalIconSize(handler_type_), |
| 581 download_request_.callback()); | 579 download_request_.callback()); |
| 582 DCHECK_NE(download_id, 0); | 580 DCHECK_NE(download_id, 0); |
| 583 } | 581 } |
| 584 | 582 |
| 585 } // namespace favicon | 583 } // namespace favicon |
| OLD | NEW |