Chromium Code Reviews| Index: components/gcm_driver/gcm_client_impl.cc |
| diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc |
| index a18b5850b5d8bb4e78dca77ee4628e696dc3f20d..aafa4ae6ce5625a0fe6731e9a604ac13f754bc6c 100644 |
| --- a/components/gcm_driver/gcm_client_impl.cc |
| +++ b/components/gcm_driver/gcm_client_impl.cc |
| @@ -961,14 +961,19 @@ void GCMClientImpl::OnRegisterCompleted( |
| Result result; |
| PendingRegistrationRequests::const_iterator iter = |
| pending_registration_requests_.find(registration_info); |
| - if (iter == pending_registration_requests_.end()) |
| + if (iter == pending_registration_requests_.end()) { |
| result = UNKNOWN_ERROR; |
| - else if (status == RegistrationRequest::INVALID_SENDER) |
| + } else if (status == RegistrationRequest::INVALID_SENDER) { |
| result = INVALID_PARAMETER; |
| - else if (registration_id.empty()) |
| + } else if (registration_id.empty()) { |
| + // All other errors are currently treated as SERVER_ERROR (including cases |
| + // where all retries fail because the device is offline, which might be |
| + // expected to result in a NETWORK_ERROR). If this is later changed, update |
| + // FakeGCMProfileService's offline simulation to match. |
|
Peter Beverloo
2017/02/07 18:11:08
Here and later, can we shorten and generalize w/ t
johnme
2017/02/08 14:14:36
Done (no longer needs to reference FakeGCMProfileS
|
| result = SERVER_ERROR; |
| - else |
| + } else { |
| result = SUCCESS; |
| + } |
| if (result == SUCCESS) { |
| // Cache it. |
| @@ -1114,7 +1119,10 @@ void GCMClientImpl::OnUnregisterCompleted( |
| result = INVALID_PARAMETER; |
| break; |
| default: |
| - // All other errors are treated as SERVER_ERROR. |
| + // All other errors are currently treated as SERVER_ERROR (including cases |
| + // where all retries fail because the device is offline, which might be |
| + // expected to result in a NETWORK_ERROR). If this is later changed, |
| + // update FakeGCMProfileService's offline simulation to match. |
| result = SERVER_ERROR; |
| break; |
| } |