Chromium Code Reviews| 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 435fb9b8273c7b156f7c4a410ff3b3e4be501028..67b41e3e6b13643a8e01697b55d904ba798ad466 100644 |
| --- a/chrome/browser/policy/configuration_policy_provider.cc |
| +++ b/chrome/browser/policy/configuration_policy_provider.cc |
| @@ -21,37 +21,9 @@ const char* kProxyPolicies[] = { |
| key::kProxyBypassList, |
| }; |
| -} // namespace |
| - |
| -ConfigurationPolicyProvider::Observer::~Observer() {} |
| - |
| -void ConfigurationPolicyProvider::Observer::OnProviderGoingAway( |
| - ConfigurationPolicyProvider* provider) {} |
| - |
| -// Class ConfigurationPolicyProvider. |
| - |
| -ConfigurationPolicyProvider::ConfigurationPolicyProvider( |
| - const PolicyDefinitionList* policy_list) |
| - : policy_definition_list_(policy_list) { |
| -} |
| - |
| -ConfigurationPolicyProvider::~ConfigurationPolicyProvider() { |
| - FOR_EACH_OBSERVER(ConfigurationPolicyProvider::Observer, |
| - observer_list_, |
| - OnProviderGoingAway(this)); |
| -} |
| - |
| -bool ConfigurationPolicyProvider::Provide(PolicyMap* result) { |
| - result->CopyFrom(policy_bundle_.Get(POLICY_DOMAIN_CHROME, std::string())); |
| - return true; |
| -} |
| - |
| -bool ConfigurationPolicyProvider::IsInitializationComplete() const { |
| - return true; |
| -} |
| - |
| -// static |
| -void ConfigurationPolicyProvider::FixDeprecatedPolicies(PolicyMap* policies) { |
| +// Helper that converts deprecated chrome policies into their corresponding |
| +// actual policies. |
| +void FixDeprecatedPolicies(PolicyMap* policies) { |
| // Proxy settings have been configured by 5 policies that didn't mix well |
| // together, and maps of policies had to take this into account when merging |
| // policy sources. The proxy settings will eventually be configured by a |
| @@ -89,9 +61,36 @@ void ConfigurationPolicyProvider::FixDeprecatedPolicies(PolicyMap* policies) { |
| } |
| } |
| +} // namespace |
| + |
| +ConfigurationPolicyProvider::Observer::~Observer() {} |
| + |
| +void ConfigurationPolicyProvider::Observer::OnProviderGoingAway( |
| + ConfigurationPolicyProvider* provider) {} |
| + |
| +// Class ConfigurationPolicyProvider. |
|
Mattias Nissler (ping if slow)
2012/05/14 16:55:59
If you add that here, you probably want another co
Joao da Silva
2012/05/15 13:07:05
I didn't even notice this :-) This was the origina
|
| + |
| +ConfigurationPolicyProvider::ConfigurationPolicyProvider( |
| + const PolicyDefinitionList* policy_list) |
| + : policy_definition_list_(policy_list) { |
| +} |
| + |
| +ConfigurationPolicyProvider::~ConfigurationPolicyProvider() { |
| + FOR_EACH_OBSERVER(ConfigurationPolicyProvider::Observer, |
| + observer_list_, |
| + OnProviderGoingAway(this)); |
| +} |
| + |
| +bool ConfigurationPolicyProvider::IsInitializationComplete() const { |
| + return true; |
| +} |
| + |
| void ConfigurationPolicyProvider::UpdatePolicy( |
| scoped_ptr<PolicyBundle> bundle) { |
| - policy_bundle_.Swap(bundle.get()); |
| + if (bundle.get()) |
| + policy_bundle_.Swap(bundle.get()); |
| + else |
| + policy_bundle_.Clear(); |
| FixDeprecatedPolicies( |
| &policy_bundle_.Get(POLICY_DOMAIN_CHROME, std::string())); |
| FOR_EACH_OBSERVER(ConfigurationPolicyProvider::Observer, |