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

Side by Side Diff: chrome/browser/sync/sessions/notification_service_sessions_router.cc

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, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync/sessions/notification_service_sessions_router.h" 5 #include "chrome/browser/sync/sessions/notification_service_sessions_router.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/browser/chrome_notification_types.h" 8 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/history/history_service_factory.h" 9 #include "chrome/browser/history/history_service_factory.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 content::NotificationService::AllSources()); 55 content::NotificationService::AllSources());
56 #endif 56 #endif
57 registrar_.Add(this, 57 registrar_.Add(this,
58 content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME, 58 content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME,
59 content::NotificationService::AllBrowserContextsAndSources()); 59 content::NotificationService::AllBrowserContextsAndSources());
60 history::HistoryService* history_service = 60 history::HistoryService* history_service =
61 HistoryServiceFactory::GetForProfile(profile, 61 HistoryServiceFactory::GetForProfile(profile,
62 ServiceAccessType::EXPLICIT_ACCESS); 62 ServiceAccessType::EXPLICIT_ACCESS);
63 if (history_service) { 63 if (history_service) {
64 favicon_changed_subscription_ = history_service->AddFaviconChangedCallback( 64 favicon_changed_subscription_ = history_service->AddFaviconChangedCallback(
65 base::Bind(&NotificationServiceSessionsRouter::OnFaviconChanged, 65 base::Bind(&NotificationServiceSessionsRouter::OnFaviconsChanged,
66 base::Unretained(this))); 66 base::Unretained(this)));
67 } 67 }
68 #if defined(ENABLE_SUPERVISED_USERS) 68 #if defined(ENABLE_SUPERVISED_USERS)
69 if (profile_->IsSupervised()) { 69 if (profile_->IsSupervised()) {
70 SupervisedUserService* supervised_user_service = 70 SupervisedUserService* supervised_user_service =
71 SupervisedUserServiceFactory::GetForProfile(profile_); 71 SupervisedUserServiceFactory::GetForProfile(profile_);
72 supervised_user_service->AddNavigationBlockedCallback( 72 supervised_user_service->AddNavigationBlockedCallback(
73 base::Bind(&NotificationServiceSessionsRouter::OnNavigationBlocked, 73 base::Bind(&NotificationServiceSessionsRouter::OnNavigationBlocked,
74 weak_ptr_factory_.GetWeakPtr())); 74 weak_ptr_factory_.GetWeakPtr()));
75 } 75 }
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 content::WebContents* web_contents) { 148 content::WebContents* web_contents) {
149 SyncedTabDelegate* tab = 149 SyncedTabDelegate* tab =
150 SyncedTabDelegate::ImplFromWebContents(web_contents); 150 SyncedTabDelegate::ImplFromWebContents(web_contents);
151 if (!tab || !handler_) 151 if (!tab || !handler_)
152 return; 152 return;
153 153
154 DCHECK(tab->profile() == profile_); 154 DCHECK(tab->profile() == profile_);
155 handler_->OnLocalTabModified(tab); 155 handler_->OnLocalTabModified(tab);
156 } 156 }
157 157
158 void NotificationServiceSessionsRouter::OnFaviconChanged( 158 void NotificationServiceSessionsRouter::OnFaviconsChanged(
159 const std::set<GURL>& changed_favicons) { 159 const std::vector<GURL>& page_urls,
160 const std::vector<GURL>& icon_urls) {
160 if (handler_) 161 if (handler_)
161 handler_->OnFaviconPageUrlsUpdated(changed_favicons); 162 handler_->OnFaviconsChanged(page_urls, icon_urls);
162 } 163 }
163 164
164 void NotificationServiceSessionsRouter::StartRoutingTo( 165 void NotificationServiceSessionsRouter::StartRoutingTo(
165 LocalSessionEventHandler* handler) { 166 LocalSessionEventHandler* handler) {
166 DCHECK(!handler_); 167 DCHECK(!handler_);
167 handler_ = handler; 168 handler_ = handler;
168 } 169 }
169 170
170 void NotificationServiceSessionsRouter::Stop() { 171 void NotificationServiceSessionsRouter::Stop() {
171 weak_ptr_factory_.InvalidateWeakPtrs(); 172 weak_ptr_factory_.InvalidateWeakPtrs();
172 handler_ = NULL; 173 handler_ = NULL;
173 } 174 }
174 175
175 } // namespace browser_sync 176 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698