| 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 3cd92cad13c821241e497cd386c316e1cfcbd116..7aceb11371bfdf24dfa563914ec09a2257924a2d 100644
|
| --- a/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc
|
| +++ b/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc
|
| @@ -324,14 +324,18 @@ void EnrollmentHandlerChromeOS::HandlePolicyValidationResult(
|
| DCHECK_EQ(STEP_VALIDATION, enrollment_step_);
|
| if (validator->success()) {
|
| std::string username = validator->policy_data()->username();
|
| - // TODO(rsorokin): remove device_mode_ check when device is locked
|
| - // with both realm and domain.
|
| - if (device_mode_ != DEVICE_MODE_ENTERPRISE_AD)
|
| - domain_ = gaia::ExtractDomainName(gaia::CanonicalizeEmail(username));
|
| device_id_ = validator->policy_data()->device_id();
|
| policy_ = std::move(validator->policy());
|
| - SetStep(STEP_ROBOT_AUTH_FETCH);
|
| - client_->FetchRobotAuthCodes(auth_token_);
|
| + if (device_mode_ == DEVICE_MODE_ENTERPRISE_AD) {
|
| + // Don't use robot account for the Active Directory managed devices.
|
| + skip_robot_auth_ = true;
|
| + SetStep(STEP_LOCK_DEVICE);
|
| + StartLockDevice();
|
| + } else {
|
| + domain_ = gaia::ExtractDomainName(gaia::CanonicalizeEmail(username));
|
| + SetStep(STEP_ROBOT_AUTH_FETCH);
|
| + client_->FetchRobotAuthCodes(auth_token_);
|
| + }
|
| } else {
|
| ReportResult(EnrollmentStatus::ForValidationError(validator->status()));
|
| }
|
|
|