Index: chrome/browser/sync/profile_sync_service.cc |
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc |
index bc72dccfedc196a0bc60af76bf7b8da5b975e4c9..bb28de6a9bbdf8a079ba842fd14dbbca6fba76ba 100644 |
--- a/chrome/browser/sync/profile_sync_service.cc |
+++ b/chrome/browser/sync/profile_sync_service.cc |
@@ -428,7 +428,8 @@ void ProfileSyncService::StartUp() { |
// TODO(akalin): Fix this horribly non-intuitive behavior (see |
// http://crbug.com/140354). |
if (backend_.get()) { |
- backend_->UpdateRegisteredInvalidationIds(all_registered_ids_); |
+ backend_->UpdateRegisteredInvalidationIds( |
+ notifier_helper_.GetAllRegisteredIds()); |
} |
if (!sync_global_error_.get()) { |
@@ -441,14 +442,22 @@ void ProfileSyncService::StartUp() { |
} |
} |
+void ProfileSyncService::SetInvalidationHandler( |
+ const std::string& handler_name, |
+ syncer::SyncNotifierObserver* handler) { |
+ notifier_helper_.SetHandler(handler_name, handler); |
+} |
+ |
void ProfileSyncService::UpdateRegisteredInvalidationIds( |
- syncer::SyncNotifierObserver* handler, |
+ const std::string& handler_name, |
const syncer::ObjectIdSet& ids) { |
- all_registered_ids_ = notifier_helper_.UpdateRegisteredIds(handler, ids); |
+ notifier_helper_.UpdateRegisteredIds(handler_name, ids); |
+ |
// If |backend_| is NULL, its registered IDs will be updated when |
// it's created and initialized. |
if (backend_.get()) { |
- backend_->UpdateRegisteredInvalidationIds(all_registered_ids_); |
+ backend_->UpdateRegisteredInvalidationIds( |
+ notifier_helper_.GetAllRegisteredIds()); |
} |
} |
@@ -464,7 +473,6 @@ void ProfileSyncService::ShutdownImpl(bool sync_disabled) { |
base::Time shutdown_start_time = base::Time::Now(); |
if (backend_.get()) { |
backend_->StopSyncingForShutdown(); |
- backend_->UpdateRegisteredInvalidationIds(syncer::ObjectIdSet()); |
} |
// Stop all data type controllers, if needed. Note that until Stop |