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 a68276985cd5bca8bd2be8422fb58b5ef76ba983..6a0c6fdc19d3bc81c696d1f9e573193591e62874 100644 |
| --- a/chrome/browser/chromeos/login/existing_user_controller.cc |
| +++ b/chrome/browser/chromeos/login/existing_user_controller.cc |
| @@ -33,6 +33,7 @@ |
| #include "chrome/browser/chromeos/login/user_manager.h" |
| #include "chrome/browser/chromeos/login/wizard_controller.h" |
| #include "chrome/browser/chromeos/net/connectivity_state_helper.h" |
| +#include "chrome/browser/chromeos/policy/device_local_account.h" |
| #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| #include "chrome/browser/chromeos/settings/cros_settings.h" |
| #include "chrome/browser/chromeos/settings/cros_settings_names.h" |
| @@ -899,10 +900,24 @@ void ExistingUserController::ActivateWizard(const std::string& screen_name) { |
| } |
| void ExistingUserController::ConfigurePublicSessionAutoLogin() { |
|
Mattias Nissler (ping if slow)
2013/05/15 09:38:47
Hm, maybe a better approach for this would be to p
bartfab (slow)
2013/05/17 11:14:28
I don't think that would be right. Auto-login is n
Mattias Nissler (ping if slow)
2013/05/17 14:29:44
What I'm saying is that ExistingUserController sho
bartfab (slow)
2013/05/17 16:08:47
A near-term goal is to create User objects for all
|
| - if (!cros_settings_->GetString( |
| - kAccountsPrefDeviceLocalAccountAutoLoginId, |
| - &public_session_auto_login_username_)) { |
| - public_session_auto_login_username_.clear(); |
| + std::string auto_login_account_id; |
| + cros_settings_->GetString(kAccountsPrefDeviceLocalAccountAutoLoginId, |
| + &auto_login_account_id); |
| + |
| + const base::ListValue* device_local_accounts_list; |
| + cros_settings_->GetList(kAccountsPrefDeviceLocalAccounts, |
| + &device_local_accounts_list); |
| + const std::vector<policy::DeviceLocalAccount> device_local_accounts = |
| + policy::DecodeDeviceLocalAccountsList(device_local_accounts_list); |
| + |
| + public_session_auto_login_username_.clear(); |
| + for (std::vector<policy::DeviceLocalAccount>::const_iterator |
| + it = device_local_accounts.begin(); |
| + it != device_local_accounts.end(); ++it) { |
| + if (it->account_id == auto_login_account_id) { |
| + public_session_auto_login_username_ = it->user_id; |
| + break; |
| + } |
| } |
| const User* user = |