Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Side by Side Diff: chrome/browser/policy/device_token_fetcher.cc

Issue 10664017: Introduce a new error code from the DM server - 402 - missing licenses. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: s/serials/licenses// Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 break; 53 break;
54 case DM_STATUS_SERVICE_DEVICE_ID_CONFLICT: 54 case DM_STATUS_SERVICE_DEVICE_ID_CONFLICT:
55 sample = kMetricTokenFetchDeviceIdConflict; 55 sample = kMetricTokenFetchDeviceIdConflict;
56 break; 56 break;
57 case DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER: 57 case DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER:
58 sample = kMetricTokenFetchInvalidSerialNumber; 58 sample = kMetricTokenFetchInvalidSerialNumber;
59 break; 59 break;
60 case DM_STATUS_RESPONSE_DECODING_ERROR: 60 case DM_STATUS_RESPONSE_DECODING_ERROR:
61 sample = kMetricTokenFetchBadResponse; 61 sample = kMetricTokenFetchBadResponse;
62 break; 62 break;
63 case DM_STATUS_MISSING_LICENSES:
64 sample = kMetricMissingLicenses;
65 break;
63 case DM_STATUS_TEMPORARY_UNAVAILABLE: 66 case DM_STATUS_TEMPORARY_UNAVAILABLE:
64 case DM_STATUS_SERVICE_ACTIVATION_PENDING: 67 case DM_STATUS_SERVICE_ACTIVATION_PENDING:
65 case DM_STATUS_SERVICE_POLICY_NOT_FOUND: 68 case DM_STATUS_SERVICE_POLICY_NOT_FOUND:
66 case DM_STATUS_HTTP_STATUS_ERROR: 69 case DM_STATUS_HTTP_STATUS_ERROR:
67 sample = kMetricTokenFetchServerFailed; 70 sample = kMetricTokenFetchServerFailed;
68 break; 71 break;
69 } 72 }
70 if (sample != -1) 73 if (sample != -1)
71 UMA_HISTOGRAM_ENUMERATION(kMetricToken, sample, kMetricTokenSize); 74 UMA_HISTOGRAM_ENUMERATION(kMetricToken, sample, kMetricTokenSize);
72 else 75 else
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 // the timestamp that |SetState()| needs to determine the correct refresh 131 // the timestamp that |SetState()| needs to determine the correct refresh
129 // time. 132 // time.
130 cache_->SetUnmanaged(); 133 cache_->SetUnmanaged();
131 SetState(STATE_UNMANAGED); 134 SetState(STATE_UNMANAGED);
132 } 135 }
133 136
134 void DeviceTokenFetcher::SetSerialNumberInvalidState() { 137 void DeviceTokenFetcher::SetSerialNumberInvalidState() {
135 SetState(STATE_BAD_SERIAL); 138 SetState(STATE_BAD_SERIAL);
136 } 139 }
137 140
141 void DeviceTokenFetcher::SetMissingLicensesState() {
142 SetState(STATE_MISSING_LICENSES);
143 }
144
138 void DeviceTokenFetcher::Reset() { 145 void DeviceTokenFetcher::Reset() {
139 SetState(STATE_INACTIVE); 146 SetState(STATE_INACTIVE);
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;
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 SetState(STATE_TEMPORARY_ERROR); 248 SetState(STATE_TEMPORARY_ERROR);
242 return; 249 return;
243 case DM_STATUS_SERVICE_MANAGEMENT_TOKEN_INVALID: 250 case DM_STATUS_SERVICE_MANAGEMENT_TOKEN_INVALID:
244 // Most probably the GAIA auth cookie has expired. We can not do anything 251 // Most probably the GAIA auth cookie has expired. We can not do anything
245 // until the user logs-in again. 252 // until the user logs-in again.
246 SetState(STATE_BAD_AUTH); 253 SetState(STATE_BAD_AUTH);
247 return; 254 return;
248 case DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER: 255 case DM_STATUS_SERVICE_INVALID_SERIAL_NUMBER:
249 SetSerialNumberInvalidState(); 256 SetSerialNumberInvalidState();
250 return; 257 return;
258 case DM_STATUS_MISSING_LICENSES:
259 SetMissingLicensesState();
260 return;
251 case DM_STATUS_REQUEST_INVALID: 261 case DM_STATUS_REQUEST_INVALID:
252 case DM_STATUS_HTTP_STATUS_ERROR: 262 case DM_STATUS_HTTP_STATUS_ERROR:
253 case DM_STATUS_RESPONSE_DECODING_ERROR: 263 case DM_STATUS_RESPONSE_DECODING_ERROR:
254 case DM_STATUS_SERVICE_ACTIVATION_PENDING: 264 case DM_STATUS_SERVICE_ACTIVATION_PENDING:
255 case DM_STATUS_SERVICE_POLICY_NOT_FOUND: 265 case DM_STATUS_SERVICE_POLICY_NOT_FOUND:
256 SetState(STATE_ERROR); 266 SetState(STATE_ERROR);
257 return; 267 return;
258 } 268 }
259 NOTREACHED(); 269 NOTREACHED();
260 SetState(STATE_ERROR); 270 SetState(STATE_ERROR);
(...skipping 21 matching lines...) Expand all
282 case STATE_BAD_SERIAL: 292 case STATE_BAD_SERIAL:
283 notifier_->Inform(CloudPolicySubsystem::UNENROLLED, 293 notifier_->Inform(CloudPolicySubsystem::UNENROLLED,
284 CloudPolicySubsystem::BAD_SERIAL_NUMBER, 294 CloudPolicySubsystem::BAD_SERIAL_NUMBER,
285 PolicyNotifier::TOKEN_FETCHER); 295 PolicyNotifier::TOKEN_FETCHER);
286 break; 296 break;
287 case STATE_BAD_ENROLLMENT_MODE: 297 case STATE_BAD_ENROLLMENT_MODE:
288 notifier_->Inform(CloudPolicySubsystem::UNENROLLED, 298 notifier_->Inform(CloudPolicySubsystem::UNENROLLED,
289 CloudPolicySubsystem::BAD_ENROLLMENT_MODE, 299 CloudPolicySubsystem::BAD_ENROLLMENT_MODE,
290 PolicyNotifier::TOKEN_FETCHER); 300 PolicyNotifier::TOKEN_FETCHER);
291 break; 301 break;
302 case STATE_MISSING_LICENSES:
303 notifier_->Inform(CloudPolicySubsystem::UNENROLLED,
304 CloudPolicySubsystem::MISSING_LICENSES,
305 PolicyNotifier::TOKEN_FETCHER);
306 break;
292 case STATE_UNMANAGED: 307 case STATE_UNMANAGED:
293 delayed_work_at = cache_->last_policy_refresh_time() + 308 delayed_work_at = cache_->last_policy_refresh_time() +
294 base::TimeDelta::FromMilliseconds( 309 base::TimeDelta::FromMilliseconds(
295 kUnmanagedDeviceRefreshRateMilliseconds); 310 kUnmanagedDeviceRefreshRateMilliseconds);
296 notifier_->Inform(CloudPolicySubsystem::UNMANAGED, 311 notifier_->Inform(CloudPolicySubsystem::UNMANAGED,
297 CloudPolicySubsystem::NO_DETAILS, 312 CloudPolicySubsystem::NO_DETAILS,
298 PolicyNotifier::TOKEN_FETCHER); 313 PolicyNotifier::TOKEN_FETCHER);
299 break; 314 break;
300 case STATE_TEMPORARY_ERROR: 315 case STATE_TEMPORARY_ERROR:
301 delayed_work_at = base::Time::Now() + 316 delayed_work_at = base::Time::Now() +
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 if (state_ != STATE_INACTIVE && state_ != STATE_TOKEN_AVAILABLE) 353 if (state_ != STATE_INACTIVE && state_ != STATE_TOKEN_AVAILABLE)
339 cache_->SetFetchingDone(); 354 cache_->SetFetchingDone();
340 } 355 }
341 356
342 void DeviceTokenFetcher::DoWork() { 357 void DeviceTokenFetcher::DoWork() {
343 switch (state_) { 358 switch (state_) {
344 case STATE_INACTIVE: 359 case STATE_INACTIVE:
345 case STATE_TOKEN_AVAILABLE: 360 case STATE_TOKEN_AVAILABLE:
346 case STATE_BAD_SERIAL: 361 case STATE_BAD_SERIAL:
347 case STATE_BAD_ENROLLMENT_MODE: 362 case STATE_BAD_ENROLLMENT_MODE:
363 case STATE_MISSING_LICENSES:
348 break; 364 break;
349 case STATE_UNMANAGED: 365 case STATE_UNMANAGED:
350 case STATE_ERROR: 366 case STATE_ERROR:
351 case STATE_TEMPORARY_ERROR: 367 case STATE_TEMPORARY_ERROR:
352 case STATE_BAD_AUTH: 368 case STATE_BAD_AUTH:
353 FetchTokenInternal(); 369 FetchTokenInternal();
354 break; 370 break;
355 } 371 }
356 } 372 }
357 373
358 } // namespace policy 374 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/device_token_fetcher.h ('k') | chrome/browser/policy/enterprise_metrics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698