Chromium Code Reviews| Index: chrome/browser/sync/glue/sync_backend_host.cc |
| diff --git a/chrome/browser/sync/glue/sync_backend_host.cc b/chrome/browser/sync/glue/sync_backend_host.cc |
| index b84227205c72ba96ed0edde8d1c1210dd2a0e025..c265b2db5a1ddffd00afe60246791fbc8b9510dc 100644 |
| --- a/chrome/browser/sync/glue/sync_backend_host.cc |
| +++ b/chrome/browser/sync/glue/sync_backend_host.cc |
| @@ -21,6 +21,7 @@ |
| #include "base/timer.h" |
| #include "base/tracked_objects.h" |
| #include "base/utf_string_conversions.h" |
| +#include "build/build_config.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/signin/token_service.h" |
| #include "chrome/browser/sync/glue/bridged_invalidator.h" |
| @@ -120,12 +121,11 @@ class SyncBackendHost::Core |
| virtual void OnPassphraseStateChanged(syncer::PassphraseState state) OVERRIDE; |
| // syncer::InvalidationHandler implementation. |
| - virtual void OnNotificationsEnabled() OVERRIDE; |
| - virtual void OnNotificationsDisabled( |
| - syncer::NotificationsDisabledReason reason) OVERRIDE; |
| - virtual void OnIncomingNotification( |
| + virtual void OnInvalidatorStateChange( |
| + syncer::InvalidatorState state) OVERRIDE; |
| + virtual void OnIncomingInvalidation( |
| const syncer::ObjectIdStateMap& id_state_map, |
| - syncer::IncomingNotificationSource source) OVERRIDE; |
| + syncer::IncomingInvalidationSource source) OVERRIDE; |
| // Note: |
| // |
| @@ -1038,32 +1038,24 @@ void SyncBackendHost::Core::OnActionableError( |
| sync_error); |
| } |
| -void SyncBackendHost::Core::OnNotificationsEnabled() { |
| - if (!sync_loop_) |
| - return; |
| - DCHECK_EQ(MessageLoop::current(), sync_loop_); |
| - host_.Call(FROM_HERE, |
| - &SyncBackendHost::HandleNotificationsEnabledOnFrontendLoop); |
| -} |
| - |
| -void SyncBackendHost::Core::OnNotificationsDisabled( |
| - syncer::NotificationsDisabledReason reason) { |
| +void SyncBackendHost::Core::OnInvalidatorStateChange( |
| + syncer::InvalidatorState state) { |
| if (!sync_loop_) |
| return; |
| DCHECK_EQ(MessageLoop::current(), sync_loop_); |
| host_.Call(FROM_HERE, |
| - &SyncBackendHost::HandleNotificationsDisabledOnFrontendLoop, |
| - reason); |
| + &SyncBackendHost::HandleInvalidatorStateChangeOnFrontendLoop, |
| + state); |
| } |
| -void SyncBackendHost::Core::OnIncomingNotification( |
| +void SyncBackendHost::Core::OnIncomingInvalidation( |
| const syncer::ObjectIdStateMap& id_state_map, |
| - syncer::IncomingNotificationSource source) { |
| + syncer::IncomingInvalidationSource source) { |
| if (!sync_loop_) |
| return; |
| DCHECK_EQ(MessageLoop::current(), sync_loop_); |
| host_.Call(FROM_HERE, |
| - &SyncBackendHost::HandleIncomingNotificationOnFrontendLoop, |
| + &SyncBackendHost::HandleIncomingInvalidationOnFrontendLoop, |
| id_state_map, source); |
| } |
| @@ -1092,6 +1084,15 @@ void SyncBackendHost::Core::DoInitialize(const DoInitializeOptions& options) { |
| chrome_sync_notification_bridge_ = options.chrome_sync_notification_bridge; |
| DCHECK(chrome_sync_notification_bridge_); |
| +#if defined(OS_ANDROID) |
|
rlarocque
2012/09/06 17:50:34
:(
I'm guessing there's no easy alternative to th
akalin
2012/09/06 20:30:11
Couldn't think of one. I'm a bit wary of setting
|
| + // Android uses ChromeSyncNotificationBridge exclusively. |
| + const syncer::InvalidatorState kDefaultInvalidatorState = |
| + syncer::NOTIFICATIONS_ENABLED; |
| +#else |
| + const syncer::InvalidatorState kDefaultInvalidatorState = |
| + syncer::DEFAULT_INVALIDATION_ERROR; |
| +#endif |
| + |
| sync_manager_ = options.sync_manager_factory->CreateSyncManager(name_); |
| sync_manager_->AddObserver(this); |
| sync_manager_->Init( |
| @@ -1108,7 +1109,8 @@ void SyncBackendHost::Core::DoInitialize(const DoInitializeOptions& options) { |
| options.credentials, |
| scoped_ptr<syncer::Invalidator>(new BridgedInvalidator( |
| options.chrome_sync_notification_bridge, |
| - options.invalidator_factory->CreateInvalidator())), |
| + options.invalidator_factory->CreateInvalidator(), |
| + kDefaultInvalidatorState)), |
| options.restored_key_for_bootstrapping, |
| options.restored_keystore_key_for_bootstrapping, |
| scoped_ptr<InternalComponentsFactory>( |
| @@ -1430,28 +1432,21 @@ void SyncBackendHost::HandleActionableErrorEventOnFrontendLoop( |
| frontend_->OnActionableError(sync_error); |
| } |
| -void SyncBackendHost::HandleNotificationsEnabledOnFrontendLoop() { |
| - if (!frontend_) |
| - return; |
| - DCHECK_EQ(MessageLoop::current(), frontend_loop_); |
| - frontend_->OnNotificationsEnabled(); |
| -} |
| - |
| -void SyncBackendHost::HandleNotificationsDisabledOnFrontendLoop( |
| - syncer::NotificationsDisabledReason reason) { |
| +void SyncBackendHost::HandleInvalidatorStateChangeOnFrontendLoop( |
| + syncer::InvalidatorState state) { |
| if (!frontend_) |
| return; |
| DCHECK_EQ(MessageLoop::current(), frontend_loop_); |
| - frontend_->OnNotificationsDisabled(reason); |
| + frontend_->OnInvalidatorStateChange(state); |
| } |
| -void SyncBackendHost::HandleIncomingNotificationOnFrontendLoop( |
| +void SyncBackendHost::HandleIncomingInvalidationOnFrontendLoop( |
| const syncer::ObjectIdStateMap& id_state_map, |
| - syncer::IncomingNotificationSource source) { |
| + syncer::IncomingInvalidationSource source) { |
| if (!frontend_) |
| return; |
| DCHECK_EQ(MessageLoop::current(), frontend_loop_); |
| - frontend_->OnIncomingNotification(id_state_map, source); |
| + frontend_->OnIncomingInvalidation(id_state_map, source); |
| } |
| bool SyncBackendHost::CheckPassphraseAgainstCachedPendingKeys( |