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 55cd1998a4a5e980ca0a06d03702ac784270536a..24c63b20c8818ef59fe4987480cebac28ecc5c2a 100644 |
--- a/chrome/browser/chromeos/login/wallpaper_manager.cc |
+++ b/chrome/browser/chromeos/login/wallpaper_manager.cc |
@@ -436,15 +436,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: --------------------------------------------------- |
@@ -1791,6 +1783,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, |
@@ -1826,6 +1834,10 @@ void WallpaperManager::SetCustomizedDefaultWallpaper( |
} |
} |
+size_t WallpaperManager::GetPendingListSizeForTesting() const { |
+ return loading_.size(); |
+} |
+ |
void WallpaperManager::SetDefaultWallpaperPathsFromCommandLine( |
base::CommandLine* command_line) { |
default_small_wallpaper_file_ = command_line->GetSwitchValuePath( |