Index: chrome/browser/chromeos/login/existing_user_controller.cc |
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc |
index aeffee3d24f4ab102e13258495f324549bb8f956..73596e8f2bf530724ec41830d455b1520249e392 100644 |
--- a/chrome/browser/chromeos/login/existing_user_controller.cc |
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc |
@@ -234,8 +234,9 @@ void ExistingUserController::UpdateLoginDisplay( |
for (auto* user : users) { |
// Skip kiosk apps for login screen user list. Kiosk apps as pods (aka new |
// kiosk UI) is currently disabled and it gets the apps directly from |
- // KioskAppManager. |
- if (user->GetType() == user_manager::USER_TYPE_KIOSK_APP) |
+ // KioskAppManager and ArcKioskAppManager. |
+ if (user->GetType() == user_manager::USER_TYPE_KIOSK_APP || |
+ user->GetType() == user_manager::USER_TYPE_ARC_KIOSK_APP) |
Luis Héctor Chávez
2016/11/12 18:03:08
nit: you cannot elide braces if the condition span
Sergey Poromov
2016/11/14 17:23:23
Done.
|
continue; |
// TODO(xiyuan): Clean user profile whose email is not in whitelist. |
@@ -906,6 +907,12 @@ void ExistingUserController::LoginAsKioskApp(const std::string& app_id, |
host_->StartAppLaunch(app_id, diagnostic_mode, auto_start); |
} |
+void ExistingUserController::LoginAsArcKioskApp(const AccountId& account_id) { |
+ login_performer_.reset(nullptr); |
Luis Héctor Chávez
2016/11/12 18:03:08
nit: this is unnecessary. The call to reset() in t
Sergey Poromov
2016/11/14 17:23:22
It's destroying after creating a new ChromeLoginPe
|
+ login_performer_.reset(new ChromeLoginPerformer(this)); |
+ login_performer_->LoginAsArcKioskAccount(account_id); |
+} |
+ |
void ExistingUserController::ConfigurePublicSessionAutoLogin() { |
std::string auto_login_account_id; |
cros_settings_->GetString(kAccountsPrefDeviceLocalAccountAutoLoginId, |
@@ -1205,6 +1212,11 @@ void ExistingUserController::DoLogin(const UserContext& user_context, |
return; |
} |
+ if (user_context.GetUserType() == user_manager::USER_TYPE_ARC_KIOSK_APP) { |
+ LoginAsArcKioskApp(user_context.GetAccountId()); |
+ return; |
+ } |
+ |
// Regular user or supervised user login. |
if (!user_context.HasCredentials()) { |