OLD | NEW |
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 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" | 5 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "ash/desktop_background/desktop_background_controller.h" | 9 #include "ash/desktop_background/desktop_background_controller.h" |
10 #include "ash/desktop_background/desktop_background_controller_observer.h" | 10 #include "ash/desktop_background/desktop_background_controller_observer.h" |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 // default wallpapers. | 150 // default wallpapers. |
151 void CreateCmdlineWallpapers() { | 151 void CreateCmdlineWallpapers() { |
152 wallpaper_dir_.reset(new base::ScopedTempDir); | 152 wallpaper_dir_.reset(new base::ScopedTempDir); |
153 ASSERT_TRUE(wallpaper_dir_->CreateUniqueTempDir()); | 153 ASSERT_TRUE(wallpaper_dir_->CreateUniqueTempDir()); |
154 wallpaper_manager_test_utils::CreateCmdlineWallpapers( | 154 wallpaper_manager_test_utils::CreateCmdlineWallpapers( |
155 *wallpaper_dir_, &wallpaper_manager_command_line_); | 155 *wallpaper_dir_, &wallpaper_manager_command_line_); |
156 } | 156 } |
157 | 157 |
158 ash::DesktopBackgroundController* controller_; | 158 ash::DesktopBackgroundController* controller_; |
159 PrefService* local_state_; | 159 PrefService* local_state_; |
160 scoped_ptr<base::CommandLine> wallpaper_manager_command_line_; | 160 std::unique_ptr<base::CommandLine> wallpaper_manager_command_line_; |
161 | 161 |
162 // Directory created by CreateCmdlineWallpapers () to store default | 162 // Directory created by CreateCmdlineWallpapers () to store default |
163 // wallpaper images. | 163 // wallpaper images. |
164 scoped_ptr<base::ScopedTempDir> wallpaper_dir_; | 164 std::unique_ptr<base::ScopedTempDir> wallpaper_dir_; |
165 | 165 |
166 const AccountId test_account_id1_ = AccountId::FromUserEmail(kTestUser1); | 166 const AccountId test_account_id1_ = AccountId::FromUserEmail(kTestUser1); |
167 const AccountId test_account_id2_ = AccountId::FromUserEmail(kTestUser2); | 167 const AccountId test_account_id2_ = AccountId::FromUserEmail(kTestUser2); |
168 | 168 |
169 const wallpaper::WallpaperFilesId test_account1_wallpaper_files_id_ = | 169 const wallpaper::WallpaperFilesId test_account1_wallpaper_files_id_ = |
170 wallpaper::WallpaperFilesId::FromString(kTestUser1Hash); | 170 wallpaper::WallpaperFilesId::FromString(kTestUser1Hash); |
171 const wallpaper::WallpaperFilesId test_account2_wallpaper_files_id_ = | 171 const wallpaper::WallpaperFilesId test_account2_wallpaper_files_id_ = |
172 wallpaper::WallpaperFilesId::FromString(kTestUser2Hash); | 172 wallpaper::WallpaperFilesId::FromString(kTestUser2Hash); |
173 | 173 |
174 private: | 174 private: |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 | 508 |
509 std::string relative_path = | 509 std::string relative_path = |
510 base::FilePath(test_account1_wallpaper_files_id_.id()).Append(id).value(); | 510 base::FilePath(test_account1_wallpaper_files_id_.id()).Append(id).value(); |
511 // Saves wallpaper info to local state for user |test_account_id1_|. | 511 // Saves wallpaper info to local state for user |test_account_id1_|. |
512 WallpaperInfo info = {relative_path, WALLPAPER_LAYOUT_CENTER_CROPPED, | 512 WallpaperInfo info = {relative_path, WALLPAPER_LAYOUT_CENTER_CROPPED, |
513 user_manager::User::CUSTOMIZED, | 513 user_manager::User::CUSTOMIZED, |
514 base::Time::Now().LocalMidnight()}; | 514 base::Time::Now().LocalMidnight()}; |
515 wallpaper_manager->SetUserWallpaperInfo(test_account_id1_, info, true); | 515 wallpaper_manager->SetUserWallpaperInfo(test_account_id1_, info, true); |
516 wallpaper_manager->SetUserWallpaperNow(test_account_id1_); | 516 wallpaper_manager->SetUserWallpaperNow(test_account_id1_); |
517 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); | 517 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); |
518 scoped_ptr<WallpaperManager::TestApi> test_api; | 518 std::unique_ptr<WallpaperManager::TestApi> test_api; |
519 test_api.reset(new WallpaperManager::TestApi(wallpaper_manager)); | 519 test_api.reset(new WallpaperManager::TestApi(wallpaper_manager)); |
520 // Verify SetUserWallpaperNow updates wallpaper cache. | 520 // Verify SetUserWallpaperNow updates wallpaper cache. |
521 gfx::ImageSkia cached_wallpaper; | 521 gfx::ImageSkia cached_wallpaper; |
522 EXPECT_TRUE( | 522 EXPECT_TRUE( |
523 test_api->GetWallpaperFromCache(test_account_id1_, &cached_wallpaper)); | 523 test_api->GetWallpaperFromCache(test_account_id1_, &cached_wallpaper)); |
524 base::FilePath path; | 524 base::FilePath path; |
525 EXPECT_TRUE(test_api->GetPathFromCache(test_account_id1_, &path)); | 525 EXPECT_TRUE(test_api->GetPathFromCache(test_account_id1_, &path)); |
526 EXPECT_FALSE(path.empty()); | 526 EXPECT_FALSE(path.empty()); |
527 } | 527 } |
528 | 528 |
529 // Tests for crbug.com/339576. Wallpaper cache should be updated in | 529 // Tests for crbug.com/339576. Wallpaper cache should be updated in |
530 // multi-profile mode when user: | 530 // multi-profile mode when user: |
531 // 1. chooses an online wallpaper from wallpaper | 531 // 1. chooses an online wallpaper from wallpaper |
532 // picker (calls SetWallpaperFromImageSkia); | 532 // picker (calls SetWallpaperFromImageSkia); |
533 // 2. chooses a custom wallpaper from wallpaper | 533 // 2. chooses a custom wallpaper from wallpaper |
534 // picker (calls SetCustomWallpaper); | 534 // picker (calls SetCustomWallpaper); |
535 // 3. reverts to a default wallpaper. | 535 // 3. reverts to a default wallpaper. |
536 // Also, when user login at multi-profile mode, previous logged in users' | 536 // Also, when user login at multi-profile mode, previous logged in users' |
537 // wallpaper cache should not be deleted. | 537 // wallpaper cache should not be deleted. |
538 IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTestCacheUpdate, | 538 IN_PROC_BROWSER_TEST_F(WallpaperManagerBrowserTestCacheUpdate, |
539 VerifyWallpaperCache) { | 539 VerifyWallpaperCache) { |
540 WallpaperManager* wallpaper_manager = WallpaperManager::Get(); | 540 WallpaperManager* wallpaper_manager = WallpaperManager::Get(); |
541 | 541 |
542 // Force load initial wallpaper | 542 // Force load initial wallpaper |
543 // (simulate DesktopBackgroundController::UpdateDisplay()). | 543 // (simulate DesktopBackgroundController::UpdateDisplay()). |
544 wallpaper_manager->UpdateWallpaper(true); | 544 wallpaper_manager->UpdateWallpaper(true); |
545 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); | 545 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); |
546 scoped_ptr<WallpaperManager::TestApi> test_api; | 546 std::unique_ptr<WallpaperManager::TestApi> test_api; |
547 test_api.reset(new WallpaperManager::TestApi(wallpaper_manager)); | 547 test_api.reset(new WallpaperManager::TestApi(wallpaper_manager)); |
548 gfx::ImageSkia cached_wallpaper; | 548 gfx::ImageSkia cached_wallpaper; |
549 // Previous custom wallpaper should be cached after user login. | 549 // Previous custom wallpaper should be cached after user login. |
550 EXPECT_TRUE( | 550 EXPECT_TRUE( |
551 test_api->GetWallpaperFromCache(test_account_id1_, &cached_wallpaper)); | 551 test_api->GetWallpaperFromCache(test_account_id1_, &cached_wallpaper)); |
552 base::FilePath original_path; | 552 base::FilePath original_path; |
553 EXPECT_TRUE(test_api->GetPathFromCache(test_account_id1_, &original_path)); | 553 EXPECT_TRUE(test_api->GetPathFromCache(test_account_id1_, &original_path)); |
554 EXPECT_FALSE(original_path.empty()); | 554 EXPECT_FALSE(original_path.empty()); |
555 | 555 |
556 LogIn(test_account_id2_, kTestUser2Hash); | 556 LogIn(test_account_id2_, kTestUser2Hash); |
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
853 | 853 |
854 WallpaperManager::Get()->SetDefaultWallpaperNow(EmptyAccountId()); | 854 WallpaperManager::Get()->SetDefaultWallpaperNow(EmptyAccountId()); |
855 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); | 855 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); |
856 | 856 |
857 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( | 857 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( |
858 controller_->GetWallpaper(), | 858 controller_->GetWallpaper(), |
859 wallpaper_manager_test_utils::kSmallDefaultWallpaperColor)); | 859 wallpaper_manager_test_utils::kSmallDefaultWallpaperColor)); |
860 } | 860 } |
861 | 861 |
862 } // namespace chromeos | 862 } // namespace chromeos |
OLD | NEW |