summaryrefslogtreecommitdiffstats
path: root/chrome/browser/bookmarks
diff options
context:
space:
mode:
authormichaelbai@google.com <michaelbai@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-16 17:05:30 +0000
committermichaelbai@google.com <michaelbai@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-16 17:05:30 +0000
commit849ccee35b29ff4e6d69766087c0e2d8a2a01004 (patch)
tree2d0224faf53752bdda682f78c1a314fcdd2bcf93 /chrome/browser/bookmarks
parenta9590c25660d4be4caad2add5e16e08003e5ed39 (diff)
downloadchromium_src-849ccee35b29ff4e6d69766087c0e2d8a2a01004.zip
chromium_src-849ccee35b29ff4e6d69766087c0e2d8a2a01004.tar.gz
chromium_src-849ccee35b29ff4e6d69766087c0e2d8a2a01004.tar.bz2
Populated the IconType in FavIconService.
Changed the FavIconService callback to have the IconType parameter. Changed the callers to use FAV_ICON as default type BUG=71571 TEST=Tested with existing unit test Review URL: http://codereview.chromium.org/6651014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78383 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/bookmarks')
-rw-r--r--chrome/browser/bookmarks/bookmark_html_writer.cc12
-rw-r--r--chrome/browser/bookmarks/bookmark_html_writer.h5
-rw-r--r--chrome/browser/bookmarks/bookmark_html_writer_unittest.cc6
-rw-r--r--chrome/browser/bookmarks/bookmark_model.cc16
-rw-r--r--chrome/browser/bookmarks/bookmark_model.h8
5 files changed, 17 insertions, 30 deletions
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
index 8b0e979..ba70ed0 100644
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
@@ -439,7 +439,8 @@ bool BookmarkFaviconFetcher::FetchNextFavicon() {
if (favicons_map_->end() == iter) {
FaviconService* favicon_service =
profile_->GetFaviconService(Profile::EXPLICIT_ACCESS);
- favicon_service->GetFaviconForURL(GURL(url), &favicon_consumer_,
+ favicon_service->GetFaviconForURL(GURL(url), history::FAVICON,
+ &favicon_consumer_,
NewCallback(this, &BookmarkFaviconFetcher::OnFaviconDataAvailable));
return true;
} else {
@@ -451,17 +452,14 @@ bool BookmarkFaviconFetcher::FetchNextFavicon() {
void BookmarkFaviconFetcher::OnFaviconDataAvailable(
FaviconService::Handle handle,
- bool know_favicon,
- scoped_refptr<RefCountedMemory> data,
- bool expired,
- GURL icon_url) {
+ history::FaviconData favicon) {
GURL url;
if (!bookmark_urls_.empty()) {
url = GURL(bookmark_urls_.front());
bookmark_urls_.pop_front();
}
- if (know_favicon && data.get() && data->size() && !url.is_empty()) {
- favicons_map_->insert(make_pair(url.spec(), data));
+ if (favicon.is_valid() && !url.is_empty()) {
+ favicons_map_->insert(make_pair(url.spec(), favicon.image_data));
}
if (FetchNextFavicon()) {
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.h b/chrome/browser/bookmarks/bookmark_html_writer.h
index 94a88c7..10608a3 100644
--- a/chrome/browser/bookmarks/bookmark_html_writer.h
+++ b/chrome/browser/bookmarks/bookmark_html_writer.h
@@ -66,10 +66,7 @@ class BookmarkFaviconFetcher: public NotificationObserver {
// Favicon fetch callback. After all favicons are fetched executes
// html output on the file thread.
void OnFaviconDataAvailable(FaviconService::Handle handle,
- bool know_favicon,
- scoped_refptr<RefCountedMemory> data,
- bool expired,
- GURL icon_url);
+ history::FaviconData favicon);
// The Profile object used for accessing FaviconService, bookmarks model.
Profile* profile_;
diff --git a/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc b/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc
index 88377f8..2cb48e2 100644
--- a/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc
@@ -197,8 +197,7 @@ TEST_F(BookmarkHTMLWriterTest, Test) {
profile.GetHistoryService(Profile::EXPLICIT_ACCESS)->AddPage(url1,
history::SOURCE_BROWSED);
profile.GetFaviconService(Profile::EXPLICIT_ACCESS)->SetFavicon(url1,
- url1_favicon,
- icon_data);
+ url1_favicon, icon_data, history::FAVICON);
message_loop.RunAllPending();
const BookmarkNode* f2 = model->AddGroup(f1, 1, f2_title);
model->AddURLWithCreationTime(f2, 0, url2_title, url2, t2);
@@ -221,8 +220,7 @@ TEST_F(BookmarkHTMLWriterTest, Test) {
// Clear favicon so that it would be read from file.
std::vector<unsigned char> empty_data;
profile.GetFaviconService(Profile::EXPLICIT_ACCESS)->SetFavicon(url1,
- url1_favicon,
- empty_data);
+ url1_favicon, empty_data, history::FAVICON);
message_loop.RunAllPending();
// Read the bookmarks back in.
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc
index 658f58a..230e9d1 100644
--- a/chrome/browser/bookmarks/bookmark_model.cc
+++ b/chrome/browser/bookmarks/bookmark_model.cc
@@ -736,19 +736,17 @@ BookmarkNode* BookmarkModel::CreateRootNodeFromStarredEntry(
void BookmarkModel::OnFaviconDataAvailable(
FaviconService::Handle handle,
- bool know_favicon,
- scoped_refptr<RefCountedMemory> data,
- bool expired,
- GURL icon_url) {
- SkBitmap favicon;
+ history::FaviconData favicon) {
+ SkBitmap fav_icon;
BookmarkNode* node =
load_consumer_.GetClientData(
profile_->GetFaviconService(Profile::EXPLICIT_ACCESS), handle);
DCHECK(node);
node->set_favicon_load_handle(0);
- if (know_favicon && data.get() && data->size() &&
- gfx::PNGCodec::Decode(data->front(), data->size(), &favicon)) {
- node->set_favicon(favicon);
+ if (favicon.is_valid() && gfx::PNGCodec::Decode(favicon.image_data->front(),
+ favicon.image_data->size(),
+ &fav_icon)) {
+ node->set_favicon(fav_icon);
FaviconLoaded(node);
}
}
@@ -763,7 +761,7 @@ void BookmarkModel::LoadFavicon(BookmarkNode* node) {
if (!favicon_service)
return;
FaviconService::Handle handle = favicon_service->GetFaviconForURL(
- node->GetURL(), &load_consumer_,
+ node->GetURL(), history::FAVICON, &load_consumer_,
NewCallback(this, &BookmarkModel::OnFaviconDataAvailable));
load_consumer_.SetClientData(favicon_service, handle, node);
node->set_favicon_load_handle(handle);
diff --git a/chrome/browser/bookmarks/bookmark_model.h b/chrome/browser/bookmarks/bookmark_model.h
index a7ccc43..e6268579 100644
--- a/chrome/browser/bookmarks/bookmark_model.h
+++ b/chrome/browser/bookmarks/bookmark_model.h
@@ -392,12 +392,8 @@ class BookmarkModel : public NotificationObserver, public BookmarkService {
// Notification that a favicon has finished loading. If we can decode the
// favicon, FaviconLoaded is invoked.
- void OnFaviconDataAvailable(
- FaviconService::Handle handle,
- bool know_favicon,
- scoped_refptr<RefCountedMemory> data,
- bool expired,
- GURL icon_url);
+ void OnFaviconDataAvailable(FaviconService::Handle handle,
+ history::FaviconData favicon);
// Invoked from the node to load the favicon. Requests the favicon from the
// favicon service.