Chromium Code Reviews| 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()) { |