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 82ca86494a6bd38b116a1342352e7c794977ae2d..3f8e3fdb7dd952ce6c68b90678ece9bce6087895 100644 |
--- a/chrome/browser/policy/configuration_policy_provider.cc |
+++ b/chrome/browser/policy/configuration_policy_provider.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/policy/configuration_policy_provider.h" |
#include "base/values.h" |
+#include "chrome/browser/policy/policy_map.h" |
namespace policy { |
@@ -21,7 +22,7 @@ bool ConfigurationPolicyProvider::IsInitializationComplete() const { |
return true; |
} |
-void ConfigurationPolicyProvider::DecodePolicyValueTree( |
+void ConfigurationPolicyProvider::ApplyPolicyValueTree( |
const DictionaryValue* policies, |
ConfigurationPolicyStoreInterface* store) { |
const PolicyDefinitionList* policy_list(policy_definition_list()); |
@@ -36,6 +37,18 @@ void ConfigurationPolicyProvider::DecodePolicyValueTree( |
// supports it. |
} |
+void ConfigurationPolicyProvider::ApplyPolicyMap( |
+ const PolicyMap* policies, |
+ ConfigurationPolicyStoreInterface* store) { |
+ const PolicyDefinitionList* policy_list(policy_definition_list()); |
+ for (const PolicyDefinitionList::Entry* i = policy_list->begin; |
+ i != policy_list->end; ++i) { |
+ const Value* value = policies->Get(i->policy_type); |
+ if (value && value->IsType(i->value_type)) |
+ store->Apply(i->policy_type, value->DeepCopy()); |
+ } |
+} |
+ |
// Class ConfigurationPolicyObserverRegistrar. |
ConfigurationPolicyObserverRegistrar::ConfigurationPolicyObserverRegistrar() |