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

Unified Diff: chrome/browser/policy/configuration_policy_provider.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: Fixed mac tests 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/configuration_policy_provider.cc
diff --git a/chrome/browser/policy/configuration_policy_provider.cc b/chrome/browser/policy/configuration_policy_provider.cc
index 18f849ce4f471b43f2df56b1d6e41a28c25054c4..7908360cb5ffd04c5ee6621b5952e8243a7331b9 100644
--- a/chrome/browser/policy/configuration_policy_provider.cc
+++ b/chrome/browser/policy/configuration_policy_provider.cc
@@ -6,7 +6,6 @@
#include "base/callback.h"
#include "chrome/browser/policy/external_data_fetcher.h"
-#include "chrome/browser/policy/policy_domain_descriptor.h"
#include "chrome/browser/policy/policy_map.h"
#include "policy/policy_constants.h"
@@ -68,16 +67,26 @@ void FixDeprecatedPolicies(PolicyMap* policies) {
ConfigurationPolicyProvider::Observer::~Observer() {}
ConfigurationPolicyProvider::ConfigurationPolicyProvider()
- : did_shutdown_(false) {}
+ : did_shutdown_(false),
+ schema_registry_(NULL) {}
ConfigurationPolicyProvider::~ConfigurationPolicyProvider() {
DCHECK(did_shutdown_);
}
-void ConfigurationPolicyProvider::Init() {}
+void ConfigurationPolicyProvider::Init(SchemaRegistry* registry) {
+ schema_registry_ = registry;
+ schema_registry_->AddObserver(this);
+}
void ConfigurationPolicyProvider::Shutdown() {
did_shutdown_ = true;
+ if (schema_registry_) {
+ // Unit tests don't initialize the browser_policy_connector but call
bartfab (slow) 2013/11/05 15:53:04 Written with underscores like this, browser_policy
Joao da Silva 2013/11/07 13:15:00 Done.
+ // shutdown; handle that.
+ schema_registry_->RemoveObserver(this);
+ schema_registry_ = NULL;
+ }
}
bool ConfigurationPolicyProvider::IsInitializationComplete(
@@ -85,6 +94,13 @@ bool ConfigurationPolicyProvider::IsInitializationComplete(
return true;
}
+void ConfigurationPolicyProvider::OnSchemaRegistryUpdated(
+ const scoped_refptr<SchemaMap>& current_map,
bartfab (slow) 2013/11/05 15:53:04 General question: Does anyone ever use the current
Joao da Silva 2013/11/07 13:15:00 That's right, removed.
+ bool has_new_schemas) {
+ if (has_new_schemas)
+ RefreshPolicies();
+}
+
void ConfigurationPolicyProvider::UpdatePolicy(
scoped_ptr<PolicyBundle> bundle) {
if (bundle.get())
@@ -98,6 +114,11 @@ void ConfigurationPolicyProvider::UpdatePolicy(
OnUpdatePolicy(this));
}
+const scoped_refptr<SchemaMap>&
+ConfigurationPolicyProvider::schema_map() const {
+ return schema_registry_->schema_map();
+}
+
void ConfigurationPolicyProvider::AddObserver(Observer* observer) {
observer_list_.AddObserver(observer);
}
@@ -106,7 +127,4 @@ void ConfigurationPolicyProvider::RemoveObserver(Observer* observer) {
observer_list_.RemoveObserver(observer);
}
-void ConfigurationPolicyProvider::RegisterPolicyDomain(
- scoped_refptr<const PolicyDomainDescriptor> descriptor) {}
-
} // namespace policy

Powered by Google App Engine
This is Rietveld 408576698