| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "ash/desktop_background/desktop_background_resources.h" | 10 #include "ash/desktop_background/desktop_background_controller.h" |
| 11 #include "base/file_path.h" | 11 #include "base/file_path.h" |
| 12 #include "base/memory/ref_counted_memory.h" | 12 #include "base/memory/ref_counted_memory.h" |
| 13 #include "base/memory/weak_ptr.h" | 13 #include "base/memory/weak_ptr.h" |
| 14 #include "base/time.h" | 14 #include "base/time.h" |
| 15 #include "base/timer.h" | 15 #include "base/timer.h" |
| 16 #include "chrome/browser/chromeos/login/user.h" | 16 #include "chrome/browser/chromeos/login/user.h" |
| 17 #include "chrome/browser/chromeos/login/user_image.h" | 17 #include "chrome/browser/chromeos/login/user_image.h" |
| 18 #include "chrome/browser/chromeos/login/user_image_loader.h" | 18 #include "chrome/browser/chromeos/login/user_image_loader.h" |
| 19 #include "chrome/browser/chromeos/system/timezone_settings.h" | 19 #include "chrome/browser/chromeos/system/timezone_settings.h" |
| 20 #include "chromeos/dbus/power_manager_client.h" | 20 #include "chromeos/dbus/power_manager_client.h" |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 // Cancel any previous timer if any. | 115 // Cancel any previous timer if any. |
| 116 void RestartTimer(); | 116 void RestartTimer(); |
| 117 | 117 |
| 118 // Saves custom wallpaper to file, post task to generate thumbnail and updates | 118 // Saves custom wallpaper to file, post task to generate thumbnail and updates |
| 119 // local state preferences. | 119 // local state preferences. |
| 120 void SetCustomWallpaper(const std::string& username, | 120 void SetCustomWallpaper(const std::string& username, |
| 121 ash::WallpaperLayout layout, | 121 ash::WallpaperLayout layout, |
| 122 User::WallpaperType type, | 122 User::WallpaperType type, |
| 123 const UserImage& wallpaper); | 123 const UserImage& wallpaper); |
| 124 | 124 |
| 125 // Sets wallpaper to default wallpaper at |index|. | 125 // Sets wallpaper to default wallpaper. |
| 126 void SetDefaultWallpaper(int index); | 126 void SetDefaultWallpaper(); |
| 127 | 127 |
| 128 // Sets one of the default wallpapers for the specified user and saves this | 128 // Sets one of the default wallpapers for the specified user and saves this |
| 129 // settings in local state. | 129 // settings in local state. |
| 130 void SetInitialUserWallpaper(const std::string& username, bool is_persistent); | 130 void SetInitialUserWallpaper(const std::string& username, bool is_persistent); |
| 131 | 131 |
| 132 // Sets selected wallpaper information for |username| and saves it to Local | 132 // Sets selected wallpaper information for |username| and saves it to Local |
| 133 // State if |is_persistent| is true. | 133 // State if |is_persistent| is true. |
| 134 void SetUserWallpaperInfo(const std::string& username, | 134 void SetUserWallpaperInfo(const std::string& username, |
| 135 const WallpaperInfo& info, | 135 const WallpaperInfo& info, |
| 136 bool is_persistent); | 136 bool is_persistent); |
| 137 | 137 |
| 138 // Sets last selected user on user pod row. | 138 // Sets last selected user on user pod row. |
| 139 void SetLastSelectedUser(const std::string& last_selected_user); | 139 void SetLastSelectedUser(const std::string& last_selected_user); |
| 140 | 140 |
| 141 // Sets |email|'s wallpaper. | 141 // Sets |email|'s wallpaper. |
| 142 void SetUserWallpaper(const std::string& email); | 142 void SetUserWallpaper(const std::string& email); |
| 143 | 143 |
| 144 // Sets the default wallpaper for the sign-in screen. | |
| 145 void SetSigninWallpaper(); | |
| 146 | |
| 147 // Sets wallpaper to |wallpaper|. | 144 // Sets wallpaper to |wallpaper|. |
| 148 void SetWallpaperFromImageSkia(const gfx::ImageSkia& wallpaper, | 145 void SetWallpaperFromImageSkia(const gfx::ImageSkia& wallpaper, |
| 149 ash::WallpaperLayout layout); | 146 ash::WallpaperLayout layout); |
| 150 | 147 |
| 151 // Updates current wallpaper. It may switch the size of wallpaper based on the | 148 // Updates current wallpaper. It may switch the size of wallpaper based on the |
| 152 // current display's resolution. | 149 // current display's resolution. |
| 153 void UpdateWallpaper(); | 150 void UpdateWallpaper(); |
| 154 | 151 |
| 155 private: | 152 private: |
| 156 friend class WallpaperManagerBrowserTest; | 153 friend class WallpaperManagerBrowserTest; |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 const WallpaperInfo& info, | 276 const WallpaperInfo& info, |
| 280 bool update_wallpaper, | 277 bool update_wallpaper, |
| 281 const FilePath& wallpaper_path); | 278 const FilePath& wallpaper_path); |
| 282 | 279 |
| 283 // The number of loaded wallpapers. | 280 // The number of loaded wallpapers. |
| 284 int loaded_wallpapers_; | 281 int loaded_wallpapers_; |
| 285 | 282 |
| 286 // The file path of current loaded/loading custom/online wallpaper. | 283 // The file path of current loaded/loading custom/online wallpaper. |
| 287 FilePath current_wallpaper_path_; | 284 FilePath current_wallpaper_path_; |
| 288 | 285 |
| 289 // The index of current loaded/loading default wallpaper. | |
| 290 int current_default_wallpaper_index_; | |
| 291 | |
| 292 // Loads user wallpaper from its file. | 286 // Loads user wallpaper from its file. |
| 293 scoped_refptr<UserImageLoader> wallpaper_loader_; | 287 scoped_refptr<UserImageLoader> wallpaper_loader_; |
| 294 | 288 |
| 295 // Logged-in user wallpaper information. | 289 // Logged-in user wallpaper information. |
| 296 WallpaperInfo current_user_wallpaper_info_; | 290 WallpaperInfo current_user_wallpaper_info_; |
| 297 | 291 |
| 298 // Caches wallpapers of users. Accessed only on UI thread. | 292 // Caches wallpapers of users. Accessed only on UI thread. |
| 299 CustomWallpaperMap wallpaper_cache_; | 293 CustomWallpaperMap wallpaper_cache_; |
| 300 | 294 |
| 301 CustomWallpaperMap custom_wallpaper_thumbnail_cache_; | 295 CustomWallpaperMap custom_wallpaper_thumbnail_cache_; |
| 302 | 296 |
| 303 // The last selected user on user pod row. | 297 // The last selected user on user pod row. |
| 304 std::string last_selected_user_; | 298 std::string last_selected_user_; |
| 305 | 299 |
| 306 bool should_cache_wallpaper_; | 300 bool should_cache_wallpaper_; |
| 307 | 301 |
| 308 base::WeakPtrFactory<WallpaperManager> weak_factory_; | 302 base::WeakPtrFactory<WallpaperManager> weak_factory_; |
| 309 | 303 |
| 310 content::NotificationRegistrar registrar_; | 304 content::NotificationRegistrar registrar_; |
| 311 | 305 |
| 312 base::OneShotTimer<WallpaperManager> timer_; | 306 base::OneShotTimer<WallpaperManager> timer_; |
| 313 | 307 |
| 314 DISALLOW_COPY_AND_ASSIGN(WallpaperManager); | 308 DISALLOW_COPY_AND_ASSIGN(WallpaperManager); |
| 315 }; | 309 }; |
| 316 | 310 |
| 317 } // namespace chromeos | 311 } // namespace chromeos |
| 318 | 312 |
| 319 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_ | 313 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_ |
| OLD | NEW |