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 |