Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/invalidation/ticl_invalidation_service.h" | 5 #include "components/invalidation/ticl_invalidation_service.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "components/gcm_driver/gcm_driver.h" | 9 #include "components/gcm_driver/gcm_driver.h" |
| 10 #include "components/invalidation/gcm_invalidation_bridge.h" | 10 #include "components/invalidation/gcm_invalidation_bridge.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 101 void TiclInvalidationService::InitForTest( | 101 void TiclInvalidationService::InitForTest( |
| 102 scoped_ptr<syncer::InvalidationStateTracker> invalidation_state_tracker, | 102 scoped_ptr<syncer::InvalidationStateTracker> invalidation_state_tracker, |
| 103 syncer::Invalidator* invalidator) { | 103 syncer::Invalidator* invalidator) { |
| 104 // Here we perform the equivalent of Init() and StartInvalidator(), but with | 104 // Here we perform the equivalent of Init() and StartInvalidator(), but with |
| 105 // some minor changes to account for the fact that we're injecting the | 105 // some minor changes to account for the fact that we're injecting the |
| 106 // invalidator. | 106 // invalidator. |
| 107 invalidation_state_tracker_ = invalidation_state_tracker.Pass(); | 107 invalidation_state_tracker_ = invalidation_state_tracker.Pass(); |
| 108 invalidator_.reset(invalidator); | 108 invalidator_.reset(invalidator); |
| 109 | 109 |
| 110 invalidator_->RegisterHandler(this); | 110 invalidator_->RegisterHandler(this); |
| 111 invalidator_->UpdateRegisteredIds( | 111 CHECK(invalidator_->UpdateRegisteredIds( |
| 112 this, | 112 this, invalidator_registrar_->GetAllRegisteredIds())); |
| 113 invalidator_registrar_->GetAllRegisteredIds()); | |
| 114 } | 113 } |
| 115 | 114 |
| 116 void TiclInvalidationService::RegisterInvalidationHandler( | 115 void TiclInvalidationService::RegisterInvalidationHandler( |
| 117 syncer::InvalidationHandler* handler) { | 116 syncer::InvalidationHandler* handler) { |
| 118 DCHECK(CalledOnValidThread()); | 117 DCHECK(CalledOnValidThread()); |
| 119 DVLOG(2) << "Registering an invalidation handler"; | 118 DVLOG(2) << "Registering an invalidation handler"; |
| 120 invalidator_registrar_->RegisterHandler(handler); | 119 invalidator_registrar_->RegisterHandler(handler); |
| 121 logger_.OnRegistration(handler->GetOwnerName()); | 120 logger_.OnRegistration(handler->GetOwnerName()); |
| 122 } | 121 } |
| 123 | 122 |
| 124 void TiclInvalidationService::UpdateRegisteredInvalidationIds( | 123 bool TiclInvalidationService::UpdateRegisteredInvalidationIds( |
| 125 syncer::InvalidationHandler* handler, | 124 syncer::InvalidationHandler* handler, |
| 126 const syncer::ObjectIdSet& ids) { | 125 const syncer::ObjectIdSet& ids) { |
| 127 DCHECK(CalledOnValidThread()); | 126 DCHECK(CalledOnValidThread()); |
| 128 DVLOG(2) << "Registering ids: " << ids.size(); | 127 DVLOG(2) << "Registering ids: " << ids.size(); |
| 129 invalidator_registrar_->UpdateRegisteredIds(handler, ids); | 128 if (!invalidator_registrar_->UpdateRegisteredIds(handler, ids)) |
| 129 return false; | |
| 130 if (invalidator_) { | 130 if (invalidator_) { |
| 131 invalidator_->UpdateRegisteredIds( | 131 CHECK(invalidator_->UpdateRegisteredIds( |
|
maniscalco
2015/05/18 15:42:28
I see this method (TiclInvalidationService::Update
pavely
2015/05/18 18:38:04
invalidator_ is private to TiclInvalidationService
maniscalco
2015/05/18 18:56:05
SGTM
| |
| 132 this, | 132 this, invalidator_registrar_->GetAllRegisteredIds())); |
| 133 invalidator_registrar_->GetAllRegisteredIds()); | |
| 134 } | 133 } |
| 135 logger_.OnUpdateIds(invalidator_registrar_->GetSanitizedHandlersIdsMap()); | 134 logger_.OnUpdateIds(invalidator_registrar_->GetSanitizedHandlersIdsMap()); |
| 135 return true; | |
| 136 } | 136 } |
| 137 | 137 |
| 138 void TiclInvalidationService::UnregisterInvalidationHandler( | 138 void TiclInvalidationService::UnregisterInvalidationHandler( |
| 139 syncer::InvalidationHandler* handler) { | 139 syncer::InvalidationHandler* handler) { |
| 140 DCHECK(CalledOnValidThread()); | 140 DCHECK(CalledOnValidThread()); |
| 141 DVLOG(2) << "Unregistering"; | 141 DVLOG(2) << "Unregistering"; |
| 142 invalidator_registrar_->UnregisterHandler(handler); | 142 invalidator_registrar_->UnregisterHandler(handler); |
| 143 if (invalidator_) { | 143 if (invalidator_) { |
| 144 invalidator_->UpdateRegisteredIds( | 144 CHECK(invalidator_->UpdateRegisteredIds( |
| 145 this, | 145 this, invalidator_registrar_->GetAllRegisteredIds())); |
| 146 invalidator_registrar_->GetAllRegisteredIds()); | |
| 147 } | 146 } |
| 148 logger_.OnUnregistration(handler->GetOwnerName()); | 147 logger_.OnUnregistration(handler->GetOwnerName()); |
| 149 } | 148 } |
| 150 | 149 |
| 151 syncer::InvalidatorState TiclInvalidationService::GetInvalidatorState() const { | 150 syncer::InvalidatorState TiclInvalidationService::GetInvalidatorState() const { |
| 152 DCHECK(CalledOnValidThread()); | 151 DCHECK(CalledOnValidThread()); |
| 153 if (invalidator_) { | 152 if (invalidator_) { |
| 154 DVLOG(2) << "GetInvalidatorState returning " | 153 DVLOG(2) << "GetInvalidatorState returning " |
| 155 << invalidator_->GetInvalidatorState(); | 154 << invalidator_->GetInvalidatorState(); |
| 156 return invalidator_->GetInvalidatorState(); | 155 return invalidator_->GetInvalidatorState(); |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 395 invalidation_state_tracker_->GetInvalidatorClientId(), | 394 invalidation_state_tracker_->GetInvalidatorClientId(), |
| 396 invalidation_state_tracker_->GetSavedInvalidations(), | 395 invalidation_state_tracker_->GetSavedInvalidations(), |
| 397 invalidation_state_tracker_->GetBootstrapData(), | 396 invalidation_state_tracker_->GetBootstrapData(), |
| 398 invalidation_state_tracker_.get(), | 397 invalidation_state_tracker_.get(), |
| 399 user_agent_, | 398 user_agent_, |
| 400 request_context_)); | 399 request_context_)); |
| 401 | 400 |
| 402 UpdateInvalidatorCredentials(); | 401 UpdateInvalidatorCredentials(); |
| 403 | 402 |
| 404 invalidator_->RegisterHandler(this); | 403 invalidator_->RegisterHandler(this); |
| 405 invalidator_->UpdateRegisteredIds( | 404 CHECK(invalidator_->UpdateRegisteredIds( |
| 406 this, | 405 this, invalidator_registrar_->GetAllRegisteredIds())); |
| 407 invalidator_registrar_->GetAllRegisteredIds()); | |
| 408 } | 406 } |
| 409 | 407 |
| 410 void TiclInvalidationService::UpdateInvalidationNetworkChannel() { | 408 void TiclInvalidationService::UpdateInvalidationNetworkChannel() { |
| 411 const InvalidationNetworkChannel network_channel_type = | 409 const InvalidationNetworkChannel network_channel_type = |
| 412 settings_provider_->UseGCMChannel() ? GCM_NETWORK_CHANNEL | 410 settings_provider_->UseGCMChannel() ? GCM_NETWORK_CHANNEL |
| 413 : PUSH_CLIENT_CHANNEL; | 411 : PUSH_CLIENT_CHANNEL; |
| 414 if (network_channel_type_ == network_channel_type) | 412 if (network_channel_type_ == network_channel_type) |
| 415 return; | 413 return; |
| 416 network_channel_type_ = network_channel_type; | 414 network_channel_type_ = network_channel_type; |
| 417 if (IsStarted()) { | 415 if (IsStarted()) { |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 430 } | 428 } |
| 431 | 429 |
| 432 void TiclInvalidationService::StopInvalidator() { | 430 void TiclInvalidationService::StopInvalidator() { |
| 433 DCHECK(invalidator_); | 431 DCHECK(invalidator_); |
| 434 gcm_invalidation_bridge_.reset(); | 432 gcm_invalidation_bridge_.reset(); |
| 435 invalidator_->UnregisterHandler(this); | 433 invalidator_->UnregisterHandler(this); |
| 436 invalidator_.reset(); | 434 invalidator_.reset(); |
| 437 } | 435 } |
| 438 | 436 |
| 439 } // namespace invalidation | 437 } // namespace invalidation |
| OLD | NEW |