| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" |
| 6 |
| 5 #include <stdint.h> | 7 #include <stdint.h> |
| 6 | 8 |
| 7 #include <map> | 9 #include <map> |
| 10 #include <memory> |
| 8 #include <string> | 11 #include <string> |
| 9 #include <vector> | 12 #include <vector> |
| 10 | 13 |
| 11 #include "base/command_line.h" | 14 #include "base/command_line.h" |
| 12 #include "base/compiler_specific.h" | 15 #include "base/compiler_specific.h" |
| 13 #include "base/files/file_path.h" | 16 #include "base/files/file_path.h" |
| 14 #include "base/files/file_util.h" | 17 #include "base/files/file_util.h" |
| 15 #include "base/json/json_writer.h" | 18 #include "base/json/json_writer.h" |
| 16 #include "base/macros.h" | 19 #include "base/macros.h" |
| 17 #include "base/memory/linked_ptr.h" | 20 #include "base/memory/linked_ptr.h" |
| 18 #include "base/memory/ref_counted.h" | 21 #include "base/memory/ref_counted.h" |
| 19 #include "base/memory/ref_counted_memory.h" | 22 #include "base/memory/ref_counted_memory.h" |
| 20 #include "base/memory/scoped_ptr.h" | |
| 21 #include "base/path_service.h" | 23 #include "base/path_service.h" |
| 22 #include "base/run_loop.h" | 24 #include "base/run_loop.h" |
| 23 #include "base/thread_task_runner_handle.h" | 25 #include "base/thread_task_runner_handle.h" |
| 24 #include "base/time/time.h" | 26 #include "base/time/time.h" |
| 25 #include "base/values.h" | 27 #include "base/values.h" |
| 26 #include "chrome/browser/browser_process.h" | 28 #include "chrome/browser/browser_process.h" |
| 27 #include "chrome/browser/chrome_notification_types.h" | 29 #include "chrome/browser/chrome_notification_types.h" |
| 28 #include "chrome/browser/chromeos/login/login_manager_test.h" | 30 #include "chrome/browser/chromeos/login/login_manager_test.h" |
| 29 #include "chrome/browser/chromeos/login/startup_utils.h" | 31 #include "chrome/browser/chromeos/login/startup_utils.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" | 32 #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" | 33 #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" | 34 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" |
| 34 #include "chrome/browser/chromeos/login/users/default_user_image/default_user_im
ages.h" | 35 #include "chrome/browser/chromeos/login/users/default_user_image/default_user_im
ages.h" |
| 35 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" | 36 #include "chrome/browser/chromeos/login/users/mock_user_manager.h" |
| 36 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" | 37 #include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h" |
| 37 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" | 38 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" |
| 38 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" | 39 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" |
| 39 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" | 40 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" |
| 40 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 41 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 run_loop_.reset(new base::RunLoop); | 266 run_loop_.reset(new base::RunLoop); |
| 266 run_loop_->Run(); | 267 run_loop_->Run(); |
| 267 } | 268 } |
| 268 } | 269 } |
| 269 | 270 |
| 270 base::FilePath test_data_dir_; | 271 base::FilePath test_data_dir_; |
| 271 base::FilePath user_data_dir_; | 272 base::FilePath user_data_dir_; |
| 272 | 273 |
| 273 PrefService* local_state_; | 274 PrefService* local_state_; |
| 274 | 275 |
| 275 scoped_ptr<gfx::ImageSkia> decoded_image_; | 276 std::unique_ptr<gfx::ImageSkia> decoded_image_; |
| 276 | 277 |
| 277 scoped_ptr<base::RunLoop> run_loop_; | 278 std::unique_ptr<base::RunLoop> run_loop_; |
| 278 | 279 |
| 279 const AccountId test_account_id1_ = AccountId::FromUserEmail(kTestUser1); | 280 const AccountId test_account_id1_ = AccountId::FromUserEmail(kTestUser1); |
| 280 const AccountId test_account_id2_ = AccountId::FromUserEmail(kTestUser2); | 281 const AccountId test_account_id2_ = AccountId::FromUserEmail(kTestUser2); |
| 281 const AccountId enterprise_account_id_ = | 282 const AccountId enterprise_account_id_ = |
| 282 AccountId::FromUserEmail(kEnterpriseUser1); | 283 AccountId::FromUserEmail(kEnterpriseUser1); |
| 283 const cryptohome::Identification cryptohome_id_ = | 284 const cryptohome::Identification cryptohome_id_ = |
| 284 cryptohome::Identification(enterprise_account_id_); | 285 cryptohome::Identification(enterprise_account_id_); |
| 285 | 286 |
| 286 private: | 287 private: |
| 287 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); | 288 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 user_manager::UserImage::CreateAndEncode(custom_image)); | 375 user_manager::UserImage::CreateAndEncode(custom_image)); |
| 375 run_loop_->Run(); | 376 run_loop_->Run(); |
| 376 | 377 |
| 377 EXPECT_FALSE(user->HasDefaultImage()); | 378 EXPECT_FALSE(user->HasDefaultImage()); |
| 378 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 379 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 379 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); | 380 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); |
| 380 ExpectUserImageInfo(test_account_id1_, | 381 ExpectUserImageInfo(test_account_id1_, |
| 381 user_manager::User::USER_IMAGE_EXTERNAL, | 382 user_manager::User::USER_IMAGE_EXTERNAL, |
| 382 GetUserImagePath(test_account_id1_, "jpg")); | 383 GetUserImagePath(test_account_id1_, "jpg")); |
| 383 | 384 |
| 384 const scoped_ptr<gfx::ImageSkia> saved_image = | 385 const std::unique_ptr<gfx::ImageSkia> saved_image = |
| 385 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load(); | 386 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load(); |
| 386 ASSERT_TRUE(saved_image); | 387 ASSERT_TRUE(saved_image); |
| 387 | 388 |
| 388 // Check image dimensions. Images can't be compared since JPEG is lossy. | 389 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 389 EXPECT_EQ(custom_image.width(), saved_image->width()); | 390 EXPECT_EQ(custom_image.width(), saved_image->width()); |
| 390 EXPECT_EQ(custom_image.height(), saved_image->height()); | 391 EXPECT_EQ(custom_image.height(), saved_image->height()); |
| 391 } | 392 } |
| 392 | 393 |
| 393 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { | 394 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { |
| 394 RegisterUser(test_account_id1_.GetUserEmail()); | 395 RegisterUser(test_account_id1_.GetUserEmail()); |
| 395 } | 396 } |
| 396 | 397 |
| 397 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen | 398 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen |
| 398 // user image. | 399 // user image. |
| 399 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { | 400 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { |
| 400 const user_manager::User* user = | 401 const user_manager::User* user = |
| 401 user_manager::UserManager::Get()->FindUser(test_account_id1_); | 402 user_manager::UserManager::Get()->FindUser(test_account_id1_); |
| 402 ASSERT_TRUE(user); | 403 ASSERT_TRUE(user); |
| 403 | 404 |
| 404 const base::FilePath custom_image_path = | 405 const base::FilePath custom_image_path = |
| 405 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); | 406 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); |
| 406 const scoped_ptr<gfx::ImageSkia> custom_image = | 407 const std::unique_ptr<gfx::ImageSkia> custom_image = |
| 407 test::ImageLoader(custom_image_path).Load(); | 408 test::ImageLoader(custom_image_path).Load(); |
| 408 ASSERT_TRUE(custom_image); | 409 ASSERT_TRUE(custom_image); |
| 409 | 410 |
| 410 run_loop_.reset(new base::RunLoop); | 411 run_loop_.reset(new base::RunLoop); |
| 411 UserImageManager* user_image_manager = | 412 UserImageManager* user_image_manager = |
| 412 ChromeUserManager::Get()->GetUserImageManager(test_account_id1_); | 413 ChromeUserManager::Get()->GetUserImageManager(test_account_id1_); |
| 413 user_image_manager->SaveUserImageFromFile(custom_image_path); | 414 user_image_manager->SaveUserImageFromFile(custom_image_path); |
| 414 run_loop_->Run(); | 415 run_loop_->Run(); |
| 415 | 416 |
| 416 EXPECT_FALSE(user->HasDefaultImage()); | 417 EXPECT_FALSE(user->HasDefaultImage()); |
| 417 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 418 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 418 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); | 419 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); |
| 419 ExpectUserImageInfo(test_account_id1_, | 420 ExpectUserImageInfo(test_account_id1_, |
| 420 user_manager::User::USER_IMAGE_EXTERNAL, | 421 user_manager::User::USER_IMAGE_EXTERNAL, |
| 421 GetUserImagePath(test_account_id1_, "jpg")); | 422 GetUserImagePath(test_account_id1_, "jpg")); |
| 422 | 423 |
| 423 const scoped_ptr<gfx::ImageSkia> saved_image = | 424 const std::unique_ptr<gfx::ImageSkia> saved_image = |
| 424 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load(); | 425 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load(); |
| 425 ASSERT_TRUE(saved_image); | 426 ASSERT_TRUE(saved_image); |
| 426 | 427 |
| 427 // Check image dimensions. Images can't be compared since JPEG is lossy. | 428 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 428 EXPECT_EQ(custom_image->width(), saved_image->width()); | 429 EXPECT_EQ(custom_image->width(), saved_image->width()); |
| 429 EXPECT_EQ(custom_image->height(), saved_image->height()); | 430 EXPECT_EQ(custom_image->height(), saved_image->height()); |
| 430 } | 431 } |
| 431 | 432 |
| 432 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, | 433 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, |
| 433 PRE_SaveUserImageFromProfileImage) { | 434 PRE_SaveUserImageFromProfileImage) { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 459 | 460 |
| 460 const gfx::ImageSkia& profile_image = | 461 const gfx::ImageSkia& profile_image = |
| 461 user_image_manager->DownloadedProfileImage(); | 462 user_image_manager->DownloadedProfileImage(); |
| 462 | 463 |
| 463 EXPECT_FALSE(user->HasDefaultImage()); | 464 EXPECT_FALSE(user->HasDefaultImage()); |
| 464 EXPECT_EQ(user_manager::User::USER_IMAGE_PROFILE, user->image_index()); | 465 EXPECT_EQ(user_manager::User::USER_IMAGE_PROFILE, user->image_index()); |
| 465 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); | 466 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); |
| 466 ExpectUserImageInfo(test_account_id1_, user_manager::User::USER_IMAGE_PROFILE, | 467 ExpectUserImageInfo(test_account_id1_, user_manager::User::USER_IMAGE_PROFILE, |
| 467 GetUserImagePath(test_account_id1_, "jpg")); | 468 GetUserImagePath(test_account_id1_, "jpg")); |
| 468 | 469 |
| 469 const scoped_ptr<gfx::ImageSkia> saved_image = | 470 const std::unique_ptr<gfx::ImageSkia> saved_image = |
| 470 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load(); | 471 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load(); |
| 471 ASSERT_TRUE(saved_image); | 472 ASSERT_TRUE(saved_image); |
| 472 | 473 |
| 473 // Check image dimensions. Images can't be compared since JPEG is lossy. | 474 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 474 EXPECT_EQ(profile_image.width(), saved_image->width()); | 475 EXPECT_EQ(profile_image.width(), saved_image->width()); |
| 475 EXPECT_EQ(profile_image.height(), saved_image->height()); | 476 EXPECT_EQ(profile_image.height(), saved_image->height()); |
| 476 } | 477 } |
| 477 | 478 |
| 478 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, | 479 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, |
| 479 PRE_ProfileImageDownloadDoesNotClobber) { | 480 PRE_ProfileImageDownloadDoesNotClobber) { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 class UserImageManagerPolicyTest : public UserImageManagerTest, | 525 class UserImageManagerPolicyTest : public UserImageManagerTest, |
| 525 public policy::CloudPolicyStore::Observer { | 526 public policy::CloudPolicyStore::Observer { |
| 526 protected: | 527 protected: |
| 527 UserImageManagerPolicyTest() | 528 UserImageManagerPolicyTest() |
| 528 : fake_session_manager_client_(new chromeos::FakeSessionManagerClient) { | 529 : fake_session_manager_client_(new chromeos::FakeSessionManagerClient) { |
| 529 } | 530 } |
| 530 | 531 |
| 531 // UserImageManagerTest overrides: | 532 // UserImageManagerTest overrides: |
| 532 void SetUpInProcessBrowserTestFixture() override { | 533 void SetUpInProcessBrowserTestFixture() override { |
| 533 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( | 534 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( |
| 534 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); | 535 std::unique_ptr<SessionManagerClient>(fake_session_manager_client_)); |
| 535 UserImageManagerTest::SetUpInProcessBrowserTestFixture(); | 536 UserImageManagerTest::SetUpInProcessBrowserTestFixture(); |
| 536 } | 537 } |
| 537 | 538 |
| 538 void SetUpOnMainThread() override { | 539 void SetUpOnMainThread() override { |
| 539 UserImageManagerTest::SetUpOnMainThread(); | 540 UserImageManagerTest::SetUpOnMainThread(); |
| 540 | 541 |
| 541 base::FilePath user_keys_dir; | 542 base::FilePath user_keys_dir; |
| 542 ASSERT_TRUE(PathService::Get(chromeos::DIR_USER_POLICY_KEYS, | 543 ASSERT_TRUE(PathService::Get(chromeos::DIR_USER_POLICY_KEYS, |
| 543 &user_keys_dir)); | 544 &user_keys_dir)); |
| 544 const std::string sanitized_username = | 545 const std::string sanitized_username = |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 ->GetURL(std::string("/") + relative_path) | 586 ->GetURL(std::string("/") + relative_path) |
| 586 .spec(), | 587 .spec(), |
| 587 image_data), | 588 image_data), |
| 588 &policy); | 589 &policy); |
| 589 return policy; | 590 return policy; |
| 590 } | 591 } |
| 591 | 592 |
| 592 policy::UserPolicyBuilder user_policy_; | 593 policy::UserPolicyBuilder user_policy_; |
| 593 FakeSessionManagerClient* fake_session_manager_client_; | 594 FakeSessionManagerClient* fake_session_manager_client_; |
| 594 | 595 |
| 595 scoped_ptr<gfx::ImageSkia> policy_image_; | 596 std::unique_ptr<gfx::ImageSkia> policy_image_; |
| 596 | 597 |
| 597 private: | 598 private: |
| 598 DISALLOW_COPY_AND_ASSIGN(UserImageManagerPolicyTest); | 599 DISALLOW_COPY_AND_ASSIGN(UserImageManagerPolicyTest); |
| 599 }; | 600 }; |
| 600 | 601 |
| 601 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { | 602 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { |
| 602 RegisterUser(enterprise_account_id_.GetUserEmail()); | 603 RegisterUser(enterprise_account_id_.GetUserEmail()); |
| 603 chromeos::StartupUtils::MarkOobeCompleted(); | 604 chromeos::StartupUtils::MarkOobeCompleted(); |
| 604 } | 605 } |
| 605 | 606 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 629 store->Load(); | 630 store->Load(); |
| 630 run_loop_->Run(); | 631 run_loop_->Run(); |
| 631 | 632 |
| 632 EXPECT_FALSE(user->HasDefaultImage()); | 633 EXPECT_FALSE(user->HasDefaultImage()); |
| 633 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 634 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 634 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 635 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 635 ExpectUserImageInfo(enterprise_account_id_, | 636 ExpectUserImageInfo(enterprise_account_id_, |
| 636 user_manager::User::USER_IMAGE_EXTERNAL, | 637 user_manager::User::USER_IMAGE_EXTERNAL, |
| 637 GetUserImagePath(enterprise_account_id_, "jpg")); | 638 GetUserImagePath(enterprise_account_id_, "jpg")); |
| 638 | 639 |
| 639 scoped_ptr<gfx::ImageSkia> saved_image = | 640 std::unique_ptr<gfx::ImageSkia> saved_image = |
| 640 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); | 641 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); |
| 641 ASSERT_TRUE(saved_image); | 642 ASSERT_TRUE(saved_image); |
| 642 | 643 |
| 643 // Check image dimensions. Images can't be compared since JPEG is lossy. | 644 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 644 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 645 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 645 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 646 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 646 | 647 |
| 647 // Clear policy. Verify that the user image switches to a random default | 648 // Clear policy. Verify that the user image switches to a random default |
| 648 // image. | 649 // image. |
| 649 user_policy_.payload().Clear(); | 650 user_policy_.payload().Clear(); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 736 store->Load(); | 737 store->Load(); |
| 737 run_loop_->Run(); | 738 run_loop_->Run(); |
| 738 | 739 |
| 739 EXPECT_FALSE(user->HasDefaultImage()); | 740 EXPECT_FALSE(user->HasDefaultImage()); |
| 740 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 741 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 741 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 742 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 742 ExpectUserImageInfo(enterprise_account_id_, | 743 ExpectUserImageInfo(enterprise_account_id_, |
| 743 user_manager::User::USER_IMAGE_EXTERNAL, | 744 user_manager::User::USER_IMAGE_EXTERNAL, |
| 744 GetUserImagePath(enterprise_account_id_, "jpg")); | 745 GetUserImagePath(enterprise_account_id_, "jpg")); |
| 745 | 746 |
| 746 scoped_ptr<gfx::ImageSkia> saved_image = | 747 std::unique_ptr<gfx::ImageSkia> saved_image = |
| 747 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); | 748 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); |
| 748 ASSERT_TRUE(saved_image); | 749 ASSERT_TRUE(saved_image); |
| 749 | 750 |
| 750 // Check image dimensions. Images can't be compared since JPEG is lossy. | 751 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 751 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 752 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 752 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 753 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 753 } | 754 } |
| 754 | 755 |
| 755 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, | 756 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, |
| 756 PRE_UserDoesNotOverridePolicy) { | 757 PRE_UserDoesNotOverridePolicy) { |
| (...skipping 26 matching lines...) Expand all Loading... |
| 783 store->Load(); | 784 store->Load(); |
| 784 run_loop_->Run(); | 785 run_loop_->Run(); |
| 785 | 786 |
| 786 EXPECT_FALSE(user->HasDefaultImage()); | 787 EXPECT_FALSE(user->HasDefaultImage()); |
| 787 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); | 788 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 788 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); | 789 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
| 789 ExpectUserImageInfo(enterprise_account_id_, | 790 ExpectUserImageInfo(enterprise_account_id_, |
| 790 user_manager::User::USER_IMAGE_EXTERNAL, | 791 user_manager::User::USER_IMAGE_EXTERNAL, |
| 791 GetUserImagePath(enterprise_account_id_, "jpg")); | 792 GetUserImagePath(enterprise_account_id_, "jpg")); |
| 792 | 793 |
| 793 scoped_ptr<gfx::ImageSkia> saved_image = | 794 std::unique_ptr<gfx::ImageSkia> saved_image = |
| 794 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); | 795 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); |
| 795 ASSERT_TRUE(saved_image); | 796 ASSERT_TRUE(saved_image); |
| 796 | 797 |
| 797 // Check image dimensions. Images can't be compared since JPEG is lossy. | 798 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 798 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 799 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 799 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 800 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 800 | 801 |
| 801 // Choose a different user image. Verify that the user image does not change | 802 // Choose a different user image. Verify that the user image does not change |
| 802 // as policy takes precedence. | 803 // as policy takes precedence. |
| 803 UserImageManager* user_image_manager = | 804 UserImageManager* user_image_manager = |
| (...skipping 11 matching lines...) Expand all Loading... |
| 815 saved_image = | 816 saved_image = |
| 816 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); | 817 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load(); |
| 817 ASSERT_TRUE(saved_image); | 818 ASSERT_TRUE(saved_image); |
| 818 | 819 |
| 819 // Check image dimensions. Images can't be compared since JPEG is lossy. | 820 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 820 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 821 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
| 821 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 822 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
| 822 } | 823 } |
| 823 | 824 |
| 824 } // namespace chromeos | 825 } // namespace chromeos |
| OLD | NEW |