OLD | NEW |
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/chromeos/policy/auto_enrollment_client.h" | 5 #include "chrome/browser/chromeos/policy/auto_enrollment_client.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/guid.h" | 8 #include "base/guid.h" |
9 #include "base/location.h" | 9 #include "base/location.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 // corresponding prefs string constant. | 67 // corresponding prefs string constant. |
68 std::string ConvertRestoreMode( | 68 std::string ConvertRestoreMode( |
69 em::DeviceStateRetrievalResponse::RestoreMode restore_mode) { | 69 em::DeviceStateRetrievalResponse::RestoreMode restore_mode) { |
70 switch (restore_mode) { | 70 switch (restore_mode) { |
71 case em::DeviceStateRetrievalResponse::RESTORE_MODE_NONE: | 71 case em::DeviceStateRetrievalResponse::RESTORE_MODE_NONE: |
72 return std::string(); | 72 return std::string(); |
73 case em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_REQUESTED: | 73 case em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_REQUESTED: |
74 return kDeviceStateRestoreModeReEnrollmentRequested; | 74 return kDeviceStateRestoreModeReEnrollmentRequested; |
75 case em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED: | 75 case em::DeviceStateRetrievalResponse::RESTORE_MODE_REENROLLMENT_ENFORCED: |
76 return kDeviceStateRestoreModeReEnrollmentEnforced; | 76 return kDeviceStateRestoreModeReEnrollmentEnforced; |
| 77 case em::DeviceStateRetrievalResponse::RESTORE_MODE_DISABLED: |
| 78 return kDeviceStateRestoreModeDisabled; |
77 } | 79 } |
78 | 80 |
79 // Return is required to avoid compiler warning. | 81 // Return is required to avoid compiler warning. |
80 NOTREACHED() << "Bad restore mode " << restore_mode; | 82 NOTREACHED() << "Bad restore mode " << restore_mode; |
81 return std::string(); | 83 return std::string(); |
82 } | 84 } |
83 | 85 |
84 } // namespace | 86 } // namespace |
85 | 87 |
86 AutoEnrollmentClient::AutoEnrollmentClient( | 88 AutoEnrollmentClient::AutoEnrollmentClient( |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 } else { | 228 } else { |
227 progress_callback_.Run(state_); | 229 progress_callback_.Run(state_); |
228 } | 230 } |
229 } | 231 } |
230 | 232 |
231 void AutoEnrollmentClient::NextStep() { | 233 void AutoEnrollmentClient::NextStep() { |
232 if (!RetryStep()) { | 234 if (!RetryStep()) { |
233 // Protocol finished successfully, report result. | 235 // Protocol finished successfully, report result. |
234 bool trigger_enrollment = false; | 236 bool trigger_enrollment = false; |
235 if (retrieve_device_state_) { | 237 if (retrieve_device_state_) { |
236 const base::DictionaryValue* device_state_dict = | 238 const RestoreMode restore_mode = GetRestoreMode(); |
237 local_state_->GetDictionary(prefs::kServerBackedDeviceState); | |
238 std::string restore_mode; | |
239 device_state_dict->GetString(kDeviceStateRestoreMode, &restore_mode); | |
240 trigger_enrollment = | 239 trigger_enrollment = |
241 (restore_mode == kDeviceStateRestoreModeReEnrollmentRequested || | 240 (restore_mode == RESTORE_MODE_REENROLLMENT_REQUESTED || |
242 restore_mode == kDeviceStateRestoreModeReEnrollmentEnforced); | 241 restore_mode == RESTORE_MODE_REENROLLMENT_ENFORCED); |
243 } else { | 242 } else { |
244 trigger_enrollment = has_server_state_; | 243 trigger_enrollment = has_server_state_; |
245 } | 244 } |
246 | 245 |
247 ReportProgress(trigger_enrollment ? AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT | 246 ReportProgress(trigger_enrollment ? AUTO_ENROLLMENT_STATE_TRIGGER_ENROLLMENT |
248 : AUTO_ENROLLMENT_STATE_NO_ENROLLMENT); | 247 : AUTO_ENROLLMENT_STATE_NO_ENROLLMENT); |
249 } | 248 } |
250 } | 249 } |
251 | 250 |
252 bool AutoEnrollmentClient::SendBucketDownloadRequest() { | 251 bool AutoEnrollmentClient::SendBucketDownloadRequest() { |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 new base::StringValue(state_response.management_domain())); | 404 new base::StringValue(state_response.management_domain())); |
406 | 405 |
407 std::string restore_mode = | 406 std::string restore_mode = |
408 ConvertRestoreMode(state_response.restore_mode()); | 407 ConvertRestoreMode(state_response.restore_mode()); |
409 UpdateDict(dict.Get(), | 408 UpdateDict(dict.Get(), |
410 kDeviceStateRestoreMode, | 409 kDeviceStateRestoreMode, |
411 !restore_mode.empty(), | 410 !restore_mode.empty(), |
412 new base::StringValue(restore_mode)); | 411 new base::StringValue(restore_mode)); |
413 | 412 |
414 UpdateDict(dict.Get(), | 413 UpdateDict(dict.Get(), |
415 kDeviceStateDisabled, | |
416 true /* set_or_clear */, | |
417 new base::FundamentalValue( | |
418 state_response.has_disabled_state())); | |
419 UpdateDict(dict.Get(), | |
420 kDeviceStateDisabledMessage, | 414 kDeviceStateDisabledMessage, |
421 state_response.has_disabled_state(), | 415 state_response.has_disabled_state(), |
422 new base::StringValue( | 416 new base::StringValue( |
423 state_response.disabled_state().message())); | 417 state_response.disabled_state().message())); |
424 } | 418 } |
425 local_state_->CommitPendingWrite(); | 419 local_state_->CommitPendingWrite(); |
426 device_state_available_ = true; | 420 device_state_available_ = true; |
427 progress = true; | 421 progress = true; |
428 } | 422 } |
429 | 423 |
(...skipping 25 matching lines...) Expand all Loading... |
455 base::TimeDelta delta = kZero; | 449 base::TimeDelta delta = kZero; |
456 if (!time_extra_start_.is_null()) | 450 if (!time_extra_start_.is_null()) |
457 delta = now - time_extra_start_; | 451 delta = now - time_extra_start_; |
458 // This samples |kZero| when there was no need for extra time, so that we can | 452 // This samples |kZero| when there was no need for extra time, so that we can |
459 // measure the ratio of users that succeeded without needing a delay to the | 453 // measure the ratio of users that succeeded without needing a delay to the |
460 // total users going through OOBE. | 454 // total users going through OOBE. |
461 UMA_HISTOGRAM_CUSTOM_TIMES(kUMAExtraTime, delta, kMin, kMax, kBuckets); | 455 UMA_HISTOGRAM_CUSTOM_TIMES(kUMAExtraTime, delta, kMin, kMax, kBuckets); |
462 } | 456 } |
463 | 457 |
464 } // namespace policy | 458 } // namespace policy |
OLD | NEW |