Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(549)

Unified Diff: components/history/core/browser/history_service.h

Issue 1133463005: Update all bookmarks which use an icon URL when a favicon's bitmap is updated (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@startup_do_not_unexpire
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/history/core/browser/history_service.h
diff --git a/components/history/core/browser/history_service.h b/components/history/core/browser/history_service.h
index b491f72a5f86d48265e68e3d829bd7f6b9475418..7fd80d89a586ad8d849eb3f7635f2b4a7f0cfd29 100644
--- a/components/history/core/browser/history_service.h
+++ b/components/history/core/browser/history_service.h
@@ -458,14 +458,20 @@ class HistoryService : public syncer::SyncableService, public KeyedService {
scoped_ptr<HistoryDBTask> task,
base::CancelableTaskTracker* tracker);
- // This callback is invoked when favicon change for urls.
- typedef base::Callback<void(const std::set<GURL>&)> OnFaviconChangedCallback;
+ // Callback for when favicon data changes. Contains a std::set of page URLs
+ // (e.g. http://www.google.com) for which the favicon data has changed and the
+ // icon URL (e.g. http://www.google.com/favicon.ico) for which the favicon
+ // data has changed. It is valid to call the callback with non-empty
+ // "page URLs" and no "icon URL" and vice versa.
+ typedef base::Callback<void(const std::set<GURL>&, const GURL&)>
+ OnFaviconsChangedCallback;
// Add a callback to the list. The callback will remain registered until the
- // returned Subscription is destroyed. This must occurs before HistoryService
- // is destroyed.
- scoped_ptr<base::CallbackList<void(const std::set<GURL>&)>::Subscription>
- AddFaviconChangedCallback(const OnFaviconChangedCallback& callback)
+ // returned Subscription is destroyed. The Subscription must be destroyed
+ // before HistoryService is destroyed.
+ scoped_ptr<base::CallbackList<void(const std::set<GURL>&,
+ const GURL&)>::Subscription>
+ AddFaviconsChangedCallback(const OnFaviconsChangedCallback& callback)
WARN_UNUSED_RESULT;
// Testing -------------------------------------------------------------------
@@ -780,8 +786,13 @@ class HistoryService : public syncer::SyncableService, public KeyedService {
// specified priority. The task will have ownership taken.
void ScheduleTask(SchedulePriority priority, const base::Closure& task);
- // Invokes all callback registered by AddFaviconChangedCallback.
- void NotifyFaviconChanged(const std::set<GURL>& changed_favicons);
+ // Called when the favicons for the given page URLs (e.g.
+ // http://www.google.com) and the given icon URL (e.g.
+ // http://www.google.com/favicon.ico) have changed. It is valid to call
+ // NotifyFaviconsChanged() with non-empty |page_urls| and an empty |icon_url|
+ // and vice versa.
+ void NotifyFaviconsChanged(const std::set<GURL>& page_urls,
+ const GURL& icon_url);
base::ThreadChecker thread_checker_;
@@ -815,7 +826,7 @@ class HistoryService : public syncer::SyncableService, public KeyedService {
bool backend_loaded_;
base::ObserverList<HistoryServiceObserver> observers_;
- base::CallbackList<void(const std::set<GURL>&)>
+ base::CallbackList<void(const std::set<GURL>&, const GURL&)>
favicon_changed_callback_list_;
DeleteDirectiveHandler delete_directive_handler_;
« no previous file with comments | « components/history/core/browser/history_backend_unittest.cc ('k') | components/history/core/browser/history_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698