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

Side by Side Diff: components/wallpaper/wallpaper_manager_base.h

Issue 1497973002: This CL replaces e-mail with AccountId in wallpaper manager code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review. Created 5 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 COMPONENTS_WALLPAPER_WALLPAPER_MANAGER_BASE_H_ 5 #ifndef COMPONENTS_WALLPAPER_WALLPAPER_MANAGER_BASE_H_
6 #define COMPONENTS_WALLPAPER_WALLPAPER_MANAGER_BASE_H_ 6 #define COMPONENTS_WALLPAPER_WALLPAPER_MANAGER_BASE_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/files/file_path.h" 13 #include "base/files/file_path.h"
14 #include "base/memory/ref_counted_memory.h" 14 #include "base/memory/ref_counted_memory.h"
15 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
16 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
17 #include "base/observer_list.h" 17 #include "base/observer_list.h"
18 #include "base/threading/sequenced_worker_pool.h" 18 #include "base/threading/sequenced_worker_pool.h"
19 #include "base/time/time.h" 19 #include "base/time/time.h"
20 #include "base/timer/timer.h" 20 #include "base/timer/timer.h"
21 #include "components/signin/core/account_id/account_id.h"
21 #include "components/user_manager/user.h" 22 #include "components/user_manager/user.h"
22 #include "components/user_manager/user_image/user_image.h" 23 #include "components/user_manager/user_image/user_image.h"
23 #include "components/wallpaper/wallpaper_export.h" 24 #include "components/wallpaper/wallpaper_export.h"
24 #include "components/wallpaper/wallpaper_layout.h" 25 #include "components/wallpaper/wallpaper_layout.h"
25 #include "content/public/browser/notification_observer.h" 26 #include "content/public/browser/notification_observer.h"
26 #include "content/public/browser/notification_registrar.h" 27 #include "content/public/browser/notification_registrar.h"
27 #include "third_party/icu/source/i18n/unicode/timezone.h" 28 #include "third_party/icu/source/i18n/unicode/timezone.h"
28 #include "ui/gfx/image/image_skia.h" 29 #include "ui/gfx/image/image_skia.h"
29 30
30 class PrefRegistrySimple; 31 class PrefRegistrySimple;
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 160
160 DISALLOW_COPY_AND_ASSIGN(CustomizedWallpaperRescaledFiles); 161 DISALLOW_COPY_AND_ASSIGN(CustomizedWallpaperRescaledFiles);
161 }; 162 };
162 163
163 // For testing. 164 // For testing.
164 class TestApi { 165 class TestApi {
165 public: 166 public:
166 explicit TestApi(WallpaperManagerBase* wallpaper_manager); 167 explicit TestApi(WallpaperManagerBase* wallpaper_manager);
167 virtual ~TestApi(); 168 virtual ~TestApi();
168 169
169 bool GetWallpaperFromCache(const std::string& user_id, 170 bool GetWallpaperFromCache(const AccountId& account_id,
170 gfx::ImageSkia* image); 171 gfx::ImageSkia* image);
171 172
172 bool GetPathFromCache(const std::string& user_id, 173 bool GetPathFromCache(const AccountId& account_id, base::FilePath* path);
173 base::FilePath* path);
174 174
175 void SetWallpaperCache(const std::string& user_id, 175 void SetWallpaperCache(const AccountId& account_id,
176 const base::FilePath& path, 176 const base::FilePath& path,
177 const gfx::ImageSkia& image); 177 const gfx::ImageSkia& image);
178 178
179 void ClearDisposableWallpaperCache(); 179 void ClearDisposableWallpaperCache();
180 180
181 private: 181 private:
182 WallpaperManagerBase* wallpaper_manager_; // not owned 182 WallpaperManagerBase* wallpaper_manager_; // not owned
183 183
184 DISALLOW_COPY_AND_ASSIGN(TestApi); 184 DISALLOW_COPY_AND_ASSIGN(TestApi);
185 }; 185 };
186 186
187 class Observer { 187 class Observer {
188 public: 188 public:
189 virtual ~Observer() {} 189 virtual ~Observer() {}
190 virtual void OnWallpaperAnimationFinished(const std::string& user_id) = 0; 190 virtual void OnWallpaperAnimationFinished(const AccountId& account_id) = 0;
191 virtual void OnUpdateWallpaperForTesting() {} 191 virtual void OnUpdateWallpaperForTesting() {}
192 virtual void OnPendingListEmptyForTesting() {} 192 virtual void OnPendingListEmptyForTesting() {}
193 }; 193 };
194 194
195 // set path IDs for used directories 195 // set path IDs for used directories
196 static void SetPathIds(int dir_user_data_enum, 196 static void SetPathIds(int dir_user_data_enum,
197 int dir_chromeos_wallpapers_enum, 197 int dir_chromeos_wallpapers_enum,
198 int dir_chromeos_custom_wallpapers_enum); 198 int dir_chromeos_custom_wallpapers_enum);
199 199
200 // Returns custom wallpaper directory by appending corresponding |sub_dir|. 200 // Returns custom wallpaper directory by appending corresponding |sub_dir|.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 // Initializes wallpaper. If logged in, loads user's wallpaper. If not logged 251 // Initializes wallpaper. If logged in, loads user's wallpaper. If not logged
252 // in, uses a solid color wallpaper. If logged in as a stub user, uses an 252 // in, uses a solid color wallpaper. If logged in as a stub user, uses an
253 // empty wallpaper. 253 // empty wallpaper.
254 virtual void InitializeWallpaper() = 0; 254 virtual void InitializeWallpaper() = 0;
255 255
256 // NotificationObserver overrides: 256 // NotificationObserver overrides:
257 void Observe(int type, 257 void Observe(int type,
258 const content::NotificationSource& source, 258 const content::NotificationSource& source,
259 const content::NotificationDetails& details) override = 0; 259 const content::NotificationDetails& details) override = 0;
260 260
261 // Removes all |user_id| related wallpaper info and saved wallpapers. 261 // Removes all |account_id| related wallpaper info and saved wallpapers.
262 virtual void RemoveUserWallpaperInfo(const std::string& user_id) = 0; 262 virtual void RemoveUserWallpaperInfo(const AccountId& account_id) = 0;
263 263
264 // Calls SetCustomWallpaper() with |user_id_hash| received from cryptohome. 264 // Calls SetCustomWallpaper() with |user_id_hash| received from cryptohome.
265 virtual void SetCustomWallpaperOnSanitizedUsername( 265 virtual void SetCustomWallpaperOnSanitizedUsername(
266 const std::string& user_id, 266 const AccountId& account_id,
267 const gfx::ImageSkia& image, 267 const gfx::ImageSkia& image,
268 bool update_wallpaper, 268 bool update_wallpaper,
269 bool cryptohome_success, 269 bool cryptohome_success,
270 const std::string& user_id_hash); 270 const std::string& user_id_hash);
271 271
272 // Saves custom wallpaper to file, post task to generate thumbnail and updates 272 // Saves custom wallpaper to file, post task to generate thumbnail and updates
273 // local state preferences. If |update_wallpaper| is false, don't change 273 // local state preferences. If |update_wallpaper| is false, don't change
274 // wallpaper but only update cache. 274 // wallpaper but only update cache.
275 virtual void SetCustomWallpaper(const std::string& user_id, 275 virtual void SetCustomWallpaper(const AccountId& account_id,
276 const std::string& user_id_hash, 276 const std::string& user_id_hash,
277 const std::string& file, 277 const std::string& file,
278 WallpaperLayout layout, 278 WallpaperLayout layout,
279 user_manager::User::WallpaperType type, 279 user_manager::User::WallpaperType type,
280 const gfx::ImageSkia& image, 280 const gfx::ImageSkia& image,
281 bool update_wallpaper) = 0; 281 bool update_wallpaper) = 0;
282 282
283 // Use given files as new default wallpaper. 283 // Use given files as new default wallpaper.
284 // Reloads current wallpaper, if old default was loaded. 284 // Reloads current wallpaper, if old default was loaded.
285 // Current value of default_wallpaper_image_ is destroyed. 285 // Current value of default_wallpaper_image_ is destroyed.
286 // Sets default_wallpaper_image_ either to |small_wallpaper_image| or 286 // Sets default_wallpaper_image_ either to |small_wallpaper_image| or
287 // |large_wallpaper_image| depending on GetAppropriateResolution(). 287 // |large_wallpaper_image| depending on GetAppropriateResolution().
288 virtual void SetDefaultWallpaperPath( 288 virtual void SetDefaultWallpaperPath(
289 const base::FilePath& customized_default_wallpaper_file_small, 289 const base::FilePath& customized_default_wallpaper_file_small,
290 scoped_ptr<gfx::ImageSkia> small_wallpaper_image, 290 scoped_ptr<gfx::ImageSkia> small_wallpaper_image,
291 const base::FilePath& customized_default_wallpaper_file_large, 291 const base::FilePath& customized_default_wallpaper_file_large,
292 scoped_ptr<gfx::ImageSkia> large_wallpaper_image) = 0; 292 scoped_ptr<gfx::ImageSkia> large_wallpaper_image) = 0;
293 293
294 // Sets wallpaper to default wallpaper (asynchronously with zero delay). 294 // Sets wallpaper to default wallpaper (asynchronously with zero delay).
295 virtual void SetDefaultWallpaperNow(const std::string& user_id) = 0; 295 virtual void SetDefaultWallpaperNow(const AccountId& account_id) = 0;
296 296
297 // Sets wallpaper to default wallpaper (asynchronously with default delay). 297 // Sets wallpaper to default wallpaper (asynchronously with default delay).
298 virtual void SetDefaultWallpaperDelayed(const std::string& user_id) = 0; 298 virtual void SetDefaultWallpaperDelayed(const AccountId& account_id) = 0;
299 299
300 // Sets selected wallpaper information for |user_id| and saves it to Local 300 // Sets selected wallpaper information for |account_id| and saves it to Local
301 // State if |is_persistent| is true. 301 // State if |is_persistent| is true.
302 virtual void SetUserWallpaperInfo(const std::string& user_id, 302 virtual void SetUserWallpaperInfo(const AccountId& account_id,
303 const WallpaperInfo& info, 303 const WallpaperInfo& info,
304 bool is_persistent) = 0; 304 bool is_persistent) = 0;
305 305
306 // Sets |user_id|'s wallpaper (asynchronously with zero delay). 306 // Sets |account_id|'s wallpaper (asynchronously with zero delay).
307 virtual void SetUserWallpaperNow(const std::string& user_id); 307 virtual void SetUserWallpaperNow(const AccountId& account_id);
308 308
309 // Sets |user_id|'s wallpaper (asynchronously with default delay). 309 // Sets |account_id|'s wallpaper (asynchronously with default delay).
310 virtual void SetUserWallpaperDelayed(const std::string& user_id); 310 virtual void SetUserWallpaperDelayed(const AccountId& account_id);
311 311
312 // Sets wallpaper to |image| (asynchronously with zero delay). If 312 // Sets wallpaper to |image| (asynchronously with zero delay). If
313 // |update_wallpaper| is false, skip change wallpaper but only update cache. 313 // |update_wallpaper| is false, skip change wallpaper but only update cache.
314 virtual void SetWallpaperFromImageSkia(const std::string& user_id, 314 virtual void SetWallpaperFromImageSkia(const AccountId& account_id,
315 const gfx::ImageSkia& image, 315 const gfx::ImageSkia& image,
316 WallpaperLayout layout, 316 WallpaperLayout layout,
317 bool update_wallpaper) = 0; 317 bool update_wallpaper) = 0;
318 318
319 // Updates current wallpaper. It may switch the size of wallpaper based on the 319 // Updates current wallpaper. It may switch the size of wallpaper based on the
320 // current display's resolution. (asynchronously with zero delay) 320 // current display's resolution. (asynchronously with zero delay)
321 virtual void UpdateWallpaper(bool clear_cache); 321 virtual void UpdateWallpaper(bool clear_cache);
322 322
323 // Adds given observer to the list. 323 // Adds given observer to the list.
324 virtual void AddObserver(Observer* observer); 324 virtual void AddObserver(Observer* observer);
325 325
326 // Removes given observer from the list. 326 // Removes given observer from the list.
327 virtual void RemoveObserver(Observer* observer); 327 virtual void RemoveObserver(Observer* observer);
328 328
329 // Returns whether a wallpaper policy is enforced for |user_id|. 329 // Returns whether a wallpaper policy is enforced for |account_id|.
330 virtual bool IsPolicyControlled(const std::string& user_id) const; 330 virtual bool IsPolicyControlled(const AccountId& account_id) const;
331 331
332 // Called when a wallpaper policy has been set for |user_id|. Blocks user 332 // Called when a wallpaper policy has been set for |account_id|. Blocks user
333 // from changing the wallpaper. 333 // from changing the wallpaper.
334 virtual void OnPolicySet(const std::string& policy, 334 virtual void OnPolicySet(const std::string& policy,
335 const std::string& user_id); 335 const AccountId& account_id);
336 336
337 // Called when the wallpaper policy has been cleared for |user_id|. 337 // Called when the wallpaper policy has been cleared for |account_id|.
338 virtual void OnPolicyCleared(const std::string& policy, 338 virtual void OnPolicyCleared(const std::string& policy,
339 const std::string& user_id); 339 const AccountId& account_id);
340 340
341 // Called when the policy-set wallpaper has been fetched. Initiates decoding 341 // Called when the policy-set wallpaper has been fetched. Initiates decoding
342 // of the JPEG |data| with a callback to SetPolicyControlledWallpaper(). 342 // of the JPEG |data| with a callback to SetPolicyControlledWallpaper().
343 virtual void OnPolicyFetched(const std::string& policy, 343 virtual void OnPolicyFetched(const std::string& policy,
344 const std::string& user_id, 344 const AccountId& account_id,
345 scoped_ptr<std::string> data) = 0; 345 scoped_ptr<std::string> data) = 0;
346 346
347 // This is called from CustomizationDocument. 347 // This is called from CustomizationDocument.
348 // |resized_directory| is the directory where resized versions are stored and 348 // |resized_directory| is the directory where resized versions are stored and
349 // must be writable. 349 // must be writable.
350 virtual void SetCustomizedDefaultWallpaper( 350 virtual void SetCustomizedDefaultWallpaper(
351 const GURL& wallpaper_url, 351 const GURL& wallpaper_url,
352 const base::FilePath& downloaded_file, 352 const base::FilePath& downloaded_file,
353 const base::FilePath& resized_directory); 353 const base::FilePath& resized_directory);
354 354
355 // Returns queue size. 355 // Returns queue size.
356 virtual size_t GetPendingListSizeForTesting() const = 0; 356 virtual size_t GetPendingListSizeForTesting() const = 0;
357 357
358 protected: 358 protected:
359 friend class TestApi; 359 friend class TestApi;
360 friend class WallpaperManagerBrowserTest; 360 friend class WallpaperManagerBrowserTest;
361 friend class WallpaperManagerBrowserTestDefaultWallpaper; 361 friend class WallpaperManagerBrowserTestDefaultWallpaper;
362 friend class WallpaperManagerPolicyTest; 362 friend class WallpaperManagerPolicyTest;
363 363
364 // The |CustomWallpaperElement| contains |first| the path of the image which 364 // The |CustomWallpaperElement| contains |first| the path of the image which
365 // is currently being loaded and or in progress of being loaded and |second| 365 // is currently being loaded and or in progress of being loaded and |second|
366 // the image itself. 366 // the image itself.
367 typedef std::pair<base::FilePath, gfx::ImageSkia> CustomWallpaperElement; 367 typedef std::pair<base::FilePath, gfx::ImageSkia> CustomWallpaperElement;
368 typedef std::map<std::string, CustomWallpaperElement> CustomWallpaperMap; 368 typedef std::map<AccountId, CustomWallpaperElement> CustomWallpaperMap;
369 369
370 // Saves original custom wallpaper to |path| (absolute path) on filesystem 370 // Saves original custom wallpaper to |path| (absolute path) on filesystem
371 // and starts resizing operation of the custom wallpaper if necessary. 371 // and starts resizing operation of the custom wallpaper if necessary.
372 static void SaveCustomWallpaper(const std::string& user_id_hash, 372 static void SaveCustomWallpaper(const std::string& user_id_hash,
373 const base::FilePath& path, 373 const base::FilePath& path,
374 WallpaperLayout layout, 374 WallpaperLayout layout,
375 scoped_ptr<gfx::ImageSkia> image); 375 scoped_ptr<gfx::ImageSkia> image);
376 376
377 // Moves custom wallpapers from |user_id| directory to |user_id_hash| 377 // Moves custom wallpapers from user email directory to |user_id_hash|
378 // directory. 378 // directory.
379 static void MoveCustomWallpapersOnWorker( 379 static void MoveCustomWallpapersOnWorker(
380 const std::string& user_id, 380 const AccountId& account_id,
381 const std::string& user_id_hash, 381 const std::string& user_id_hash,
382 base::WeakPtr<WallpaperManagerBase> weak_ptr); 382 base::WeakPtr<WallpaperManagerBase> weak_ptr);
383 383
384 // Gets |user_id|'s custom wallpaper at |wallpaper_path|. Falls back on 384 // Gets |account_id|'s custom wallpaper at |wallpaper_path|. Falls back on
385 // original custom wallpaper. When |update_wallpaper| is true, sets wallpaper 385 // original custom wallpaper. When |update_wallpaper| is true, sets wallpaper
386 // to the loaded wallpaper. Must run on wallpaper sequenced worker thread. 386 // to the loaded wallpaper. Must run on wallpaper sequenced worker thread.
387 static void GetCustomWallpaperInternal( 387 static void GetCustomWallpaperInternal(
388 const std::string& user_id, 388 const AccountId& account_id,
389 const WallpaperInfo& info, 389 const WallpaperInfo& info,
390 const base::FilePath& wallpaper_path, 390 const base::FilePath& wallpaper_path,
391 bool update_wallpaper, 391 bool update_wallpaper,
392 MovableOnDestroyCallbackHolder on_finish, 392 MovableOnDestroyCallbackHolder on_finish,
393 base::WeakPtr<WallpaperManagerBase> weak_ptr); 393 base::WeakPtr<WallpaperManagerBase> weak_ptr);
394 394
395 // Resize and save customized default wallpaper. 395 // Resize and save customized default wallpaper.
396 static void ResizeCustomizedDefaultWallpaper( 396 static void ResizeCustomizedDefaultWallpaper(
397 scoped_ptr<gfx::ImageSkia> image, 397 scoped_ptr<gfx::ImageSkia> image,
398 const user_manager::UserImage::RawImage& raw_image, 398 const user_manager::UserImage::RawImage& raw_image,
399 const CustomizedWallpaperRescaledFiles* rescaled_files, 399 const CustomizedWallpaperRescaledFiles* rescaled_files,
400 bool* success, 400 bool* success,
401 gfx::ImageSkia* small_wallpaper_image, 401 gfx::ImageSkia* small_wallpaper_image,
402 gfx::ImageSkia* large_wallpaper_image); 402 gfx::ImageSkia* large_wallpaper_image);
403 403
404 // Initialize wallpaper for the specified user to default and saves this 404 // Initialize wallpaper for the specified user to default and saves this
405 // settings in local state. 405 // settings in local state.
406 virtual void InitInitialUserWallpaper(const std::string& user_id, 406 virtual void InitInitialUserWallpaper(const AccountId& account_id,
407 bool is_persistent); 407 bool is_persistent);
408 408
409 // Set wallpaper to |user_image| controlled by policy. (Takes a UserImage 409 // Set wallpaper to |user_image| controlled by policy. (Takes a UserImage
410 // because that's the callback interface provided by UserImageLoader.) 410 // because that's the callback interface provided by UserImageLoader.)
411 virtual void SetPolicyControlledWallpaper( 411 virtual void SetPolicyControlledWallpaper(
412 const std::string& user_id, 412 const AccountId& account_id,
413 const user_manager::UserImage& user_image); 413 const user_manager::UserImage& user_image);
414 414
415 // Gets encoded wallpaper from cache. Returns true if success. 415 // Gets encoded wallpaper from cache. Returns true if success.
416 virtual bool GetWallpaperFromCache(const std::string& user_id, 416 virtual bool GetWallpaperFromCache(const AccountId& account_id,
417 gfx::ImageSkia* image); 417 gfx::ImageSkia* image);
418 418
419 // Gets path of encoded wallpaper from cache. Returns true if success. 419 // Gets path of encoded wallpaper from cache. Returns true if success.
420 virtual bool GetPathFromCache(const std::string& user_id, 420 virtual bool GetPathFromCache(const AccountId& account_id,
421 base::FilePath* path); 421 base::FilePath* path);
422 422
423 // The number of wallpapers have loaded. For test only. 423 // The number of wallpapers have loaded. For test only.
424 virtual int loaded_wallpapers_for_test() const; 424 virtual int loaded_wallpapers_for_test() const;
425 425
426 // Cache some (or all) logged in users' wallpapers to memory at login 426 // Cache some (or all) logged in users' wallpapers to memory at login
427 // screen. It should not compete with first wallpaper loading when boot 427 // screen. It should not compete with first wallpaper loading when boot
428 // up/initialize login WebUI page. 428 // up/initialize login WebUI page.
429 // There are two ways the first wallpaper might be loaded: 429 // There are two ways the first wallpaper might be loaded:
430 // 1. Loaded on boot. Login WebUI waits for it. 430 // 1. Loaded on boot. Login WebUI waits for it.
431 // 2. When flag --disable-boot-animation is passed. Login WebUI is loaded 431 // 2. When flag --disable-boot-animation is passed. Login WebUI is loaded
432 // right away and in 500ms after. Wallpaper started to load. 432 // right away and in 500ms after. Wallpaper started to load.
433 // For case 2, should_cache_wallpaper_ is used to indicate if we need to 433 // For case 2, should_cache_wallpaper_ is used to indicate if we need to
434 // cache wallpapers on wallpaper animation finished. The cache operation 434 // cache wallpapers on wallpaper animation finished. The cache operation
435 // should be only executed once. 435 // should be only executed once.
436 virtual void CacheUsersWallpapers(); 436 virtual void CacheUsersWallpapers();
437 437
438 // Caches |user_id|'s wallpaper to memory. 438 // Caches |account_id|'s wallpaper to memory.
439 virtual void CacheUserWallpaper(const std::string& user_id); 439 virtual void CacheUserWallpaper(const AccountId& account_id);
440 440
441 // Clears disposable ONLINE and CUSTOM wallpaper cache. At multi profile 441 // Clears disposable ONLINE and CUSTOM wallpaper cache. At multi profile
442 // world, logged in users' wallpaper cache is not disposable. 442 // world, logged in users' wallpaper cache is not disposable.
443 virtual void ClearDisposableWallpaperCache(); 443 virtual void ClearDisposableWallpaperCache();
444 444
445 // Deletes all |user_id| related custom wallpapers and directories. 445 // Deletes all |account_id| related custom wallpapers and directories.
446 virtual void DeleteUserWallpapers(const std::string& user_id, 446 virtual void DeleteUserWallpapers(const AccountId& account_id,
447 const std::string& path_to_file); 447 const std::string& path_to_file);
448 448
449 // Gets the CommandLine representing the current process's command line. 449 // Gets the CommandLine representing the current process's command line.
450 virtual base::CommandLine* GetCommandLine(); 450 virtual base::CommandLine* GetCommandLine();
451 451
452 // Initialize wallpaper of registered device after device policy is trusted. 452 // Initialize wallpaper of registered device after device policy is trusted.
453 // Note that before device is enrolled, it proceeds with untrusted setting. 453 // Note that before device is enrolled, it proceeds with untrusted setting.
454 virtual void InitializeRegisteredDeviceWallpaper() = 0; 454 virtual void InitializeRegisteredDeviceWallpaper() = 0;
455 455
456 // Loads |user_id|'s wallpaper. When |update_wallpaper| is true, sets 456 // Loads |account_id|'s wallpaper. When |update_wallpaper| is true, sets
457 // wallpaper to the loaded wallpaper. 457 // wallpaper to the loaded wallpaper.
458 virtual void LoadWallpaper(const std::string& user_id, 458 virtual void LoadWallpaper(const AccountId& account_id,
459 const WallpaperInfo& info, 459 const WallpaperInfo& info,
460 bool update_wallpaper, 460 bool update_wallpaper,
461 MovableOnDestroyCallbackHolder on_finish); 461 MovableOnDestroyCallbackHolder on_finish);
462 462
463 // Called when the original custom wallpaper is moved to the new place. 463 // Called when the original custom wallpaper is moved to the new place.
464 // Updates the corresponding user wallpaper info. 464 // Updates the corresponding user wallpaper info.
465 virtual void MoveCustomWallpapersSuccess(const std::string& user_id, 465 virtual void MoveCustomWallpapersSuccess(const AccountId& account_id,
466 const std::string& user_id_hash); 466 const std::string& user_id_hash);
467 467
468 // Moves custom wallpaper to a new place. Email address was used as directory 468 // Moves custom wallpaper to a new place. Email address was used as directory
469 // name in the old system, this is not safe. New directory system uses 469 // name in the old system, this is not safe. New directory system uses
470 // user_id_hash instead of user_id. This must be called after user_id_hash is 470 // user_id_hash instead of account_id. This must be called after user_id_hash
471 // is
471 // ready. 472 // ready.
472 virtual void MoveLoggedInUserCustomWallpaper(); 473 virtual void MoveLoggedInUserCustomWallpaper();
473 474
474 // Gets wallpaper information of |user_id| from Local State or memory. Returns 475 // Gets wallpaper information of |account_id| from Local State or memory.
476 // Returns
475 // false if wallpaper information is not found. 477 // false if wallpaper information is not found.
476 virtual bool GetUserWallpaperInfo(const std::string& user_id, 478 virtual bool GetUserWallpaperInfo(const AccountId& account_id,
477 WallpaperInfo* info) const = 0; 479 WallpaperInfo* info) const = 0;
478 480
479 // Sets wallpaper to the decoded wallpaper if |update_wallpaper| is true. 481 // Sets wallpaper to the decoded wallpaper if |update_wallpaper| is true.
480 // Otherwise, cache wallpaper to memory if not logged in. (Takes a UserImage 482 // Otherwise, cache wallpaper to memory if not logged in. (Takes a UserImage
481 // because that's the callback interface provided by UserImageLoader.) 483 // because that's the callback interface provided by UserImageLoader.)
482 virtual void OnWallpaperDecoded( 484 virtual void OnWallpaperDecoded(
483 const std::string& user_id, 485 const AccountId& account_id,
484 WallpaperLayout layout, 486 WallpaperLayout layout,
485 bool update_wallpaper, 487 bool update_wallpaper,
486 MovableOnDestroyCallbackHolder on_finish, 488 MovableOnDestroyCallbackHolder on_finish,
487 const user_manager::UserImage& user_image) = 0; 489 const user_manager::UserImage& user_image) = 0;
488 490
489 // Creates new PendingWallpaper request (or updates currently pending). 491 // Creates new PendingWallpaper request (or updates currently pending).
490 virtual void ScheduleSetUserWallpaper(const std::string& user_id, 492 virtual void ScheduleSetUserWallpaper(const AccountId& account_id,
491 bool delayed) = 0; 493 bool delayed) = 0;
492 494
493 // Sets wallpaper to default. 495 // Sets wallpaper to default.
494 virtual void DoSetDefaultWallpaper( 496 virtual void DoSetDefaultWallpaper(
495 const std::string& user_id, 497 const AccountId& account_id,
496 MovableOnDestroyCallbackHolder on_finish) = 0; 498 MovableOnDestroyCallbackHolder on_finish) = 0;
497 499
498 // Starts to load wallpaper at |wallpaper_path|. If |wallpaper_path| is 500 // Starts to load wallpaper at |wallpaper_path|. If |wallpaper_path| is
499 // already loaded for that user, do nothing. Must be called on UI thread. 501 // already loaded for that user, do nothing. Must be called on UI thread.
500 virtual void StartLoad(const std::string& user_id, 502 virtual void StartLoad(const AccountId& account_id,
501 const WallpaperInfo& info, 503 const WallpaperInfo& info,
502 bool update_wallpaper, 504 bool update_wallpaper,
503 const base::FilePath& wallpaper_path, 505 const base::FilePath& wallpaper_path,
504 MovableOnDestroyCallbackHolder on_finish) = 0; 506 MovableOnDestroyCallbackHolder on_finish) = 0;
505 507
506 // After completed load operation, update average load time. 508 // After completed load operation, update average load time.
507 virtual void SaveLastLoadTime(const base::TimeDelta elapsed); 509 virtual void SaveLastLoadTime(const base::TimeDelta elapsed);
508 510
509 // Notify all registered observers. 511 // Notify all registered observers.
510 virtual void NotifyAnimationFinished(); 512 virtual void NotifyAnimationFinished();
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 // Logged-in user wallpaper information. 577 // Logged-in user wallpaper information.
576 WallpaperInfo current_user_wallpaper_info_; 578 WallpaperInfo current_user_wallpaper_info_;
577 579
578 // If non-NULL, used in place of the real command line. 580 // If non-NULL, used in place of the real command line.
579 base::CommandLine* command_line_for_testing_; 581 base::CommandLine* command_line_for_testing_;
580 582
581 // Caches wallpapers of users. Accessed only on UI thread. 583 // Caches wallpapers of users. Accessed only on UI thread.
582 CustomWallpaperMap wallpaper_cache_; 584 CustomWallpaperMap wallpaper_cache_;
583 585
584 // The last selected user on user pod row. 586 // The last selected user on user pod row.
585 std::string last_selected_user_; 587 AccountId last_selected_user_ = EmptyAccountId();
586 588
587 bool should_cache_wallpaper_; 589 bool should_cache_wallpaper_;
588 590
589 content::NotificationRegistrar registrar_; 591 content::NotificationRegistrar registrar_;
590 592
591 base::ObserverList<Observer> observers_; 593 base::ObserverList<Observer> observers_;
592 594
593 // These members are for the scheduler: 595 // These members are for the scheduler:
594 596
595 // When last load attempt finished. 597 // When last load attempt finished.
(...skipping 16 matching lines...) Expand all
612 614
613 base::WeakPtrFactory<WallpaperManagerBase> weak_factory_; 615 base::WeakPtrFactory<WallpaperManagerBase> weak_factory_;
614 616
615 private: 617 private:
616 DISALLOW_COPY_AND_ASSIGN(WallpaperManagerBase); 618 DISALLOW_COPY_AND_ASSIGN(WallpaperManagerBase);
617 }; 619 };
618 620
619 } // namespace wallpaper 621 } // namespace wallpaper
620 622
621 #endif // COMPONENTS_WALLPAPER_WALLPAPER_MANAGER_BASE_H_ 623 #endif // COMPONENTS_WALLPAPER_WALLPAPER_MANAGER_BASE_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/browser_options_handler.cc ('k') | components/wallpaper/wallpaper_manager_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698