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

Unified Diff: sync/internal_api/sync_manager_impl.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
« no previous file with comments | « sync/internal_api/sync_manager_impl.h ('k') | sync/internal_api/sync_manager_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 ddd8ad1efaf33c32abdf9da7a73ab228c732817c..0823e713888d7b5ca8388266cbbbef4447b0c003 100644
--- a/sync/internal_api/sync_manager_impl.cc
+++ b/sync/internal_api/sync_manager_impl.cc
@@ -168,7 +168,7 @@ SyncManagerImpl::SyncManagerImpl(const std::string& name)
change_delegate_(NULL),
initialized_(false),
observing_ip_address_changes_(false),
- notifications_disabled_reason_(TRANSIENT_NOTIFICATION_ERROR),
+ invalidator_state_(DEFAULT_INVALIDATION_ERROR),
throttled_data_type_tracker_(&allstatus_),
traffic_recorder_(kMaxMessagesToRecord, kMaxMessageSizeToRecord),
encryptor_(NULL),
@@ -1010,9 +1010,9 @@ void SyncManagerImpl::OnSyncEngineEvent(const SyncEngineEvent& event) {
if (invalidator_.get()) {
const ObjectIdStateMap& id_state_map =
ModelTypeStateMapToObjectIdStateMap(event.snapshot.source().types);
- invalidator_->SendNotification(id_state_map);
+ invalidator_->SendInvalidation(id_state_map);
} else {
- DVLOG(1) << "Not sending notification: invalidator_ is NULL";
+ DVLOG(1) << "Not sending invalidation: invalidator_ is NULL";
}
}
}
@@ -1080,29 +1080,6 @@ void SyncManagerImpl::BindJsMessageHandler(
base::Bind(unbound_message_handler, base::Unretained(this));
}
-void SyncManagerImpl::OnNotificationStateChange(
- NotificationsDisabledReason reason) {
- const std::string& reason_str = NotificationsDisabledReasonToString(reason);
- notifications_disabled_reason_ = reason;
- DVLOG(1) << "Notification state changed to: " << reason_str;
- const bool notifications_enabled =
- (notifications_disabled_reason_ == NO_NOTIFICATION_ERROR);
- allstatus_.SetNotificationsEnabled(notifications_enabled);
- scheduler_->SetNotificationsEnabled(notifications_enabled);
-
- // TODO(akalin): Treat a CREDENTIALS_REJECTED state as an auth
- // error.
-
- if (js_event_handler_.IsInitialized()) {
- DictionaryValue details;
- details.Set("state", Value::CreateStringValue(reason_str));
- js_event_handler_.Call(FROM_HERE,
- &JsEventHandler::HandleJsEvent,
- "onNotificationStateChange",
- JsEventDetails(&details));
- }
-}
-
DictionaryValue* SyncManagerImpl::NotificationInfoToValue(
const NotificationInfoMap& notification_info) {
DictionaryValue* value = new DictionaryValue();
@@ -1128,7 +1105,7 @@ std::string SyncManagerImpl::NotificationInfoToString(
JsArgList SyncManagerImpl::GetNotificationState(
const JsArgList& args) {
const std::string& notification_state =
- NotificationsDisabledReasonToString(notifications_disabled_reason_);
+ InvalidatorStateToString(invalidator_state_);
DVLOG(1) << "GetNotificationState: " << notification_state;
ListValue return_args;
return_args.Append(Value::CreateStringValue(notification_state));
@@ -1260,22 +1237,35 @@ void SyncManagerImpl::UpdateNotificationInfo(
}
}
-void SyncManagerImpl::OnNotificationsEnabled() {
- OnNotificationStateChange(NO_NOTIFICATION_ERROR);
-}
+void SyncManagerImpl::OnInvalidatorStateChange(InvalidatorState state) {
+ const std::string& state_str = InvalidatorStateToString(state);
+ invalidator_state_ = state;
+ DVLOG(1) << "Invalidator state changed to: " << state_str;
+ const bool notifications_enabled =
+ (invalidator_state_ == INVALIDATIONS_ENABLED);
+ allstatus_.SetNotificationsEnabled(notifications_enabled);
+ scheduler_->SetNotificationsEnabled(notifications_enabled);
+
+ // TODO(akalin): Treat a CREDENTIALS_REJECTED state as an auth
+ // error.
-void SyncManagerImpl::OnNotificationsDisabled(
- NotificationsDisabledReason reason) {
- OnNotificationStateChange(reason);
+ if (js_event_handler_.IsInitialized()) {
+ DictionaryValue details;
+ details.SetString("state", state_str);
+ js_event_handler_.Call(FROM_HERE,
+ &JsEventHandler::HandleJsEvent,
+ "onNotificationStateChange",
+ JsEventDetails(&details));
+ }
}
-void SyncManagerImpl::OnIncomingNotification(
+void SyncManagerImpl::OnIncomingInvalidation(
const ObjectIdStateMap& id_state_map,
- IncomingNotificationSource source) {
+ IncomingInvalidationSource source) {
DCHECK(thread_checker_.CalledOnValidThread());
const ModelTypeStateMap& type_state_map =
ObjectIdStateMapToModelTypeStateMap(id_state_map);
- if (source == LOCAL_NOTIFICATION) {
+ if (source == LOCAL_INVALIDATION) {
scheduler_->ScheduleNudgeWithStatesAsync(
TimeDelta::FromMilliseconds(kSyncRefreshDelayMsec),
NUDGE_SOURCE_LOCAL_REFRESH,
@@ -1289,7 +1279,7 @@ void SyncManagerImpl::OnIncomingNotification(
UpdateNotificationInfo(type_state_map);
debug_info_event_listener_.OnIncomingNotification(type_state_map);
} else {
- LOG(WARNING) << "Sync received notification without any type information.";
+ LOG(WARNING) << "Sync received invalidation without any type information.";
}
if (js_event_handler_.IsInitialized()) {
@@ -1302,8 +1292,8 @@ void SyncManagerImpl::OnIncomingNotification(
ModelTypeToString(it->first);
changed_types->Append(Value::CreateStringValue(model_type_str));
}
- details.SetString("source", (source == LOCAL_NOTIFICATION) ?
- "LOCAL_NOTIFICATION" : "REMOTE_NOTIFICATION");
+ details.SetString("source", (source == LOCAL_INVALIDATION) ?
+ "LOCAL_INVALIDATION" : "REMOTE_INVALIDATION");
js_event_handler_.Call(FROM_HERE,
&JsEventHandler::HandleJsEvent,
"onIncomingNotification",
« no previous file with comments | « sync/internal_api/sync_manager_impl.h ('k') | sync/internal_api/sync_manager_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698