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

Unified Diff: chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc

Issue 2107033002: Added flag for enterprise zero-touch enrollment and force enrollment if (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed review comments. Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h ('k') | chromeos/chromeos_switches.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..d585b0ba3d517880e812e6804ba8a6738904b906 100644
--- a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc
+++ b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc
@@ -52,10 +52,14 @@ namespace policy {
namespace {
+// Well-known requisition types.
const char kNoRequisition[] = "none";
const char kRemoraRequisition[] = "remora";
const char kSharkRequisition[] = "shark";
+// Zero-touch enrollment flag values.
+const char kZeroTouchEnrollmentForced[] = "forced";
+
// These are the machine serial number keys that we check in order until we
// find a non-empty serial number. The VPD spec says the serial number should be
// in the "serial_number" key for v2+ VPDs. However, legacy devices used a
@@ -136,6 +140,7 @@ void DeviceCloudPolicyManagerChromeOS::Initialize(PrefService* local_state) {
base::Unretained(this)));
InitializeRequisition();
+ InitializeEnrollment();
}
void DeviceCloudPolicyManagerChromeOS::AddDeviceCloudPolicyManagerObserver(
@@ -175,8 +180,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 +324,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 +339,21 @@ void DeviceCloudPolicyManagerChromeOS::InitializeRequisition() {
}
}
+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());
« no previous file with comments | « chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h ('k') | chromeos/chromeos_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698