| 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) {
|
| + 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());
|
|
|