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

Side by Side 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: Rebase. 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/wizard_controller.h" 5 #include "chrome/browser/chromeos/login/wizard_controller.h"
6 6
7 #include <signal.h> 7 #include <signal.h>
8 #include <stdlib.h> 8 #include <stdlib.h>
9 #include <sys/types.h> 9 #include <sys/types.h>
10 10
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 screen_parameters_->GetBoolean("is_auto_enrollment", &is_auto_enrollment); 490 screen_parameters_->GetBoolean("is_auto_enrollment", &is_auto_enrollment);
491 screen_parameters_->GetString("user", &user); 491 screen_parameters_->GetString("user", &user);
492 } 492 }
493 493
494 EnrollmentScreenActor::EnrollmentMode mode = 494 EnrollmentScreenActor::EnrollmentMode mode =
495 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL; 495 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL;
496 if (is_auto_enrollment) 496 if (is_auto_enrollment)
497 mode = EnrollmentScreenActor::ENROLLMENT_MODE_AUTO; 497 mode = EnrollmentScreenActor::ENROLLMENT_MODE_AUTO;
498 else if (ShouldAutoStartEnrollment() && !CanExitEnrollment()) 498 else if (ShouldAutoStartEnrollment() && !CanExitEnrollment())
499 mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED; 499 mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED;
500 else if (ShouldRecoverEnrollment())
501 mode = EnrollmentScreenActor::ENROLLMENT_MODE_FORCED;
500 502
501 EnrollmentScreen* screen = GetEnrollmentScreen(); 503 EnrollmentScreen* screen = GetEnrollmentScreen();
502 screen->SetParameters(mode, GetForcedEnrollmentDomain(), user); 504 screen->SetParameters(mode, GetForcedEnrollmentDomain(), user);
503 SetCurrentScreen(screen); 505 SetCurrentScreen(screen);
504 } 506 }
505 507
506 void WizardController::ShowResetScreen() { 508 void WizardController::ShowResetScreen() {
507 VLOG(1) << "Showing reset screen."; 509 VLOG(1) << "Showing reset screen.";
508 SetStatusAreaVisible(false); 510 SetStatusAreaVisible(false);
509 SetCurrentScreen(GetResetScreen()); 511 SetCurrentScreen(GetResetScreen());
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 host_ = NULL; 724 host_ = NULL;
723 } 725 }
724 726
725 void WizardController::OnUserImageSkipped() { 727 void WizardController::OnUserImageSkipped() {
726 OnUserImageSelected(); 728 OnUserImageSelected();
727 } 729 }
728 730
729 void WizardController::OnEnrollmentDone() { 731 void WizardController::OnEnrollmentDone() {
730 // Mark OOBE as completed only if enterprise enrollment was part of the 732 // Mark OOBE as completed only if enterprise enrollment was part of the
731 // forced flow (i.e. app kiosk). 733 // forced flow (i.e. app kiosk).
732 if (ShouldAutoStartEnrollment()) 734 if (ShouldAutoStartEnrollment() || ShouldRecoverEnrollment())
733 PerformOOBECompletedActions(); 735 PerformOOBECompletedActions();
734 736
735 // TODO(mnissler): Unify the logic for auto-login for Public Sessions and 737 // TODO(mnissler): Unify the logic for auto-login for Public Sessions and
736 // Kiosk Apps and make this code cover both cases: http://crbug.com/234694. 738 // Kiosk Apps and make this code cover both cases: http://crbug.com/234694.
737 if (KioskAppManager::Get()->IsAutoLaunchEnabled()) 739 if (KioskAppManager::Get()->IsAutoLaunchEnabled())
738 AutoLaunchKioskApp(); 740 AutoLaunchKioskApp();
739 else 741 else
740 ShowLoginScreen(LoginScreenContext()); 742 ShowLoginScreen(LoginScreenContext());
741 } 743 }
742 744
(...skipping 24 matching lines...) Expand all
767 else 769 else
768 ShowLoginScreen(LoginScreenContext()); 770 ShowLoginScreen(LoginScreenContext());
769 } 771 }
770 772
771 void WizardController::OnAutoEnrollmentDone() { 773 void WizardController::OnAutoEnrollmentDone() {
772 VLOG(1) << "Automagic enrollment done, resuming previous signin"; 774 VLOG(1) << "Automagic enrollment done, resuming previous signin";
773 ResumeLoginScreen(); 775 ResumeLoginScreen();
774 } 776 }
775 777
776 void WizardController::OnOOBECompleted() { 778 void WizardController::OnOOBECompleted() {
777 if (ShouldAutoStartEnrollment()) { 779 if (ShouldAutoStartEnrollment() || ShouldRecoverEnrollment()) {
778 ShowEnrollmentScreen(); 780 ShowEnrollmentScreen();
779 } else { 781 } else {
780 PerformOOBECompletedActions(); 782 PerformOOBECompletedActions();
781 ShowLoginScreen(LoginScreenContext()); 783 ShowLoginScreen(LoginScreenContext());
782 } 784 }
783 } 785 }
784 786
785 void WizardController::OnTermsOfServiceDeclined() { 787 void WizardController::OnTermsOfServiceDeclined() {
786 // If the user declines the Terms of Service, end the session and return to 788 // If the user declines the Terms of Service, end the session and return to
787 // the login screen. 789 // the login screen.
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 // static 1126 // static
1125 bool WizardController::ShouldAutoStartEnrollment() { 1127 bool WizardController::ShouldAutoStartEnrollment() {
1126 policy::BrowserPolicyConnectorChromeOS* connector = 1128 policy::BrowserPolicyConnectorChromeOS* connector =
1127 g_browser_process->platform_part()->browser_policy_connector_chromeos(); 1129 g_browser_process->platform_part()->browser_policy_connector_chromeos();
1128 policy::DeviceCloudPolicyInitializer* dcp_initializer = 1130 policy::DeviceCloudPolicyInitializer* dcp_initializer =
1129 connector->GetDeviceCloudPolicyInitializer(); 1131 connector->GetDeviceCloudPolicyInitializer();
1130 return dcp_initializer && dcp_initializer->ShouldAutoStartEnrollment(); 1132 return dcp_initializer && dcp_initializer->ShouldAutoStartEnrollment();
1131 } 1133 }
1132 1134
1133 // static 1135 // static
1136 bool WizardController::ShouldRecoverEnrollment() {
1137 policy::BrowserPolicyConnectorChromeOS* connector =
1138 g_browser_process->platform_part()->browser_policy_connector_chromeos();
1139 policy::DeviceCloudPolicyInitializer* dcp_initializer =
1140 connector->GetDeviceCloudPolicyInitializer();
1141 return dcp_initializer && dcp_initializer->ShouldRecoverEnrollment();
1142 }
1143
1144 // static
1134 bool WizardController::CanExitEnrollment() { 1145 bool WizardController::CanExitEnrollment() {
1135 policy::BrowserPolicyConnectorChromeOS* connector = 1146 policy::BrowserPolicyConnectorChromeOS* connector =
1136 g_browser_process->platform_part()->browser_policy_connector_chromeos(); 1147 g_browser_process->platform_part()->browser_policy_connector_chromeos();
1137 CHECK(connector); 1148 CHECK(connector);
1138 return connector->GetDeviceCloudPolicyInitializer()->CanExitEnrollment(); 1149 return connector->GetDeviceCloudPolicyInitializer()->CanExitEnrollment();
1139 } 1150 }
1140 1151
1141 // static 1152 // static
1142 std::string WizardController::GetForcedEnrollmentDomain() { 1153 std::string WizardController::GetForcedEnrollmentDomain() {
1143 policy::BrowserPolicyConnectorChromeOS* connector = 1154 policy::BrowserPolicyConnectorChromeOS* connector =
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1245 bool WizardController::SetOnTimeZoneResolvedForTesting( 1256 bool WizardController::SetOnTimeZoneResolvedForTesting(
1246 const base::Closure& callback) { 1257 const base::Closure& callback) {
1247 if (timezone_resolved_) 1258 if (timezone_resolved_)
1248 return false; 1259 return false;
1249 1260
1250 on_timezone_resolved_for_testing_ = callback; 1261 on_timezone_resolved_for_testing_ = callback;
1251 return true; 1262 return true;
1252 } 1263 }
1253 1264
1254 } // namespace chromeos 1265 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.h ('k') | chrome/browser/chromeos/policy/device_cloud_policy_initializer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698