| Index: chrome/browser/policy/cloud/policy_header_service_factory.cc
|
| diff --git a/chrome/browser/policy/cloud/policy_header_service_factory.cc b/chrome/browser/policy/cloud/policy_header_service_factory.cc
|
| index 8375c769a0be89dd359694ae161e234d845bd509..fa0bb3d2bbab4df4068ee57248aa4fa27ae25709 100644
|
| --- a/chrome/browser/policy/cloud/policy_header_service_factory.cc
|
| +++ b/chrome/browser/policy/cloud/policy_header_service_factory.cc
|
| @@ -20,8 +20,9 @@
|
|
|
| #if defined(OS_CHROMEOS)
|
| #include "chrome/browser/chromeos/policy/browser_policy_connector_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"
|
| #else
|
| #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
|
| #include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
|
| @@ -58,7 +59,7 @@ PolicyHeaderServiceFactory::PolicyHeaderServiceFactory()
|
| "PolicyHeaderServiceFactory",
|
| BrowserContextDependencyManager::GetInstance()) {
|
| #if defined(OS_CHROMEOS)
|
| - DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance());
|
| + DependsOn(UserPolicyManagerFactoryChromeOS::GetInstance());
|
| #else
|
| DependsOn(UserCloudPolicyManagerFactory::GetInstance());
|
| #endif
|
| @@ -89,24 +90,34 @@ KeyedService* PolicyHeaderServiceFactory::BuildServiceInstanceFor(
|
| g_browser_process->browser_policy_connector();
|
| #endif
|
|
|
| - DeviceManagementService* device_management_service =
|
| - connector->device_management_service();
|
| + CloudPolicyStore* user_store;
|
| #if defined(OS_CHROMEOS)
|
| - CloudPolicyManager* manager =
|
| - UserCloudPolicyManagerFactoryChromeOS::GetForProfile(
|
| - Profile::FromBrowserContext(context));
|
| + Profile* profile = Profile::FromBrowserContext(context);
|
| + CloudPolicyManager* cloud_manager =
|
| + UserPolicyManagerFactoryChromeOS::GetCloudPolicyManagerForProfile(
|
| + profile);
|
| + if (cloud_manager) {
|
| + user_store = cloud_manager->core()->store();
|
| + } else {
|
| + UserActiveDirectoryPolicyManager* active_directory_manager =
|
| + UserPolicyManagerFactoryChromeOS::
|
| + GetActiveDirectoryPolicyManagerForProfile(profile);
|
| + if (!active_directory_manager)
|
| + return nullptr;
|
| + user_store = active_directory_manager->store();
|
| + }
|
| #else
|
| CloudPolicyManager* manager =
|
| UserCloudPolicyManagerFactory::GetForBrowserContext(context);
|
| -#endif
|
| if (!manager)
|
| - return NULL;
|
| - CloudPolicyStore* user_store = manager->core()->store();
|
| + return nullptr;
|
| + user_store = manager->core()->store();
|
| +#endif
|
|
|
| std::unique_ptr<PolicyHeaderService> service =
|
| base::MakeUnique<PolicyHeaderService>(
|
| - device_management_service->GetServerUrl(), kPolicyVerificationKeyHash,
|
| - user_store);
|
| + connector->device_management_service()->GetServerUrl(),
|
| + kPolicyVerificationKeyHash, user_store);
|
| return new PolicyHeaderServiceWrapper(std::move(service));
|
| }
|
|
|
|
|