Index: chrome/browser/chromeos/login/wallpaper_manager.cc |
diff --git a/chrome/browser/chromeos/login/wallpaper_manager.cc b/chrome/browser/chromeos/login/wallpaper_manager.cc |
index e127b5930d29b8730b2e3b6051169143cd3ea4d3..224d82578ce0bd7b49976594cf9f5641d53c8a7b 100644 |
--- a/chrome/browser/chromeos/login/wallpaper_manager.cc |
+++ b/chrome/browser/chromeos/login/wallpaper_manager.cc |
@@ -312,6 +312,7 @@ void WallpaperManager::Observe(int type, |
break; |
} |
case chrome::NOTIFICATION_WALLPAPER_ANIMATION_FINISHED: { |
+ NotifyAnimationFinished(); |
if (should_cache_wallpaper_) { |
BrowserThread::PostDelayedTask( |
BrowserThread::UI, FROM_HERE, |
@@ -605,6 +606,19 @@ void WallpaperManager::UpdateWallpaper() { |
SetUserWallpaper(last_selected_user_); |
} |
+void WallpaperManager::AddObserver(WallpaperManager::Observer* observer) { |
+ observers_.AddObserver(observer); |
+} |
+ |
+void WallpaperManager::RemoveObserver(WallpaperManager::Observer* observer) { |
+ observers_.RemoveObserver(observer); |
+} |
+ |
+void WallpaperManager::NotifyAnimationFinished() { |
+ FOR_EACH_OBSERVER( |
+ Observer, observers_, OnWallpaperAnimationFinished(last_selected_user_)); |
+} |
+ |
// WallpaperManager, private: -------------------------------------------------- |
void WallpaperManager::CacheUsersWallpapers() { |