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

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 7 years, 10 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 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 invalidator_->UpdateRegisteredIds(handler, ids); 626 invalidator_->UpdateRegisteredIds(handler, ids);
627 } 627 }
628 628
629 void SyncManagerImpl::UnregisterInvalidationHandler( 629 void SyncManagerImpl::UnregisterInvalidationHandler(
630 InvalidationHandler* handler) { 630 InvalidationHandler* handler) {
631 DCHECK(thread_checker_.CalledOnValidThread()); 631 DCHECK(thread_checker_.CalledOnValidThread());
632 DCHECK(initialized_); 632 DCHECK(initialized_);
633 invalidator_->UnregisterHandler(handler); 633 invalidator_->UnregisterHandler(handler);
634 } 634 }
635 635
636 void SyncManagerImpl::AcknowledgeInvalidation(
637 const invalidation::ObjectId& id, const syncer::AckHandle& ack_handle) {
638 DCHECK(thread_checker_.CalledOnValidThread());
639 DCHECK(initialized_);
640 invalidator_->Acknowledge(id, ack_handle);
641 }
642
636 void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) { 643 void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) {
637 DCHECK(thread_checker_.CalledOnValidThread()); 644 DCHECK(thread_checker_.CalledOnValidThread());
638 observers_.AddObserver(observer); 645 observers_.AddObserver(observer);
639 } 646 }
640 647
641 void SyncManagerImpl::RemoveObserver(SyncManager::Observer* observer) { 648 void SyncManagerImpl::RemoveObserver(SyncManager::Observer* observer) {
642 DCHECK(thread_checker_.CalledOnValidThread()); 649 DCHECK(thread_checker_.CalledOnValidThread());
643 observers_.RemoveObserver(observer); 650 observers_.RemoveObserver(observer);
644 } 651 }
645 652
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after
1230 js_event_handler_.Call(FROM_HERE, 1237 js_event_handler_.Call(FROM_HERE,
1231 &JsEventHandler::HandleJsEvent, 1238 &JsEventHandler::HandleJsEvent,
1232 "onNotificationStateChange", 1239 "onNotificationStateChange",
1233 JsEventDetails(&details)); 1240 JsEventDetails(&details));
1234 } 1241 }
1235 } 1242 }
1236 1243
1237 void SyncManagerImpl::OnIncomingInvalidation( 1244 void SyncManagerImpl::OnIncomingInvalidation(
1238 const ObjectIdInvalidationMap& invalidation_map) { 1245 const ObjectIdInvalidationMap& invalidation_map) {
1239 DCHECK(thread_checker_.CalledOnValidThread()); 1246 DCHECK(thread_checker_.CalledOnValidThread());
1247
1248 // TODO(dcheng): Acknowledge immediately for now. Fix this logic eventually.
rlarocque 2013/02/12 21:48:04 Could you add a comment to remind us not to remove
dcheng 2013/02/12 22:39:28 Done.
1249 // crbug.com/124149
1250 for (ObjectIdInvalidationMap::const_iterator it = invalidation_map.begin();
1251 it != invalidation_map.end(); ++it) {
1252 invalidator_->Acknowledge(it->first, it->second.ack_handle);
1253 }
1254
1240 const ModelTypeInvalidationMap& type_invalidation_map = 1255 const ModelTypeInvalidationMap& type_invalidation_map =
1241 ObjectIdInvalidationMapToModelTypeInvalidationMap(invalidation_map); 1256 ObjectIdInvalidationMapToModelTypeInvalidationMap(invalidation_map);
1242 if (type_invalidation_map.empty()) { 1257 if (type_invalidation_map.empty()) {
1243 LOG(WARNING) << "Sync received invalidation without any type information."; 1258 LOG(WARNING) << "Sync received invalidation without any type information.";
1244 } else { 1259 } else {
1245 allstatus_.IncrementNudgeCounter(NUDGE_SOURCE_NOTIFICATION); 1260 allstatus_.IncrementNudgeCounter(NUDGE_SOURCE_NOTIFICATION);
1246 scheduler_->ScheduleNudgeWithStatesAsync( 1261 scheduler_->ScheduleNudgeWithStatesAsync(
1247 TimeDelta::FromMilliseconds(kSyncSchedulerDelayMsec), 1262 TimeDelta::FromMilliseconds(kSyncSchedulerDelayMsec),
1248 NUDGE_SOURCE_NOTIFICATION, 1263 NUDGE_SOURCE_NOTIFICATION,
1249 type_invalidation_map, FROM_HERE); 1264 type_invalidation_map, FROM_HERE);
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1384 int SyncManagerImpl::GetDefaultNudgeDelay() { 1399 int SyncManagerImpl::GetDefaultNudgeDelay() {
1385 return kDefaultNudgeDelayMilliseconds; 1400 return kDefaultNudgeDelayMilliseconds;
1386 } 1401 }
1387 1402
1388 // static. 1403 // static.
1389 int SyncManagerImpl::GetPreferencesNudgeDelay() { 1404 int SyncManagerImpl::GetPreferencesNudgeDelay() {
1390 return kPreferencesNudgeDelayMilliseconds; 1405 return kPreferencesNudgeDelayMilliseconds;
1391 } 1406 }
1392 1407
1393 } // namespace syncer 1408 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698