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

Unified Diff: chrome/browser/chromeos/login/user_manager_impl.cc

Issue 172353002: Fix double wallpaper animation for public pods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/login/user_manager_impl.cc
diff --git a/chrome/browser/chromeos/login/user_manager_impl.cc b/chrome/browser/chromeos/login/user_manager_impl.cc
index a71bdb192754b208f81bc74ccffc4abfc34a37b2..d7791ae37d13f6a8eefb6b11f5a18eb2fb09088c 100644
--- a/chrome/browser/chromeos/login/user_manager_impl.cc
+++ b/chrome/browser/chromeos/login/user_manager_impl.cc
@@ -1161,7 +1161,7 @@ void UserManagerImpl::EnsureUsersLoaded() {
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 @@ void UserManagerImpl::EnsureUsersLoaded() {
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,
&regular_users, &regular_users_set);
for (std::vector<std::string>::const_iterator it = regular_users.begin();
it != regular_users.end(); ++it) {
@@ -1205,16 +1216,6 @@ void UserManagerImpl::EnsureUsersLoaded() {
}
}
- // 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();
« no previous file with comments | « no previous file | chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698