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 19aa1664d244951b7d54748ac2253f3d6c053a79..6ed8d2fa789d9e84a4642b7d9664eaf79c3c711d 100644 |
--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc |
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc |
@@ -38,6 +38,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) |
@@ -97,21 +111,27 @@ 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, |
+ favicon_base::IconType type, |
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->GetFaviconImageForPageURL( |
- FaviconService::FaviconForPageURLParams( |
- page_url, icon_types, desired_size_in_dip), |
- callback, |
- tracker); |
+ if (type == favicon_base::FAVICON) { |
+ return favicon_service->GetFaviconImageForPageURL( |
+ page_url, callback, tracker); |
+ } else { |
+ return favicon_service->GetRawFaviconForPageURL( |
+ page_url, |
+ type, |
+ 0, |
+ base::Bind(&RunCallbackWithImage, callback), |
+ tracker); |
+ } |
} |
bool ChromeBookmarkClient::SupportsTypedCountForNodes() { |