OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/policy/device_token_fetcher.h" | 5 #include "chrome/browser/policy/device_token_fetcher.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 UMA_HISTOGRAM_ENUMERATION(kMetricToken, kMetricTokenFetchBadResponse, | 112 UMA_HISTOGRAM_ENUMERATION(kMetricToken, kMetricTokenFetchBadResponse, |
113 kMetricTokenSize); | 113 kMetricTokenSize); |
114 SetState(STATE_ERROR); | 114 SetState(STATE_ERROR); |
115 } | 115 } |
116 } | 116 } |
117 | 117 |
118 void DeviceTokenFetcher::OnError(DeviceManagementBackend::ErrorCode code) { | 118 void DeviceTokenFetcher::OnError(DeviceManagementBackend::ErrorCode code) { |
119 switch (code) { | 119 switch (code) { |
120 case DeviceManagementBackend::kErrorServiceManagementNotSupported: | 120 case DeviceManagementBackend::kErrorServiceManagementNotSupported: |
121 SetUnmanagedState(); | 121 SetUnmanagedState(); |
122 break; | 122 return; |
123 case DeviceManagementBackend::kErrorRequestFailed: | 123 case DeviceManagementBackend::kErrorRequestFailed: |
124 case DeviceManagementBackend::kErrorTemporaryUnavailable: | 124 case DeviceManagementBackend::kErrorTemporaryUnavailable: |
125 case DeviceManagementBackend::kErrorServiceDeviceNotFound: | 125 case DeviceManagementBackend::kErrorServiceDeviceNotFound: |
126 case DeviceManagementBackend::kErrorServiceDeviceIdConflict: | 126 case DeviceManagementBackend::kErrorServiceDeviceIdConflict: |
127 SetState(STATE_TEMPORARY_ERROR); | 127 SetState(STATE_TEMPORARY_ERROR); |
128 break; | 128 return; |
129 case DeviceManagementBackend::kErrorServiceManagementTokenInvalid: | 129 case DeviceManagementBackend::kErrorServiceManagementTokenInvalid: |
130 // Most probably the GAIA auth cookie has expired. We can not do anything | 130 // Most probably the GAIA auth cookie has expired. We can not do anything |
131 // until the user logs-in again. | 131 // until the user logs-in again. |
132 SetState(STATE_BAD_AUTH); | 132 SetState(STATE_BAD_AUTH); |
133 break; | 133 return; |
134 case DeviceManagementBackend::kErrorServiceInvalidSerialNumber: | 134 case DeviceManagementBackend::kErrorServiceInvalidSerialNumber: |
135 SetSerialNumberInvalidState(); | 135 SetSerialNumberInvalidState(); |
136 break; | 136 return; |
137 default: | 137 case DeviceManagementBackend::kErrorRequestInvalid: |
| 138 case DeviceManagementBackend::kErrorHttpStatus: |
| 139 case DeviceManagementBackend::kErrorResponseDecoding: |
| 140 case DeviceManagementBackend::kErrorServiceActivationPending: |
| 141 case DeviceManagementBackend::kErrorServicePolicyNotFound: |
138 SetState(STATE_ERROR); | 142 SetState(STATE_ERROR); |
| 143 return; |
139 } | 144 } |
| 145 NOTREACHED(); |
| 146 SetState(STATE_ERROR); |
140 } | 147 } |
141 | 148 |
142 void DeviceTokenFetcher::Initialize(DeviceManagementService* service, | 149 void DeviceTokenFetcher::Initialize(DeviceManagementService* service, |
143 CloudPolicyCacheBase* cache, | 150 CloudPolicyCacheBase* cache, |
144 CloudPolicyDataStore* data_store, | 151 CloudPolicyDataStore* data_store, |
145 PolicyNotifier* notifier, | 152 PolicyNotifier* notifier, |
146 DelayedWorkScheduler* scheduler) { | 153 DelayedWorkScheduler* scheduler) { |
147 service_ = service; | 154 service_ = service; |
148 cache_ = cache; | 155 cache_ = cache; |
149 notifier_ = notifier; | 156 notifier_ = notifier; |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 case STATE_UNMANAGED: | 246 case STATE_UNMANAGED: |
240 case STATE_ERROR: | 247 case STATE_ERROR: |
241 case STATE_TEMPORARY_ERROR: | 248 case STATE_TEMPORARY_ERROR: |
242 case STATE_BAD_AUTH: | 249 case STATE_BAD_AUTH: |
243 FetchTokenInternal(); | 250 FetchTokenInternal(); |
244 break; | 251 break; |
245 } | 252 } |
246 } | 253 } |
247 | 254 |
248 } // namespace policy | 255 } // namespace policy |
OLD | NEW |