Chromium Code Reviews| Index: chrome/browser/policy/profile_policy_connector_factory.cc |
| diff --git a/chrome/browser/policy/profile_policy_connector_factory.cc b/chrome/browser/policy/profile_policy_connector_factory.cc |
| index 4b836952e3d96050c6bf13fddb5fc2084ab78ffe..9d49fd59ce642c3e108e6b32a2e0fad645ced42d 100644 |
| --- a/chrome/browser/policy/profile_policy_connector_factory.cc |
| +++ b/chrome/browser/policy/profile_policy_connector_factory.cc |
| @@ -22,8 +22,9 @@ |
| #if defined(OS_CHROMEOS) |
| #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
| #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" |
| +#include "chrome/browser/chromeos/policy/user_active_directory_policy_manager.h" |
| #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" |
| -#include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h" |
| +#include "chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.h" |
| #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| #include "components/user_manager/user.h" |
| #else // Non-ChromeOS. |
| @@ -72,7 +73,7 @@ ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory() |
| BrowserContextDependencyManager::GetInstance()) { |
| DependsOn(SchemaRegistryServiceFactory::GetInstance()); |
| #if defined(OS_CHROMEOS) |
| - DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance()); |
| + DependsOn(UserPolicyManagerFactoryChromeOS::GetInstance()); |
| #else |
| DependsOn(UserCloudPolicyManagerFactory::GetInstance()); |
| #endif |
| @@ -100,15 +101,15 @@ ProfilePolicyConnectorFactory::CreateForBrowserContextInternal( |
| bool force_immediate_load) { |
| DCHECK(connectors_.find(context) == connectors_.end()); |
| - SchemaRegistry* schema_registry = nullptr; |
| - CloudPolicyManager* user_cloud_policy_manager = nullptr; |
| - |
| - schema_registry = |
| + const user_manager::User* user = nullptr; |
| + SchemaRegistry* schema_registry = |
| SchemaRegistryServiceFactory::GetForContext(context)->registry(); |
| + ConfigurationPolicyProvider* policy_provider = nullptr; |
| + const CloudPolicyStore* policy_store = nullptr; |
| + |
| #if defined(OS_CHROMEOS) |
| Profile* const profile = Profile::FromBrowserContext(context); |
| - const user_manager::User* user = nullptr; |
| if (chromeos::ProfileHelper::IsSigninProfile(profile)) { |
| policy::DeviceCloudPolicyManagerChromeOS* device_cloud_policy_manager = |
| g_browser_process->platform_part() |
| @@ -123,22 +124,34 @@ ProfilePolicyConnectorFactory::CreateForBrowserContextInternal( |
| user = chromeos::ProfileHelper::Get()->GetUserByProfile(profile); |
| CHECK(user); |
| } |
| - user_cloud_policy_manager = |
| - UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile); |
| + |
| + CloudPolicyManager* user_cloud_policy_manager = |
| + UserPolicyManagerFactoryChromeOS::GetCloudPolicyManagerForProfile( |
| + profile); |
| + UserActiveDirectoryPolicyManager* active_directory_manager = |
| + UserPolicyManagerFactoryChromeOS:: |
| + GetActiveDirectoryPolicyManagerForProfile(profile); |
| + if (user_cloud_policy_manager) { |
| + policy_provider = user_cloud_policy_manager; |
| + policy_store = user_cloud_policy_manager->core()->store(); |
| + } else if (active_directory_manager) { |
|
Thiemo Nagel
2016/12/29 15:08:28
I've flattened the code nesting in the same way as
|
| + policy_provider = active_directory_manager; |
| + policy_store = active_directory_manager->store(); |
| + } |
| #else |
| - user_cloud_policy_manager = |
| + CloudPolicyManager* user_cloud_policy_manager = |
| UserCloudPolicyManagerFactory::GetForBrowserContext(context); |
| + if (user_cloud_policy_manager) { |
| + policy_provider = user_cloud_policy_manager; |
| + policy_store = user_cloud_policy_manager->core()->store(); |
| + } |
| #endif // defined(OS_CHROMEOS) |
| std::unique_ptr<ProfilePolicyConnector> connector( |
| new ProfilePolicyConnector()); |
| if (test_providers_.empty()) { |
| - connector->Init( |
| -#if defined(OS_CHROMEOS) |
| - user, |
| -#endif |
| - schema_registry, user_cloud_policy_manager); |
| + connector->Init(user, schema_registry, policy_provider, policy_store); |
| } else { |
| PolicyServiceImpl::Providers providers; |
| providers.push_back(test_providers_.front()); |