summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks/bookmark_model.cc
diff options
context:
space:
mode:
authorpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-30 15:43:51 +0000
committerpkotwicz@chromium.org <pkotwicz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-30 15:43:51 +0000
commit65baa222dc4df706827fd8602f9fa38fb76f1fbd (patch)
tree4aabda67655371f10ddf6be5f0c0e0a6fe8db1f4 /chrome/browser/bookmarks/bookmark_model.cc
parent5434c3631b104722213ed98c21e95756a132ca7b (diff)
downloadchromium_src-65baa222dc4df706827fd8602f9fa38fb76f1fbd.zip
chromium_src-65baa222dc4df706827fd8602f9fa38fb76f1fbd.tar.gz
chromium_src-65baa222dc4df706827fd8602f9fa38fb76f1fbd.tar.bz2
Change FaviconData to be able to return data for multiple bitmaps for same icon URL.
Add methods to FaviconService to get gfx::Image more easily from Favicon. BUG=138553 Test=Compiles, FaviconHandlerTest.* pass. Review URL: https://chromiumcodereview.appspot.com/10870022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154157 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_model.cc')
-rw-r--r--chrome/browser/bookmarks/bookmark_model.cc19
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);