| Index: chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.cc
|
| diff --git a/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.cc b/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.cc
|
| index 353662c919f9ca2f2f93f1dd24d1abff947990bd..ad052be47c858cbd0a0fa741e633b3f8ba5b1c44 100644
|
| --- a/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.cc
|
| +++ b/chrome/browser/chromeos/policy/affiliated_invalidation_service_provider_impl.cc
|
| @@ -242,15 +242,18 @@ void AffiliatedInvalidationServiceProviderImpl::OnInvalidationServiceConnected(
|
| return;
|
| }
|
|
|
| - if (invalidation_service != device_invalidation_service_.get()) {
|
| - // If an invalidation service other than the device-global one connected,
|
| - // destroy the device-global service.
|
| - invalidation_service_ = nullptr;
|
| + // Make the invalidation service that just connected available to consumers.
|
| + invalidation_service_ = nullptr;
|
| + SetInvalidationService(invalidation_service);
|
| +
|
| + if (invalidation_service_ &&
|
| + device_invalidation_service_ &&
|
| + invalidation_service_ != device_invalidation_service_.get()) {
|
| + // If a different invalidation service is being made available to consumers
|
| + // now, destroy the device-global one.
|
| DestroyDeviceInvalidationService();
|
| }
|
|
|
| - // Make the invalidation service that just connected available to consumers.
|
| - SetInvalidationService(invalidation_service);
|
| }
|
|
|
| void
|
|
|