| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 | 7 |
| 8 #include "apps/app_window_registry.h" | 8 #include "apps/app_window_registry.h" |
| 9 #include "apps/ui/native_app_window.h" | 9 #include "apps/ui/native_app_window.h" |
| 10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 #include "chrome/browser/browser_process.h" | 36 #include "chrome/browser/browser_process.h" |
| 37 #include "chrome/browser/chrome_notification_types.h" | 37 #include "chrome/browser/chrome_notification_types.h" |
| 38 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 38 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 39 #include "chrome/browser/chromeos/login/screens/wizard_screen.h" | 39 #include "chrome/browser/chromeos/login/screens/wizard_screen.h" |
| 40 #include "chrome/browser/chromeos/login/ui/login_display_host.h" | 40 #include "chrome/browser/chromeos/login/ui/login_display_host.h" |
| 41 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" | 41 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" |
| 42 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" | 42 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" |
| 43 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" | 43 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" |
| 44 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" | 44 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" |
| 45 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti
l.h" | 45 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti
l.h" |
| 46 #include "chrome/browser/chromeos/login/users/user.h" | |
| 47 #include "chrome/browser/chromeos/login/users/user_manager.h" | 46 #include "chrome/browser/chromeos/login/users/user_manager.h" |
| 48 #include "chrome/browser/chromeos/login/users/user_manager_impl.h" | 47 #include "chrome/browser/chromeos/login/users/user_manager_impl.h" |
| 49 #include "chrome/browser/chromeos/login/wizard_controller.h" | 48 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 50 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" | 49 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
| 51 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" | 50 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u
til.h" |
| 52 #include "chrome/browser/chromeos/policy/device_local_account.h" | 51 #include "chrome/browser/chromeos/policy/device_local_account.h" |
| 53 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" | 52 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" |
| 54 #include "chrome/browser/chromeos/policy/device_policy_builder.h" | 53 #include "chrome/browser/chromeos/policy/device_policy_builder.h" |
| 55 #include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h" | 54 #include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h" |
| 56 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" | 55 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 83 #include "components/policy/core/common/cloud/cloud_policy_constants.h" | 82 #include "components/policy/core/common/cloud/cloud_policy_constants.h" |
| 84 #include "components/policy/core/common/cloud/cloud_policy_core.h" | 83 #include "components/policy/core/common/cloud/cloud_policy_core.h" |
| 85 #include "components/policy/core/common/cloud/cloud_policy_store.h" | 84 #include "components/policy/core/common/cloud/cloud_policy_store.h" |
| 86 #include "components/policy/core/common/cloud/policy_builder.h" | 85 #include "components/policy/core/common/cloud/policy_builder.h" |
| 87 #include "components/policy/core/common/external_data_fetcher.h" | 86 #include "components/policy/core/common/external_data_fetcher.h" |
| 88 #include "components/policy/core/common/policy_map.h" | 87 #include "components/policy/core/common/policy_map.h" |
| 89 #include "components/policy/core/common/policy_namespace.h" | 88 #include "components/policy/core/common/policy_namespace.h" |
| 90 #include "components/policy/core/common/policy_service.h" | 89 #include "components/policy/core/common/policy_service.h" |
| 91 #include "components/policy/core/common/policy_switches.h" | 90 #include "components/policy/core/common/policy_switches.h" |
| 92 #include "components/signin/core/common/signin_pref_names.h" | 91 #include "components/signin/core/common/signin_pref_names.h" |
| 92 #include "components/user_manager/user.h" |
| 93 #include "components/user_manager/user_type.h" | 93 #include "components/user_manager/user_type.h" |
| 94 #include "content/public/browser/notification_details.h" | 94 #include "content/public/browser/notification_details.h" |
| 95 #include "content/public/browser/notification_service.h" | 95 #include "content/public/browser/notification_service.h" |
| 96 #include "content/public/browser/notification_source.h" | 96 #include "content/public/browser/notification_source.h" |
| 97 #include "content/public/browser/web_contents.h" | 97 #include "content/public/browser/web_contents.h" |
| 98 #include "content/public/browser/web_ui.h" | 98 #include "content/public/browser/web_ui.h" |
| 99 #include "content/public/test/browser_test_utils.h" | 99 #include "content/public/test/browser_test_utils.h" |
| 100 #include "content/public/test/test_utils.h" | 100 #include "content/public/test/test_utils.h" |
| 101 #include "crypto/rsa_private_key.h" | 101 #include "crypto/rsa_private_key.h" |
| 102 #include "extensions/browser/extension_system.h" | 102 #include "extensions/browser/extension_system.h" |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 proto.mutable_device_local_accounts()->add_account(); | 409 proto.mutable_device_local_accounts()->add_account(); |
| 410 account->set_account_id(username); | 410 account->set_account_id(username); |
| 411 account->set_type( | 411 account->set_type( |
| 412 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_PUBLIC_SESSION); | 412 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_PUBLIC_SESSION); |
| 413 RefreshDevicePolicy(); | 413 RefreshDevicePolicy(); |
| 414 test_server_.UpdatePolicy(dm_protocol::kChromeDevicePolicyType, | 414 test_server_.UpdatePolicy(dm_protocol::kChromeDevicePolicyType, |
| 415 std::string(), proto.SerializeAsString()); | 415 std::string(), proto.SerializeAsString()); |
| 416 } | 416 } |
| 417 | 417 |
| 418 void CheckPublicSessionPresent(const std::string& id) { | 418 void CheckPublicSessionPresent(const std::string& id) { |
| 419 const chromeos::User* user = chromeos::UserManager::Get()->FindUser(id); | 419 const user_manager::User* user = chromeos::UserManager::Get()->FindUser(id); |
| 420 ASSERT_TRUE(user); | 420 ASSERT_TRUE(user); |
| 421 EXPECT_EQ(id, user->email()); | 421 EXPECT_EQ(id, user->email()); |
| 422 EXPECT_EQ(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user->GetType()); | 422 EXPECT_EQ(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user->GetType()); |
| 423 } | 423 } |
| 424 | 424 |
| 425 base::FilePath GetExtensionCacheDirectoryForAccountID( | 425 base::FilePath GetExtensionCacheDirectoryForAccountID( |
| 426 const std::string& account_id) { | 426 const std::string& account_id) { |
| 427 base::FilePath extension_cache_root_dir; | 427 base::FilePath extension_cache_root_dir; |
| 428 if (!PathService::Get(chromeos::DIR_DEVICE_LOCAL_ACCOUNT_EXTENSIONS, | 428 if (!PathService::Get(chromeos::DIR_DEVICE_LOCAL_ACCOUNT_EXTENSIONS, |
| 429 &extension_cache_root_dir)) { | 429 &extension_cache_root_dir)) { |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 content::WindowedNotificationObserver(chrome::NOTIFICATION_USER_LIST_CHANGED, | 472 content::WindowedNotificationObserver(chrome::NOTIFICATION_USER_LIST_CHANGED, |
| 473 base::Bind(&IsKnownUser, user_id_2_)) | 473 base::Bind(&IsKnownUser, user_id_2_)) |
| 474 .Wait(); | 474 .Wait(); |
| 475 | 475 |
| 476 CheckPublicSessionPresent(user_id_1_); | 476 CheckPublicSessionPresent(user_id_1_); |
| 477 CheckPublicSessionPresent(user_id_2_); | 477 CheckPublicSessionPresent(user_id_2_); |
| 478 } | 478 } |
| 479 | 479 |
| 480 static bool DisplayNameMatches(const std::string& account_id, | 480 static bool DisplayNameMatches(const std::string& account_id, |
| 481 const std::string& display_name) { | 481 const std::string& display_name) { |
| 482 const chromeos::User* user = | 482 const user_manager::User* user = |
| 483 chromeos::UserManager::Get()->FindUser(account_id); | 483 chromeos::UserManager::Get()->FindUser(account_id); |
| 484 if (!user || user->display_name().empty()) | 484 if (!user || user->display_name().empty()) |
| 485 return false; | 485 return false; |
| 486 EXPECT_EQ(base::UTF8ToUTF16(display_name), user->display_name()); | 486 EXPECT_EQ(base::UTF8ToUTF16(display_name), user->display_name()); |
| 487 return true; | 487 return true; |
| 488 } | 488 } |
| 489 | 489 |
| 490 IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, DisplayName) { | 490 IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, DisplayName) { |
| 491 UploadAndInstallDeviceLocalAccountPolicy(); | 491 UploadAndInstallDeviceLocalAccountPolicy(); |
| 492 AddPublicSessionToDevicePolicy(kAccountId1); | 492 AddPublicSessionToDevicePolicy(kAccountId1); |
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1011 run_loop_.reset(new base::RunLoop); | 1011 run_loop_.reset(new base::RunLoop); |
| 1012 chromeos::UserManager::Get()->AddObserver(this); | 1012 chromeos::UserManager::Get()->AddObserver(this); |
| 1013 broker->core()->store()->Load(); | 1013 broker->core()->store()->Load(); |
| 1014 run_loop_->Run(); | 1014 run_loop_->Run(); |
| 1015 chromeos::UserManager::Get()->RemoveObserver(this); | 1015 chromeos::UserManager::Get()->RemoveObserver(this); |
| 1016 | 1016 |
| 1017 scoped_ptr<gfx::ImageSkia> policy_image = chromeos::test::ImageLoader( | 1017 scoped_ptr<gfx::ImageSkia> policy_image = chromeos::test::ImageLoader( |
| 1018 test_dir.Append(chromeos::test::kUserAvatarImage1RelativePath)).Load(); | 1018 test_dir.Append(chromeos::test::kUserAvatarImage1RelativePath)).Load(); |
| 1019 ASSERT_TRUE(policy_image); | 1019 ASSERT_TRUE(policy_image); |
| 1020 | 1020 |
| 1021 const chromeos::User* user = | 1021 const user_manager::User* user = |
| 1022 chromeos::UserManager::Get()->FindUser(user_id_1_); | 1022 chromeos::UserManager::Get()->FindUser(user_id_1_); |
| 1023 ASSERT_TRUE(user); | 1023 ASSERT_TRUE(user); |
| 1024 | 1024 |
| 1025 base::FilePath user_data_dir; | 1025 base::FilePath user_data_dir; |
| 1026 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)); | 1026 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)); |
| 1027 const base::FilePath saved_image_path = | 1027 const base::FilePath saved_image_path = |
| 1028 user_data_dir.Append(user_id_1_).AddExtension("jpg"); | 1028 user_data_dir.Append(user_id_1_).AddExtension("jpg"); |
| 1029 | 1029 |
| 1030 EXPECT_FALSE(user->HasDefaultImage()); | 1030 EXPECT_FALSE(user->HasDefaultImage()); |
| 1031 EXPECT_EQ(chromeos::User::kExternalImageIndex, user->image_index()); | 1031 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); |
| 1032 EXPECT_TRUE(chromeos::test::AreImagesEqual(*policy_image, user->GetImage())); | 1032 EXPECT_TRUE(chromeos::test::AreImagesEqual(*policy_image, user->GetImage())); |
| 1033 const base::DictionaryValue* images_pref = | 1033 const base::DictionaryValue* images_pref = |
| 1034 g_browser_process->local_state()->GetDictionary("user_image_info"); | 1034 g_browser_process->local_state()->GetDictionary("user_image_info"); |
| 1035 ASSERT_TRUE(images_pref); | 1035 ASSERT_TRUE(images_pref); |
| 1036 const base::DictionaryValue* image_properties; | 1036 const base::DictionaryValue* image_properties; |
| 1037 ASSERT_TRUE(images_pref->GetDictionaryWithoutPathExpansion( | 1037 ASSERT_TRUE(images_pref->GetDictionaryWithoutPathExpansion( |
| 1038 user_id_1_, | 1038 user_id_1_, |
| 1039 &image_properties)); | 1039 &image_properties)); |
| 1040 int image_index; | 1040 int image_index; |
| 1041 std::string image_path; | 1041 std::string image_path; |
| 1042 ASSERT_TRUE(image_properties->GetInteger("index", &image_index)); | 1042 ASSERT_TRUE(image_properties->GetInteger("index", &image_index)); |
| 1043 ASSERT_TRUE(image_properties->GetString("path", &image_path)); | 1043 ASSERT_TRUE(image_properties->GetString("path", &image_path)); |
| 1044 EXPECT_EQ(chromeos::User::kExternalImageIndex, image_index); | 1044 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, image_index); |
| 1045 EXPECT_EQ(saved_image_path.value(), image_path); | 1045 EXPECT_EQ(saved_image_path.value(), image_path); |
| 1046 | 1046 |
| 1047 scoped_ptr<gfx::ImageSkia> saved_image = | 1047 scoped_ptr<gfx::ImageSkia> saved_image = |
| 1048 chromeos::test::ImageLoader(saved_image_path).Load(); | 1048 chromeos::test::ImageLoader(saved_image_path).Load(); |
| 1049 ASSERT_TRUE(saved_image); | 1049 ASSERT_TRUE(saved_image); |
| 1050 | 1050 |
| 1051 // Check image dimensions. Images can't be compared since JPEG is lossy. | 1051 // Check image dimensions. Images can't be compared since JPEG is lossy. |
| 1052 EXPECT_EQ(policy_image->width(), saved_image->width()); | 1052 EXPECT_EQ(policy_image->width(), saved_image->width()); |
| 1053 EXPECT_EQ(policy_image->height(), saved_image->height()); | 1053 EXPECT_EQ(policy_image->height(), saved_image->height()); |
| 1054 } | 1054 } |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1384 if (!IsSessionStarted()) { | 1384 if (!IsSessionStarted()) { |
| 1385 content::WindowedNotificationObserver(chrome::NOTIFICATION_SESSION_STARTED, | 1385 content::WindowedNotificationObserver(chrome::NOTIFICATION_SESSION_STARTED, |
| 1386 base::Bind(IsSessionStarted)).Wait(); | 1386 base::Bind(IsSessionStarted)).Wait(); |
| 1387 } | 1387 } |
| 1388 } | 1388 } |
| 1389 | 1389 |
| 1390 INSTANTIATE_TEST_CASE_P(TermsOfServiceTestInstance, | 1390 INSTANTIATE_TEST_CASE_P(TermsOfServiceTestInstance, |
| 1391 TermsOfServiceTest, testing::Bool()); | 1391 TermsOfServiceTest, testing::Bool()); |
| 1392 | 1392 |
| 1393 } // namespace policy | 1393 } // namespace policy |
| OLD | NEW |