Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: chrome/browser/chromeos/login/wallpaper_manager.cc

Issue 253833006: Add browser test for CustomizationWallpaperDownloader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/wallpaper_manager.h" 5 #include "chrome/browser/chromeos/login/wallpaper_manager.h"
6 6
7 #include <numeric> 7 #include <numeric>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/ash_switches.h" 10 #include "ash/ash_switches.h"
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 if (!started_load_at_.is_null()) { 429 if (!started_load_at_.is_null()) {
430 const base::TimeDelta elapsed = base::Time::Now() - started_load_at_; 430 const base::TimeDelta elapsed = base::Time::Now() - started_load_at_;
431 manager->SaveLastLoadTime(elapsed); 431 manager->SaveLastLoadTime(elapsed);
432 } 432 }
433 if (manager->pending_inactive_ == this) { 433 if (manager->pending_inactive_ == this) {
434 // ProcessRequest() was never executed. 434 // ProcessRequest() was never executed.
435 manager->pending_inactive_ = NULL; 435 manager->pending_inactive_ = NULL;
436 } 436 }
437 437
438 // Destroy self. 438 // Destroy self.
439 DCHECK(manager->loading_.size() > 0); 439 manager->RemovePendingWallpaperFromList(this);
440
441 for (WallpaperManager::PendingList::iterator i = manager->loading_.begin();
442 i != manager->loading_.end();
443 ++i)
444 if (i->get() == this) {
445 manager->loading_.erase(i);
446 break;
447 }
448 } 440 }
449 441
450 // WallpaperManager, public: --------------------------------------------------- 442 // WallpaperManager, public: ---------------------------------------------------
451 443
452 // TestApi. For testing purpose 444 // TestApi. For testing purpose
453 WallpaperManager::TestApi::TestApi(WallpaperManager* wallpaper_manager) 445 WallpaperManager::TestApi::TestApi(WallpaperManager* wallpaper_manager)
454 : wallpaper_manager_(wallpaper_manager) { 446 : wallpaper_manager_(wallpaper_manager) {
455 } 447 }
456 448
457 WallpaperManager::TestApi::~TestApi() { 449 WallpaperManager::TestApi::~TestApi() {
(...skipping 1326 matching lines...) Expand 10 before | Expand all | Expand 10 after
1784 if (!pending_inactive_) { 1776 if (!pending_inactive_) {
1785 loading_.push_back(new WallpaperManager::PendingWallpaper( 1777 loading_.push_back(new WallpaperManager::PendingWallpaper(
1786 (delayed ? GetWallpaperLoadDelay() 1778 (delayed ? GetWallpaperLoadDelay()
1787 : base::TimeDelta::FromMilliseconds(0)), 1779 : base::TimeDelta::FromMilliseconds(0)),
1788 user_id)); 1780 user_id));
1789 pending_inactive_ = loading_.back(); 1781 pending_inactive_ = loading_.back();
1790 } 1782 }
1791 return pending_inactive_; 1783 return pending_inactive_;
1792 } 1784 }
1793 1785
1786 void WallpaperManager::RemovePendingWallpaperFromList(
1787 PendingWallpaper* pending) {
1788 DCHECK(loading_.size() > 0);
1789 for (WallpaperManager::PendingList::iterator i = loading_.begin();
1790 i != loading_.end();
1791 ++i) {
1792 if (i->get() == pending) {
1793 loading_.erase(i);
1794 break;
1795 }
1796 }
1797
1798 if (loading_.empty())
1799 FOR_EACH_OBSERVER(Observer, observers_, OnPendingListEmptyForTesting());
1800 }
1801
1794 void WallpaperManager::SetCustomizedDefaultWallpaper( 1802 void WallpaperManager::SetCustomizedDefaultWallpaper(
1795 const GURL& wallpaper_url, 1803 const GURL& wallpaper_url,
1796 const base::FilePath& downloaded_file, 1804 const base::FilePath& downloaded_file,
1797 const base::FilePath& resized_directory) { 1805 const base::FilePath& resized_directory) {
1798 // Should fail if this ever happens in tests. 1806 // Should fail if this ever happens in tests.
1799 DCHECK(wallpaper_url.is_valid()); 1807 DCHECK(wallpaper_url.is_valid());
1800 if (!wallpaper_url.is_valid()) { 1808 if (!wallpaper_url.is_valid()) {
1801 if (!wallpaper_url.is_empty()) { 1809 if (!wallpaper_url.is_empty()) {
1802 LOG(WARNING) << "Invalid Customized Wallpaper URL '" 1810 LOG(WARNING) << "Invalid Customized Wallpaper URL '"
1803 << wallpaper_url.spec() << "'"; 1811 << wallpaper_url.spec() << "'";
(...skipping 15 matching lines...) Expand all
1819 weak_factory_.GetWeakPtr(), 1827 weak_factory_.GetWeakPtr(),
1820 wallpaper_url, 1828 wallpaper_url,
1821 downloaded_file, 1829 downloaded_file,
1822 base::Passed(rescaled_files.Pass())); 1830 base::Passed(rescaled_files.Pass()));
1823 if (!BrowserThread::PostBlockingPoolTaskAndReply( 1831 if (!BrowserThread::PostBlockingPoolTaskAndReply(
1824 FROM_HERE, check_file_exists, on_checked_closure)) { 1832 FROM_HERE, check_file_exists, on_checked_closure)) {
1825 LOG(WARNING) << "Failed to start check CheckCustomizedWallpaperFilesExist."; 1833 LOG(WARNING) << "Failed to start check CheckCustomizedWallpaperFilesExist.";
1826 } 1834 }
1827 } 1835 }
1828 1836
1837 size_t WallpaperManager::GetPendingListSizeForTesting() const {
1838 return loading_.size();
1839 }
1840
1829 void WallpaperManager::SetDefaultWallpaperPathsFromCommandLine( 1841 void WallpaperManager::SetDefaultWallpaperPathsFromCommandLine(
1830 base::CommandLine* command_line) { 1842 base::CommandLine* command_line) {
1831 default_small_wallpaper_file_ = command_line->GetSwitchValuePath( 1843 default_small_wallpaper_file_ = command_line->GetSwitchValuePath(
1832 ash::switches::kAshDefaultWallpaperSmall); 1844 ash::switches::kAshDefaultWallpaperSmall);
1833 default_large_wallpaper_file_ = command_line->GetSwitchValuePath( 1845 default_large_wallpaper_file_ = command_line->GetSwitchValuePath(
1834 ash::switches::kAshDefaultWallpaperLarge); 1846 ash::switches::kAshDefaultWallpaperLarge);
1835 guest_small_wallpaper_file_ = 1847 guest_small_wallpaper_file_ =
1836 command_line->GetSwitchValuePath(ash::switches::kAshGuestWallpaperSmall); 1848 command_line->GetSwitchValuePath(ash::switches::kAshGuestWallpaperSmall);
1837 guest_large_wallpaper_file_ = 1849 guest_large_wallpaper_file_ =
1838 command_line->GetSwitchValuePath(ash::switches::kAshGuestWallpaperLarge); 1850 command_line->GetSwitchValuePath(ash::switches::kAshGuestWallpaperLarge);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1911 } 1923 }
1912 } 1924 }
1913 1925
1914 if (need_update_screen) { 1926 if (need_update_screen) {
1915 DoSetDefaultWallpaper(std::string(), 1927 DoSetDefaultWallpaper(std::string(),
1916 MovableOnDestroyCallbackHolder().Pass()); 1928 MovableOnDestroyCallbackHolder().Pass());
1917 } 1929 }
1918 } 1930 }
1919 1931
1920 } // namespace chromeos 1932 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698