| 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 6e98b27f5a7bd1e21cb595296457799e4e4609ef..61956aa3d24ec4c310e7cca22aa997eaa82ef94d 100644
|
| --- a/chrome/browser/chromeos/login/user_manager_impl.cc
|
| +++ b/chrome/browser/chromeos/login/user_manager_impl.cc
|
| @@ -276,7 +276,7 @@ void UserManagerImpl::UserLoggedIn(const std::string& email,
|
| SaveUserDisplayName(GetLoggedInUser().email(),
|
| UTF8ToUTF16(GetLoggedInUser().GetAccountName(true)));
|
| SetInitialUserImage(email);
|
| - WallpaperManager::Get()->SetInitialUserWallpaper(email);
|
| + WallpaperManager::Get()->SetInitialUserWallpaper(email, true);
|
| } else {
|
| int image_index = logged_in_user_->image_index();
|
| // If current user image is profile image, it needs to be refreshed.
|
| @@ -330,14 +330,14 @@ void UserManagerImpl::DemoUserLoggedIn() {
|
| is_current_user_ephemeral_ = true;
|
| logged_in_user_ = CreateUser(kDemoUser, /* is_ephemeral= */ true);
|
| SetInitialUserImage(kDemoUser);
|
| - WallpaperManager::Get()->SetInitialUserWallpaper(kDemoUser);
|
| + WallpaperManager::Get()->SetInitialUserWallpaper(kDemoUser, false);
|
| NotifyOnLogin();
|
| }
|
|
|
| void UserManagerImpl::GuestUserLoggedIn() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| is_current_user_ephemeral_ = true;
|
| - WallpaperManager::Get()->SetInitialUserWallpaper(kGuestUser);
|
| + WallpaperManager::Get()->SetInitialUserWallpaper(kGuestUser, false);
|
| logged_in_user_ = CreateUser(kGuestUser, /* is_ephemeral= */ true);
|
| NotifyOnLogin();
|
| }
|
| @@ -348,7 +348,7 @@ void UserManagerImpl::EphemeralUserLoggedIn(const std::string& email) {
|
| is_current_user_ephemeral_ = true;
|
| logged_in_user_ = CreateUser(email, /* is_ephemeral= */ true);
|
| SetInitialUserImage(email);
|
| - WallpaperManager::Get()->SetInitialUserWallpaper(email);
|
| + WallpaperManager::Get()->SetInitialUserWallpaper(email, false);
|
| NotifyOnLogin();
|
| }
|
|
|
| @@ -928,9 +928,10 @@ void UserManagerImpl::MigrateWallpaperData() {
|
| DictionaryPrefUpdate prefs_wallpapers_update(local_state,
|
| kUserWallpapers);
|
| prefs_wallpapers_update->RemoveWithoutPathExpansion(username, NULL);
|
| - WallpaperManager::Get()->SaveUserWallpaperProperties(username,
|
| - User::DEFAULT,
|
| - index);
|
| + WallpaperManager::Get()->SetUserWallpaperProperties(username,
|
| + User::DEFAULT,
|
| + index,
|
| + true);
|
| } else {
|
| // Before M20, wallpaper index is not saved into LocalState unless
|
| // user specifically sets a wallpaper. After M20, the default
|
| @@ -944,8 +945,8 @@ void UserManagerImpl::MigrateWallpaperData() {
|
| // wallpaper for those users as described in cr/130685. So here we use
|
| // default wallpaper for users that exist in user list but does not
|
| // have an index saved in LocalState.
|
| - WallpaperManager::Get()->SaveUserWallpaperProperties(username,
|
| - User::DEFAULT, ash::GetDefaultWallpaperIndex());
|
| + WallpaperManager::Get()->SetUserWallpaperProperties(username,
|
| + User::DEFAULT, ash::GetDefaultWallpaperIndex(), true);
|
| }
|
| }
|
| }
|
| @@ -954,8 +955,11 @@ void UserManagerImpl::MigrateWallpaperData() {
|
|
|
| void UserManagerImpl::SaveLoggedInUserWallpaperProperties(
|
| User::WallpaperType type, int index) {
|
| - WallpaperManager::Get()->SaveUserWallpaperProperties(
|
| - GetLoggedInUser().email(), type, index);
|
| + // Ephemeral users can not save data to local state.
|
| + // We just cache the index in memory for them.
|
| + bool is_persistent = !IsCurrentUserEphemeral();
|
| + WallpaperManager::Get()->SetUserWallpaperProperties(
|
| + GetLoggedInUser().email(), type, index, is_persistent);
|
| }
|
|
|
| void UserManagerImpl::SetUserImage(const std::string& username,
|
| @@ -1076,7 +1080,8 @@ void UserManagerImpl::SaveWallpaperToLocalState(const std::string& username,
|
| ash::WallpaperLayout layout,
|
| User::WallpaperType type) {
|
| // TODO(bshe): We probably need to save wallpaper_path instead of index.
|
| - WallpaperManager::Get()->SaveUserWallpaperProperties(username, type, layout);
|
| + WallpaperManager::Get()->SetUserWallpaperProperties(
|
| + username, type, layout, true);
|
| }
|
|
|
| bool UserManagerImpl::SaveBitmapToFile(const UserImage& user_image,
|
|
|