Chromium Code Reviews| Index: chrome/browser/history/history_service.cc |
| diff --git a/chrome/browser/history/history_service.cc b/chrome/browser/history/history_service.cc |
| index aee38c899a9c99b5635cd81d1526576acad38e1e..9d86d30b06a25102289e39153304877a6b2b04df 100644 |
| --- a/chrome/browser/history/history_service.cc |
| +++ b/chrome/browser/history/history_service.cc |
| @@ -84,6 +84,14 @@ void RunWithFaviconResults( |
| callback.Run(*bitmap_results); |
| } |
| +void RunWithFaviconResult( |
| + const FaviconService::FaviconResultsCallback& callback, |
| + chrome::FaviconBitmapResult* bitmap_result) { |
| + std::vector<chrome::FaviconBitmapResult> results; |
|
sky
2013/10/18 01:21:59
Again, why the vector here too?
michaelbai
2013/10/18 04:37:02
Done.
|
| + results.push_back(*bitmap_result); |
| + callback.Run(results); |
| +} |
| + |
| // Extract history::URLRows into GURLs for VisitedLinkMaster. |
| class URLIteratorFromURLRows |
| : public visitedlink::VisitedLinkMaster::URLIterator { |
| @@ -644,6 +652,28 @@ CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( |
| base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
| } |
| +CancelableTaskTracker::TaskId HistoryService::GetLargestFaviconForURL( |
| + const GURL& page_url, |
| + const std::vector<int>& icon_types, |
| + int minimum_size_in_pixels, |
| + const FaviconService::FaviconResultsCallback& callback, |
| + CancelableTaskTracker* tracker) { |
| + DCHECK(thread_checker_.CalledOnValidThread()); |
| + LoadBackendIfNecessary(); |
| + |
| + chrome::FaviconBitmapResult* result = new chrome::FaviconBitmapResult(); |
| + return tracker->PostTaskAndReply( |
| + thread_->message_loop_proxy().get(), |
| + FROM_HERE, |
| + base::Bind(&HistoryBackend::GetLargestFaviconForURL, |
| + history_backend_.get(), |
| + page_url, |
| + icon_types, |
| + minimum_size_in_pixels, |
| + result), |
| + base::Bind(&RunWithFaviconResult, callback, base::Owned(result))); |
| +} |
| + |
| CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( |
| chrome::FaviconID favicon_id, |
| int desired_size_in_dip, |