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

Unified Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 374573006: Force enterprise enrollment flow upon detection of inconsistent state. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 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
Index: chrome/browser/chromeos/login/wizard_controller.cc
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 6d1d4620d7620a4ddb6417738eb46c20a2ab275d..882302b6c074f9a87eca60e1c273da981561dd66 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -497,6 +497,8 @@ void WizardController::ShowEnrollmentScreen() {
mode = EnrollmentScreenActor::ENROLLMENT_MODE_AUTO;
else if (ShouldAutoStartEnrollment() && !CanExitEnrollment())
mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED;
+ else if (ShouldRecoverEnrollment())
+ mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED;
EnrollmentScreen* screen = GetEnrollmentScreen();
screen->SetParameters(mode, GetForcedEnrollmentDomain(), user);
@@ -729,7 +731,7 @@ void WizardController::OnUserImageSkipped() {
void WizardController::OnEnrollmentDone() {
// Mark OOBE as completed only if enterprise enrollment was part of the
// forced flow (i.e. app kiosk).
- if (ShouldAutoStartEnrollment())
+ if (ShouldAutoStartEnrollment() || ShouldRecoverEnrollment())
PerformOOBECompletedActions();
// TODO(mnissler): Unify the logic for auto-login for Public Sessions and
@@ -774,7 +776,7 @@ void WizardController::OnAutoEnrollmentDone() {
}
void WizardController::OnOOBECompleted() {
- if (ShouldAutoStartEnrollment()) {
+ if (ShouldAutoStartEnrollment() || ShouldRecoverEnrollment()) {
ShowEnrollmentScreen();
} else {
PerformOOBECompletedActions();
@@ -1131,6 +1133,15 @@ bool WizardController::ShouldAutoStartEnrollment() {
}
// static
+bool WizardController::ShouldRecoverEnrollment() {
+ policy::BrowserPolicyConnectorChromeOS* connector =
+ g_browser_process->platform_part()->browser_policy_connector_chromeos();
+ policy::DeviceCloudPolicyInitializer* dcp_initializer =
+ connector->GetDeviceCloudPolicyInitializer();
+ return dcp_initializer && dcp_initializer->ShouldRecoverEnrollment();
+}
+
+// static
bool WizardController::CanExitEnrollment() {
policy::BrowserPolicyConnectorChromeOS* connector =
g_browser_process->platform_part()->browser_policy_connector_chromeos();

Powered by Google App Engine
This is Rietveld 408576698