diff options
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_model.cc')
-rw-r--r-- | chrome/browser/bookmarks/bookmark_model.cc | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc index fcdea2f..30d361b 100644 --- a/chrome/browser/bookmarks/bookmark_model.cc +++ b/chrome/browser/bookmarks/bookmark_model.cc @@ -29,6 +29,7 @@ #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util_collator.h" +#include "ui/gfx/favicon_size.h" #include "ui/gfx/image/image_util.h" using base::Time; @@ -777,21 +778,16 @@ BookmarkPermanentNode* BookmarkModel::CreatePermanentNode( void BookmarkModel::OnFaviconDataAvailable( FaviconService::Handle handle, - history::FaviconData favicon) { + const history::FaviconImageResult& image_result) { BookmarkNode* node = load_consumer_.GetClientData( FaviconServiceFactory::GetForProfile( profile_, Profile::EXPLICIT_ACCESS), handle); DCHECK(node); node->set_favicon_load_handle(0); - if (favicon.is_valid()) { - scoped_ptr<gfx::Image> favicon_image( - gfx::ImageFromPNGEncodedData(favicon.image_data->front(), - favicon.image_data->size())); - if (favicon_image.get()) { - node->set_favicon(*favicon_image.get()); - FaviconLoaded(node); - } + if (!image_result.image.IsEmpty()) { + node->set_favicon(image_result.image); + FaviconLoaded(node); } } @@ -804,8 +800,9 @@ void BookmarkModel::LoadFavicon(BookmarkNode* node) { profile_, Profile::EXPLICIT_ACCESS); if (!favicon_service) return; - FaviconService::Handle handle = favicon_service->GetFaviconForURL( - profile_, node->url(), history::FAVICON, &load_consumer_, + FaviconService::Handle handle = favicon_service->GetFaviconImageForURL( + profile_, node->url(), history::FAVICON, gfx::kFaviconSize, + &load_consumer_, base::Bind(&BookmarkModel::OnFaviconDataAvailable, base::Unretained(this))); load_consumer_.SetClientData(favicon_service, handle, node); |