| 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 |