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 "chrome/browser/policy/profile_policy_connector_factory.h" | 5 #include "chrome/browser/policy/profile_policy_connector_factory.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/singleton.h" | 8 #include "base/memory/singleton.h" |
9 #include "chrome/browser/policy/profile_policy_connector.h" | 9 #include "chrome/browser/policy/profile_policy_connector.h" |
10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
11 #include "components/keyed_service/content/browser_context_dependency_manager.h" | 11 #include "components/keyed_service/content/browser_context_dependency_manager.h" |
| 12 #include "components/policy/core/common/policy_service.h" |
12 | 13 |
13 #if defined(ENABLE_CONFIGURATION_POLICY) | 14 #if defined(ENABLE_CONFIGURATION_POLICY) |
14 #include "chrome/browser/policy/schema_registry_service.h" | 15 #include "chrome/browser/policy/schema_registry_service.h" |
15 #include "chrome/browser/policy/schema_registry_service_factory.h" | 16 #include "chrome/browser/policy/schema_registry_service_factory.h" |
| 17 #include "components/policy/core/common/policy_service_impl.h" |
16 #if defined(OS_CHROMEOS) | 18 #if defined(OS_CHROMEOS) |
17 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" | 19 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" |
18 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" | 20 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chrom
eos.h" |
19 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 21 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
20 #include "components/user_manager/user.h" | 22 #include "components/user_manager/user.h" |
21 #else | 23 #else |
22 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" | 24 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" |
23 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" | 25 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" |
24 #endif | 26 #endif |
25 #endif | 27 #endif |
(...skipping 19 matching lines...) Expand all Loading... |
45 } | 47 } |
46 | 48 |
47 void ProfilePolicyConnectorFactory::SetServiceForTesting( | 49 void ProfilePolicyConnectorFactory::SetServiceForTesting( |
48 Profile* profile, | 50 Profile* profile, |
49 ProfilePolicyConnector* connector) { | 51 ProfilePolicyConnector* connector) { |
50 ProfilePolicyConnector*& map_entry = connectors_[profile]; | 52 ProfilePolicyConnector*& map_entry = connectors_[profile]; |
51 CHECK(!map_entry); | 53 CHECK(!map_entry); |
52 map_entry = connector; | 54 map_entry = connector; |
53 } | 55 } |
54 | 56 |
| 57 #if defined(ENABLE_CONFIGURATION_POLICY) |
| 58 void ProfilePolicyConnectorFactory::PushProviderForTesting( |
| 59 ConfigurationPolicyProvider* provider) { |
| 60 test_providers_.push_back(provider); |
| 61 } |
| 62 #endif |
| 63 |
55 ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory() | 64 ProfilePolicyConnectorFactory::ProfilePolicyConnectorFactory() |
56 : BrowserContextKeyedBaseFactory( | 65 : BrowserContextKeyedBaseFactory( |
57 "ProfilePolicyConnector", | 66 "ProfilePolicyConnector", |
58 BrowserContextDependencyManager::GetInstance()) { | 67 BrowserContextDependencyManager::GetInstance()) { |
59 #if defined(ENABLE_CONFIGURATION_POLICY) | 68 #if defined(ENABLE_CONFIGURATION_POLICY) |
60 DependsOn(SchemaRegistryServiceFactory::GetInstance()); | 69 DependsOn(SchemaRegistryServiceFactory::GetInstance()); |
61 #if defined(OS_CHROMEOS) | 70 #if defined(OS_CHROMEOS) |
62 DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance()); | 71 DependsOn(UserCloudPolicyManagerFactoryChromeOS::GetInstance()); |
63 #else | 72 #else |
64 DependsOn(UserCloudPolicyManagerFactory::GetInstance()); | 73 DependsOn(UserCloudPolicyManagerFactory::GetInstance()); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 } | 110 } |
102 user_cloud_policy_manager = | 111 user_cloud_policy_manager = |
103 UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile); | 112 UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile); |
104 #else | 113 #else |
105 user_cloud_policy_manager = | 114 user_cloud_policy_manager = |
106 UserCloudPolicyManagerFactory::GetForBrowserContext(profile); | 115 UserCloudPolicyManagerFactory::GetForBrowserContext(profile); |
107 #endif // defined(OS_CHROMEOS) | 116 #endif // defined(OS_CHROMEOS) |
108 #endif // defined(ENABLE_CONFIGURATION_POLICY) | 117 #endif // defined(ENABLE_CONFIGURATION_POLICY) |
109 | 118 |
110 ProfilePolicyConnector* connector = new ProfilePolicyConnector(); | 119 ProfilePolicyConnector* connector = new ProfilePolicyConnector(); |
111 connector->Init(force_immediate_load, | 120 |
112 #if defined(ENABLE_CONFIGURATION_POLICY) && defined(OS_CHROMEOS) | 121 #if defined(ENABLE_CONFIGURATION_POLICY) |
113 user, | 122 if (test_providers_.empty()) { |
| 123 connector->Init(force_immediate_load, |
| 124 #if defined(OS_CHROMEOS) |
| 125 user, |
114 #endif | 126 #endif |
115 schema_registry, | 127 schema_registry, |
116 user_cloud_policy_manager); | 128 user_cloud_policy_manager); |
| 129 } else { |
| 130 PolicyServiceImpl::Providers providers; |
| 131 providers.push_back(test_providers_.front()); |
| 132 test_providers_.pop_front(); |
| 133 scoped_ptr<PolicyService> service(new PolicyServiceImpl(providers)); |
| 134 connector->InitForTesting(service.Pass()); |
| 135 } |
| 136 #else |
| 137 connector->Init(false, NULL, NULL); |
| 138 #endif |
| 139 |
117 connectors_[profile] = connector; | 140 connectors_[profile] = connector; |
118 return make_scoped_ptr(connector); | 141 return make_scoped_ptr(connector); |
119 } | 142 } |
120 | 143 |
121 void ProfilePolicyConnectorFactory::BrowserContextShutdown( | 144 void ProfilePolicyConnectorFactory::BrowserContextShutdown( |
122 content::BrowserContext* context) { | 145 content::BrowserContext* context) { |
123 Profile* profile = static_cast<Profile*>(context); | 146 Profile* profile = static_cast<Profile*>(context); |
124 if (profile->IsOffTheRecord()) | 147 if (profile->IsOffTheRecord()) |
125 return; | 148 return; |
126 ConnectorMap::iterator it = connectors_.find(profile); | 149 ConnectorMap::iterator it = connectors_.find(profile); |
(...skipping 14 matching lines...) Expand all Loading... |
141 | 164 |
142 bool ProfilePolicyConnectorFactory::HasTestingFactory( | 165 bool ProfilePolicyConnectorFactory::HasTestingFactory( |
143 content::BrowserContext* context) { | 166 content::BrowserContext* context) { |
144 return false; | 167 return false; |
145 } | 168 } |
146 | 169 |
147 void ProfilePolicyConnectorFactory::CreateServiceNow( | 170 void ProfilePolicyConnectorFactory::CreateServiceNow( |
148 content::BrowserContext* context) {} | 171 content::BrowserContext* context) {} |
149 | 172 |
150 } // namespace policy | 173 } // namespace policy |
OLD | NEW |