| Index: chrome/browser/bookmarks/chrome_bookmark_client.cc
|
| diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
| index cc590fbc54fb08462e65ba9c0b613afd4458e700..5eaccac8e3d777640ab808b110bc29e02a39f74a 100644
|
| --- a/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
| +++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc
|
| @@ -40,6 +40,20 @@ void NotifyHistoryOfRemovedURLs(Profile* profile,
|
| history_service->URLsNoLongerBookmarked(removed_urls);
|
| }
|
|
|
| +void RunCallbackWithImage(
|
| + const favicon_base::FaviconImageCallback& callback,
|
| + const favicon_base::FaviconRawBitmapResult& bitmap_result) {
|
| + favicon_base::FaviconImageResult result;
|
| + if (bitmap_result.is_valid()) {
|
| + result.image = gfx::Image::CreateFrom1xPNGBytes(
|
| + bitmap_result.bitmap_data->front(), bitmap_result.bitmap_data->size());
|
| + result.icon_url = bitmap_result.icon_url;
|
| + callback.Run(result);
|
| + return;
|
| + }
|
| + callback.Run(result);
|
| +}
|
| +
|
| } // namespace
|
|
|
| ChromeBookmarkClient::ChromeBookmarkClient(Profile* profile)
|
| @@ -99,10 +113,9 @@ bool ChromeBookmarkClient::PreferTouchIcon() {
|
| #endif
|
| }
|
|
|
| -base::CancelableTaskTracker::TaskId ChromeBookmarkClient::GetFaviconImageForURL(
|
| +base::CancelableTaskTracker::TaskId
|
| +ChromeBookmarkClient::GetFaviconImageForPageURL(
|
| const GURL& page_url,
|
| - int icon_types,
|
| - int desired_size_in_dip,
|
| const favicon_base::FaviconImageCallback& callback,
|
| base::CancelableTaskTracker* tracker) {
|
| FaviconService* favicon_service =
|
| @@ -110,9 +123,23 @@ base::CancelableTaskTracker::TaskId ChromeBookmarkClient::GetFaviconImageForURL(
|
| if (!favicon_service)
|
| return base::CancelableTaskTracker::kBadTaskId;
|
| return favicon_service->GetFaviconImageForPageURL(
|
| - FaviconService::FaviconForPageURLParams(
|
| - page_url, icon_types, desired_size_in_dip),
|
| - callback,
|
| + page_url, callback, tracker);
|
| +}
|
| +
|
| +base::CancelableTaskTracker::TaskId
|
| +ChromeBookmarkClient::GetTouchFaviconImageForPageURL(
|
| + const GURL& page_url,
|
| + const favicon_base::FaviconImageCallback& callback,
|
| + base::CancelableTaskTracker* tracker) {
|
| + FaviconService* favicon_service =
|
| + FaviconServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
|
| + if (!favicon_service)
|
| + return base::CancelableTaskTracker::kBadTaskId;
|
| + return favicon_service->GetRawFaviconForPageURL(
|
| + page_url,
|
| + favicon_base::TOUCH_ICON,
|
| + 0,
|
| + base::Bind(&RunCallbackWithImage, callback),
|
| tracker);
|
| }
|
|
|
|
|