| 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 <map> | 5 #include <map> |
| 6 #include <string> | 6 #include <string> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "base/run_loop.h" | 23 #include "base/run_loop.h" |
| 24 #include "base/time/time.h" | 24 #include "base/time/time.h" |
| 25 #include "base/values.h" | 25 #include "base/values.h" |
| 26 #include "chrome/browser/browser_process.h" | 26 #include "chrome/browser/browser_process.h" |
| 27 #include "chrome/browser/chrome_notification_types.h" | 27 #include "chrome/browser/chrome_notification_types.h" |
| 28 #include "chrome/browser/chromeos/login/login_manager_test.h" | 28 #include "chrome/browser/chromeos/login/login_manager_test.h" |
| 29 #include "chrome/browser/chromeos/login/startup_utils.h" | 29 #include "chrome/browser/chromeos/login/startup_utils.h" |
| 30 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" | 30 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" |
| 31 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" | 31 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" |
| 32 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti
l.h" | 32 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti
l.h" |
| 33 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" |
| 33 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" | 34 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" |
| 34 #include "chrome/browser/chromeos/login/users/user_manager.h" | 35 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" |
| 35 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" | 36 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" |
| 36 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" | 37 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" |
| 37 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" | 38 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" |
| 38 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 39 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| 39 #include "chrome/browser/profiles/profile.h" | 40 #include "chrome/browser/profiles/profile.h" |
| 40 #include "chrome/browser/profiles/profile_downloader.h" | 41 #include "chrome/browser/profiles/profile_downloader.h" |
| 41 #include "chrome/common/chrome_paths.h" | 42 #include "chrome/common/chrome_paths.h" |
| 42 #include "chrome/test/base/in_process_browser_test.h" | 43 #include "chrome/test/base/in_process_browser_test.h" |
| 43 #include "chrome/test/base/testing_browser_process.h" | 44 #include "chrome/test/base/testing_browser_process.h" |
| 44 #include "chromeos/chromeos_paths.h" | 45 #include "chromeos/chromeos_paths.h" |
| 45 #include "chromeos/dbus/cryptohome_client.h" | 46 #include "chromeos/dbus/cryptohome_client.h" |
| 46 #include "chromeos/dbus/dbus_thread_manager.h" | 47 #include "chromeos/dbus/dbus_thread_manager.h" |
| 47 #include "chromeos/dbus/fake_dbus_thread_manager.h" | 48 #include "chromeos/dbus/fake_dbus_thread_manager.h" |
| 48 #include "chromeos/dbus/fake_session_manager_client.h" | 49 #include "chromeos/dbus/fake_session_manager_client.h" |
| 49 #include "chromeos/dbus/session_manager_client.h" | 50 #include "chromeos/dbus/session_manager_client.h" |
| 50 #include "components/policy/core/common/cloud/cloud_policy_core.h" | 51 #include "components/policy/core/common/cloud/cloud_policy_core.h" |
| 51 #include "components/policy/core/common/cloud/cloud_policy_store.h" | 52 #include "components/policy/core/common/cloud/cloud_policy_store.h" |
| 52 #include "components/policy/core/common/cloud/policy_builder.h" | 53 #include "components/policy/core/common/cloud/policy_builder.h" |
| 53 #include "components/user_manager/user.h" | 54 #include "components/user_manager/user.h" |
| 54 #include "components/user_manager/user_image/default_user_images.h" | 55 #include "components/user_manager/user_image/default_user_images.h" |
| 55 #include "components/user_manager/user_image/user_image.h" | 56 #include "components/user_manager/user_image/user_image.h" |
| 57 #include "components/user_manager/user_manager.h" |
| 56 #include "content/public/browser/notification_service.h" | 58 #include "content/public/browser/notification_service.h" |
| 57 #include "content/public/browser/notification_source.h" | 59 #include "content/public/browser/notification_source.h" |
| 58 #include "content/public/test/test_utils.h" | 60 #include "content/public/test/test_utils.h" |
| 59 #include "crypto/rsa_private_key.h" | 61 #include "crypto/rsa_private_key.h" |
| 60 #include "google_apis/gaia/gaia_oauth_client.h" | 62 #include "google_apis/gaia/gaia_oauth_client.h" |
| 61 #include "google_apis/gaia/oauth2_token_service.h" | 63 #include "google_apis/gaia/oauth2_token_service.h" |
| 62 #include "net/test/embedded_test_server/embedded_test_server.h" | 64 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 63 #include "net/url_request/test_url_fetcher_factory.h" | 65 #include "net/url_request/test_url_fetcher_factory.h" |
| 64 #include "net/url_request/url_fetcher_delegate.h" | 66 #include "net/url_request/url_fetcher_delegate.h" |
| 65 #include "net/url_request/url_request_status.h" | 67 #include "net/url_request/url_request_status.h" |
| (...skipping 23 matching lines...) Expand all Loading... |
| 89 if (!policy_manager) { | 91 if (!policy_manager) { |
| 90 ADD_FAILURE(); | 92 ADD_FAILURE(); |
| 91 return NULL; | 93 return NULL; |
| 92 } | 94 } |
| 93 return policy_manager->core()->store(); | 95 return policy_manager->core()->store(); |
| 94 } | 96 } |
| 95 | 97 |
| 96 } // namespace | 98 } // namespace |
| 97 | 99 |
| 98 class UserImageManagerTest : public LoginManagerTest, | 100 class UserImageManagerTest : public LoginManagerTest, |
| 99 public UserManager::Observer { | 101 public user_manager::UserManager::Observer { |
| 100 protected: | 102 protected: |
| 101 UserImageManagerTest() : LoginManagerTest(true) { | 103 UserImageManagerTest() : LoginManagerTest(true) { |
| 102 } | 104 } |
| 103 | 105 |
| 104 // LoginManagerTest overrides: | 106 // LoginManagerTest overrides: |
| 105 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 107 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
| 106 LoginManagerTest::SetUpInProcessBrowserTestFixture(); | 108 LoginManagerTest::SetUpInProcessBrowserTestFixture(); |
| 107 | 109 |
| 108 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_)); | 110 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_)); |
| 109 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_)); | 111 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_)); |
| 110 } | 112 } |
| 111 | 113 |
| 112 virtual void SetUpOnMainThread() OVERRIDE { | 114 virtual void SetUpOnMainThread() OVERRIDE { |
| 113 LoginManagerTest::SetUpOnMainThread(); | 115 LoginManagerTest::SetUpOnMainThread(); |
| 114 local_state_ = g_browser_process->local_state(); | 116 local_state_ = g_browser_process->local_state(); |
| 115 UserManager::Get()->AddObserver(this); | 117 user_manager::UserManager::Get()->AddObserver(this); |
| 116 } | 118 } |
| 117 | 119 |
| 118 virtual void TearDownOnMainThread() OVERRIDE { | 120 virtual void TearDownOnMainThread() OVERRIDE { |
| 119 UserManager::Get()->RemoveObserver(this); | 121 user_manager::UserManager::Get()->RemoveObserver(this); |
| 120 LoginManagerTest::TearDownOnMainThread(); | 122 LoginManagerTest::TearDownOnMainThread(); |
| 121 } | 123 } |
| 122 | 124 |
| 123 // UserManager::Observer overrides: | 125 // UserManager::Observer overrides: |
| 124 virtual void LocalStateChanged(UserManager* user_manager) OVERRIDE { | 126 virtual void LocalStateChanged( |
| 127 user_manager::UserManager* user_manager) OVERRIDE { |
| 125 if (run_loop_) | 128 if (run_loop_) |
| 126 run_loop_->Quit(); | 129 run_loop_->Quit(); |
| 127 } | 130 } |
| 128 | 131 |
| 129 // Logs in |username|. | 132 // Logs in |username|. |
| 130 void LogIn(const std::string& username) { | 133 void LogIn(const std::string& username) { |
| 131 UserManager::Get()->UserLoggedIn(username, username, false); | 134 user_manager::UserManager::Get()->UserLoggedIn(username, username, false); |
| 132 } | 135 } |
| 133 | 136 |
| 134 // Stores old (pre-migration) user image info. | 137 // Stores old (pre-migration) user image info. |
| 135 void SetOldUserImageInfo(const std::string& username, | 138 void SetOldUserImageInfo(const std::string& username, |
| 136 int image_index, | 139 int image_index, |
| 137 const base::FilePath& image_path) { | 140 const base::FilePath& image_path) { |
| 138 RegisterUser(username); | 141 RegisterUser(username); |
| 139 DictionaryPrefUpdate images_pref(local_state_, "UserImages"); | 142 DictionaryPrefUpdate images_pref(local_state_, "UserImages"); |
| 140 base::DictionaryValue* image_properties = new base::DictionaryValue(); | 143 base::DictionaryValue* image_properties = new base::DictionaryValue(); |
| 141 image_properties->Set("index", new base::FundamentalValue(image_index)); | 144 image_properties->Set("index", new base::FundamentalValue(image_index)); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 // Completes the download of all non-image profile data for the user | 221 // Completes the download of all non-image profile data for the user |
| 219 // |username|. This method must only be called after a profile data | 222 // |username|. This method must only be called after a profile data |
| 220 // download has been started. |url_fetcher_factory| will capture | 223 // download has been started. |url_fetcher_factory| will capture |
| 221 // the net::TestURLFetcher created by the ProfileDownloader to | 224 // the net::TestURLFetcher created by the ProfileDownloader to |
| 222 // download the profile image. | 225 // download the profile image. |
| 223 void CompleteProfileMetadataDownload( | 226 void CompleteProfileMetadataDownload( |
| 224 const std::string& username, | 227 const std::string& username, |
| 225 net::TestURLFetcherFactory* url_fetcher_factory) { | 228 net::TestURLFetcherFactory* url_fetcher_factory) { |
| 226 ProfileDownloader* profile_downloader = | 229 ProfileDownloader* profile_downloader = |
| 227 reinterpret_cast<UserImageManagerImpl*>( | 230 reinterpret_cast<UserImageManagerImpl*>( |
| 228 UserManager::Get()->GetUserImageManager(username))-> | 231 ChromeUserManager::Get()->GetUserImageManager(username)) |
| 229 profile_downloader_.get(); | 232 ->profile_downloader_.get(); |
| 230 ASSERT_TRUE(profile_downloader); | 233 ASSERT_TRUE(profile_downloader); |
| 231 | 234 |
| 232 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)-> | 235 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)-> |
| 233 OnGetTokenSuccess(NULL, | 236 OnGetTokenSuccess(NULL, |
| 234 std::string(), | 237 std::string(), |
| 235 base::Time::Now() + base::TimeDelta::FromDays(1)); | 238 base::Time::Now() + base::TimeDelta::FromDays(1)); |
| 236 | 239 |
| 237 net::TestURLFetcher* fetcher = | 240 net::TestURLFetcher* fetcher = |
| 238 url_fetcher_factory->GetFetcherByID(0); | 241 url_fetcher_factory->GetFetcherByID(0); |
| 239 ASSERT_TRUE(fetcher); | 242 ASSERT_TRUE(fetcher); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 267 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure()); | 270 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure()); |
| 268 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0); | 271 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0); |
| 269 ASSERT_TRUE(fetcher); | 272 ASSERT_TRUE(fetcher); |
| 270 fetcher->SetResponseString(profile_image_data); | 273 fetcher->SetResponseString(profile_image_data); |
| 271 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, | 274 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, |
| 272 net::OK)); | 275 net::OK)); |
| 273 fetcher->set_response_code(200); | 276 fetcher->set_response_code(200); |
| 274 fetcher->delegate()->OnURLFetchComplete(fetcher); | 277 fetcher->delegate()->OnURLFetchComplete(fetcher); |
| 275 run_loop.Run(); | 278 run_loop.Run(); |
| 276 | 279 |
| 277 const user_manager::User* user = UserManager::Get()->GetLoggedInUser(); | 280 const user_manager::User* user = |
| 281 user_manager::UserManager::Get()->GetLoggedInUser(); |
| 278 ASSERT_TRUE(user); | 282 ASSERT_TRUE(user); |
| 279 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( | 283 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( |
| 280 UserManager::Get()->GetUserImageManager(user->email())); | 284 ChromeUserManager::Get()->GetUserImageManager(user->email())); |
| 281 if (uim->job_.get()) { | 285 if (uim->job_.get()) { |
| 282 run_loop_.reset(new base::RunLoop); | 286 run_loop_.reset(new base::RunLoop); |
| 283 run_loop_->Run(); | 287 run_loop_->Run(); |
| 284 } | 288 } |
| 285 } | 289 } |
| 286 | 290 |
| 287 base::FilePath test_data_dir_; | 291 base::FilePath test_data_dir_; |
| 288 base::FilePath user_data_dir_; | 292 base::FilePath user_data_dir_; |
| 289 | 293 |
| 290 PrefService* local_state_; | 294 PrefService* local_state_; |
| 291 | 295 |
| 292 scoped_ptr<gfx::ImageSkia> decoded_image_; | 296 scoped_ptr<gfx::ImageSkia> decoded_image_; |
| 293 | 297 |
| 294 scoped_ptr<base::RunLoop> run_loop_; | 298 scoped_ptr<base::RunLoop> run_loop_; |
| 295 | 299 |
| 296 private: | 300 private: |
| 297 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); | 301 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); |
| 298 }; | 302 }; |
| 299 | 303 |
| 300 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) { | 304 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) { |
| 301 // Setup an old default (stock) user image. | 305 // Setup an old default (stock) user image. |
| 302 ScopedUserManagerEnabler(new MockUserManager); | 306 ScopedUserManagerEnabler(new MockUserManager); |
| 303 SetOldUserImageInfo( | 307 SetOldUserImageInfo( |
| 304 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 308 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 305 } | 309 } |
| 306 | 310 |
| 307 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) { | 311 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) { |
| 308 UserManager::Get()->GetUsers(); // Load users. | 312 user_manager::UserManager::Get()->GetUsers(); // Load users. |
| 309 // Old info preserved. | 313 // Old info preserved. |
| 310 ExpectOldUserImageInfo( | 314 ExpectOldUserImageInfo( |
| 311 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 315 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 312 LogIn(kTestUser1); | 316 LogIn(kTestUser1); |
| 313 // Image info is migrated now. | 317 // Image info is migrated now. |
| 314 ExpectNewUserImageInfo( | 318 ExpectNewUserImageInfo( |
| 315 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 319 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 316 } | 320 } |
| 317 | 321 |
| 318 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) { | 322 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) { |
| 319 // Setup two users with stock images. | 323 // Setup two users with stock images. |
| 320 ScopedUserManagerEnabler(new MockUserManager); | 324 ScopedUserManagerEnabler(new MockUserManager); |
| 321 SetOldUserImageInfo( | 325 SetOldUserImageInfo( |
| 322 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 326 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 323 SetOldUserImageInfo( | 327 SetOldUserImageInfo( |
| 324 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); | 328 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); |
| 325 } | 329 } |
| 326 | 330 |
| 327 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) { | 331 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) { |
| 328 UserManager::Get()->GetUsers(); // Load users. | 332 user_manager::UserManager::Get()->GetUsers(); // Load users. |
| 329 // Old info preserved. | 333 // Old info preserved. |
| 330 ExpectOldUserImageInfo( | 334 ExpectOldUserImageInfo( |
| 331 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 335 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 332 ExpectOldUserImageInfo( | 336 ExpectOldUserImageInfo( |
| 333 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); | 337 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); |
| 334 LogIn(kTestUser1); | 338 LogIn(kTestUser1); |
| 335 // Image info is migrated for the first user and unaffected for the rest. | 339 // Image info is migrated for the first user and unaffected for the rest. |
| 336 ExpectNewUserImageInfo( | 340 ExpectNewUserImageInfo( |
| 337 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 341 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 338 ExpectOldUserImageInfo( | 342 ExpectOldUserImageInfo( |
| 339 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); | 343 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); |
| 340 } | 344 } |
| 341 | 345 |
| 342 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) { | 346 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) { |
| 343 // Setup a user with non-JPEG image. | 347 // Setup a user with non-JPEG image. |
| 344 ScopedUserManagerEnabler(new MockUserManager); | 348 ScopedUserManagerEnabler(new MockUserManager); |
| 345 SaveUserImagePNG(kTestUser1, | 349 SaveUserImagePNG(kTestUser1, |
| 346 user_manager::kDefaultImageResourceIDs | 350 user_manager::kDefaultImageResourceIDs |
| 347 [user_manager::kFirstDefaultImageIndex]); | 351 [user_manager::kFirstDefaultImageIndex]); |
| 348 } | 352 } |
| 349 | 353 |
| 350 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { | 354 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { |
| 351 UserManager::Get()->GetUsers(); // Load users. | 355 user_manager::UserManager::Get()->GetUsers(); // Load users. |
| 352 // Old info preserved. | 356 // Old info preserved. |
| 353 ExpectOldUserImageInfo(kTestUser1, | 357 ExpectOldUserImageInfo(kTestUser1, |
| 354 user_manager::User::USER_IMAGE_EXTERNAL, | 358 user_manager::User::USER_IMAGE_EXTERNAL, |
| 355 GetUserImagePath(kTestUser1, "png")); | 359 GetUserImagePath(kTestUser1, "png")); |
| 356 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 360 const user_manager::User* user = |
| 361 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 357 EXPECT_TRUE(user->image_is_stub()); | 362 EXPECT_TRUE(user->image_is_stub()); |
| 358 | 363 |
| 359 base::RunLoop run_loop; | 364 base::RunLoop run_loop; |
| 360 PrefChangeRegistrar pref_change_registrar_; | 365 PrefChangeRegistrar pref_change_registrar_; |
| 361 pref_change_registrar_.Init(local_state_); | 366 pref_change_registrar_.Init(local_state_); |
| 362 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure()); | 367 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure()); |
| 363 LogIn(kTestUser1); | 368 LogIn(kTestUser1); |
| 364 | 369 |
| 365 // Wait for migration. | 370 // Wait for migration. |
| 366 run_loop.Run(); | 371 run_loop.Run(); |
| 367 | 372 |
| 368 // Image info is migrated and the image is converted to JPG. | 373 // Image info is migrated and the image is converted to JPG. |
| 369 ExpectNewUserImageInfo(kTestUser1, | 374 ExpectNewUserImageInfo(kTestUser1, |
| 370 user_manager::User::USER_IMAGE_EXTERNAL, | 375 user_manager::User::USER_IMAGE_EXTERNAL, |
| 371 GetUserImagePath(kTestUser1, "jpg")); | 376 GetUserImagePath(kTestUser1, "jpg")); |
| 372 user = UserManager::Get()->GetLoggedInUser(); | 377 user = user_manager::UserManager::Get()->GetLoggedInUser(); |
| 373 ASSERT_TRUE(user); | 378 ASSERT_TRUE(user); |
| 374 EXPECT_FALSE(user->image_is_safe_format()); | 379 EXPECT_FALSE(user->image_is_safe_format()); |
| 375 // Check image dimensions. | 380 // Check image dimensions. |
| 376 const gfx::ImageSkia& saved_image = | 381 const gfx::ImageSkia& saved_image = |
| 377 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 382 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
| 378 EXPECT_EQ(saved_image.width(), user->GetImage().width()); | 383 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
| 379 EXPECT_EQ(saved_image.height(), user->GetImage().height()); | 384 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
| 380 } | 385 } |
| 381 | 386 |
| 382 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { | 387 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { |
| 383 UserManager::Get()->GetUsers(); // Load users. | 388 user_manager::UserManager::Get()->GetUsers(); // Load users. |
| 384 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 389 const user_manager::User* user = |
| 390 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 385 ASSERT_TRUE(user); | 391 ASSERT_TRUE(user); |
| 386 // Wait for image load. | 392 // Wait for image load. |
| 387 if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) { | 393 if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) { |
| 388 content::WindowedNotificationObserver( | 394 content::WindowedNotificationObserver( |
| 389 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, | 395 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, |
| 390 content::NotificationService::AllSources()).Wait(); | 396 content::NotificationService::AllSources()).Wait(); |
| 391 } | 397 } |
| 392 // Now the migrated image is used. | 398 // Now the migrated image is used. |
| 393 EXPECT_TRUE(user->image_is_safe_format()); | 399 EXPECT_TRUE(user->image_is_safe_format()); |
| 394 // Check image dimensions. Images can't be compared since JPEG is lossy. | 400 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 395 const gfx::ImageSkia& saved_image = | 401 const gfx::ImageSkia& saved_image = |
| 396 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 402 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
| 397 EXPECT_EQ(saved_image.width(), user->GetImage().width()); | 403 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
| 398 EXPECT_EQ(saved_image.height(), user->GetImage().height()); | 404 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
| 399 } | 405 } |
| 400 | 406 |
| 401 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { | 407 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { |
| 402 RegisterUser(kTestUser1); | 408 RegisterUser(kTestUser1); |
| 403 } | 409 } |
| 404 | 410 |
| 405 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the | 411 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the |
| 406 // chosen user image. | 412 // chosen user image. |
| 407 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { | 413 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { |
| 408 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 414 const user_manager::User* user = |
| 415 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 409 ASSERT_TRUE(user); | 416 ASSERT_TRUE(user); |
| 410 | 417 |
| 411 const gfx::ImageSkia& default_image = | 418 const gfx::ImageSkia& default_image = |
| 412 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 419 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
| 413 | 420 |
| 414 UserImageManager* user_image_manager = | 421 UserImageManager* user_image_manager = |
| 415 UserManager::Get()->GetUserImageManager(kTestUser1); | 422 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 416 user_image_manager->SaveUserDefaultImageIndex( | 423 user_image_manager->SaveUserDefaultImageIndex( |
| 417 user_manager::kFirstDefaultImageIndex); | 424 user_manager::kFirstDefaultImageIndex); |
| 418 | 425 |
| 419 EXPECT_TRUE(user->HasDefaultImage()); | 426 EXPECT_TRUE(user->HasDefaultImage()); |
| 420 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); | 427 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); |
| 421 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); | 428 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
| 422 ExpectNewUserImageInfo( | 429 ExpectNewUserImageInfo( |
| 423 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 430 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 424 } | 431 } |
| 425 | 432 |
| 426 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { | 433 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { |
| 427 RegisterUser(kTestUser1); | 434 RegisterUser(kTestUser1); |
| 428 } | 435 } |
| 429 | 436 |
| 430 // Verifies that SaveUserImage() correctly sets and persists the chosen user | 437 // Verifies that SaveUserImage() correctly sets and persists the chosen user |
| 431 // image. | 438 // image. |
| 432 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { | 439 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { |
| 433 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 440 const user_manager::User* user = |
| 441 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 434 ASSERT_TRUE(user); | 442 ASSERT_TRUE(user); |
| 435 | 443 |
| 436 SkBitmap custom_image_bitmap; | 444 SkBitmap custom_image_bitmap; |
| 437 custom_image_bitmap.allocN32Pixels(10, 10); | 445 custom_image_bitmap.allocN32Pixels(10, 10); |
| 438 custom_image_bitmap.setImmutable(); | 446 custom_image_bitmap.setImmutable(); |
| 439 const gfx::ImageSkia custom_image = | 447 const gfx::ImageSkia custom_image = |
| 440 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); | 448 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); |
| 441 | 449 |
| 442 run_loop_.reset(new base::RunLoop); | 450 run_loop_.reset(new base::RunLoop); |
| 443 UserImageManager* user_image_manager = | 451 UserImageManager* user_image_manager = |
| 444 UserManager::Get()->GetUserImageManager(kTestUser1); | 452 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 445 user_image_manager->SaveUserImage( | 453 user_image_manager->SaveUserImage( |
| 446 user_manager::UserImage::CreateAndEncode(custom_image)); | 454 user_manager::UserImage::CreateAndEncode(custom_image)); |
| 447 run_loop_->Run(); | 455 run_loop_->Run(); |
| 448 | 456 |
| 449 EXPECT_FALSE(user->HasDefaultImage()); | 457 EXPECT_FALSE(user->HasDefaultImage()); |
| 450 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 458 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 451 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); | 459 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); |
| 452 ExpectNewUserImageInfo(kTestUser1, | 460 ExpectNewUserImageInfo(kTestUser1, |
| 453 user_manager::User::USER_IMAGE_EXTERNAL, | 461 user_manager::User::USER_IMAGE_EXTERNAL, |
| 454 GetUserImagePath(kTestUser1, "jpg")); | 462 GetUserImagePath(kTestUser1, "jpg")); |
| 455 | 463 |
| 456 const scoped_ptr<gfx::ImageSkia> saved_image = | 464 const scoped_ptr<gfx::ImageSkia> saved_image = |
| 457 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 465 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 458 ASSERT_TRUE(saved_image); | 466 ASSERT_TRUE(saved_image); |
| 459 | 467 |
| 460 // Check image dimensions. Images can't be compared since JPEG is lossy. | 468 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 461 EXPECT_EQ(custom_image.width(), saved_image->width()); | 469 EXPECT_EQ(custom_image.width(), saved_image->width()); |
| 462 EXPECT_EQ(custom_image.height(), saved_image->height()); | 470 EXPECT_EQ(custom_image.height(), saved_image->height()); |
| 463 } | 471 } |
| 464 | 472 |
| 465 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { | 473 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { |
| 466 RegisterUser(kTestUser1); | 474 RegisterUser(kTestUser1); |
| 467 } | 475 } |
| 468 | 476 |
| 469 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen | 477 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen |
| 470 // user image. | 478 // user image. |
| 471 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { | 479 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { |
| 472 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 480 const user_manager::User* user = |
| 481 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 473 ASSERT_TRUE(user); | 482 ASSERT_TRUE(user); |
| 474 | 483 |
| 475 const base::FilePath custom_image_path = | 484 const base::FilePath custom_image_path = |
| 476 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); | 485 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); |
| 477 const scoped_ptr<gfx::ImageSkia> custom_image = | 486 const scoped_ptr<gfx::ImageSkia> custom_image = |
| 478 test::ImageLoader(custom_image_path).Load(); | 487 test::ImageLoader(custom_image_path).Load(); |
| 479 ASSERT_TRUE(custom_image); | 488 ASSERT_TRUE(custom_image); |
| 480 | 489 |
| 481 run_loop_.reset(new base::RunLoop); | 490 run_loop_.reset(new base::RunLoop); |
| 482 UserImageManager* user_image_manager = | 491 UserImageManager* user_image_manager = |
| 483 UserManager::Get()->GetUserImageManager(kTestUser1); | 492 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 484 user_image_manager->SaveUserImageFromFile(custom_image_path); | 493 user_image_manager->SaveUserImageFromFile(custom_image_path); |
| 485 run_loop_->Run(); | 494 run_loop_->Run(); |
| 486 | 495 |
| 487 EXPECT_FALSE(user->HasDefaultImage()); | 496 EXPECT_FALSE(user->HasDefaultImage()); |
| 488 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 497 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 489 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); | 498 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); |
| 490 ExpectNewUserImageInfo(kTestUser1, | 499 ExpectNewUserImageInfo(kTestUser1, |
| 491 user_manager::User::USER_IMAGE_EXTERNAL, | 500 user_manager::User::USER_IMAGE_EXTERNAL, |
| 492 GetUserImagePath(kTestUser1, "jpg")); | 501 GetUserImagePath(kTestUser1, "jpg")); |
| 493 | 502 |
| 494 const scoped_ptr<gfx::ImageSkia> saved_image = | 503 const scoped_ptr<gfx::ImageSkia> saved_image = |
| 495 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 504 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 496 ASSERT_TRUE(saved_image); | 505 ASSERT_TRUE(saved_image); |
| 497 | 506 |
| 498 // Check image dimensions. Images can't be compared since JPEG is lossy. | 507 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 499 EXPECT_EQ(custom_image->width(), saved_image->width()); | 508 EXPECT_EQ(custom_image->width(), saved_image->width()); |
| 500 EXPECT_EQ(custom_image->height(), saved_image->height()); | 509 EXPECT_EQ(custom_image->height(), saved_image->height()); |
| 501 } | 510 } |
| 502 | 511 |
| 503 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, | 512 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, |
| 504 PRE_SaveUserImageFromProfileImage) { | 513 PRE_SaveUserImageFromProfileImage) { |
| 505 RegisterUser(kTestUser1); | 514 RegisterUser(kTestUser1); |
| 506 chromeos::StartupUtils::MarkOobeCompleted(); | 515 chromeos::StartupUtils::MarkOobeCompleted(); |
| 507 } | 516 } |
| 508 | 517 |
| 509 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and | 518 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and |
| 510 // persists the chosen user image. | 519 // persists the chosen user image. |
| 511 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { | 520 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { |
| 512 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 521 const user_manager::User* user = |
| 522 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 513 ASSERT_TRUE(user); | 523 ASSERT_TRUE(user); |
| 514 | 524 |
| 515 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); | 525 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); |
| 516 LoginUser(kTestUser1); | 526 LoginUser(kTestUser1); |
| 517 | 527 |
| 518 run_loop_.reset(new base::RunLoop); | 528 run_loop_.reset(new base::RunLoop); |
| 519 UserImageManager* user_image_manager = | 529 UserImageManager* user_image_manager = |
| 520 UserManager::Get()->GetUserImageManager(kTestUser1); | 530 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 521 user_image_manager->SaveUserImageFromProfileImage(); | 531 user_image_manager->SaveUserImageFromProfileImage(); |
| 522 run_loop_->Run(); | 532 run_loop_->Run(); |
| 523 | 533 |
| 524 net::TestURLFetcherFactory url_fetcher_factory; | 534 net::TestURLFetcherFactory url_fetcher_factory; |
| 525 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); | 535 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); |
| 526 CompleteProfileImageDownload(&url_fetcher_factory); | 536 CompleteProfileImageDownload(&url_fetcher_factory); |
| 527 | 537 |
| 528 const gfx::ImageSkia& profile_image = | 538 const gfx::ImageSkia& profile_image = |
| 529 user_image_manager->DownloadedProfileImage(); | 539 user_image_manager->DownloadedProfileImage(); |
| 530 | 540 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 549 RegisterUser(kTestUser1); | 559 RegisterUser(kTestUser1); |
| 550 chromeos::StartupUtils::MarkOobeCompleted(); | 560 chromeos::StartupUtils::MarkOobeCompleted(); |
| 551 } | 561 } |
| 552 | 562 |
| 553 // Sets the user image to the profile image, then sets it to one of the default | 563 // Sets the user image to the profile image, then sets it to one of the default |
| 554 // images while the profile image download is still in progress. Verifies that | 564 // images while the profile image download is still in progress. Verifies that |
| 555 // when the download completes, the profile image is ignored and does not | 565 // when the download completes, the profile image is ignored and does not |
| 556 // clobber the default image chosen in the meantime. | 566 // clobber the default image chosen in the meantime. |
| 557 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, | 567 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, |
| 558 ProfileImageDownloadDoesNotClobber) { | 568 ProfileImageDownloadDoesNotClobber) { |
| 559 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 569 const user_manager::User* user = |
| 570 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 560 ASSERT_TRUE(user); | 571 ASSERT_TRUE(user); |
| 561 | 572 |
| 562 const gfx::ImageSkia& default_image = | 573 const gfx::ImageSkia& default_image = |
| 563 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 574 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
| 564 | 575 |
| 565 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); | 576 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); |
| 566 LoginUser(kTestUser1); | 577 LoginUser(kTestUser1); |
| 567 | 578 |
| 568 run_loop_.reset(new base::RunLoop); | 579 run_loop_.reset(new base::RunLoop); |
| 569 UserImageManager* user_image_manager = | 580 UserImageManager* user_image_manager = |
| 570 UserManager::Get()->GetUserImageManager(kTestUser1); | 581 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 571 user_image_manager->SaveUserImageFromProfileImage(); | 582 user_image_manager->SaveUserImageFromProfileImage(); |
| 572 run_loop_->Run(); | 583 run_loop_->Run(); |
| 573 | 584 |
| 574 net::TestURLFetcherFactory url_fetcher_factory; | 585 net::TestURLFetcherFactory url_fetcher_factory; |
| 575 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); | 586 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); |
| 576 | 587 |
| 577 user_image_manager->SaveUserDefaultImageIndex( | 588 user_image_manager->SaveUserDefaultImageIndex( |
| 578 user_manager::kFirstDefaultImageIndex); | 589 user_manager::kFirstDefaultImageIndex); |
| 579 | 590 |
| 580 CompleteProfileImageDownload(&url_fetcher_factory); | 591 CompleteProfileImageDownload(&url_fetcher_factory); |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 669 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { | 680 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { |
| 670 RegisterUser(kTestUser1); | 681 RegisterUser(kTestUser1); |
| 671 chromeos::StartupUtils::MarkOobeCompleted(); | 682 chromeos::StartupUtils::MarkOobeCompleted(); |
| 672 } | 683 } |
| 673 | 684 |
| 674 // Verifies that the user image can be set through policy. Also verifies that | 685 // Verifies that the user image can be set through policy. Also verifies that |
| 675 // after the policy has been cleared, the user is able to choose a different | 686 // after the policy has been cleared, the user is able to choose a different |
| 676 // image. | 687 // image. |
| 677 // http://crbug.com/396352 | 688 // http://crbug.com/396352 |
| 678 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) { | 689 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) { |
| 679 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 690 const user_manager::User* user = |
| 691 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 680 ASSERT_TRUE(user); | 692 ASSERT_TRUE(user); |
| 681 | 693 |
| 682 LoginUser(kTestUser1); | 694 LoginUser(kTestUser1); |
| 683 base::RunLoop().RunUntilIdle(); | 695 base::RunLoop().RunUntilIdle(); |
| 684 | 696 |
| 685 policy::CloudPolicyStore* store = GetStoreForUser(user); | 697 policy::CloudPolicyStore* store = GetStoreForUser(user); |
| 686 ASSERT_TRUE(store); | 698 ASSERT_TRUE(store); |
| 687 | 699 |
| 688 // Set policy. Verify that the policy-provided user image is downloaded, set | 700 // Set policy. Verify that the policy-provided user image is downloaded, set |
| 689 // and persisted. | 701 // and persisted. |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 // Choose a different user image. Verify that the chosen user image is set and | 750 // Choose a different user image. Verify that the chosen user image is set and |
| 739 // persisted. | 751 // persisted. |
| 740 const int user_image_index = | 752 const int user_image_index = |
| 741 user_manager::kFirstDefaultImageIndex + | 753 user_manager::kFirstDefaultImageIndex + |
| 742 (default_image_index - user_manager::kFirstDefaultImageIndex + 1) % | 754 (default_image_index - user_manager::kFirstDefaultImageIndex + 1) % |
| 743 user_manager::kDefaultImagesCount; | 755 user_manager::kDefaultImagesCount; |
| 744 const gfx::ImageSkia& user_image = | 756 const gfx::ImageSkia& user_image = |
| 745 user_manager::GetDefaultImage(user_image_index); | 757 user_manager::GetDefaultImage(user_image_index); |
| 746 | 758 |
| 747 UserImageManager* user_image_manager = | 759 UserImageManager* user_image_manager = |
| 748 UserManager::Get()->GetUserImageManager(kTestUser1); | 760 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 749 user_image_manager->SaveUserDefaultImageIndex(user_image_index); | 761 user_image_manager->SaveUserDefaultImageIndex(user_image_index); |
| 750 | 762 |
| 751 EXPECT_TRUE(user->HasDefaultImage()); | 763 EXPECT_TRUE(user->HasDefaultImage()); |
| 752 EXPECT_EQ(user_image_index, user->image_index()); | 764 EXPECT_EQ(user_image_index, user->image_index()); |
| 753 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage())); | 765 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage())); |
| 754 ExpectNewUserImageInfo(kTestUser1, user_image_index, base::FilePath()); | 766 ExpectNewUserImageInfo(kTestUser1, user_image_index, base::FilePath()); |
| 755 } | 767 } |
| 756 | 768 |
| 757 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { | 769 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { |
| 758 RegisterUser(kTestUser1); | 770 RegisterUser(kTestUser1); |
| 759 chromeos::StartupUtils::MarkOobeCompleted(); | 771 chromeos::StartupUtils::MarkOobeCompleted(); |
| 760 } | 772 } |
| 761 | 773 |
| 762 // Verifies that when the user chooses a user image and a different image is | 774 // Verifies that when the user chooses a user image and a different image is |
| 763 // then set through policy, the policy takes precedence, overriding the | 775 // then set through policy, the policy takes precedence, overriding the |
| 764 // previously chosen image. | 776 // previously chosen image. |
| 765 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { | 777 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { |
| 766 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 778 const user_manager::User* user = |
| 779 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 767 ASSERT_TRUE(user); | 780 ASSERT_TRUE(user); |
| 768 | 781 |
| 769 LoginUser(kTestUser1); | 782 LoginUser(kTestUser1); |
| 770 base::RunLoop().RunUntilIdle(); | 783 base::RunLoop().RunUntilIdle(); |
| 771 | 784 |
| 772 policy::CloudPolicyStore* store = GetStoreForUser(user); | 785 policy::CloudPolicyStore* store = GetStoreForUser(user); |
| 773 ASSERT_TRUE(store); | 786 ASSERT_TRUE(store); |
| 774 | 787 |
| 775 // Choose a user image. Verify that the chosen user image is set and | 788 // Choose a user image. Verify that the chosen user image is set and |
| 776 // persisted. | 789 // persisted. |
| 777 const gfx::ImageSkia& default_image = | 790 const gfx::ImageSkia& default_image = |
| 778 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 791 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
| 779 | 792 |
| 780 UserImageManager* user_image_manager = | 793 UserImageManager* user_image_manager = |
| 781 UserManager::Get()->GetUserImageManager(kTestUser1); | 794 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 782 user_image_manager->SaveUserDefaultImageIndex( | 795 user_image_manager->SaveUserDefaultImageIndex( |
| 783 user_manager::kFirstDefaultImageIndex); | 796 user_manager::kFirstDefaultImageIndex); |
| 784 | 797 |
| 785 EXPECT_TRUE(user->HasDefaultImage()); | 798 EXPECT_TRUE(user->HasDefaultImage()); |
| 786 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); | 799 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); |
| 787 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); | 800 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
| 788 ExpectNewUserImageInfo( | 801 ExpectNewUserImageInfo( |
| 789 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 802 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
| 790 | 803 |
| 791 // Set policy. Verify that the policy-provided user image is downloaded, set | 804 // Set policy. Verify that the policy-provided user image is downloaded, set |
| (...skipping 26 matching lines...) Expand all Loading... |
| 818 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, | 831 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, |
| 819 PRE_UserDoesNotOverridePolicy) { | 832 PRE_UserDoesNotOverridePolicy) { |
| 820 RegisterUser(kTestUser1); | 833 RegisterUser(kTestUser1); |
| 821 chromeos::StartupUtils::MarkOobeCompleted(); | 834 chromeos::StartupUtils::MarkOobeCompleted(); |
| 822 } | 835 } |
| 823 | 836 |
| 824 // Verifies that when the user image has been set through policy and the user | 837 // Verifies that when the user image has been set through policy and the user |
| 825 // chooses a different image, the policy takes precedence, preventing the user | 838 // chooses a different image, the policy takes precedence, preventing the user |
| 826 // from overriding the previously chosen image. | 839 // from overriding the previously chosen image. |
| 827 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { | 840 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { |
| 828 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); | 841 const user_manager::User* user = |
| 842 user_manager::UserManager::Get()->FindUser(kTestUser1); |
| 829 ASSERT_TRUE(user); | 843 ASSERT_TRUE(user); |
| 830 | 844 |
| 831 LoginUser(kTestUser1); | 845 LoginUser(kTestUser1); |
| 832 base::RunLoop().RunUntilIdle(); | 846 base::RunLoop().RunUntilIdle(); |
| 833 | 847 |
| 834 policy::CloudPolicyStore* store = GetStoreForUser(user); | 848 policy::CloudPolicyStore* store = GetStoreForUser(user); |
| 835 ASSERT_TRUE(store); | 849 ASSERT_TRUE(store); |
| 836 | 850 |
| 837 // Set policy. Verify that the policy-provided user image is downloaded, set | 851 // Set policy. Verify that the policy-provided user image is downloaded, set |
| 838 // and persisted. | 852 // and persisted. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 856 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 870 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 857 ASSERT_TRUE(saved_image); | 871 ASSERT_TRUE(saved_image); |
| 858 | 872 |
| 859 // Check image dimensions. Images can't be compared since JPEG is lossy. | 873 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 860 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 874 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 861 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 875 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 862 | 876 |
| 863 // Choose a different user image. Verify that the user image does not change | 877 // Choose a different user image. Verify that the user image does not change |
| 864 // as policy takes precedence. | 878 // as policy takes precedence. |
| 865 UserImageManager* user_image_manager = | 879 UserImageManager* user_image_manager = |
| 866 UserManager::Get()->GetUserImageManager(kTestUser1); | 880 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); |
| 867 user_image_manager->SaveUserDefaultImageIndex( | 881 user_image_manager->SaveUserDefaultImageIndex( |
| 868 user_manager::kFirstDefaultImageIndex); | 882 user_manager::kFirstDefaultImageIndex); |
| 869 | 883 |
| 870 EXPECT_FALSE(user->HasDefaultImage()); | 884 EXPECT_FALSE(user->HasDefaultImage()); |
| 871 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 885 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 872 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 886 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 873 ExpectNewUserImageInfo(kTestUser1, | 887 ExpectNewUserImageInfo(kTestUser1, |
| 874 user_manager::User::USER_IMAGE_EXTERNAL, | 888 user_manager::User::USER_IMAGE_EXTERNAL, |
| 875 GetUserImagePath(kTestUser1, "jpg")); | 889 GetUserImagePath(kTestUser1, "jpg")); |
| 876 | 890 |
| 877 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 891 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 878 ASSERT_TRUE(saved_image); | 892 ASSERT_TRUE(saved_image); |
| 879 | 893 |
| 880 // Check image dimensions. Images can't be compared since JPEG is lossy. | 894 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 881 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 895 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 882 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 896 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 883 } | 897 } |
| 884 | 898 |
| 885 } // namespace chromeos | 899 } // namespace chromeos |
| OLD | NEW |