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 d035cb7bc98ea521925eebcfcd22e717d790ec97..65504083e3654978526eb33728b85566ef3aa23c 100644 |
--- a/sync/internal_api/sync_manager_impl.cc |
+++ b/sync/internal_api/sync_manager_impl.cc |
@@ -642,6 +642,13 @@ void SyncManagerImpl::UnregisterInvalidationHandler( |
invalidator_->UnregisterHandler(handler); |
} |
+void SyncManagerImpl::AcknowledgeInvalidation( |
+ const invalidation::ObjectId& id, const syncer::AckHandle& ack_handle) { |
+ DCHECK(thread_checker_.CalledOnValidThread()); |
+ DCHECK(initialized_); |
+ invalidator_->Acknowledge(id, ack_handle); |
+} |
+ |
void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
observers_.AddObserver(observer); |
@@ -1243,6 +1250,12 @@ void SyncManagerImpl::OnIncomingInvalidation( |
allstatus_.IncrementNotificationsReceived(); |
UpdateNotificationInfo(type_invalidation_map); |
debug_info_event_listener_.OnIncomingNotification(type_invalidation_map); |
+ // TODO(dcheng): Acknowledge immediately for now. Fix this logic eventually. |
+ // crbug.com/124149 |
+ for (ObjectIdInvalidationMap::const_iterator it = invalidation_map.begin(); |
akalin
2012/10/19 13:27:16
move this outside if block and after?
dcheng
2012/10/19 19:38:11
Done.
|
+ it != invalidation_map.end(); ++it) { |
+ invalidator_->Acknowledge(it->first, it->second.ack_handle); |
+ } |
} else { |
LOG(WARNING) << "Sync received invalidation without any type information."; |
} |