Index: chrome/browser/chromeos/login/user_manager_impl.cc |
=================================================================== |
--- chrome/browser/chromeos/login/user_manager_impl.cc (revision 252904) |
+++ chrome/browser/chromeos/login/user_manager_impl.cc (working copy) |
@@ -1161,7 +1161,7 @@ |
PrefService* local_state = g_browser_process->local_state(); |
const base::ListValue* prefs_regular_users = |
local_state->GetList(kRegularUsers); |
- const base::ListValue* prefs_public_accounts = |
+ const base::ListValue* prefs_public_sessions = |
local_state->GetList(kPublicAccounts); |
const base::DictionaryValue* prefs_display_names = |
local_state->GetDictionary(kUserDisplayName); |
@@ -1170,10 +1170,21 @@ |
const base::DictionaryValue* prefs_display_emails = |
local_state->GetDictionary(kUserDisplayEmail); |
+ // Load public sessions first. |
+ std::vector<std::string> public_sessions; |
+ std::set<std::string> public_sessions_set; |
+ ParseUserList(*prefs_public_sessions, std::set<std::string>(), |
+ &public_sessions, &public_sessions_set); |
+ for (std::vector<std::string>::const_iterator it = public_sessions.begin(); |
+ it != public_sessions.end(); ++it) { |
+ users_.push_back(User::CreatePublicAccountUser(*it)); |
+ UpdatePublicAccountDisplayName(*it); |
+ } |
+ |
// Load regular users and locally managed users. |
std::vector<std::string> regular_users; |
std::set<std::string> regular_users_set; |
- ParseUserList(*prefs_regular_users, std::set<std::string>(), |
+ ParseUserList(*prefs_regular_users, public_sessions_set, |
®ular_users, ®ular_users_set); |
for (std::vector<std::string>::const_iterator it = regular_users.begin(); |
it != regular_users.end(); ++it) { |
@@ -1205,16 +1216,6 @@ |
} |
} |
- // Load public accounts. |
- std::vector<std::string> public_accounts; |
- std::set<std::string> public_accounts_set; |
- ParseUserList(*prefs_public_accounts, regular_users_set, |
- &public_accounts, &public_accounts_set); |
- for (std::vector<std::string>::const_iterator it = public_accounts.begin(); |
- it != public_accounts.end(); ++it) { |
- users_.push_back(User::CreatePublicAccountUser(*it)); |
- UpdatePublicAccountDisplayName(*it); |
- } |
user_loading_stage_ = STAGE_LOADED; |
for (UserList::iterator ui = users_.begin(), ue = users_.end(); |