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

Unified Diff: chrome/browser/chromeos/login/wallpaper_manager.h

Issue 10827154: Preload default wallpaper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use DCHECK replace if cause. Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/wallpaper_manager.h
diff --git a/chrome/browser/chromeos/login/wallpaper_manager.h b/chrome/browser/chromeos/login/wallpaper_manager.h
index 603fb55c844c3192a2bc32d126324eb8b10718aa..f3864dfbb65467fe438e50114a12a7351a3f2657 100644
--- a/chrome/browser/chromeos/login/wallpaper_manager.h
+++ b/chrome/browser/chromeos/login/wallpaper_manager.h
@@ -45,9 +45,6 @@ class WallpaperManager: public system::TimezoneSettings::Observer,
// added after PowerManagerClient initialized.
void AddObservers();
- // Caches |email|'s wallpaper to memory if it is custom wallpaper.
- void CacheIfCustomWallpaper(const std::string& email);
-
// Loads wallpaper asynchronously if the current wallpaper is not the
// wallpaper of logged in user.
void EnsureLoggedInUserWallpaperLoaded();
@@ -134,6 +131,21 @@ class WallpaperManager: public system::TimezoneSettings::Observer,
// at 0am if chromeos device is on.
void BatchUpdateWallpaper();
+ // Cache all logged in users' wallpapers to memory at login screen. It should
+ // not compete with first wallpaper loading when boot up/initialize login
+ // WebUI page.
+ // There are two ways the first wallpaper might be loaded:
+ // 1. Loaded on boot. Login WebUI waits for it.
+ // 2. When flag --disable-boot-animation is passed. Login WebUI is loaded
+ // right away and in 500ms after. Wallpaper started to load.
+ // For case 2, should_cache_wallpaper_ is used to indicate if we need to
+ // cache wallpapers on wallpaper animation finished. The cache operation
+ // should be only executed once.
+ void CacheAllUsersWallpapers();
+
+ // Caches |email|'s wallpaper to memory.
+ void CacheUserWallpaper(const std::string& email);
+
// Caches the decoded wallpaper to memory.
void CacheWallpaper(const std::string& email, const UserImage& wallpaper);
@@ -200,6 +212,8 @@ class WallpaperManager: public system::TimezoneSettings::Observer,
// The last selected user on user pod row.
std::string last_selected_user_;
+ bool should_cache_wallpaper_;
+
base::WeakPtrFactory<WallpaperManager> weak_factory_;
content::NotificationRegistrar registrar_;
« no previous file with comments | « chrome/browser/chromeos/login/user_manager_impl.cc ('k') | chrome/browser/chromeos/login/wallpaper_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698