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 12d945cd4d46460d85e9414bae02d08b63bb00d4..eb434f0dce5f5bf0f0852a92aeeee3b9ba7451d1 100644 |
--- a/chrome/browser/chromeos/login/wallpaper_manager.cc |
+++ b/chrome/browser/chromeos/login/wallpaper_manager.cc |
@@ -420,15 +420,7 @@ void WallpaperManager::PendingWallpaper::OnWallpaperSet() { |
} |
// Destroy self. |
- DCHECK(manager->loading_.size() > 0); |
- |
- for (WallpaperManager::PendingList::iterator i = manager->loading_.begin(); |
- i != manager->loading_.end(); |
- ++i) |
- if (i->get() == this) { |
- manager->loading_.erase(i); |
- break; |
- } |
+ manager->RemovePendingWallpaperFromList(this); |
} |
// WallpaperManager, public: --------------------------------------------------- |
@@ -1753,6 +1745,22 @@ WallpaperManager::PendingWallpaper* WallpaperManager::GetPendingWallpaper( |
return pending_inactive_; |
} |
+void WallpaperManager::RemovePendingWallpaperFromList( |
+ PendingWallpaper* pending) { |
+ DCHECK(loading_.size() > 0); |
+ for (WallpaperManager::PendingList::iterator i = loading_.begin(); |
+ i != loading_.end(); |
+ ++i) { |
+ if (i->get() == pending) { |
+ loading_.erase(i); |
+ break; |
+ } |
+ } |
+ |
+ if (loading_.empty()) |
+ FOR_EACH_OBSERVER(Observer, observers_, OnPendingListEmptyForTesting()); |
+} |
+ |
void WallpaperManager::SetCustomizedDefaultWallpaper( |
const GURL& wallpaper_url, |
const base::FilePath& downloaded_file, |