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

Side by Side Diff: chrome/browser/chromeos/login/user_manager_impl.h

Issue 10454044: Added support for animated/nonanimated user image. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Comment is fixed. Created 8 years, 6 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) 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_USER_MANAGER_IMPL_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_IMPL_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_IMPL_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_IMPL_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 14 matching lines...) Expand all
25 25
26 class SkBitmap; 26 class SkBitmap;
27 class FilePath; 27 class FilePath;
28 class PrefService; 28 class PrefService;
29 class ProfileDownloader; 29 class ProfileDownloader;
30 class ProfileSyncService; 30 class ProfileSyncService;
31 31
32 namespace chromeos { 32 namespace chromeos {
33 33
34 class RemoveUserDelegate; 34 class RemoveUserDelegate;
35 class UserImage;
35 36
36 // Implementation of the UserManager. 37 // Implementation of the UserManager.
37 class UserManagerImpl : public UserManager, 38 class UserManagerImpl : public UserManager,
38 public ProfileDownloaderDelegate, 39 public ProfileDownloaderDelegate,
39 public ProfileSyncServiceObserver, 40 public ProfileSyncServiceObserver,
40 public content::NotificationObserver { 41 public content::NotificationObserver {
41 public: 42 public:
42 // UserManager implementation: 43 // UserManager implementation:
43 virtual ~UserManagerImpl(); 44 virtual ~UserManagerImpl();
44 45
(...skipping 23 matching lines...) Expand all
68 const std::string& display_email) OVERRIDE; 69 const std::string& display_email) OVERRIDE;
69 virtual std::string GetUserDisplayEmail( 70 virtual std::string GetUserDisplayEmail(
70 const std::string& username) const OVERRIDE; 71 const std::string& username) const OVERRIDE;
71 virtual void GetLoggedInUserWallpaperProperties(User::WallpaperType* type, 72 virtual void GetLoggedInUserWallpaperProperties(User::WallpaperType* type,
72 int* index) OVERRIDE; 73 int* index) OVERRIDE;
73 virtual void SaveLoggedInUserWallpaperProperties(User::WallpaperType type, 74 virtual void SaveLoggedInUserWallpaperProperties(User::WallpaperType type,
74 int index) OVERRIDE; 75 int index) OVERRIDE;
75 virtual void SaveUserDefaultImageIndex(const std::string& username, 76 virtual void SaveUserDefaultImageIndex(const std::string& username,
76 int image_index) OVERRIDE; 77 int image_index) OVERRIDE;
77 virtual void SaveUserImage(const std::string& username, 78 virtual void SaveUserImage(const std::string& username,
78 const SkBitmap& image) OVERRIDE; 79 const UserImage& user_image) OVERRIDE;
79 virtual void SetLoggedInUserCustomWallpaperLayout( 80 virtual void SetLoggedInUserCustomWallpaperLayout(
80 ash::WallpaperLayout layout) OVERRIDE; 81 ash::WallpaperLayout layout) OVERRIDE;
81 virtual void SaveUserImageFromFile(const std::string& username, 82 virtual void SaveUserImageFromFile(const std::string& username,
82 const FilePath& path) OVERRIDE; 83 const FilePath& path) OVERRIDE;
83 virtual void SaveUserWallpaperFromFile(const std::string& username, 84 virtual void SaveUserWallpaperFromFile(const std::string& username,
84 const FilePath& path, 85 const FilePath& path,
85 ash::WallpaperLayout layout, 86 ash::WallpaperLayout layout,
86 WallpaperDelegate* delegate) OVERRIDE; 87 WallpaperDelegate* delegate) OVERRIDE;
87 virtual void SaveUserImageFromProfileImage( 88 virtual void SaveUserImageFromProfileImage(
88 const std::string& username) OVERRIDE; 89 const std::string& username) OVERRIDE;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 // The new wallpaper structure is: 172 // The new wallpaper structure is:
172 // { WallpaperType: RANDOM|CUSTOMIZED|DEFAULT, 173 // { WallpaperType: RANDOM|CUSTOMIZED|DEFAULT,
173 // index: index of the default wallpapers } 174 // index: index of the default wallpapers }
174 void MigrateWallpaperData(); 175 void MigrateWallpaperData();
175 176
176 // Sets image for user |username| and sends LOGIN_USER_IMAGE_CHANGED 177 // Sets image for user |username| and sends LOGIN_USER_IMAGE_CHANGED
177 // notification unless this is a new user and image is set for the first time. 178 // notification unless this is a new user and image is set for the first time.
178 // If |image| is empty, sets a stub image for the user. 179 // If |image| is empty, sets a stub image for the user.
179 void SetUserImage(const std::string& username, 180 void SetUserImage(const std::string& username,
180 int image_index, 181 int image_index,
181 const SkBitmap& image); 182 const UserImage& user_image);
182 183
183 void GetUserWallpaperProperties(const std::string& username, 184 void GetUserWallpaperProperties(const std::string& username,
184 User::WallpaperType* type, 185 User::WallpaperType* type,
185 int* index); 186 int* index);
186 void SaveUserWallpaperProperties(const std::string& username, 187 void SaveUserWallpaperProperties(const std::string& username,
187 User::WallpaperType type, 188 User::WallpaperType type,
188 int index); 189 int index);
189 190
190 // Saves image to file, updates local state preferences to given image index 191 // Saves image to file, updates local state preferences to given image index
191 // and sends LOGIN_USER_IMAGE_CHANGED notification. 192 // and sends LOGIN_USER_IMAGE_CHANGED notification.
192 void SaveUserImageInternal(const std::string& username, 193 void SaveUserImageInternal(const std::string& username,
193 int image_index, 194 int image_index,
194 const SkBitmap& image); 195 const UserImage& user_image);
195 196
196 // Saves wallpaper to file, post task to generate thumbnail and updates local 197 // Saves wallpaper to file, post task to generate thumbnail and updates local
197 // state preferences. 198 // state preferences.
198 void SaveUserWallpaperInternal(const std::string& username, 199 void SaveUserWallpaperInternal(const std::string& username,
199 ash::WallpaperLayout layout, 200 ash::WallpaperLayout layout,
200 User::WallpaperType type, 201 User::WallpaperType type,
201 WallpaperDelegate* delegate, 202 WallpaperDelegate* delegate,
202 const SkBitmap& image); 203 const UserImage& user_image);
203 204
204 // Sets desktop background to custom wallpaper and loads wallpaper thumbnail 205 // Sets desktop background to custom wallpaper and loads wallpaper thumbnail
205 // asynchronously. 206 // asynchronously.
206 void OnCustomWallpaperLoaded(const std::string& email, 207 void OnCustomWallpaperLoaded(const std::string& email,
207 ash::WallpaperLayout layout, 208 ash::WallpaperLayout layout,
208 const SkBitmap& wallpaper); 209 const UserImage& wallpaper);
209 210
210 // Caches the loaded wallpaper for the given user. 211 // Caches the loaded wallpaper for the given user.
211 void OnCustomWallpaperThumbnailLoaded(const std::string& email, 212 void OnCustomWallpaperThumbnailLoaded(const std::string& email,
212 const SkBitmap& wallpaper); 213 const UserImage& user_image);
213 214
214 // Updates the custom wallpaper thumbnail in wallpaper picker UI. 215 // Updates the custom wallpaper thumbnail in wallpaper picker UI.
215 void OnThumbnailUpdated(WallpaperDelegate* delegate); 216 void OnThumbnailUpdated(WallpaperDelegate* delegate);
216 217
217 // Generates a 128x80 thumbnail and saves it to local file system. 218 // Generates a 128x80 thumbnail and saves it to local file system.
218 void GenerateUserWallpaperThumbnail(const std::string& username, 219 void GenerateUserWallpaperThumbnail(const std::string& username,
219 User::WallpaperType type, 220 User::WallpaperType type,
220 WallpaperDelegate* delegate, 221 WallpaperDelegate* delegate,
221 const SkBitmap& wallpaper); 222 const SkBitmap& wallpaper);
222 223
223 // Saves image to file with specified path and sends LOGIN_USER_IMAGE_CHANGED 224 // Saves image to file with specified path and sends LOGIN_USER_IMAGE_CHANGED
224 // notification. Runs on FILE thread. Posts task for saving image info to 225 // notification. Runs on FILE thread. Posts task for saving image info to
225 // Local State on UI thread. 226 // Local State on UI thread.
226 void SaveImageToFile(const std::string& username, 227 void SaveImageToFile(const std::string& username,
227 const SkBitmap& image, 228 const UserImage& user_image,
228 const FilePath& image_path, 229 const FilePath& image_path,
229 int image_index); 230 int image_index);
230 231
231 // Saves wallpaper to file with specified path. Runs on FILE thread. Posts 232 // Saves wallpaper to file with specified path. Runs on FILE thread. Posts
232 // task for saving wallpaper info to Local State on UI thread. 233 // task for saving wallpaper info to Local State on UI thread.
233 void SaveWallpaperToFile(const std::string& username, 234 void SaveWallpaperToFile(const std::string& username,
234 const SkBitmap& wallpaper, 235 const SkBitmap& wallpaper,
235 const FilePath& wallpaper_path, 236 const FilePath& wallpaper_path,
236 ash::WallpaperLayout layout, 237 ash::WallpaperLayout layout,
237 User::WallpaperType type); 238 User::WallpaperType type);
238 239
239 // Stores path to the image and its index in local state. Runs on UI thread. 240 // Stores path to the image and its index in local state. Runs on UI thread.
240 // If |is_async| is true, it has been posted from the FILE thread after 241 // If |is_async| is true, it has been posted from the FILE thread after
241 // saving the image. 242 // saving the image.
242 void SaveImageToLocalState(const std::string& username, 243 void SaveImageToLocalState(const std::string& username,
243 const std::string& image_path, 244 const std::string& image_path,
244 int image_index, 245 int image_index,
245 bool is_async); 246 bool is_async);
246 247
247 // Stores layout and type preference in local state. Runs on UI thread. 248 // Stores layout and type preference in local state. Runs on UI thread.
248 void SaveWallpaperToLocalState(const std::string& username, 249 void SaveWallpaperToLocalState(const std::string& username,
249 const std::string& wallpaper_path, 250 const std::string& wallpaper_path,
250 ash::WallpaperLayout layout, 251 ash::WallpaperLayout layout,
251 User::WallpaperType type); 252 User::WallpaperType type);
252 253
253 // Saves |image| to the specified |image_path|. Runs on FILE thread. 254 // Saves |image| to the specified |image_path|. Runs on FILE thread.
254 bool SaveBitmapToFile(const SkBitmap& image, 255 bool SaveBitmapToFile(const UserImage& user_image,
255 const FilePath& image_path); 256 const FilePath& image_path);
256 257
257 // Initializes |downloaded_profile_image_| with the picture of the logged-in 258 // Initializes |downloaded_profile_image_| with the picture of the logged-in
258 // user. 259 // user.
259 void InitDownloadedProfileImage(); 260 void InitDownloadedProfileImage();
260 261
261 // Deletes user's image file. Runs on FILE thread. 262 // Deletes user's image file. Runs on FILE thread.
262 void DeleteUserImage(const FilePath& image_path); 263 void DeleteUserImage(const FilePath& image_path);
263 264
264 // Updates current user ownership on UI thread. 265 // Updates current user ownership on UI thread.
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 353
353 // Data URL for |downloaded_profile_image_|. 354 // Data URL for |downloaded_profile_image_|.
354 std::string downloaded_profile_image_data_url_; 355 std::string downloaded_profile_image_data_url_;
355 356
356 DISALLOW_COPY_AND_ASSIGN(UserManagerImpl); 357 DISALLOW_COPY_AND_ASSIGN(UserManagerImpl);
357 }; 358 };
358 359
359 } // namespace chromeos 360 } // namespace chromeos
360 361
361 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_IMPL_H_ 362 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_USER_MANAGER_IMPL_H_
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/user_manager.h ('k') | chrome/browser/chromeos/login/user_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698