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 |