Index: chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc |
diff --git a/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc b/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc |
index a98d1310eec7be56d3979e730bee9ee64a8da940..a75e7b87d2ec485307d800d35bfb37f2597508a6 100644 |
--- a/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc |
+++ b/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc |
@@ -89,7 +89,7 @@ |
CHECK_EQ(STEP_PENDING, enrollment_step_); |
enrollment_step_ = STEP_STATE_KEYS; |
state_keys_broker_->RequestStateKeys( |
- base::Bind(&EnrollmentHandlerChromeOS::HandleStateKeysResult, |
+ base::Bind(&EnrollmentHandlerChromeOS::CheckStateKeys, |
weak_ptr_factory_.GetWeakPtr())); |
} |
@@ -140,7 +140,7 @@ |
// from that username to validate the key below (http://crbug.com/343074). |
validator->ValidateInitialKey(GetPolicyVerificationKey(), domain); |
validator.release()->StartValidation( |
- base::Bind(&EnrollmentHandlerChromeOS::HandlePolicyValidationResult, |
+ base::Bind(&EnrollmentHandlerChromeOS::PolicyValidated, |
weak_ptr_factory_.GetWeakPtr())); |
} |
@@ -162,7 +162,7 @@ |
client_->FetchPolicy(); |
} else { |
LOG(FATAL) << "Registration state changed to " << client_->is_registered() |
- << " in step " << enrollment_step_ << "."; |
+ << " in step " << enrollment_step_; |
} |
} |
@@ -184,10 +184,10 @@ |
DCHECK_EQ(store_, store); |
if (enrollment_step_ == STEP_LOADING_STORE) { |
- // If the |store_| wasn't initialized when StartEnrollment() was called, |
- // then StartRegistration() bails silently. This gets registration rolling |
- // again after the store finishes loading. |
- StartRegistration(); |
+ // If the |store_| wasn't initialized when StartEnrollment() was |
+ // called, then AttemptRegistration() bails silently. This gets |
+ // registration rolling again after the store finishes loading. |
+ AttemptRegistration(); |
} else if (enrollment_step_ == STEP_STORE_POLICY) { |
ReportResult(EnrollmentStatus::ForStatus(EnrollmentStatus::STATUS_SUCCESS)); |
} |
@@ -206,40 +206,37 @@ |
store_->validation_status())); |
} |
-void EnrollmentHandlerChromeOS::HandleStateKeysResult( |
+void EnrollmentHandlerChromeOS::CheckStateKeys( |
const std::vector<std::string>& state_keys, bool /* first_boot */) { |
CHECK_EQ(STEP_STATE_KEYS, enrollment_step_); |
// Make sure state keys are available if forced re-enrollment is on. |
if (chromeos::AutoEnrollmentController::GetMode() == |
chromeos::AutoEnrollmentController::MODE_FORCED_RE_ENROLLMENT) { |
+ if (state_keys.empty()) { |
+ ReportResult( |
+ EnrollmentStatus::ForStatus(EnrollmentStatus::STATUS_NO_STATE_KEYS)); |
+ return; |
+ } |
client_->SetStateKeysToUpload(state_keys); |
current_state_key_ = state_keys_broker_->current_state_key(); |
- if (state_keys.empty() || current_state_key_.empty()) { |
- ReportResult( |
- EnrollmentStatus::ForStatus(EnrollmentStatus::STATUS_NO_STATE_KEYS)); |
- return; |
- } |
} |
enrollment_step_ = STEP_LOADING_STORE; |
- StartRegistration(); |
-} |
- |
-void EnrollmentHandlerChromeOS::StartRegistration() { |
+ AttemptRegistration(); |
+} |
+ |
+void EnrollmentHandlerChromeOS::AttemptRegistration() { |
CHECK_EQ(STEP_LOADING_STORE, enrollment_step_); |
if (store_->is_initialized()) { |
enrollment_step_ = STEP_REGISTRATION; |
client_->Register(em::DeviceRegisterRequest::DEVICE, |
auth_token_, client_id_, is_auto_enrollment_, |
requisition_, current_state_key_); |
- } else { |
- // Do nothing. StartRegistration() will be called again from OnStoreLoaded() |
- // after the CloudPolicyStore has initialized. |
- } |
-} |
- |
-void EnrollmentHandlerChromeOS::HandlePolicyValidationResult( |
+ } |
+} |
+ |
+void EnrollmentHandlerChromeOS::PolicyValidated( |
DeviceCloudPolicyValidator* validator) { |
CHECK_EQ(STEP_VALIDATION, enrollment_step_); |
if (validator->success()) { |
@@ -305,7 +302,7 @@ |
const std::string& access_token, |
int expires_in_seconds) { |
// We never use the code that should trigger this callback. |
- LOG(FATAL) << "Unexpected callback invoked."; |
+ LOG(FATAL) << "Unexpected callback invoked"; |
} |
// GaiaOAuthClient::Delegate OAuth2 error when fetching refresh token request. |
@@ -338,7 +335,7 @@ |
enrollment_step_ = STEP_STORE_TOKEN_AND_ID; |
device_settings_service_->SetManagementSettings( |
management_mode_, request_token_, device_id_, |
- base::Bind(&EnrollmentHandlerChromeOS::HandleSetManagementSettingsDone, |
+ base::Bind(&EnrollmentHandlerChromeOS::OnSetManagementSettingsDone, |
weak_ptr_factory_.GetWeakPtr())); |
} else { |
install_attributes_->LockDevice( |
@@ -348,7 +345,7 @@ |
} |
} |
-void EnrollmentHandlerChromeOS::HandleSetManagementSettingsDone() { |
+void EnrollmentHandlerChromeOS::OnSetManagementSettingsDone() { |
CHECK_EQ(STEP_STORE_TOKEN_AND_ID, enrollment_step_); |
if (device_settings_service_->status() != |
chromeos::DeviceSettingsService::STORE_SUCCESS) { |
@@ -357,7 +354,7 @@ |
return; |
} |
- StartStoreRobotAuth(); |
+ StoreRobotAuth(); |
} |
void EnrollmentHandlerChromeOS::HandleLockDeviceResult( |
@@ -365,8 +362,8 @@ |
CHECK_EQ(STEP_LOCK_DEVICE, enrollment_step_); |
switch (lock_result) { |
case EnterpriseInstallAttributes::LOCK_SUCCESS: |
- StartStoreRobotAuth(); |
- break; |
+ StoreRobotAuth(); |
+ return; |
case EnterpriseInstallAttributes::LOCK_NOT_READY: |
// We wait up to |kLockRetryTimeoutMs| milliseconds and if it hasn't |
// succeeded by then show an error to the user and stop the enrollment. |
@@ -384,30 +381,34 @@ |
ReportResult(EnrollmentStatus::ForStatus( |
EnrollmentStatus::STATUS_LOCK_TIMEOUT)); |
} |
- break; |
+ return; |
case EnterpriseInstallAttributes::LOCK_BACKEND_ERROR: |
ReportResult(EnrollmentStatus::ForStatus( |
EnrollmentStatus::STATUS_LOCK_ERROR)); |
- break; |
+ return; |
case EnterpriseInstallAttributes::LOCK_WRONG_USER: |
LOG(ERROR) << "Enrollment cannot proceed because the InstallAttrs " |
<< "has been locked already!"; |
ReportResult(EnrollmentStatus::ForStatus( |
EnrollmentStatus::STATUS_LOCK_WRONG_USER)); |
- break; |
- } |
-} |
- |
-void EnrollmentHandlerChromeOS::StartStoreRobotAuth() { |
+ return; |
+ } |
+ |
+ NOTREACHED() << "Invalid lock result " << lock_result; |
+ ReportResult(EnrollmentStatus::ForStatus( |
+ EnrollmentStatus::STATUS_LOCK_ERROR)); |
+} |
+ |
+void EnrollmentHandlerChromeOS::StoreRobotAuth() { |
// Get the token service so we can store our robot refresh token. |
enrollment_step_ = STEP_STORE_ROBOT_AUTH; |
chromeos::DeviceOAuth2TokenServiceFactory::Get()->SetAndSaveRefreshToken( |
refresh_token_, |
- base::Bind(&EnrollmentHandlerChromeOS::HandleStoreRobotAuthTokenResult, |
+ base::Bind(&EnrollmentHandlerChromeOS::HandleRobotAuthTokenStored, |
weak_ptr_factory_.GetWeakPtr())); |
} |
-void EnrollmentHandlerChromeOS::HandleStoreRobotAuthTokenResult(bool result) { |
+void EnrollmentHandlerChromeOS::HandleRobotAuthTokenStored(bool result) { |
CHECK_EQ(STEP_STORE_ROBOT_AUTH, enrollment_step_); |
if (!result) { |
@@ -441,9 +442,9 @@ |
if (status.status() != EnrollmentStatus::STATUS_SUCCESS) { |
LOG(WARNING) << "Enrollment failed: " << status.status() |
- << ", client: " << status.client_status() |
- << ", validation: " << status.validation_status() |
- << ", store: " << status.store_status(); |
+ << " " << status.client_status() |
+ << " " << status.validation_status() |
+ << " " << status.store_status(); |
} |
if (!callback.is_null()) |