| OLD | NEW |
| 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 610 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 621 invalidator_->UpdateRegisteredIds(handler, ids); | 621 invalidator_->UpdateRegisteredIds(handler, ids); |
| 622 } | 622 } |
| 623 | 623 |
| 624 void SyncManagerImpl::UnregisterInvalidationHandler( | 624 void SyncManagerImpl::UnregisterInvalidationHandler( |
| 625 InvalidationHandler* handler) { | 625 InvalidationHandler* handler) { |
| 626 DCHECK(thread_checker_.CalledOnValidThread()); | 626 DCHECK(thread_checker_.CalledOnValidThread()); |
| 627 DCHECK(initialized_); | 627 DCHECK(initialized_); |
| 628 invalidator_->UnregisterHandler(handler); | 628 invalidator_->UnregisterHandler(handler); |
| 629 } | 629 } |
| 630 | 630 |
| 631 void SyncManagerImpl::AcknowledgeInvalidation( |
| 632 const invalidation::ObjectId& id, const syncer::AckHandle& ack_handle) { |
| 633 DCHECK(thread_checker_.CalledOnValidThread()); |
| 634 DCHECK(initialized_); |
| 635 invalidator_->Acknowledge(id, ack_handle); |
| 636 } |
| 637 |
| 631 void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) { | 638 void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) { |
| 632 DCHECK(thread_checker_.CalledOnValidThread()); | 639 DCHECK(thread_checker_.CalledOnValidThread()); |
| 633 observers_.AddObserver(observer); | 640 observers_.AddObserver(observer); |
| 634 } | 641 } |
| 635 | 642 |
| 636 void SyncManagerImpl::RemoveObserver(SyncManager::Observer* observer) { | 643 void SyncManagerImpl::RemoveObserver(SyncManager::Observer* observer) { |
| 637 DCHECK(thread_checker_.CalledOnValidThread()); | 644 DCHECK(thread_checker_.CalledOnValidThread()); |
| 638 observers_.RemoveObserver(observer); | 645 observers_.RemoveObserver(observer); |
| 639 } | 646 } |
| 640 | 647 |
| (...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1224 js_event_handler_.Call(FROM_HERE, | 1231 js_event_handler_.Call(FROM_HERE, |
| 1225 &JsEventHandler::HandleJsEvent, | 1232 &JsEventHandler::HandleJsEvent, |
| 1226 "onNotificationStateChange", | 1233 "onNotificationStateChange", |
| 1227 JsEventDetails(&details)); | 1234 JsEventDetails(&details)); |
| 1228 } | 1235 } |
| 1229 } | 1236 } |
| 1230 | 1237 |
| 1231 void SyncManagerImpl::OnIncomingInvalidation( | 1238 void SyncManagerImpl::OnIncomingInvalidation( |
| 1232 const ObjectIdInvalidationMap& invalidation_map) { | 1239 const ObjectIdInvalidationMap& invalidation_map) { |
| 1233 DCHECK(thread_checker_.CalledOnValidThread()); | 1240 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1241 |
| 1242 // TODO(dcheng): Acknowledge immediately for now. Fix this once the |
| 1243 // invalidator doesn't repeatedly ping for unacknowledged invaliations, since |
| 1244 // it conflicts with the sync scheduler's internal backoff algorithm. |
| 1245 // See http://crbug.com/124149 for more information. |
| 1246 for (ObjectIdInvalidationMap::const_iterator it = invalidation_map.begin(); |
| 1247 it != invalidation_map.end(); ++it) { |
| 1248 invalidator_->Acknowledge(it->first, it->second.ack_handle); |
| 1249 } |
| 1250 |
| 1234 const ModelTypeInvalidationMap& type_invalidation_map = | 1251 const ModelTypeInvalidationMap& type_invalidation_map = |
| 1235 ObjectIdInvalidationMapToModelTypeInvalidationMap(invalidation_map); | 1252 ObjectIdInvalidationMapToModelTypeInvalidationMap(invalidation_map); |
| 1236 if (type_invalidation_map.empty()) { | 1253 if (type_invalidation_map.empty()) { |
| 1237 LOG(WARNING) << "Sync received invalidation without any type information."; | 1254 LOG(WARNING) << "Sync received invalidation without any type information."; |
| 1238 } else { | 1255 } else { |
| 1239 allstatus_.IncrementNudgeCounter(NUDGE_SOURCE_NOTIFICATION); | 1256 allstatus_.IncrementNudgeCounter(NUDGE_SOURCE_NOTIFICATION); |
| 1240 scheduler_->ScheduleNudgeWithStatesAsync( | 1257 scheduler_->ScheduleNudgeWithStatesAsync( |
| 1241 TimeDelta::FromMilliseconds(kSyncSchedulerDelayMsec), | 1258 TimeDelta::FromMilliseconds(kSyncSchedulerDelayMsec), |
| 1242 NUDGE_SOURCE_NOTIFICATION, | 1259 NUDGE_SOURCE_NOTIFICATION, |
| 1243 type_invalidation_map, FROM_HERE); | 1260 type_invalidation_map, FROM_HERE); |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1374 int SyncManagerImpl::GetDefaultNudgeDelay() { | 1391 int SyncManagerImpl::GetDefaultNudgeDelay() { |
| 1375 return kDefaultNudgeDelayMilliseconds; | 1392 return kDefaultNudgeDelayMilliseconds; |
| 1376 } | 1393 } |
| 1377 | 1394 |
| 1378 // static. | 1395 // static. |
| 1379 int SyncManagerImpl::GetPreferencesNudgeDelay() { | 1396 int SyncManagerImpl::GetPreferencesNudgeDelay() { |
| 1380 return kPreferencesNudgeDelayMilliseconds; | 1397 return kPreferencesNudgeDelayMilliseconds; |
| 1381 } | 1398 } |
| 1382 | 1399 |
| 1383 } // namespace syncer | 1400 } // namespace syncer |
| OLD | NEW |