| Index: chrome/browser/policy/browser_policy_connector.cc
|
| diff --git a/chrome/browser/policy/browser_policy_connector.cc b/chrome/browser/policy/browser_policy_connector.cc
|
| index 2a707eeb048674b39f220d1977a3ad1cf5c7029d..20b6ea0d0fcd145885f66ed1e0947db6f0a4da2d 100644
|
| --- a/chrome/browser/policy/browser_policy_connector.cc
|
| +++ b/chrome/browser/policy/browser_policy_connector.cc
|
| @@ -31,7 +31,6 @@
|
| #include "chrome/browser/policy/cloud/cloud_policy_service.h"
|
| #include "chrome/browser/policy/cloud/device_management_service.h"
|
| #include "chrome/browser/policy/configuration_policy_provider.h"
|
| -#include "chrome/browser/policy/policy_domain_descriptor.h"
|
| #include "chrome/browser/policy/policy_service_impl.h"
|
| #include "chrome/browser/policy/policy_statistics_collector.h"
|
| #include "chrome/common/chrome_paths.h"
|
| @@ -289,15 +288,18 @@ void BrowserPolicyConnector::Init(
|
| kServiceInitializationStartupDelay);
|
|
|
| if (g_testing_provider)
|
| - g_testing_provider->Init();
|
| + g_testing_provider->Init(GetSchemaRegistry());
|
| if (platform_provider_)
|
| - platform_provider_->Init();
|
| + platform_provider_->Init(GetSchemaRegistry());
|
|
|
| #if defined(OS_CHROMEOS)
|
| - global_user_cloud_policy_provider_.Init();
|
| + global_user_cloud_policy_provider_.Init(GetSchemaRegistry());
|
|
|
| if (device_cloud_policy_manager_) {
|
| - device_cloud_policy_manager_->Init();
|
| + // For now the |device_cloud_policy_manager_| is using the global schema
|
| + // registry. Eventually it will have its own registry, once device cloud
|
| + // policy for extensions is introduced.
|
| + device_cloud_policy_manager_->Init(GetSchemaRegistry());
|
| scoped_ptr<CloudPolicyClient::StatusProvider> status_provider(
|
| new DeviceStatusCollector(
|
| local_state_,
|
| @@ -439,12 +441,7 @@ scoped_ptr<PolicyService> BrowserPolicyConnector::CreatePolicyService(
|
| std::copy(additional_providers.begin(), additional_providers.end(),
|
| std::back_inserter(providers));
|
| }
|
| - scoped_ptr<PolicyService> service(new PolicyServiceImpl(providers));
|
| - scoped_refptr<PolicyDomainDescriptor> descriptor = new PolicyDomainDescriptor(
|
| - POLICY_DOMAIN_CHROME);
|
| - descriptor->RegisterComponent("", Schema::Wrap(GetChromeSchemaData()));
|
| - service->RegisterPolicyDomain(descriptor);
|
| - return service.Pass();
|
| + return scoped_ptr<PolicyService>(new PolicyServiceImpl(providers));
|
| }
|
|
|
| const ConfigurationPolicyHandlerList*
|
| @@ -587,14 +584,13 @@ void BrowserPolicyConnector::SetTimezoneIfPolicyAvailable() {
|
| #endif
|
| }
|
|
|
| -// static
|
| ConfigurationPolicyProvider* BrowserPolicyConnector::CreatePlatformProvider() {
|
| #if defined(OS_WIN)
|
| const PolicyDefinitionList* policy_list = GetChromePolicyDefinitionList();
|
| scoped_ptr<AsyncPolicyLoader> loader(PolicyLoaderWin::Create(
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE),
|
| policy_list));
|
| - return new AsyncPolicyProvider(loader.Pass());
|
| + return new AsyncPolicyProvider(GetSchemaRegistry(), loader.Pass());
|
| #elif defined(OS_MACOSX) && !defined(OS_IOS)
|
| const PolicyDefinitionList* policy_list = GetChromePolicyDefinitionList();
|
| scoped_ptr<AsyncPolicyLoader> loader(new PolicyLoaderMac(
|
| @@ -602,7 +598,7 @@ ConfigurationPolicyProvider* BrowserPolicyConnector::CreatePlatformProvider() {
|
| policy_list,
|
| GetManagedPolicyPath(),
|
| new MacPreferences()));
|
| - return new AsyncPolicyProvider(loader.Pass());
|
| + return new AsyncPolicyProvider(GetSchemaRegistry(), loader.Pass());
|
| #elif defined(OS_POSIX) && !defined(OS_ANDROID)
|
| base::FilePath config_dir_path;
|
| if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) {
|
| @@ -610,7 +606,7 @@ ConfigurationPolicyProvider* BrowserPolicyConnector::CreatePlatformProvider() {
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE),
|
| config_dir_path,
|
| POLICY_SCOPE_MACHINE));
|
| - return new AsyncPolicyProvider(loader.Pass());
|
| + return new AsyncPolicyProvider(GetSchemaRegistry(), loader.Pass());
|
| } else {
|
| return NULL;
|
| }
|
|
|