Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Side by Side Diff: chrome/browser/policy/cloud/policy_header_service_factory.cc

Issue 2606773002: Setup Chromad user policy plumbing (Closed)
Patch Set: Rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "chrome/browser/policy/cloud/policy_header_service_factory.h" 5 #include "chrome/browser/policy/cloud/policy_header_service_factory.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "build/build_config.h" 11 #include "build/build_config.h"
12 #include "chrome/browser/browser_process.h" 12 #include "chrome/browser/browser_process.h"
13 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile.h"
14 #include "components/keyed_service/content/browser_context_dependency_manager.h" 14 #include "components/keyed_service/content/browser_context_dependency_manager.h"
15 #include "components/keyed_service/core/keyed_service.h" 15 #include "components/keyed_service/core/keyed_service.h"
16 #include "components/policy/core/browser/browser_policy_connector.h" 16 #include "components/policy/core/browser/browser_policy_connector.h"
17 #include "components/policy/core/common/cloud/cloud_policy_store.h" 17 #include "components/policy/core/common/cloud/cloud_policy_store.h"
18 #include "components/policy/core/common/cloud/device_management_service.h" 18 #include "components/policy/core/common/cloud/device_management_service.h"
19 #include "components/policy/core/common/cloud/policy_header_service.h" 19 #include "components/policy/core/common/cloud/policy_header_service.h"
20 20
21 #if defined(OS_CHROMEOS) 21 #if defined(OS_CHROMEOS)
22 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 22 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
23 #include "chrome/browser/chromeos/policy/user_active_directory_policy_manager.h"
23 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 24 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
24 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom eos.h" 25 #include "chrome/browser/chromeos/policy/user_policy_manager_factory_chromeos.h"
25 #else 26 #else
26 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" 27 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h"
27 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" 28 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
28 #endif 29 #endif
29 30
30 namespace policy { 31 namespace policy {
31 32
32 namespace { 33 namespace {
33 34
34 class PolicyHeaderServiceWrapper : public KeyedService { 35 class PolicyHeaderServiceWrapper : public KeyedService {
(...skipping 16 matching lines...) Expand all
51 std::unique_ptr<PolicyHeaderService> policy_header_service_; 52 std::unique_ptr<PolicyHeaderService> policy_header_service_;
52 }; 53 };
53 54
54 } // namespace 55 } // namespace
55 56
56 PolicyHeaderServiceFactory::PolicyHeaderServiceFactory() 57 PolicyHeaderServiceFactory::PolicyHeaderServiceFactory()
57 : BrowserContextKeyedServiceFactory( 58 : BrowserContextKeyedServiceFactory(
58 "PolicyHeaderServiceFactory", 59 "PolicyHeaderServiceFactory",
59 BrowserContextDependencyManager::GetInstance()) { 60 BrowserContextDependencyManager::GetInstance()) {
60 #if defined(OS_CHROMEOS) 61 #if defined(OS_CHROMEOS)
61 DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance()); 62 DependsOn(UserPolicyManagerFactoryChromeOS::GetInstance());
62 #else 63 #else
63 DependsOn(UserCloudPolicyManagerFactory::GetInstance()); 64 DependsOn(UserCloudPolicyManagerFactory::GetInstance());
64 #endif 65 #endif
65 } 66 }
66 67
67 PolicyHeaderServiceFactory::~PolicyHeaderServiceFactory() { 68 PolicyHeaderServiceFactory::~PolicyHeaderServiceFactory() {
68 } 69 }
69 70
70 // static 71 // static
71 PolicyHeaderService* PolicyHeaderServiceFactory::GetForBrowserContext( 72 PolicyHeaderService* PolicyHeaderServiceFactory::GetForBrowserContext(
(...skipping 10 matching lines...) Expand all
82 KeyedService* PolicyHeaderServiceFactory::BuildServiceInstanceFor( 83 KeyedService* PolicyHeaderServiceFactory::BuildServiceInstanceFor(
83 content::BrowserContext* context) const { 84 content::BrowserContext* context) const {
84 #if defined(OS_CHROMEOS) 85 #if defined(OS_CHROMEOS)
85 BrowserPolicyConnectorChromeOS* connector = 86 BrowserPolicyConnectorChromeOS* connector =
86 g_browser_process->platform_part()->browser_policy_connector_chromeos(); 87 g_browser_process->platform_part()->browser_policy_connector_chromeos();
87 #else 88 #else
88 BrowserPolicyConnector* connector = 89 BrowserPolicyConnector* connector =
89 g_browser_process->browser_policy_connector(); 90 g_browser_process->browser_policy_connector();
90 #endif 91 #endif
91 92
92 DeviceManagementService* device_management_service = 93 CloudPolicyStore* user_store;
93 connector->device_management_service();
94 #if defined(OS_CHROMEOS) 94 #if defined(OS_CHROMEOS)
95 CloudPolicyManager* manager = 95 Profile* profile = Profile::FromBrowserContext(context);
96 UserCloudPolicyManagerFactoryChromeOS::GetForProfile( 96 CloudPolicyManager* cloud_manager =
97 Profile::FromBrowserContext(context)); 97 UserPolicyManagerFactoryChromeOS::GetCloudPolicyManagerForProfile(
98 profile);
99 if (cloud_manager) {
100 user_store = cloud_manager->core()->store();
101 } else {
102 UserActiveDirectoryPolicyManager* active_directory_manager =
103 UserPolicyManagerFactoryChromeOS::
104 GetActiveDirectoryPolicyManagerForProfile(profile);
105 if (!active_directory_manager)
106 return nullptr;
107 user_store = active_directory_manager->store();
108 }
98 #else 109 #else
99 CloudPolicyManager* manager = 110 CloudPolicyManager* manager =
100 UserCloudPolicyManagerFactory::GetForBrowserContext(context); 111 UserCloudPolicyManagerFactory::GetForBrowserContext(context);
112 if (!manager)
113 return nullptr;
114 user_store = manager->core()->store();
101 #endif 115 #endif
102 if (!manager)
103 return NULL;
104 CloudPolicyStore* user_store = manager->core()->store();
105 116
106 std::unique_ptr<PolicyHeaderService> service = 117 std::unique_ptr<PolicyHeaderService> service =
107 base::MakeUnique<PolicyHeaderService>( 118 base::MakeUnique<PolicyHeaderService>(
108 device_management_service->GetServerUrl(), kPolicyVerificationKeyHash, 119 connector->device_management_service()->GetServerUrl(),
109 user_store); 120 kPolicyVerificationKeyHash, user_store);
110 return new PolicyHeaderServiceWrapper(std::move(service)); 121 return new PolicyHeaderServiceWrapper(std::move(service));
111 } 122 }
112 123
113 // static 124 // static
114 PolicyHeaderServiceFactory* PolicyHeaderServiceFactory::GetInstance() { 125 PolicyHeaderServiceFactory* PolicyHeaderServiceFactory::GetInstance() {
115 return base::Singleton<PolicyHeaderServiceFactory>::get(); 126 return base::Singleton<PolicyHeaderServiceFactory>::get();
116 } 127 }
117 128
118 } // namespace policy 129 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698