Index: chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
diff --git a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
index 20a9d9801a78f92d6c7b8864ac16e983f6eca9c0..ef44c3902be4dc0fb73a1f9fddc69fbf93d22ff9 100644 |
--- a/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
+++ b/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc |
@@ -307,6 +307,8 @@ WallpaperManager::WallpaperManager() |
base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
wallpaper_loader_ = new UserImageLoader(ImageDecoder::ROBUST_JPEG_CODEC, |
task_runner_); |
+ |
+ user_manager::UserManager::Get()->AddSessionStateObserver(this); |
} |
WallpaperManager::~WallpaperManager() { |
@@ -314,6 +316,8 @@ WallpaperManager::~WallpaperManager() { |
// http://crbug.com/171694 |
DCHECK(!show_user_name_on_signin_subscription_); |
+ user_manager::UserManager::Get()->RemoveSessionStateObserver(this); |
+ |
ClearObsoleteWallpaperPrefs(); |
weak_factory_.InvalidateWeakPtrs(); |
} |
@@ -966,6 +970,10 @@ size_t WallpaperManager::GetPendingListSizeForTesting() const { |
return loading_.size(); |
} |
+void WallpaperManager::UserChangedChildStatus(user_manager::User* user) { |
+ SetUserWallpaperNow(user->email()); |
+} |
+ |
void WallpaperManager::OnDefaultWallpaperDecoded( |
const base::FilePath& path, |
const wallpaper::WallpaperLayout layout, |