| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 run_loop.Run(); | 355 run_loop.Run(); |
| 356 | 356 |
| 357 // Image info is migrated and the image is converted to JPG. | 357 // Image info is migrated and the image is converted to JPG. |
| 358 ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex, | 358 ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex, |
| 359 GetUserImagePath(kTestUser1, "jpg")); | 359 GetUserImagePath(kTestUser1, "jpg")); |
| 360 user = UserManager::Get()->GetLoggedInUser(); | 360 user = UserManager::Get()->GetLoggedInUser(); |
| 361 ASSERT_TRUE(user); | 361 ASSERT_TRUE(user); |
| 362 EXPECT_FALSE(user->image_is_safe_format()); | 362 EXPECT_FALSE(user->image_is_safe_format()); |
| 363 // Check image dimensions. | 363 // Check image dimensions. |
| 364 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); | 364 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); |
| 365 EXPECT_EQ(saved_image.width(), user->image().width()); | 365 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
| 366 EXPECT_EQ(saved_image.height(), user->image().height()); | 366 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
| 367 } | 367 } |
| 368 | 368 |
| 369 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { | 369 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { |
| 370 UserManager::Get()->GetUsers(); // Load users. | 370 UserManager::Get()->GetUsers(); // Load users. |
| 371 const User* user = UserManager::Get()->FindUser(kTestUser1); | 371 const User* user = UserManager::Get()->FindUser(kTestUser1); |
| 372 ASSERT_TRUE(user); | 372 ASSERT_TRUE(user); |
| 373 // Wait for image load. | 373 // Wait for image load. |
| 374 if (user->image_index() == User::kInvalidImageIndex) { | 374 if (user->image_index() == User::kInvalidImageIndex) { |
| 375 content::WindowedNotificationObserver( | 375 content::WindowedNotificationObserver( |
| 376 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, | 376 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, |
| 377 content::NotificationService::AllSources()).Wait(); | 377 content::NotificationService::AllSources()).Wait(); |
| 378 } | 378 } |
| 379 // Now the migrated image is used. | 379 // Now the migrated image is used. |
| 380 EXPECT_TRUE(user->image_is_safe_format()); | 380 EXPECT_TRUE(user->image_is_safe_format()); |
| 381 // Check image dimensions. Images can't be compared since JPEG is lossy. | 381 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 382 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); | 382 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); |
| 383 EXPECT_EQ(saved_image.width(), user->image().width()); | 383 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
| 384 EXPECT_EQ(saved_image.height(), user->image().height()); | 384 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
| 385 } | 385 } |
| 386 | 386 |
| 387 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { | 387 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { |
| 388 RegisterUser(kTestUser1); | 388 RegisterUser(kTestUser1); |
| 389 } | 389 } |
| 390 | 390 |
| 391 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the | 391 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the |
| 392 // chosen user image. | 392 // chosen user image. |
| 393 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { | 393 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { |
| 394 const User* user = UserManager::Get()->FindUser(kTestUser1); | 394 const User* user = UserManager::Get()->FindUser(kTestUser1); |
| 395 ASSERT_TRUE(user); | 395 ASSERT_TRUE(user); |
| 396 | 396 |
| 397 const gfx::ImageSkia& default_image = | 397 const gfx::ImageSkia& default_image = |
| 398 GetDefaultImage(kFirstDefaultImageIndex); | 398 GetDefaultImage(kFirstDefaultImageIndex); |
| 399 | 399 |
| 400 UserImageManager* user_image_manager = | 400 UserImageManager* user_image_manager = |
| 401 UserManager::Get()->GetUserImageManager(kTestUser1); | 401 UserManager::Get()->GetUserImageManager(kTestUser1); |
| 402 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 402 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
| 403 | 403 |
| 404 EXPECT_TRUE(user->HasDefaultImage()); | 404 EXPECT_TRUE(user->HasDefaultImage()); |
| 405 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 405 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
| 406 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 406 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
| 407 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 407 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
| 408 } | 408 } |
| 409 | 409 |
| 410 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { | 410 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { |
| 411 RegisterUser(kTestUser1); | 411 RegisterUser(kTestUser1); |
| 412 } | 412 } |
| 413 | 413 |
| 414 // Verifies that SaveUserImage() correctly sets and persists the chosen user | 414 // Verifies that SaveUserImage() correctly sets and persists the chosen user |
| 415 // image. | 415 // image. |
| 416 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { | 416 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { |
| 417 const User* user = UserManager::Get()->FindUser(kTestUser1); | 417 const User* user = UserManager::Get()->FindUser(kTestUser1); |
| 418 ASSERT_TRUE(user); | 418 ASSERT_TRUE(user); |
| 419 | 419 |
| 420 SkBitmap custom_image_bitmap; | 420 SkBitmap custom_image_bitmap; |
| 421 custom_image_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10); | 421 custom_image_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10); |
| 422 custom_image_bitmap.allocPixels(); | 422 custom_image_bitmap.allocPixels(); |
| 423 custom_image_bitmap.setImmutable(); | 423 custom_image_bitmap.setImmutable(); |
| 424 const gfx::ImageSkia custom_image = | 424 const gfx::ImageSkia custom_image = |
| 425 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); | 425 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); |
| 426 | 426 |
| 427 run_loop_.reset(new base::RunLoop); | 427 run_loop_.reset(new base::RunLoop); |
| 428 UserImageManager* user_image_manager = | 428 UserImageManager* user_image_manager = |
| 429 UserManager::Get()->GetUserImageManager(kTestUser1); | 429 UserManager::Get()->GetUserImageManager(kTestUser1); |
| 430 user_image_manager->SaveUserImage(UserImage::CreateAndEncode(custom_image)); | 430 user_image_manager->SaveUserImage(UserImage::CreateAndEncode(custom_image)); |
| 431 run_loop_->Run(); | 431 run_loop_->Run(); |
| 432 | 432 |
| 433 EXPECT_FALSE(user->HasDefaultImage()); | 433 EXPECT_FALSE(user->HasDefaultImage()); |
| 434 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 434 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
| 435 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->image())); | 435 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); |
| 436 ExpectNewUserImageInfo(kTestUser1, | 436 ExpectNewUserImageInfo(kTestUser1, |
| 437 User::kExternalImageIndex, | 437 User::kExternalImageIndex, |
| 438 GetUserImagePath(kTestUser1, "jpg")); | 438 GetUserImagePath(kTestUser1, "jpg")); |
| 439 | 439 |
| 440 const scoped_ptr<gfx::ImageSkia> saved_image = | 440 const scoped_ptr<gfx::ImageSkia> saved_image = |
| 441 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 441 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 442 ASSERT_TRUE(saved_image); | 442 ASSERT_TRUE(saved_image); |
| 443 | 443 |
| 444 // Check image dimensions. Images can't be compared since JPEG is lossy. | 444 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 445 EXPECT_EQ(custom_image.width(), saved_image->width()); | 445 EXPECT_EQ(custom_image.width(), saved_image->width()); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 463 ASSERT_TRUE(custom_image); | 463 ASSERT_TRUE(custom_image); |
| 464 | 464 |
| 465 run_loop_.reset(new base::RunLoop); | 465 run_loop_.reset(new base::RunLoop); |
| 466 UserImageManager* user_image_manager = | 466 UserImageManager* user_image_manager = |
| 467 UserManager::Get()->GetUserImageManager(kTestUser1); | 467 UserManager::Get()->GetUserImageManager(kTestUser1); |
| 468 user_image_manager->SaveUserImageFromFile(custom_image_path); | 468 user_image_manager->SaveUserImageFromFile(custom_image_path); |
| 469 run_loop_->Run(); | 469 run_loop_->Run(); |
| 470 | 470 |
| 471 EXPECT_FALSE(user->HasDefaultImage()); | 471 EXPECT_FALSE(user->HasDefaultImage()); |
| 472 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 472 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
| 473 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->image())); | 473 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); |
| 474 ExpectNewUserImageInfo(kTestUser1, | 474 ExpectNewUserImageInfo(kTestUser1, |
| 475 User::kExternalImageIndex, | 475 User::kExternalImageIndex, |
| 476 GetUserImagePath(kTestUser1, "jpg")); | 476 GetUserImagePath(kTestUser1, "jpg")); |
| 477 | 477 |
| 478 const scoped_ptr<gfx::ImageSkia> saved_image = | 478 const scoped_ptr<gfx::ImageSkia> saved_image = |
| 479 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 479 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 480 ASSERT_TRUE(saved_image); | 480 ASSERT_TRUE(saved_image); |
| 481 | 481 |
| 482 // Check image dimensions. Images can't be compared since JPEG is lossy. | 482 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 483 EXPECT_EQ(custom_image->width(), saved_image->width()); | 483 EXPECT_EQ(custom_image->width(), saved_image->width()); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 507 | 507 |
| 508 net::TestURLFetcherFactory url_fetcher_factory; | 508 net::TestURLFetcherFactory url_fetcher_factory; |
| 509 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); | 509 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); |
| 510 CompleteProfileImageDownload(&url_fetcher_factory); | 510 CompleteProfileImageDownload(&url_fetcher_factory); |
| 511 | 511 |
| 512 const gfx::ImageSkia& profile_image = | 512 const gfx::ImageSkia& profile_image = |
| 513 user_image_manager->DownloadedProfileImage(); | 513 user_image_manager->DownloadedProfileImage(); |
| 514 | 514 |
| 515 EXPECT_FALSE(user->HasDefaultImage()); | 515 EXPECT_FALSE(user->HasDefaultImage()); |
| 516 EXPECT_EQ(User::kProfileImageIndex, user->image_index()); | 516 EXPECT_EQ(User::kProfileImageIndex, user->image_index()); |
| 517 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->image())); | 517 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); |
| 518 ExpectNewUserImageInfo(kTestUser1, | 518 ExpectNewUserImageInfo(kTestUser1, |
| 519 User::kProfileImageIndex, | 519 User::kProfileImageIndex, |
| 520 GetUserImagePath(kTestUser1, "jpg")); | 520 GetUserImagePath(kTestUser1, "jpg")); |
| 521 | 521 |
| 522 const scoped_ptr<gfx::ImageSkia> saved_image = | 522 const scoped_ptr<gfx::ImageSkia> saved_image = |
| 523 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 523 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 524 ASSERT_TRUE(saved_image); | 524 ASSERT_TRUE(saved_image); |
| 525 | 525 |
| 526 // Check image dimensions. Images can't be compared since JPEG is lossy. | 526 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 527 EXPECT_EQ(profile_image.width(), saved_image->width()); | 527 EXPECT_EQ(profile_image.width(), saved_image->width()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 557 | 557 |
| 558 net::TestURLFetcherFactory url_fetcher_factory; | 558 net::TestURLFetcherFactory url_fetcher_factory; |
| 559 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); | 559 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); |
| 560 | 560 |
| 561 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 561 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
| 562 | 562 |
| 563 CompleteProfileImageDownload(&url_fetcher_factory); | 563 CompleteProfileImageDownload(&url_fetcher_factory); |
| 564 | 564 |
| 565 EXPECT_TRUE(user->HasDefaultImage()); | 565 EXPECT_TRUE(user->HasDefaultImage()); |
| 566 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 566 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
| 567 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 567 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
| 568 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 568 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
| 569 } | 569 } |
| 570 | 570 |
| 571 class UserImageManagerPolicyTest : public UserImageManagerTest, | 571 class UserImageManagerPolicyTest : public UserImageManagerTest, |
| 572 public policy::CloudPolicyStore::Observer { | 572 public policy::CloudPolicyStore::Observer { |
| 573 protected: | 573 protected: |
| 574 UserImageManagerPolicyTest() | 574 UserImageManagerPolicyTest() |
| 575 : fake_dbus_thread_manager_(new chromeos::FakeDBusThreadManager), | 575 : fake_dbus_thread_manager_(new chromeos::FakeDBusThreadManager), |
| 576 fake_session_manager_client_(new chromeos::FakeSessionManagerClient) { | 576 fake_session_manager_client_(new chromeos::FakeSessionManagerClient) { |
| 577 fake_dbus_thread_manager_->SetFakeClients(); | 577 fake_dbus_thread_manager_->SetFakeClients(); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 672 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
| 673 user_policy_.Build(); | 673 user_policy_.Build(); |
| 674 fake_session_manager_client_->set_user_policy(kTestUser1, | 674 fake_session_manager_client_->set_user_policy(kTestUser1, |
| 675 user_policy_.GetBlob()); | 675 user_policy_.GetBlob()); |
| 676 run_loop_.reset(new base::RunLoop); | 676 run_loop_.reset(new base::RunLoop); |
| 677 store->Load(); | 677 store->Load(); |
| 678 run_loop_->Run(); | 678 run_loop_->Run(); |
| 679 | 679 |
| 680 EXPECT_FALSE(user->HasDefaultImage()); | 680 EXPECT_FALSE(user->HasDefaultImage()); |
| 681 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 681 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
| 682 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 682 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 683 ExpectNewUserImageInfo(kTestUser1, | 683 ExpectNewUserImageInfo(kTestUser1, |
| 684 User::kExternalImageIndex, | 684 User::kExternalImageIndex, |
| 685 GetUserImagePath(kTestUser1, "jpg")); | 685 GetUserImagePath(kTestUser1, "jpg")); |
| 686 | 686 |
| 687 scoped_ptr<gfx::ImageSkia> saved_image = | 687 scoped_ptr<gfx::ImageSkia> saved_image = |
| 688 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 688 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 689 ASSERT_TRUE(saved_image); | 689 ASSERT_TRUE(saved_image); |
| 690 | 690 |
| 691 // Check image dimensions. Images can't be compared since JPEG is lossy. | 691 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 692 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 692 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 693 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 693 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 694 | 694 |
| 695 // Clear policy. Verify that the policy-provided user image remains set as no | 695 // Clear policy. Verify that the policy-provided user image remains set as no |
| 696 // different user image has been chosen yet. | 696 // different user image has been chosen yet. |
| 697 user_policy_.payload().Clear(); | 697 user_policy_.payload().Clear(); |
| 698 user_policy_.Build(); | 698 user_policy_.Build(); |
| 699 fake_session_manager_client_->set_user_policy(kTestUser1, | 699 fake_session_manager_client_->set_user_policy(kTestUser1, |
| 700 user_policy_.GetBlob()); | 700 user_policy_.GetBlob()); |
| 701 run_loop_.reset(new base::RunLoop); | 701 run_loop_.reset(new base::RunLoop); |
| 702 store->AddObserver(this); | 702 store->AddObserver(this); |
| 703 store->Load(); | 703 store->Load(); |
| 704 run_loop_->Run(); | 704 run_loop_->Run(); |
| 705 store->RemoveObserver(this); | 705 store->RemoveObserver(this); |
| 706 base::RunLoop().RunUntilIdle(); | 706 base::RunLoop().RunUntilIdle(); |
| 707 | 707 |
| 708 EXPECT_FALSE(user->HasDefaultImage()); | 708 EXPECT_FALSE(user->HasDefaultImage()); |
| 709 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 709 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
| 710 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 710 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 711 ExpectNewUserImageInfo(kTestUser1, | 711 ExpectNewUserImageInfo(kTestUser1, |
| 712 User::kExternalImageIndex, | 712 User::kExternalImageIndex, |
| 713 GetUserImagePath(kTestUser1, "jpg")); | 713 GetUserImagePath(kTestUser1, "jpg")); |
| 714 | 714 |
| 715 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 715 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 716 ASSERT_TRUE(saved_image); | 716 ASSERT_TRUE(saved_image); |
| 717 | 717 |
| 718 // Check image dimensions. Images can't be compared since JPEG is lossy. | 718 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 719 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 719 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 720 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 720 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 721 | 721 |
| 722 // Choose a different user image. Verify that the chosen user image is set and | 722 // Choose a different user image. Verify that the chosen user image is set and |
| 723 // persisted. | 723 // persisted. |
| 724 const gfx::ImageSkia& default_image = | 724 const gfx::ImageSkia& default_image = |
| 725 GetDefaultImage(kFirstDefaultImageIndex); | 725 GetDefaultImage(kFirstDefaultImageIndex); |
| 726 | 726 |
| 727 UserImageManager* user_image_manager = | 727 UserImageManager* user_image_manager = |
| 728 UserManager::Get()->GetUserImageManager(kTestUser1); | 728 UserManager::Get()->GetUserImageManager(kTestUser1); |
| 729 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 729 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
| 730 | 730 |
| 731 EXPECT_TRUE(user->HasDefaultImage()); | 731 EXPECT_TRUE(user->HasDefaultImage()); |
| 732 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 732 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
| 733 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 733 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
| 734 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 734 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
| 735 } | 735 } |
| 736 | 736 |
| 737 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { | 737 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { |
| 738 RegisterUser(kTestUser1); | 738 RegisterUser(kTestUser1); |
| 739 chromeos::StartupUtils::MarkOobeCompleted(); | 739 chromeos::StartupUtils::MarkOobeCompleted(); |
| 740 } | 740 } |
| 741 | 741 |
| 742 // Verifies that when the user chooses a user image and a different image is | 742 // Verifies that when the user chooses a user image and a different image is |
| 743 // then set through policy, the policy takes precedence, overriding the | 743 // then set through policy, the policy takes precedence, overriding the |
| (...skipping 12 matching lines...) Expand all Loading... |
| 756 // persisted. | 756 // persisted. |
| 757 const gfx::ImageSkia& default_image = | 757 const gfx::ImageSkia& default_image = |
| 758 GetDefaultImage(kFirstDefaultImageIndex); | 758 GetDefaultImage(kFirstDefaultImageIndex); |
| 759 | 759 |
| 760 UserImageManager* user_image_manager = | 760 UserImageManager* user_image_manager = |
| 761 UserManager::Get()->GetUserImageManager(kTestUser1); | 761 UserManager::Get()->GetUserImageManager(kTestUser1); |
| 762 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 762 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
| 763 | 763 |
| 764 EXPECT_TRUE(user->HasDefaultImage()); | 764 EXPECT_TRUE(user->HasDefaultImage()); |
| 765 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 765 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
| 766 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 766 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
| 767 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 767 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
| 768 | 768 |
| 769 // Set policy. Verify that the policy-provided user image is downloaded, set | 769 // Set policy. Verify that the policy-provided user image is downloaded, set |
| 770 // and persisted, overriding the previously set image. | 770 // and persisted, overriding the previously set image. |
| 771 user_policy_.payload().mutable_useravatarimage()->set_value( | 771 user_policy_.payload().mutable_useravatarimage()->set_value( |
| 772 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 772 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
| 773 user_policy_.Build(); | 773 user_policy_.Build(); |
| 774 fake_session_manager_client_->set_user_policy(kTestUser1, | 774 fake_session_manager_client_->set_user_policy(kTestUser1, |
| 775 user_policy_.GetBlob()); | 775 user_policy_.GetBlob()); |
| 776 run_loop_.reset(new base::RunLoop); | 776 run_loop_.reset(new base::RunLoop); |
| 777 store->Load(); | 777 store->Load(); |
| 778 run_loop_->Run(); | 778 run_loop_->Run(); |
| 779 | 779 |
| 780 EXPECT_FALSE(user->HasDefaultImage()); | 780 EXPECT_FALSE(user->HasDefaultImage()); |
| 781 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 781 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
| 782 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 782 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 783 ExpectNewUserImageInfo(kTestUser1, | 783 ExpectNewUserImageInfo(kTestUser1, |
| 784 User::kExternalImageIndex, | 784 User::kExternalImageIndex, |
| 785 GetUserImagePath(kTestUser1, "jpg")); | 785 GetUserImagePath(kTestUser1, "jpg")); |
| 786 | 786 |
| 787 scoped_ptr<gfx::ImageSkia> saved_image = | 787 scoped_ptr<gfx::ImageSkia> saved_image = |
| 788 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 788 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 789 ASSERT_TRUE(saved_image); | 789 ASSERT_TRUE(saved_image); |
| 790 | 790 |
| 791 // Check image dimensions. Images can't be compared since JPEG is lossy. | 791 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 792 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 792 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 818 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 818 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
| 819 user_policy_.Build(); | 819 user_policy_.Build(); |
| 820 fake_session_manager_client_->set_user_policy(kTestUser1, | 820 fake_session_manager_client_->set_user_policy(kTestUser1, |
| 821 user_policy_.GetBlob()); | 821 user_policy_.GetBlob()); |
| 822 run_loop_.reset(new base::RunLoop); | 822 run_loop_.reset(new base::RunLoop); |
| 823 store->Load(); | 823 store->Load(); |
| 824 run_loop_->Run(); | 824 run_loop_->Run(); |
| 825 | 825 |
| 826 EXPECT_FALSE(user->HasDefaultImage()); | 826 EXPECT_FALSE(user->HasDefaultImage()); |
| 827 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 827 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
| 828 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 828 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 829 ExpectNewUserImageInfo(kTestUser1, | 829 ExpectNewUserImageInfo(kTestUser1, |
| 830 User::kExternalImageIndex, | 830 User::kExternalImageIndex, |
| 831 GetUserImagePath(kTestUser1, "jpg")); | 831 GetUserImagePath(kTestUser1, "jpg")); |
| 832 | 832 |
| 833 scoped_ptr<gfx::ImageSkia> saved_image = | 833 scoped_ptr<gfx::ImageSkia> saved_image = |
| 834 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 834 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 835 ASSERT_TRUE(saved_image); | 835 ASSERT_TRUE(saved_image); |
| 836 | 836 |
| 837 // Check image dimensions. Images can't be compared since JPEG is lossy. | 837 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 838 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 838 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 839 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 839 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 840 | 840 |
| 841 // Choose a different user image. Verify that the user image does not change | 841 // Choose a different user image. Verify that the user image does not change |
| 842 // as policy takes precedence. | 842 // as policy takes precedence. |
| 843 UserImageManager* user_image_manager = | 843 UserImageManager* user_image_manager = |
| 844 UserManager::Get()->GetUserImageManager(kTestUser1); | 844 UserManager::Get()->GetUserImageManager(kTestUser1); |
| 845 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 845 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
| 846 | 846 |
| 847 EXPECT_FALSE(user->HasDefaultImage()); | 847 EXPECT_FALSE(user->HasDefaultImage()); |
| 848 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 848 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
| 849 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 849 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 850 ExpectNewUserImageInfo(kTestUser1, | 850 ExpectNewUserImageInfo(kTestUser1, |
| 851 User::kExternalImageIndex, | 851 User::kExternalImageIndex, |
| 852 GetUserImagePath(kTestUser1, "jpg")); | 852 GetUserImagePath(kTestUser1, "jpg")); |
| 853 | 853 |
| 854 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 854 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
| 855 ASSERT_TRUE(saved_image); | 855 ASSERT_TRUE(saved_image); |
| 856 | 856 |
| 857 // Check image dimensions. Images can't be compared since JPEG is lossy. | 857 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 858 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 858 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 859 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 859 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 860 } | 860 } |
| 861 | 861 |
| 862 } // namespace chromeos | 862 } // namespace chromeos |
| OLD | NEW |