| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/user_cloud_policy_manager_factory.h" | 5 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" |
| 6 | 6 |
| 7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/message_loop/message_loop_proxy.h" |
| 10 #include "base/sequenced_task_runner.h" | 10 #include "base/sequenced_task_runner.h" |
| 11 #include "chrome/browser/policy/schema_registry_service.h" | 11 #include "chrome/browser/policy/schema_registry_service.h" |
| 12 #include "chrome/browser/policy/schema_registry_service_factory.h" | 12 #include "chrome/browser/policy/schema_registry_service_factory.h" |
| 13 #include "components/browser_context_keyed_service/browser_context_dependency_ma
nager.h" | 13 #include "components/browser_context_keyed_service/browser_context_dependency_ma
nager.h" |
| 14 #include "components/browser_context_keyed_service/browser_context_keyed_service
.h" | 14 #include "components/browser_context_keyed_service/browser_context_keyed_service
.h" |
| 15 #include "components/policy/core/common/cloud/cloud_external_data_manager.h" | 15 #include "components/policy/core/common/cloud/cloud_external_data_manager.h" |
| 16 #include "components/policy/core/common/cloud/cloud_policy_constants.h" |
| 16 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" | 17 #include "components/policy/core/common/cloud/user_cloud_policy_manager.h" |
| 17 #include "components/policy/core/common/cloud/user_cloud_policy_store.h" | 18 #include "components/policy/core/common/cloud/user_cloud_policy_store.h" |
| 18 #include "content/public/browser/browser_context.h" | 19 #include "content/public/browser/browser_context.h" |
| 19 | 20 |
| 20 namespace policy { | 21 namespace policy { |
| 21 | 22 |
| 22 namespace { | 23 namespace { |
| 23 | 24 |
| 24 // Directory inside the profile directory where policy-related resources are | 25 // Directory inside the profile directory where policy-related resources are |
| 25 // stored. | 26 // stored. |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 const scoped_refptr<base::SequencedTaskRunner>& background_task_runner, | 137 const scoped_refptr<base::SequencedTaskRunner>& background_task_runner, |
| 137 const scoped_refptr<base::SequencedTaskRunner>& file_task_runner, | 138 const scoped_refptr<base::SequencedTaskRunner>& file_task_runner, |
| 138 const scoped_refptr<base::SequencedTaskRunner>& io_task_runner) { | 139 const scoped_refptr<base::SequencedTaskRunner>& io_task_runner) { |
| 139 DCHECK(!context->IsOffTheRecord()); | 140 DCHECK(!context->IsOffTheRecord()); |
| 140 | 141 |
| 141 // This should never be called if we're using a testing factory. | 142 // This should never be called if we're using a testing factory. |
| 142 // Instead, instances are instantiated via CreateServiceNow(). | 143 // Instead, instances are instantiated via CreateServiceNow(). |
| 143 DCHECK(!testing_factory_); | 144 DCHECK(!testing_factory_); |
| 144 | 145 |
| 145 scoped_ptr<UserCloudPolicyStore> store( | 146 scoped_ptr<UserCloudPolicyStore> store( |
| 146 UserCloudPolicyStore::Create(context->GetPath(), background_task_runner)); | 147 UserCloudPolicyStore::Create(context->GetPath(), |
| 148 GetPolicyVerificationKey(), |
| 149 background_task_runner)); |
| 147 if (force_immediate_load) | 150 if (force_immediate_load) |
| 148 store->LoadImmediately(); | 151 store->LoadImmediately(); |
| 149 | 152 |
| 150 const base::FilePath component_policy_cache_dir = | 153 const base::FilePath component_policy_cache_dir = |
| 151 context->GetPath().Append(kPolicy).Append(kComponentsDir); | 154 context->GetPath().Append(kPolicy).Append(kComponentsDir); |
| 152 | 155 |
| 153 scoped_ptr<UserCloudPolicyManager> manager; | 156 scoped_ptr<UserCloudPolicyManager> manager; |
| 154 manager.reset(new UserCloudPolicyManager( | 157 manager.reset(new UserCloudPolicyManager( |
| 158 kPolicyVerificationKeyHash, |
| 155 store.Pass(), | 159 store.Pass(), |
| 156 component_policy_cache_dir, | 160 component_policy_cache_dir, |
| 157 scoped_ptr<CloudExternalDataManager>(), | 161 scoped_ptr<CloudExternalDataManager>(), |
| 158 base::MessageLoopProxy::current(), | 162 base::MessageLoopProxy::current(), |
| 159 file_task_runner, | 163 file_task_runner, |
| 160 io_task_runner)); | 164 io_task_runner)); |
| 161 manager->Init(SchemaRegistryServiceFactory::GetForContext(context)); | 165 manager->Init(SchemaRegistryServiceFactory::GetForContext(context)); |
| 162 manager_wrappers_[context] = new ManagerWrapper(manager.get()); | 166 manager_wrappers_[context] = new ManagerWrapper(manager.get()); |
| 163 return manager.Pass(); | 167 return manager.Pass(); |
| 164 } | 168 } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 return testing_factory_ != NULL; | 208 return testing_factory_ != NULL; |
| 205 } | 209 } |
| 206 | 210 |
| 207 void UserCloudPolicyManagerFactory::CreateServiceNow( | 211 void UserCloudPolicyManagerFactory::CreateServiceNow( |
| 208 content::BrowserContext* context) { | 212 content::BrowserContext* context) { |
| 209 DCHECK(testing_factory_); | 213 DCHECK(testing_factory_); |
| 210 manager_wrappers_[context] = new ManagerWrapper(testing_factory_(context)); | 214 manager_wrappers_[context] = new ManagerWrapper(testing_factory_(context)); |
| 211 } | 215 } |
| 212 | 216 |
| 213 } // namespace policy | 217 } // namespace policy |
| OLD | NEW |