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

Unified Diff: chrome/browser/policy/browser_policy_connector.cc

Issue 56623005: Policy providers all get a SchemaRegistry to work with. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@chrome-policy-schema-9-purge-with-callback
Patch Set: rebase Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
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;
}
« no previous file with comments | « chrome/browser/policy/browser_policy_connector.h ('k') | chrome/browser/policy/cloud/cloud_policy_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698