Chromium Code Reviews| Index: chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
| diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
| index 0036c260981d30cec2d5ac0b4f9927efef26404a..f509183c36ae10ed4808b59113b29b743d1e4821 100644 |
| --- a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
| +++ b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc |
| @@ -136,6 +136,7 @@ void DeviceCloudPolicyManagerChromeOS::Initialize(PrefService* local_state) { |
| base::Unretained(this))); |
| InitializeRequisition(); |
| + InitializeEnrollment(); |
| } |
| void DeviceCloudPolicyManagerChromeOS::AddDeviceCloudPolicyManagerObserver( |
| @@ -175,8 +176,7 @@ void DeviceCloudPolicyManagerChromeOS::SetDeviceRequisition( |
| local_state_->ClearPref(prefs::kDeviceEnrollmentAutoStart); |
| local_state_->ClearPref(prefs::kDeviceEnrollmentCanExit); |
| } else { |
| - local_state_->SetBoolean(prefs::kDeviceEnrollmentAutoStart, true); |
| - local_state_->SetBoolean(prefs::kDeviceEnrollmentCanExit, false); |
| + SetDeviceEnrollmentAutoStart(); |
| } |
| } |
| } |
| @@ -320,8 +320,7 @@ void DeviceCloudPolicyManagerChromeOS::InitializeRequisition() { |
| requisition); |
| if (requisition == kRemoraRequisition || |
| requisition == kSharkRequisition) { |
| - local_state_->SetBoolean(prefs::kDeviceEnrollmentAutoStart, true); |
| - local_state_->SetBoolean(prefs::kDeviceEnrollmentCanExit, false); |
| + SetDeviceEnrollmentAutoStart(); |
| } else { |
| local_state_->SetBoolean( |
| prefs::kDeviceEnrollmentAutoStart, |
| @@ -336,6 +335,23 @@ void DeviceCloudPolicyManagerChromeOS::InitializeRequisition() { |
| } |
| } |
| +const char kZeroTouchEnrollmentForced[] = "forced"; |
|
pastarmovj
2016/06/29 08:46:01
nit: Can you move this to the top of the file plea
The one and only Dr. Crash
2016/06/29 21:04:38
Done.
|
| + |
| +void DeviceCloudPolicyManagerChromeOS::InitializeEnrollment() { |
| + // Enrollment happens during OOBE only. |
| + if (chromeos::StartupUtils::IsOobeCompleted()) |
| + return; |
| + |
| + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| + if (command_line->HasSwitch( |
| + chromeos::switches::kEnterpriseEnableZeroTouchEnrollment) && |
| + command_line->GetSwitchValueASCII( |
| + chromeos::switches::kEnterpriseEnableZeroTouchEnrollment) == |
| + kZeroTouchEnrollmentForced) { |
| + SetDeviceEnrollmentAutoStart(); |
| + } |
| +} |
| + |
| void DeviceCloudPolicyManagerChromeOS::NotifyConnected() { |
| FOR_EACH_OBSERVER( |
| Observer, observers_, OnDeviceCloudPolicyManagerConnected()); |