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

Side by Side Diff: sync/internal_api/sync_manager_impl.cc

Issue 10911084: Implement Invalidator::Acknowledge (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sync/internal_api/sync_manager_impl.h" 5 #include "sync/internal_api/sync_manager_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 invalidator_->UpdateRegisteredIds(handler, ids); 674 invalidator_->UpdateRegisteredIds(handler, ids);
675 } 675 }
676 676
677 void SyncManagerImpl::UnregisterInvalidationHandler( 677 void SyncManagerImpl::UnregisterInvalidationHandler(
678 InvalidationHandler* handler) { 678 InvalidationHandler* handler) {
679 DCHECK(thread_checker_.CalledOnValidThread()); 679 DCHECK(thread_checker_.CalledOnValidThread());
680 DCHECK(initialized_); 680 DCHECK(initialized_);
681 invalidator_->UnregisterHandler(handler); 681 invalidator_->UnregisterHandler(handler);
682 } 682 }
683 683
684 void SyncManagerImpl::AcknowledgeInvalidation(
685 const invalidation::ObjectId& id, const syncer::AckHandle& ack_handle) {
686 DCHECK(thread_checker_.CalledOnValidThread());
687 DCHECK(initialized_);
688 invalidator_->Acknowledge(id, ack_handle);
689 }
690
684 void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) { 691 void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) {
685 DCHECK(thread_checker_.CalledOnValidThread()); 692 DCHECK(thread_checker_.CalledOnValidThread());
686 observers_.AddObserver(observer); 693 observers_.AddObserver(observer);
687 } 694 }
688 695
689 void SyncManagerImpl::RemoveObserver(SyncManager::Observer* observer) { 696 void SyncManagerImpl::RemoveObserver(SyncManager::Observer* observer) {
690 DCHECK(thread_checker_.CalledOnValidThread()); 697 DCHECK(thread_checker_.CalledOnValidThread());
691 observers_.RemoveObserver(observer); 698 observers_.RemoveObserver(observer);
692 } 699 }
693 700
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 NUDGE_SOURCE_LOCAL_REFRESH, 1278 NUDGE_SOURCE_LOCAL_REFRESH,
1272 type_state_map, FROM_HERE); 1279 type_state_map, FROM_HERE);
1273 } else if (!type_state_map.empty()) { 1280 } else if (!type_state_map.empty()) {
1274 scheduler_->ScheduleNudgeWithStatesAsync( 1281 scheduler_->ScheduleNudgeWithStatesAsync(
1275 TimeDelta::FromMilliseconds(kSyncSchedulerDelayMsec), 1282 TimeDelta::FromMilliseconds(kSyncSchedulerDelayMsec),
1276 NUDGE_SOURCE_NOTIFICATION, 1283 NUDGE_SOURCE_NOTIFICATION,
1277 type_state_map, FROM_HERE); 1284 type_state_map, FROM_HERE);
1278 allstatus_.IncrementNotificationsReceived(); 1285 allstatus_.IncrementNotificationsReceived();
1279 UpdateNotificationInfo(type_state_map); 1286 UpdateNotificationInfo(type_state_map);
1280 debug_info_event_listener_.OnIncomingNotification(type_state_map); 1287 debug_info_event_listener_.OnIncomingNotification(type_state_map);
1288 // 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
1289 for (ObjectIdStateMap::const_iterator it = id_state_map.begin();
1290 it != id_state_map.end(); ++it) {
1291 invalidator_->Acknowledge(it->first, it->second.ack_handle);
1292 }
1281 } else { 1293 } else {
1282 LOG(WARNING) << "Sync received invalidation without any type information."; 1294 LOG(WARNING) << "Sync received invalidation without any type information.";
1283 } 1295 }
1284 1296
1285 if (js_event_handler_.IsInitialized()) { 1297 if (js_event_handler_.IsInitialized()) {
1286 DictionaryValue details; 1298 DictionaryValue details;
1287 ListValue* changed_types = new ListValue(); 1299 ListValue* changed_types = new ListValue();
1288 details.Set("changedTypes", changed_types); 1300 details.Set("changedTypes", changed_types);
1289 for (ModelTypeStateMap::const_iterator it = type_state_map.begin(); 1301 for (ModelTypeStateMap::const_iterator it = type_state_map.begin();
1290 it != type_state_map.end(); ++it) { 1302 it != type_state_map.end(); ++it) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1346 int SyncManagerImpl::GetDefaultNudgeDelay() { 1358 int SyncManagerImpl::GetDefaultNudgeDelay() {
1347 return kDefaultNudgeDelayMilliseconds; 1359 return kDefaultNudgeDelayMilliseconds;
1348 } 1360 }
1349 1361
1350 // static. 1362 // static.
1351 int SyncManagerImpl::GetPreferencesNudgeDelay() { 1363 int SyncManagerImpl::GetPreferencesNudgeDelay() {
1352 return kPreferencesNudgeDelayMilliseconds; 1364 return kPreferencesNudgeDelayMilliseconds;
1353 } 1365 }
1354 1366
1355 } // namespace syncer 1367 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698