| Index: sync/internal_api/sync_manager_impl.cc
|
| diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc
|
| index 6a164d8f0ff2aac4ff56893cfc13914c323e1737..c7deaa7cc40fc17a7954f81370894a96b7c726fd 100644
|
| --- a/sync/internal_api/sync_manager_impl.cc
|
| +++ b/sync/internal_api/sync_manager_impl.cc
|
| @@ -39,6 +39,7 @@
|
| #include "sync/js/js_event_details.h"
|
| #include "sync/js/js_event_handler.h"
|
| #include "sync/js/js_reply_handler.h"
|
| +#include "sync/notifier/invalidation_util.h"
|
| #include "sync/notifier/notifications_disabled_reason.h"
|
| #include "sync/notifier/sync_notifier.h"
|
| #include "sync/protocol/encryption.pb.h"
|
| @@ -486,8 +487,6 @@ bool SyncManagerImpl::Init(
|
| if (!success)
|
| return false;
|
|
|
| - sync_notifier_->AddObserver(this);
|
| -
|
| return success;
|
| }
|
|
|
| @@ -730,7 +729,8 @@ void SyncManagerImpl::UpdateCredentials(
|
| void SyncManagerImpl::UpdateEnabledTypes(
|
| const ModelTypeSet& enabled_types) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - sync_notifier_->UpdateEnabledTypes(enabled_types);
|
| + sync_notifier_->UpdateRegisteredIds(this,
|
| + ModelTypeSetToObjectIdSet(enabled_types));
|
| }
|
|
|
| void SyncManagerImpl::SetEncryptionPassphrase(
|
| @@ -1200,7 +1200,7 @@ void SyncManagerImpl::ShutdownOnSyncThread() {
|
| RemoveObserver(&debug_info_event_listener_);
|
|
|
| if (sync_notifier_.get()) {
|
| - sync_notifier_->RemoveObserver(this);
|
| + sync_notifier_->UpdateRegisteredIds(this, ObjectIdSet());
|
| }
|
| sync_notifier_.reset();
|
|
|
| @@ -1786,9 +1786,11 @@ void SyncManagerImpl::OnNotificationsDisabled(
|
| }
|
|
|
| void SyncManagerImpl::OnIncomingNotification(
|
| - const ModelTypePayloadMap& type_payloads,
|
| + const ObjectIdPayloadMap& id_payloads,
|
| IncomingNotificationSource source) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| + const ModelTypePayloadMap& type_payloads =
|
| + ObjectIdPayloadMapToModelTypePayloadMap(id_payloads);
|
| if (source == LOCAL_NOTIFICATION) {
|
| scheduler_->ScheduleNudgeWithPayloadsAsync(
|
| TimeDelta::FromMilliseconds(kSyncRefreshDelayMsec),
|
| @@ -1880,11 +1882,11 @@ void SyncManagerImpl::SimulateDisableNotificationsForTest(int reason) {
|
| void SyncManagerImpl::TriggerOnIncomingNotificationForTest(
|
| ModelTypeSet model_types) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ModelTypePayloadMap model_types_with_payloads =
|
| - ModelTypePayloadMapFromEnumSet(model_types,
|
| - std::string());
|
| + const ModelTypePayloadMap& type_payloads =
|
| + ModelTypePayloadMapFromEnumSet(model_types, std::string());
|
|
|
| - OnIncomingNotification(model_types_with_payloads, REMOTE_NOTIFICATION);
|
| + OnIncomingNotification(ModelTypePayloadMapToObjectIdPayloadMap(type_payloads),
|
| + REMOTE_NOTIFICATION);
|
| }
|
|
|
| // static.
|
|
|