Chromium Code Reviews| 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 0823e713888d7b5ca8388266cbbbef4447b0c003..c63732181e2de1ea8a98c035ddbacb29cc3e52c9 100644 |
| --- a/sync/internal_api/sync_manager_impl.cc |
| +++ b/sync/internal_api/sync_manager_impl.cc |
| @@ -681,6 +681,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); |
| @@ -1278,6 +1285,11 @@ void SyncManagerImpl::OnIncomingInvalidation( |
| allstatus_.IncrementNotificationsReceived(); |
| UpdateNotificationInfo(type_state_map); |
| debug_info_event_listener_.OnIncomingNotification(type_state_map); |
| + // TODO(dcheng): Acknowledge immediately for now. Fix this logic eventually. |
|
Pete Williamson
2012/09/14 18:28:22
What fix is needed here? Ack later instead of imm
dcheng
2012/09/14 19:08:49
Eventually, the final patches for crbug.com/124149
|
| + for (ObjectIdStateMap::const_iterator it = id_state_map.begin(); |
| + it != id_state_map.end(); ++it) { |
| + invalidator_->Acknowledge(it->first, it->second.ack_handle); |
| + } |
| } else { |
| LOG(WARNING) << "Sync received invalidation without any type information."; |
| } |