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 13 matching lines...) Expand all Loading... |
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/mock_user_manager.h" | 33 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" |
34 #include "chrome/browser/chromeos/login/users/user.h" | |
35 #include "chrome/browser/chromeos/login/users/user_manager.h" | 34 #include "chrome/browser/chromeos/login/users/user_manager.h" |
36 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" | 35 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" |
37 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" | 36 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" |
38 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" | 37 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" |
39 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 38 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
40 #include "chrome/browser/profiles/profile.h" | 39 #include "chrome/browser/profiles/profile.h" |
41 #include "chrome/browser/profiles/profile_downloader.h" | 40 #include "chrome/browser/profiles/profile_downloader.h" |
42 #include "chrome/common/chrome_paths.h" | 41 #include "chrome/common/chrome_paths.h" |
43 #include "chrome/test/base/in_process_browser_test.h" | 42 #include "chrome/test/base/in_process_browser_test.h" |
44 #include "chrome/test/base/testing_browser_process.h" | 43 #include "chrome/test/base/testing_browser_process.h" |
45 #include "chromeos/chromeos_paths.h" | 44 #include "chromeos/chromeos_paths.h" |
46 #include "chromeos/dbus/cryptohome_client.h" | 45 #include "chromeos/dbus/cryptohome_client.h" |
47 #include "chromeos/dbus/dbus_thread_manager.h" | 46 #include "chromeos/dbus/dbus_thread_manager.h" |
48 #include "chromeos/dbus/fake_dbus_thread_manager.h" | 47 #include "chromeos/dbus/fake_dbus_thread_manager.h" |
49 #include "chromeos/dbus/fake_session_manager_client.h" | 48 #include "chromeos/dbus/fake_session_manager_client.h" |
50 #include "chromeos/dbus/session_manager_client.h" | 49 #include "chromeos/dbus/session_manager_client.h" |
51 #include "components/policy/core/common/cloud/cloud_policy_core.h" | 50 #include "components/policy/core/common/cloud/cloud_policy_core.h" |
52 #include "components/policy/core/common/cloud/cloud_policy_store.h" | 51 #include "components/policy/core/common/cloud/cloud_policy_store.h" |
53 #include "components/policy/core/common/cloud/policy_builder.h" | 52 #include "components/policy/core/common/cloud/policy_builder.h" |
| 53 #include "components/user_manager/user.h" |
54 #include "components/user_manager/user_image/default_user_images.h" | 54 #include "components/user_manager/user_image/default_user_images.h" |
55 #include "components/user_manager/user_image/user_image.h" | 55 #include "components/user_manager/user_image/user_image.h" |
56 #include "content/public/browser/notification_service.h" | 56 #include "content/public/browser/notification_service.h" |
57 #include "content/public/browser/notification_source.h" | 57 #include "content/public/browser/notification_source.h" |
58 #include "content/public/test/test_utils.h" | 58 #include "content/public/test/test_utils.h" |
59 #include "crypto/rsa_private_key.h" | 59 #include "crypto/rsa_private_key.h" |
60 #include "google_apis/gaia/gaia_oauth_client.h" | 60 #include "google_apis/gaia/gaia_oauth_client.h" |
61 #include "google_apis/gaia/oauth2_token_service.h" | 61 #include "google_apis/gaia/oauth2_token_service.h" |
62 #include "net/test/embedded_test_server/embedded_test_server.h" | 62 #include "net/test/embedded_test_server/embedded_test_server.h" |
63 #include "net/url_request/test_url_fetcher_factory.h" | 63 #include "net/url_request/test_url_fetcher_factory.h" |
64 #include "net/url_request/url_fetcher_delegate.h" | 64 #include "net/url_request/url_fetcher_delegate.h" |
65 #include "net/url_request/url_request_status.h" | 65 #include "net/url_request/url_request_status.h" |
66 #include "policy/proto/cloud_policy.pb.h" | 66 #include "policy/proto/cloud_policy.pb.h" |
67 #include "testing/gtest/include/gtest/gtest.h" | 67 #include "testing/gtest/include/gtest/gtest.h" |
68 #include "third_party/skia/include/core/SkBitmap.h" | 68 #include "third_party/skia/include/core/SkBitmap.h" |
69 #include "ui/base/layout.h" | 69 #include "ui/base/layout.h" |
70 #include "ui/base/resource/resource_bundle.h" | 70 #include "ui/base/resource/resource_bundle.h" |
71 #include "ui/gfx/image/image_skia.h" | 71 #include "ui/gfx/image/image_skia.h" |
72 #include "url/gurl.h" | 72 #include "url/gurl.h" |
73 | 73 |
74 namespace chromeos { | 74 namespace chromeos { |
75 | 75 |
76 namespace { | 76 namespace { |
77 | 77 |
78 const char kTestUser1[] = "test-user@example.com"; | 78 const char kTestUser1[] = "test-user@example.com"; |
79 const char kTestUser2[] = "test-user2@example.com"; | 79 const char kTestUser2[] = "test-user2@example.com"; |
80 | 80 |
81 policy::CloudPolicyStore* GetStoreForUser(const User* user) { | 81 policy::CloudPolicyStore* GetStoreForUser(const user_manager::User* user) { |
82 Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); | 82 Profile* profile = ProfileHelper::Get()->GetProfileByUser(user); |
83 if (!profile) { | 83 if (!profile) { |
84 ADD_FAILURE(); | 84 ADD_FAILURE(); |
85 return NULL; | 85 return NULL; |
86 } | 86 } |
87 policy::UserCloudPolicyManagerChromeOS* policy_manager = | 87 policy::UserCloudPolicyManagerChromeOS* policy_manager = |
88 policy::UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile); | 88 policy::UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile); |
89 if (!policy_manager) { | 89 if (!policy_manager) { |
90 ADD_FAILURE(); | 90 ADD_FAILURE(); |
91 return NULL; | 91 return NULL; |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 int resource_id) { | 198 int resource_id) { |
199 base::FilePath image_path = GetUserImagePath(username, "png"); | 199 base::FilePath image_path = GetUserImagePath(username, "png"); |
200 scoped_refptr<base::RefCountedStaticMemory> image_data( | 200 scoped_refptr<base::RefCountedStaticMemory> image_data( |
201 ResourceBundle::GetSharedInstance().LoadDataResourceBytesForScale( | 201 ResourceBundle::GetSharedInstance().LoadDataResourceBytesForScale( |
202 resource_id, ui::SCALE_FACTOR_100P)); | 202 resource_id, ui::SCALE_FACTOR_100P)); |
203 int written = base::WriteFile( | 203 int written = base::WriteFile( |
204 image_path, | 204 image_path, |
205 reinterpret_cast<const char*>(image_data->front()), | 205 reinterpret_cast<const char*>(image_data->front()), |
206 image_data->size()); | 206 image_data->size()); |
207 EXPECT_EQ(static_cast<int>(image_data->size()), written); | 207 EXPECT_EQ(static_cast<int>(image_data->size()), written); |
208 SetOldUserImageInfo(username, User::kExternalImageIndex, image_path); | 208 SetOldUserImageInfo( |
| 209 username, user_manager::User::USER_IMAGE_EXTERNAL, image_path); |
209 } | 210 } |
210 | 211 |
211 // Returns the image path for user |username| with specified |extension|. | 212 // Returns the image path for user |username| with specified |extension|. |
212 base::FilePath GetUserImagePath(const std::string& username, | 213 base::FilePath GetUserImagePath(const std::string& username, |
213 const std::string& extension) { | 214 const std::string& extension) { |
214 return user_data_dir_.Append(username).AddExtension(extension); | 215 return user_data_dir_.Append(username).AddExtension(extension); |
215 } | 216 } |
216 | 217 |
217 // Completes the download of all non-image profile data for the user | 218 // Completes the download of all non-image profile data for the user |
218 // |username|. This method must only be called after a profile data | 219 // |username|. This method must only be called after a profile data |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure()); | 267 pref_change_registrar.Add("UserDisplayName", run_loop.QuitClosure()); |
267 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0); | 268 net::TestURLFetcher* fetcher = url_fetcher_factory->GetFetcherByID(0); |
268 ASSERT_TRUE(fetcher); | 269 ASSERT_TRUE(fetcher); |
269 fetcher->SetResponseString(profile_image_data); | 270 fetcher->SetResponseString(profile_image_data); |
270 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, | 271 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, |
271 net::OK)); | 272 net::OK)); |
272 fetcher->set_response_code(200); | 273 fetcher->set_response_code(200); |
273 fetcher->delegate()->OnURLFetchComplete(fetcher); | 274 fetcher->delegate()->OnURLFetchComplete(fetcher); |
274 run_loop.Run(); | 275 run_loop.Run(); |
275 | 276 |
276 const User* user = UserManager::Get()->GetLoggedInUser(); | 277 const user_manager::User* user = UserManager::Get()->GetLoggedInUser(); |
277 ASSERT_TRUE(user); | 278 ASSERT_TRUE(user); |
278 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( | 279 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( |
279 UserManager::Get()->GetUserImageManager(user->email())); | 280 UserManager::Get()->GetUserImageManager(user->email())); |
280 if (uim->job_.get()) { | 281 if (uim->job_.get()) { |
281 run_loop_.reset(new base::RunLoop); | 282 run_loop_.reset(new base::RunLoop); |
282 run_loop_->Run(); | 283 run_loop_->Run(); |
283 } | 284 } |
284 } | 285 } |
285 | 286 |
286 base::FilePath test_data_dir_; | 287 base::FilePath test_data_dir_; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 // Setup a user with non-JPEG image. | 343 // Setup a user with non-JPEG image. |
343 ScopedUserManagerEnabler(new MockUserManager); | 344 ScopedUserManagerEnabler(new MockUserManager); |
344 SaveUserImagePNG(kTestUser1, | 345 SaveUserImagePNG(kTestUser1, |
345 user_manager::kDefaultImageResourceIDs | 346 user_manager::kDefaultImageResourceIDs |
346 [user_manager::kFirstDefaultImageIndex]); | 347 [user_manager::kFirstDefaultImageIndex]); |
347 } | 348 } |
348 | 349 |
349 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { | 350 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { |
350 UserManager::Get()->GetUsers(); // Load users. | 351 UserManager::Get()->GetUsers(); // Load users. |
351 // Old info preserved. | 352 // Old info preserved. |
352 ExpectOldUserImageInfo(kTestUser1, User::kExternalImageIndex, | 353 ExpectOldUserImageInfo(kTestUser1, |
| 354 user_manager::User::USER_IMAGE_EXTERNAL, |
353 GetUserImagePath(kTestUser1, "png")); | 355 GetUserImagePath(kTestUser1, "png")); |
354 const User* user = UserManager::Get()->FindUser(kTestUser1); | 356 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
355 EXPECT_TRUE(user->image_is_stub()); | 357 EXPECT_TRUE(user->image_is_stub()); |
356 | 358 |
357 base::RunLoop run_loop; | 359 base::RunLoop run_loop; |
358 PrefChangeRegistrar pref_change_registrar_; | 360 PrefChangeRegistrar pref_change_registrar_; |
359 pref_change_registrar_.Init(local_state_); | 361 pref_change_registrar_.Init(local_state_); |
360 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure()); | 362 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure()); |
361 LogIn(kTestUser1); | 363 LogIn(kTestUser1); |
362 | 364 |
363 // Wait for migration. | 365 // Wait for migration. |
364 run_loop.Run(); | 366 run_loop.Run(); |
365 | 367 |
366 // Image info is migrated and the image is converted to JPG. | 368 // Image info is migrated and the image is converted to JPG. |
367 ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex, | 369 ExpectNewUserImageInfo(kTestUser1, |
| 370 user_manager::User::USER_IMAGE_EXTERNAL, |
368 GetUserImagePath(kTestUser1, "jpg")); | 371 GetUserImagePath(kTestUser1, "jpg")); |
369 user = UserManager::Get()->GetLoggedInUser(); | 372 user = UserManager::Get()->GetLoggedInUser(); |
370 ASSERT_TRUE(user); | 373 ASSERT_TRUE(user); |
371 EXPECT_FALSE(user->image_is_safe_format()); | 374 EXPECT_FALSE(user->image_is_safe_format()); |
372 // Check image dimensions. | 375 // Check image dimensions. |
373 const gfx::ImageSkia& saved_image = | 376 const gfx::ImageSkia& saved_image = |
374 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 377 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
375 EXPECT_EQ(saved_image.width(), user->GetImage().width()); | 378 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
376 EXPECT_EQ(saved_image.height(), user->GetImage().height()); | 379 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
377 } | 380 } |
378 | 381 |
379 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { | 382 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { |
380 UserManager::Get()->GetUsers(); // Load users. | 383 UserManager::Get()->GetUsers(); // Load users. |
381 const User* user = UserManager::Get()->FindUser(kTestUser1); | 384 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
382 ASSERT_TRUE(user); | 385 ASSERT_TRUE(user); |
383 // Wait for image load. | 386 // Wait for image load. |
384 if (user->image_index() == User::kInvalidImageIndex) { | 387 if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) { |
385 content::WindowedNotificationObserver( | 388 content::WindowedNotificationObserver( |
386 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, | 389 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, |
387 content::NotificationService::AllSources()).Wait(); | 390 content::NotificationService::AllSources()).Wait(); |
388 } | 391 } |
389 // Now the migrated image is used. | 392 // Now the migrated image is used. |
390 EXPECT_TRUE(user->image_is_safe_format()); | 393 EXPECT_TRUE(user->image_is_safe_format()); |
391 // Check image dimensions. Images can't be compared since JPEG is lossy. | 394 // Check image dimensions. Images can't be compared since JPEG is lossy. |
392 const gfx::ImageSkia& saved_image = | 395 const gfx::ImageSkia& saved_image = |
393 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 396 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
394 EXPECT_EQ(saved_image.width(), user->GetImage().width()); | 397 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
395 EXPECT_EQ(saved_image.height(), user->GetImage().height()); | 398 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
396 } | 399 } |
397 | 400 |
398 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { | 401 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { |
399 RegisterUser(kTestUser1); | 402 RegisterUser(kTestUser1); |
400 } | 403 } |
401 | 404 |
402 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the | 405 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the |
403 // chosen user image. | 406 // chosen user image. |
404 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { | 407 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { |
405 const User* user = UserManager::Get()->FindUser(kTestUser1); | 408 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
406 ASSERT_TRUE(user); | 409 ASSERT_TRUE(user); |
407 | 410 |
408 const gfx::ImageSkia& default_image = | 411 const gfx::ImageSkia& default_image = |
409 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 412 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
410 | 413 |
411 UserImageManager* user_image_manager = | 414 UserImageManager* user_image_manager = |
412 UserManager::Get()->GetUserImageManager(kTestUser1); | 415 UserManager::Get()->GetUserImageManager(kTestUser1); |
413 user_image_manager->SaveUserDefaultImageIndex( | 416 user_image_manager->SaveUserDefaultImageIndex( |
414 user_manager::kFirstDefaultImageIndex); | 417 user_manager::kFirstDefaultImageIndex); |
415 | 418 |
416 EXPECT_TRUE(user->HasDefaultImage()); | 419 EXPECT_TRUE(user->HasDefaultImage()); |
417 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); | 420 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); |
418 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); | 421 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
419 ExpectNewUserImageInfo( | 422 ExpectNewUserImageInfo( |
420 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); | 423 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); |
421 } | 424 } |
422 | 425 |
423 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { | 426 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { |
424 RegisterUser(kTestUser1); | 427 RegisterUser(kTestUser1); |
425 } | 428 } |
426 | 429 |
427 // Verifies that SaveUserImage() correctly sets and persists the chosen user | 430 // Verifies that SaveUserImage() correctly sets and persists the chosen user |
428 // image. | 431 // image. |
429 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { | 432 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { |
430 const User* user = UserManager::Get()->FindUser(kTestUser1); | 433 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
431 ASSERT_TRUE(user); | 434 ASSERT_TRUE(user); |
432 | 435 |
433 SkBitmap custom_image_bitmap; | 436 SkBitmap custom_image_bitmap; |
434 custom_image_bitmap.allocN32Pixels(10, 10); | 437 custom_image_bitmap.allocN32Pixels(10, 10); |
435 custom_image_bitmap.setImmutable(); | 438 custom_image_bitmap.setImmutable(); |
436 const gfx::ImageSkia custom_image = | 439 const gfx::ImageSkia custom_image = |
437 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); | 440 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); |
438 | 441 |
439 run_loop_.reset(new base::RunLoop); | 442 run_loop_.reset(new base::RunLoop); |
440 UserImageManager* user_image_manager = | 443 UserImageManager* user_image_manager = |
441 UserManager::Get()->GetUserImageManager(kTestUser1); | 444 UserManager::Get()->GetUserImageManager(kTestUser1); |
442 user_image_manager->SaveUserImage( | 445 user_image_manager->SaveUserImage( |
443 user_manager::UserImage::CreateAndEncode(custom_image)); | 446 user_manager::UserImage::CreateAndEncode(custom_image)); |
444 run_loop_->Run(); | 447 run_loop_->Run(); |
445 | 448 |
446 EXPECT_FALSE(user->HasDefaultImage()); | 449 EXPECT_FALSE(user->HasDefaultImage()); |
447 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 450 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
448 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); | 451 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); |
449 ExpectNewUserImageInfo(kTestUser1, | 452 ExpectNewUserImageInfo(kTestUser1, |
450 User::kExternalImageIndex, | 453 user_manager::User::USER_IMAGE_EXTERNAL, |
451 GetUserImagePath(kTestUser1, "jpg")); | 454 GetUserImagePath(kTestUser1, "jpg")); |
452 | 455 |
453 const scoped_ptr<gfx::ImageSkia> saved_image = | 456 const scoped_ptr<gfx::ImageSkia> saved_image = |
454 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 457 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
455 ASSERT_TRUE(saved_image); | 458 ASSERT_TRUE(saved_image); |
456 | 459 |
457 // Check image dimensions. Images can't be compared since JPEG is lossy. | 460 // Check image dimensions. Images can't be compared since JPEG is lossy. |
458 EXPECT_EQ(custom_image.width(), saved_image->width()); | 461 EXPECT_EQ(custom_image.width(), saved_image->width()); |
459 EXPECT_EQ(custom_image.height(), saved_image->height()); | 462 EXPECT_EQ(custom_image.height(), saved_image->height()); |
460 } | 463 } |
461 | 464 |
462 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { | 465 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { |
463 RegisterUser(kTestUser1); | 466 RegisterUser(kTestUser1); |
464 } | 467 } |
465 | 468 |
466 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen | 469 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen |
467 // user image. | 470 // user image. |
468 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { | 471 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { |
469 const User* user = UserManager::Get()->FindUser(kTestUser1); | 472 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
470 ASSERT_TRUE(user); | 473 ASSERT_TRUE(user); |
471 | 474 |
472 const base::FilePath custom_image_path = | 475 const base::FilePath custom_image_path = |
473 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); | 476 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); |
474 const scoped_ptr<gfx::ImageSkia> custom_image = | 477 const scoped_ptr<gfx::ImageSkia> custom_image = |
475 test::ImageLoader(custom_image_path).Load(); | 478 test::ImageLoader(custom_image_path).Load(); |
476 ASSERT_TRUE(custom_image); | 479 ASSERT_TRUE(custom_image); |
477 | 480 |
478 run_loop_.reset(new base::RunLoop); | 481 run_loop_.reset(new base::RunLoop); |
479 UserImageManager* user_image_manager = | 482 UserImageManager* user_image_manager = |
480 UserManager::Get()->GetUserImageManager(kTestUser1); | 483 UserManager::Get()->GetUserImageManager(kTestUser1); |
481 user_image_manager->SaveUserImageFromFile(custom_image_path); | 484 user_image_manager->SaveUserImageFromFile(custom_image_path); |
482 run_loop_->Run(); | 485 run_loop_->Run(); |
483 | 486 |
484 EXPECT_FALSE(user->HasDefaultImage()); | 487 EXPECT_FALSE(user->HasDefaultImage()); |
485 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 488 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
486 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); | 489 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); |
487 ExpectNewUserImageInfo(kTestUser1, | 490 ExpectNewUserImageInfo(kTestUser1, |
488 User::kExternalImageIndex, | 491 user_manager::User::USER_IMAGE_EXTERNAL, |
489 GetUserImagePath(kTestUser1, "jpg")); | 492 GetUserImagePath(kTestUser1, "jpg")); |
490 | 493 |
491 const scoped_ptr<gfx::ImageSkia> saved_image = | 494 const scoped_ptr<gfx::ImageSkia> saved_image = |
492 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 495 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
493 ASSERT_TRUE(saved_image); | 496 ASSERT_TRUE(saved_image); |
494 | 497 |
495 // Check image dimensions. Images can't be compared since JPEG is lossy. | 498 // Check image dimensions. Images can't be compared since JPEG is lossy. |
496 EXPECT_EQ(custom_image->width(), saved_image->width()); | 499 EXPECT_EQ(custom_image->width(), saved_image->width()); |
497 EXPECT_EQ(custom_image->height(), saved_image->height()); | 500 EXPECT_EQ(custom_image->height(), saved_image->height()); |
498 } | 501 } |
499 | 502 |
500 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, | 503 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, |
501 PRE_SaveUserImageFromProfileImage) { | 504 PRE_SaveUserImageFromProfileImage) { |
502 RegisterUser(kTestUser1); | 505 RegisterUser(kTestUser1); |
503 chromeos::StartupUtils::MarkOobeCompleted(); | 506 chromeos::StartupUtils::MarkOobeCompleted(); |
504 } | 507 } |
505 | 508 |
506 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and | 509 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and |
507 // persists the chosen user image. | 510 // persists the chosen user image. |
508 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { | 511 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { |
509 const User* user = UserManager::Get()->FindUser(kTestUser1); | 512 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
510 ASSERT_TRUE(user); | 513 ASSERT_TRUE(user); |
511 | 514 |
512 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); | 515 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); |
513 LoginUser(kTestUser1); | 516 LoginUser(kTestUser1); |
514 | 517 |
515 run_loop_.reset(new base::RunLoop); | 518 run_loop_.reset(new base::RunLoop); |
516 UserImageManager* user_image_manager = | 519 UserImageManager* user_image_manager = |
517 UserManager::Get()->GetUserImageManager(kTestUser1); | 520 UserManager::Get()->GetUserImageManager(kTestUser1); |
518 user_image_manager->SaveUserImageFromProfileImage(); | 521 user_image_manager->SaveUserImageFromProfileImage(); |
519 run_loop_->Run(); | 522 run_loop_->Run(); |
520 | 523 |
521 net::TestURLFetcherFactory url_fetcher_factory; | 524 net::TestURLFetcherFactory url_fetcher_factory; |
522 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); | 525 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); |
523 CompleteProfileImageDownload(&url_fetcher_factory); | 526 CompleteProfileImageDownload(&url_fetcher_factory); |
524 | 527 |
525 const gfx::ImageSkia& profile_image = | 528 const gfx::ImageSkia& profile_image = |
526 user_image_manager->DownloadedProfileImage(); | 529 user_image_manager->DownloadedProfileImage(); |
527 | 530 |
528 EXPECT_FALSE(user->HasDefaultImage()); | 531 EXPECT_FALSE(user->HasDefaultImage()); |
529 EXPECT_EQ(User::kProfileImageIndex, user->image_index()); | 532 EXPECT_EQ(user_manager::User::USER_IMAGE_PROFILE, user->image_index()); |
530 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); | 533 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); |
531 ExpectNewUserImageInfo(kTestUser1, | 534 ExpectNewUserImageInfo(kTestUser1, |
532 User::kProfileImageIndex, | 535 user_manager::User::USER_IMAGE_PROFILE, |
533 GetUserImagePath(kTestUser1, "jpg")); | 536 GetUserImagePath(kTestUser1, "jpg")); |
534 | 537 |
535 const scoped_ptr<gfx::ImageSkia> saved_image = | 538 const scoped_ptr<gfx::ImageSkia> saved_image = |
536 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 539 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
537 ASSERT_TRUE(saved_image); | 540 ASSERT_TRUE(saved_image); |
538 | 541 |
539 // Check image dimensions. Images can't be compared since JPEG is lossy. | 542 // Check image dimensions. Images can't be compared since JPEG is lossy. |
540 EXPECT_EQ(profile_image.width(), saved_image->width()); | 543 EXPECT_EQ(profile_image.width(), saved_image->width()); |
541 EXPECT_EQ(profile_image.height(), saved_image->height()); | 544 EXPECT_EQ(profile_image.height(), saved_image->height()); |
542 } | 545 } |
543 | 546 |
544 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, | 547 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, |
545 PRE_ProfileImageDownloadDoesNotClobber) { | 548 PRE_ProfileImageDownloadDoesNotClobber) { |
546 RegisterUser(kTestUser1); | 549 RegisterUser(kTestUser1); |
547 chromeos::StartupUtils::MarkOobeCompleted(); | 550 chromeos::StartupUtils::MarkOobeCompleted(); |
548 } | 551 } |
549 | 552 |
550 // Sets the user image to the profile image, then sets it to one of the default | 553 // Sets the user image to the profile image, then sets it to one of the default |
551 // images while the profile image download is still in progress. Verifies that | 554 // images while the profile image download is still in progress. Verifies that |
552 // when the download completes, the profile image is ignored and does not | 555 // when the download completes, the profile image is ignored and does not |
553 // clobber the default image chosen in the meantime. | 556 // clobber the default image chosen in the meantime. |
554 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, | 557 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, |
555 ProfileImageDownloadDoesNotClobber) { | 558 ProfileImageDownloadDoesNotClobber) { |
556 const User* user = UserManager::Get()->FindUser(kTestUser1); | 559 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
557 ASSERT_TRUE(user); | 560 ASSERT_TRUE(user); |
558 | 561 |
559 const gfx::ImageSkia& default_image = | 562 const gfx::ImageSkia& default_image = |
560 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); | 563 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); |
561 | 564 |
562 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); | 565 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); |
563 LoginUser(kTestUser1); | 566 LoginUser(kTestUser1); |
564 | 567 |
565 run_loop_.reset(new base::RunLoop); | 568 run_loop_.reset(new base::RunLoop); |
566 UserImageManager* user_image_manager = | 569 UserImageManager* user_image_manager = |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 | 668 |
666 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { | 669 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { |
667 RegisterUser(kTestUser1); | 670 RegisterUser(kTestUser1); |
668 chromeos::StartupUtils::MarkOobeCompleted(); | 671 chromeos::StartupUtils::MarkOobeCompleted(); |
669 } | 672 } |
670 | 673 |
671 // Verifies that the user image can be set through policy. Also verifies that | 674 // Verifies that the user image can be set through policy. Also verifies that |
672 // after the policy has been cleared, the user is able to choose a different | 675 // after the policy has been cleared, the user is able to choose a different |
673 // image. | 676 // image. |
674 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) { | 677 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) { |
675 const User* user = UserManager::Get()->FindUser(kTestUser1); | 678 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
676 ASSERT_TRUE(user); | 679 ASSERT_TRUE(user); |
677 | 680 |
678 LoginUser(kTestUser1); | 681 LoginUser(kTestUser1); |
679 base::RunLoop().RunUntilIdle(); | 682 base::RunLoop().RunUntilIdle(); |
680 | 683 |
681 policy::CloudPolicyStore* store = GetStoreForUser(user); | 684 policy::CloudPolicyStore* store = GetStoreForUser(user); |
682 ASSERT_TRUE(store); | 685 ASSERT_TRUE(store); |
683 | 686 |
684 // Set policy. Verify that the policy-provided user image is downloaded, set | 687 // Set policy. Verify that the policy-provided user image is downloaded, set |
685 // and persisted. | 688 // and persisted. |
686 user_policy_.payload().mutable_useravatarimage()->set_value( | 689 user_policy_.payload().mutable_useravatarimage()->set_value( |
687 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 690 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
688 user_policy_.Build(); | 691 user_policy_.Build(); |
689 fake_session_manager_client_->set_user_policy(kTestUser1, | 692 fake_session_manager_client_->set_user_policy(kTestUser1, |
690 user_policy_.GetBlob()); | 693 user_policy_.GetBlob()); |
691 run_loop_.reset(new base::RunLoop); | 694 run_loop_.reset(new base::RunLoop); |
692 store->Load(); | 695 store->Load(); |
693 run_loop_->Run(); | 696 run_loop_->Run(); |
694 | 697 |
695 EXPECT_FALSE(user->HasDefaultImage()); | 698 EXPECT_FALSE(user->HasDefaultImage()); |
696 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 699 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
697 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 700 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
698 ExpectNewUserImageInfo(kTestUser1, | 701 ExpectNewUserImageInfo(kTestUser1, |
699 User::kExternalImageIndex, | 702 user_manager::User::USER_IMAGE_EXTERNAL, |
700 GetUserImagePath(kTestUser1, "jpg")); | 703 GetUserImagePath(kTestUser1, "jpg")); |
701 | 704 |
702 scoped_ptr<gfx::ImageSkia> saved_image = | 705 scoped_ptr<gfx::ImageSkia> saved_image = |
703 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 706 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
704 ASSERT_TRUE(saved_image); | 707 ASSERT_TRUE(saved_image); |
705 | 708 |
706 // Check image dimensions. Images can't be compared since JPEG is lossy. | 709 // Check image dimensions. Images can't be compared since JPEG is lossy. |
707 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 710 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
708 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 711 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
709 | 712 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
752 | 755 |
753 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { | 756 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { |
754 RegisterUser(kTestUser1); | 757 RegisterUser(kTestUser1); |
755 chromeos::StartupUtils::MarkOobeCompleted(); | 758 chromeos::StartupUtils::MarkOobeCompleted(); |
756 } | 759 } |
757 | 760 |
758 // Verifies that when the user chooses a user image and a different image is | 761 // Verifies that when the user chooses a user image and a different image is |
759 // then set through policy, the policy takes precedence, overriding the | 762 // then set through policy, the policy takes precedence, overriding the |
760 // previously chosen image. | 763 // previously chosen image. |
761 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { | 764 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { |
762 const User* user = UserManager::Get()->FindUser(kTestUser1); | 765 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
763 ASSERT_TRUE(user); | 766 ASSERT_TRUE(user); |
764 | 767 |
765 LoginUser(kTestUser1); | 768 LoginUser(kTestUser1); |
766 base::RunLoop().RunUntilIdle(); | 769 base::RunLoop().RunUntilIdle(); |
767 | 770 |
768 policy::CloudPolicyStore* store = GetStoreForUser(user); | 771 policy::CloudPolicyStore* store = GetStoreForUser(user); |
769 ASSERT_TRUE(store); | 772 ASSERT_TRUE(store); |
770 | 773 |
771 // Choose a user image. Verify that the chosen user image is set and | 774 // Choose a user image. Verify that the chosen user image is set and |
772 // persisted. | 775 // persisted. |
(...skipping 16 matching lines...) Expand all Loading... |
789 user_policy_.payload().mutable_useravatarimage()->set_value( | 792 user_policy_.payload().mutable_useravatarimage()->set_value( |
790 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 793 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
791 user_policy_.Build(); | 794 user_policy_.Build(); |
792 fake_session_manager_client_->set_user_policy(kTestUser1, | 795 fake_session_manager_client_->set_user_policy(kTestUser1, |
793 user_policy_.GetBlob()); | 796 user_policy_.GetBlob()); |
794 run_loop_.reset(new base::RunLoop); | 797 run_loop_.reset(new base::RunLoop); |
795 store->Load(); | 798 store->Load(); |
796 run_loop_->Run(); | 799 run_loop_->Run(); |
797 | 800 |
798 EXPECT_FALSE(user->HasDefaultImage()); | 801 EXPECT_FALSE(user->HasDefaultImage()); |
799 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 802 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
800 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 803 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
801 ExpectNewUserImageInfo(kTestUser1, | 804 ExpectNewUserImageInfo(kTestUser1, |
802 User::kExternalImageIndex, | 805 user_manager::User::USER_IMAGE_EXTERNAL, |
803 GetUserImagePath(kTestUser1, "jpg")); | 806 GetUserImagePath(kTestUser1, "jpg")); |
804 | 807 |
805 scoped_ptr<gfx::ImageSkia> saved_image = | 808 scoped_ptr<gfx::ImageSkia> saved_image = |
806 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 809 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
807 ASSERT_TRUE(saved_image); | 810 ASSERT_TRUE(saved_image); |
808 | 811 |
809 // Check image dimensions. Images can't be compared since JPEG is lossy. | 812 // Check image dimensions. Images can't be compared since JPEG is lossy. |
810 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 813 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
811 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 814 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
812 } | 815 } |
813 | 816 |
814 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, | 817 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, |
815 PRE_UserDoesNotOverridePolicy) { | 818 PRE_UserDoesNotOverridePolicy) { |
816 RegisterUser(kTestUser1); | 819 RegisterUser(kTestUser1); |
817 chromeos::StartupUtils::MarkOobeCompleted(); | 820 chromeos::StartupUtils::MarkOobeCompleted(); |
818 } | 821 } |
819 | 822 |
820 // Verifies that when the user image has been set through policy and the user | 823 // Verifies that when the user image has been set through policy and the user |
821 // chooses a different image, the policy takes precedence, preventing the user | 824 // chooses a different image, the policy takes precedence, preventing the user |
822 // from overriding the previously chosen image. | 825 // from overriding the previously chosen image. |
823 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { | 826 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { |
824 const User* user = UserManager::Get()->FindUser(kTestUser1); | 827 const user_manager::User* user = UserManager::Get()->FindUser(kTestUser1); |
825 ASSERT_TRUE(user); | 828 ASSERT_TRUE(user); |
826 | 829 |
827 LoginUser(kTestUser1); | 830 LoginUser(kTestUser1); |
828 base::RunLoop().RunUntilIdle(); | 831 base::RunLoop().RunUntilIdle(); |
829 | 832 |
830 policy::CloudPolicyStore* store = GetStoreForUser(user); | 833 policy::CloudPolicyStore* store = GetStoreForUser(user); |
831 ASSERT_TRUE(store); | 834 ASSERT_TRUE(store); |
832 | 835 |
833 // Set policy. Verify that the policy-provided user image is downloaded, set | 836 // Set policy. Verify that the policy-provided user image is downloaded, set |
834 // and persisted. | 837 // and persisted. |
835 user_policy_.payload().mutable_useravatarimage()->set_value( | 838 user_policy_.payload().mutable_useravatarimage()->set_value( |
836 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 839 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
837 user_policy_.Build(); | 840 user_policy_.Build(); |
838 fake_session_manager_client_->set_user_policy(kTestUser1, | 841 fake_session_manager_client_->set_user_policy(kTestUser1, |
839 user_policy_.GetBlob()); | 842 user_policy_.GetBlob()); |
840 run_loop_.reset(new base::RunLoop); | 843 run_loop_.reset(new base::RunLoop); |
841 store->Load(); | 844 store->Load(); |
842 run_loop_->Run(); | 845 run_loop_->Run(); |
843 | 846 |
844 EXPECT_FALSE(user->HasDefaultImage()); | 847 EXPECT_FALSE(user->HasDefaultImage()); |
845 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 848 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
846 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 849 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
847 ExpectNewUserImageInfo(kTestUser1, | 850 ExpectNewUserImageInfo(kTestUser1, |
848 User::kExternalImageIndex, | 851 user_manager::User::USER_IMAGE_EXTERNAL, |
849 GetUserImagePath(kTestUser1, "jpg")); | 852 GetUserImagePath(kTestUser1, "jpg")); |
850 | 853 |
851 scoped_ptr<gfx::ImageSkia> saved_image = | 854 scoped_ptr<gfx::ImageSkia> saved_image = |
852 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 855 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
853 ASSERT_TRUE(saved_image); | 856 ASSERT_TRUE(saved_image); |
854 | 857 |
855 // Check image dimensions. Images can't be compared since JPEG is lossy. | 858 // Check image dimensions. Images can't be compared since JPEG is lossy. |
856 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 859 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
857 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 860 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
858 | 861 |
859 // Choose a different user image. Verify that the user image does not change | 862 // Choose a different user image. Verify that the user image does not change |
860 // as policy takes precedence. | 863 // as policy takes precedence. |
861 UserImageManager* user_image_manager = | 864 UserImageManager* user_image_manager = |
862 UserManager::Get()->GetUserImageManager(kTestUser1); | 865 UserManager::Get()->GetUserImageManager(kTestUser1); |
863 user_image_manager->SaveUserDefaultImageIndex( | 866 user_image_manager->SaveUserDefaultImageIndex( |
864 user_manager::kFirstDefaultImageIndex); | 867 user_manager::kFirstDefaultImageIndex); |
865 | 868 |
866 EXPECT_FALSE(user->HasDefaultImage()); | 869 EXPECT_FALSE(user->HasDefaultImage()); |
867 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 870 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
868 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 871 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
869 ExpectNewUserImageInfo(kTestUser1, | 872 ExpectNewUserImageInfo(kTestUser1, |
870 User::kExternalImageIndex, | 873 user_manager::User::USER_IMAGE_EXTERNAL, |
871 GetUserImagePath(kTestUser1, "jpg")); | 874 GetUserImagePath(kTestUser1, "jpg")); |
872 | 875 |
873 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 876 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
874 ASSERT_TRUE(saved_image); | 877 ASSERT_TRUE(saved_image); |
875 | 878 |
876 // Check image dimensions. Images can't be compared since JPEG is lossy. | 879 // Check image dimensions. Images can't be compared since JPEG is lossy. |
877 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 880 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
878 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 881 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
879 } | 882 } |
880 | 883 |
881 } // namespace chromeos | 884 } // namespace chromeos |
OLD | NEW |