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

Unified Diff: chrome/browser/sync/glue/sync_backend_host.cc

Issue 10916131: [Invalidations] Add GetInvalidatorState() to Invalidator{,Frontend} (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix android Created 8 years, 3 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: 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..9fd07e27e6565da689b78a618298c3c72cd173ce 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)
+ // Android uses ChromeSyncNotificationBridge exclusively.
+ const syncer::InvalidatorState kDefaultInvalidatorState =
+ syncer::INVALIDATIONS_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(
« no previous file with comments | « chrome/browser/sync/glue/sync_backend_host.h ('k') | chrome/browser/sync/glue/sync_backend_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698