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

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

Issue 138913011: Code refactor(rename email to user_id in wallpaper_manager.h/cc) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: format nits Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/wallpaper_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #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 <deque> 8 #include <deque>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 90
91 private: 91 private:
92 WallpaperManager* wallpaper_manager_; // not owned 92 WallpaperManager* wallpaper_manager_; // not owned
93 93
94 DISALLOW_COPY_AND_ASSIGN(TestApi); 94 DISALLOW_COPY_AND_ASSIGN(TestApi);
95 }; 95 };
96 96
97 class Observer { 97 class Observer {
98 public: 98 public:
99 virtual ~Observer() {} 99 virtual ~Observer() {}
100 virtual void OnWallpaperAnimationFinished(const std::string& email) = 0; 100 virtual void OnWallpaperAnimationFinished(const std::string& user_id) = 0;
101 }; 101 };
102 102
103 // This is "wallpaper either scheduled to load, or loading right now". 103 // This is "wallpaper either scheduled to load, or loading right now".
104 // 104 //
105 // While enqueued, it defines moment in the future, when it will be loaded. 105 // While enqueued, it defines moment in the future, when it will be loaded.
106 // Enqueued but not started request might be updated by subsequent load 106 // Enqueued but not started request might be updated by subsequent load
107 // request. Therefore it's created empty, and updated being enqueued. 107 // request. Therefore it's created empty, and updated being enqueued.
108 // 108 //
109 // PendingWallpaper is owned by WallpaperManager, but reference to this object 109 // PendingWallpaper is owned by WallpaperManager, but reference to this object
110 // is passed to other threads by PoskTask() calls, therefore it is 110 // is passed to other threads by PoskTask() calls, therefore it is
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 // Initializes wallpaper. If logged in, loads user's wallpaper. If not logged 207 // Initializes wallpaper. If logged in, loads user's wallpaper. If not logged
208 // in, uses a solid color wallpaper. If logged in as a stub user, uses an 208 // in, uses a solid color wallpaper. If logged in as a stub user, uses an
209 // empty wallpaper. 209 // empty wallpaper.
210 void InitializeWallpaper(); 210 void InitializeWallpaper();
211 211
212 // NotificationObserver overrides: 212 // NotificationObserver overrides:
213 virtual void Observe(int type, 213 virtual void Observe(int type,
214 const content::NotificationSource& source, 214 const content::NotificationSource& source,
215 const content::NotificationDetails& details) OVERRIDE; 215 const content::NotificationDetails& details) OVERRIDE;
216 216
217 // Removes all |email| related wallpaper info and saved wallpapers. 217 // Removes all |user_id| related wallpaper info and saved wallpapers.
218 void RemoveUserWallpaperInfo(const std::string& email); 218 void RemoveUserWallpaperInfo(const std::string& user_id);
219 219
220 // Resizes |wallpaper| to a resolution which is nearest to |preferred_width| 220 // Resizes |wallpaper| to a resolution which is nearest to |preferred_width|
221 // and |preferred_height| while maintaining aspect ratio. 221 // and |preferred_height| while maintaining aspect ratio.
222 bool ResizeWallpaper(const UserImage& wallpaper, 222 bool ResizeWallpaper(const UserImage& wallpaper,
223 ash::WallpaperLayout layout, 223 ash::WallpaperLayout layout,
224 int preferred_width, 224 int preferred_width,
225 int preferred_height, 225 int preferred_height,
226 scoped_refptr<base::RefCountedBytes>* output); 226 scoped_refptr<base::RefCountedBytes>* output);
227 227
228 // Resizes |wallpaper| to a resolution which is nearest to |preferred_width| 228 // Resizes |wallpaper| to a resolution which is nearest to |preferred_width|
(...skipping 27 matching lines...) Expand all
256 256
257 // Sets selected wallpaper information for |user_id| and saves it to Local 257 // Sets selected wallpaper information for |user_id| and saves it to Local
258 // State if |is_persistent| is true. 258 // State if |is_persistent| is true.
259 void SetUserWallpaperInfo(const std::string& user_id, 259 void SetUserWallpaperInfo(const std::string& user_id,
260 const WallpaperInfo& info, 260 const WallpaperInfo& info,
261 bool is_persistent); 261 bool is_persistent);
262 262
263 // Sets last selected user on user pod row. 263 // Sets last selected user on user pod row.
264 void SetLastSelectedUser(const std::string& last_selected_user); 264 void SetLastSelectedUser(const std::string& last_selected_user);
265 265
266 // Sets |email|'s wallpaper (asynchronously with zero delay). 266 // Sets |user_id|'s wallpaper (asynchronously with zero delay).
267 void SetUserWallpaperNow(const std::string& email); 267 void SetUserWallpaperNow(const std::string& user_id);
268 268
269 // Sets |email|'s wallpaper (asynchronously with default delay). 269 // Sets |user_id|'s wallpaper (asynchronously with default delay).
270 void SetUserWallpaperDelayed(const std::string& email); 270 void SetUserWallpaperDelayed(const std::string& user_id);
271 271
272 // Sets wallpaper to |wallpaper| (asynchronously with zero delay). 272 // Sets wallpaper to |wallpaper| (asynchronously with zero delay).
273 void SetWallpaperFromImageSkia(const std::string& email, 273 void SetWallpaperFromImageSkia(const std::string& user_id,
274 const gfx::ImageSkia& wallpaper, 274 const gfx::ImageSkia& wallpaper,
275 ash::WallpaperLayout layout); 275 ash::WallpaperLayout layout);
276 276
277 // Updates current wallpaper. It may switch the size of wallpaper based on the 277 // Updates current wallpaper. It may switch the size of wallpaper based on the
278 // current display's resolution. (asynchronously with zero delay) 278 // current display's resolution. (asynchronously with zero delay)
279 void UpdateWallpaper(); 279 void UpdateWallpaper();
280 280
281 // Adds given observer to the list. 281 // Adds given observer to the list.
282 void AddObserver(Observer* observer); 282 void AddObserver(Observer* observer);
283 283
284 // Removes given observer from the list. 284 // Removes given observer from the list.
285 void RemoveObserver(Observer* observer); 285 void RemoveObserver(Observer* observer);
286 286
287 private: 287 private:
288 friend class TestApi; 288 friend class TestApi;
289 friend class WallpaperManagerBrowserTest; 289 friend class WallpaperManagerBrowserTest;
290 typedef std::map<std::string, gfx::ImageSkia> CustomWallpaperMap; 290 typedef std::map<std::string, gfx::ImageSkia> CustomWallpaperMap;
291 291
292 // Gets encoded wallpaper from cache. Returns true if success. 292 // Gets encoded wallpaper from cache. Returns true if success.
293 bool GetWallpaperFromCache(const std::string& email, 293 bool GetWallpaperFromCache(const std::string& user_id,
294 gfx::ImageSkia* wallpaper); 294 gfx::ImageSkia* wallpaper);
295 295
296 // The number of wallpapers have loaded. For test only. 296 // The number of wallpapers have loaded. For test only.
297 int loaded_wallpapers() const { return loaded_wallpapers_; } 297 int loaded_wallpapers() const { return loaded_wallpapers_; }
298 298
299 // Cache some (or all) logged in users' wallpapers to memory at login 299 // Cache some (or all) logged in users' wallpapers to memory at login
300 // screen. It should not compete with first wallpaper loading when boot 300 // screen. It should not compete with first wallpaper loading when boot
301 // up/initialize login WebUI page. 301 // up/initialize login WebUI page.
302 // There are two ways the first wallpaper might be loaded: 302 // There are two ways the first wallpaper might be loaded:
303 // 1. Loaded on boot. Login WebUI waits for it. 303 // 1. Loaded on boot. Login WebUI waits for it.
304 // 2. When flag --disable-boot-animation is passed. Login WebUI is loaded 304 // 2. When flag --disable-boot-animation is passed. Login WebUI is loaded
305 // right away and in 500ms after. Wallpaper started to load. 305 // right away and in 500ms after. Wallpaper started to load.
306 // For case 2, should_cache_wallpaper_ is used to indicate if we need to 306 // For case 2, should_cache_wallpaper_ is used to indicate if we need to
307 // cache wallpapers on wallpaper animation finished. The cache operation 307 // cache wallpapers on wallpaper animation finished. The cache operation
308 // should be only executed once. 308 // should be only executed once.
309 void CacheUsersWallpapers(); 309 void CacheUsersWallpapers();
310 310
311 // Caches |email|'s wallpaper to memory. 311 // Caches |user_id|'s wallpaper to memory.
312 void CacheUserWallpaper(const std::string& email); 312 void CacheUserWallpaper(const std::string& user_id);
313 313
314 // Clears all obsolete wallpaper prefs from old version wallpaper pickers. 314 // Clears all obsolete wallpaper prefs from old version wallpaper pickers.
315 void ClearObsoleteWallpaperPrefs(); 315 void ClearObsoleteWallpaperPrefs();
316 316
317 // Deletes everything else except |path| in the same directory. 317 // Deletes everything else except |path| in the same directory.
318 void DeleteAllExcept(const base::FilePath& path); 318 void DeleteAllExcept(const base::FilePath& path);
319 319
320 // Deletes a list of wallpaper files in |file_list|. 320 // Deletes a list of wallpaper files in |file_list|.
321 void DeleteWallpaperInList(const std::vector<base::FilePath>& file_list); 321 void DeleteWallpaperInList(const std::vector<base::FilePath>& file_list);
322 322
323 // Deletes all |email| related custom wallpapers and directories. 323 // Deletes all |user_id| related custom wallpapers and directories.
324 void DeleteUserWallpapers(const std::string& email, 324 void DeleteUserWallpapers(const std::string& user_id,
325 const std::string& path_to_file); 325 const std::string& path_to_file);
326 326
327 // Creates all new custom wallpaper directories for |user_id_hash| if not 327 // Creates all new custom wallpaper directories for |user_id_hash| if not
328 // exist. 328 // exist.
329 void EnsureCustomWallpaperDirectories(const std::string& user_id_hash); 329 void EnsureCustomWallpaperDirectories(const std::string& user_id_hash);
330 330
331 // Gets the CommandLine representing the current process's command line. 331 // Gets the CommandLine representing the current process's command line.
332 CommandLine* GetComandLine(); 332 CommandLine* GetComandLine();
333 333
334 // Initialize wallpaper of registered device after device policy is trusted. 334 // Initialize wallpaper of registered device after device policy is trusted.
335 // Note that before device is enrolled, it proceeds with untrusted setting. 335 // Note that before device is enrolled, it proceeds with untrusted setting.
336 void InitializeRegisteredDeviceWallpaper(); 336 void InitializeRegisteredDeviceWallpaper();
337 337
338 // Loads |email|'s wallpaper. When |update_wallpaper| is true, sets wallpaper 338 // Loads |user_id|'s wallpaper. When |update_wallpaper| is true, sets
339 // to the loaded wallpaper. 339 // wallpaper to the loaded wallpaper.
340 void LoadWallpaper(const std::string& email, 340 void LoadWallpaper(const std::string& user_id,
341 const WallpaperInfo& info, 341 const WallpaperInfo& info,
342 bool update_wallpaper, 342 bool update_wallpaper,
343 MovableOnDestroyCallbackHolder on_finish); 343 MovableOnDestroyCallbackHolder on_finish);
344 344
345 // Moves custom wallpapers from |email| directory to |user_id_hash| 345 // Moves custom wallpapers from |user_id| directory to |user_id_hash|
346 // directory. 346 // directory.
347 void MoveCustomWallpapersOnWorker(const std::string& email, 347 void MoveCustomWallpapersOnWorker(const std::string& user_id,
348 const std::string& user_id_hash); 348 const std::string& user_id_hash);
349 349
350 // Called when the original custom wallpaper is moved to the new place. 350 // Called when the original custom wallpaper is moved to the new place.
351 // Updates the corresponding user wallpaper info. 351 // Updates the corresponding user wallpaper info.
352 void MoveCustomWallpapersSuccess(const std::string& email, 352 void MoveCustomWallpapersSuccess(const std::string& user_id,
353 const std::string& user_id_hash); 353 const std::string& user_id_hash);
354 354
355 // Moves custom wallpaper to a new place. Email address was used as directory 355 // Moves custom wallpaper to a new place. Email address was used as directory
356 // name in the old system, this is not safe. New directory system uses 356 // name in the old system, this is not safe. New directory system uses
357 // user_id_hash instead of email. This must be called after user_id_hash is 357 // user_id_hash instead of user_id. This must be called after user_id_hash is
358 // ready. 358 // ready.
359 void MoveLoggedInUserCustomWallpaper(); 359 void MoveLoggedInUserCustomWallpaper();
360 360
361 // Gets |email|'s custom wallpaper at |wallpaper_path|. Falls back on original 361 // Gets |user_id|'s custom wallpaper at |wallpaper_path|. Falls back on
362 // custom wallpaper. When |update_wallpaper| is true, sets wallpaper to the 362 // original custom wallpaper. When |update_wallpaper| is true, sets wallpaper
363 // loaded wallpaper. Must run on wallpaper sequenced worker thread. 363 // to the loaded wallpaper. Must run on wallpaper sequenced worker thread.
364 void GetCustomWallpaperInternal(const std::string& email, 364 void GetCustomWallpaperInternal(const std::string& user_id,
365 const WallpaperInfo& info, 365 const WallpaperInfo& info,
366 const base::FilePath& wallpaper_path, 366 const base::FilePath& wallpaper_path,
367 bool update_wallpaper, 367 bool update_wallpaper,
368 MovableOnDestroyCallbackHolder on_finish); 368 MovableOnDestroyCallbackHolder on_finish);
369 369
370 // Gets wallpaper information of |email| from Local State or memory. Returns 370 // Gets wallpaper information of |user_id| from Local State or memory. Returns
371 // false if wallpaper information is not found. 371 // false if wallpaper information is not found.
372 bool GetUserWallpaperInfo(const std::string& email, WallpaperInfo* info); 372 bool GetUserWallpaperInfo(const std::string& user_id, WallpaperInfo* info);
373 373
374 // Sets wallpaper to the decoded wallpaper if |update_wallpaper| is true. 374 // Sets wallpaper to the decoded wallpaper if |update_wallpaper| is true.
375 // Otherwise, cache wallpaper to memory if not logged in. 375 // Otherwise, cache wallpaper to memory if not logged in.
376 void OnWallpaperDecoded(const std::string& email, 376 void OnWallpaperDecoded(const std::string& user_id,
377 ash::WallpaperLayout layout, 377 ash::WallpaperLayout layout,
378 bool update_wallpaper, 378 bool update_wallpaper,
379 MovableOnDestroyCallbackHolder on_finish, 379 MovableOnDestroyCallbackHolder on_finish,
380 const UserImage& wallpaper); 380 const UserImage& wallpaper);
381 381
382 // Generates thumbnail of custom wallpaper on wallpaper sequenced worker 382 // Generates thumbnail of custom wallpaper on wallpaper sequenced worker
383 // thread. If |persistent| is true, saves original custom image and resized 383 // thread. If |persistent| is true, saves original custom image and resized
384 // images to disk. 384 // images to disk.
385 void ProcessCustomWallpaper(const std::string& user_id_hash, 385 void ProcessCustomWallpaper(const std::string& user_id_hash,
386 bool persistent, 386 bool persistent,
387 const WallpaperInfo& info, 387 const WallpaperInfo& info,
388 scoped_ptr<gfx::ImageSkia> image, 388 scoped_ptr<gfx::ImageSkia> image,
389 const UserImage::RawImage& raw_image); 389 const UserImage::RawImage& raw_image);
390 390
391 // Record data for User Metrics Analysis. 391 // Record data for User Metrics Analysis.
392 void RecordUma(User::WallpaperType type, int index); 392 void RecordUma(User::WallpaperType type, int index);
393 393
394 // Saves original custom wallpaper to |path| (absolute path) on filesystem 394 // Saves original custom wallpaper to |path| (absolute path) on filesystem
395 // and starts resizing operation of the custom wallpaper if necessary. 395 // and starts resizing operation of the custom wallpaper if necessary.
396 void SaveCustomWallpaper(const std::string& user_id_hash, 396 void SaveCustomWallpaper(const std::string& user_id_hash,
397 const base::FilePath& path, 397 const base::FilePath& path,
398 ash::WallpaperLayout layout, 398 ash::WallpaperLayout layout,
399 const UserImage& wallpaper); 399 const UserImage& wallpaper);
400 400
401 // Saves wallpaper image raw |data| to |path| (absolute path) in file system. 401 // Saves wallpaper image raw |data| to |path| (absolute path) in file system.
402 void SaveWallpaperInternal(const base::FilePath& path, const char* data, 402 void SaveWallpaperInternal(const base::FilePath& path, const char* data,
403 int size); 403 int size);
404 404
405 // Creates new PendingWallpaper request (or updates currently pending). 405 // Creates new PendingWallpaper request (or updates currently pending).
406 void ScheduleSetUserWallpaper(const std::string& email, bool delayed); 406 void ScheduleSetUserWallpaper(const std::string& user_id, bool delayed);
407 407
408 // Sets wallpaper to default. 408 // Sets wallpaper to default.
409 void DoSetDefaultWallpaper( 409 void DoSetDefaultWallpaper(
410 const std::string& user_id, 410 const std::string& user_id,
411 MovableOnDestroyCallbackHolder on_finish); 411 MovableOnDestroyCallbackHolder on_finish);
412 412
413 // Starts to load wallpaper at |wallpaper_path|. If |wallpaper_path| is the 413 // Starts to load wallpaper at |wallpaper_path|. If |wallpaper_path| is the
414 // same as |current_wallpaper_path_|, do nothing. Must be called on UI thread. 414 // same as |current_wallpaper_path_|, do nothing. Must be called on UI thread.
415 void StartLoad(const std::string& email, 415 void StartLoad(const std::string& user_id,
416 const WallpaperInfo& info, 416 const WallpaperInfo& info,
417 bool update_wallpaper, 417 bool update_wallpaper,
418 const base::FilePath& wallpaper_path, 418 const base::FilePath& wallpaper_path,
419 MovableOnDestroyCallbackHolder on_finish); 419 MovableOnDestroyCallbackHolder on_finish);
420 420
421 // After completed load operation, update average load time. 421 // After completed load operation, update average load time.
422 void SaveLastLoadTime(const base::TimeDelta elapsed); 422 void SaveLastLoadTime(const base::TimeDelta elapsed);
423 423
424 // Notify all registed observers. 424 // Notify all registed observers.
425 void NotifyAnimationFinished(); 425 void NotifyAnimationFinished();
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 // All pending will be finally deleted on destroy. 491 // All pending will be finally deleted on destroy.
492 typedef std::vector<scoped_refptr<PendingWallpaper> > PendingList; 492 typedef std::vector<scoped_refptr<PendingWallpaper> > PendingList;
493 PendingList loading_; 493 PendingList loading_;
494 494
495 DISALLOW_COPY_AND_ASSIGN(WallpaperManager); 495 DISALLOW_COPY_AND_ASSIGN(WallpaperManager);
496 }; 496 };
497 497
498 } // namespace chromeos 498 } // namespace chromeos
499 499
500 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_ 500 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_WALLPAPER_MANAGER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/wallpaper_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698