| 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 6d67d67d149e2bfb5275fa6ed55d2a25b7a3c3a0..4ecb9ecbb58d53ba0d506c54d5497357002fecc7 100644
|
| --- a/chrome/browser/policy/configuration_policy_provider.cc
|
| +++ b/chrome/browser/policy/configuration_policy_provider.cc
|
| @@ -97,7 +97,11 @@ void ConfigurationPolicyProvider::FixDeprecatedPolicies(PolicyMap* policies) {
|
| policies->Erase(kProxyPolicies[i]);
|
| }
|
| }
|
| - if (!proxy_settings->empty() && !policies->Get(key::kProxySettings)) {
|
| + // Sets the new |proxy_settings| if kProxySettings isn't set yet, or if the
|
| + // new priority is higher.
|
| + const PolicyMap::Entry* existing = policies->Get(key::kProxySettings);
|
| + if (!proxy_settings->empty() &&
|
| + (!existing || current_priority.has_higher_priority_than(*existing))) {
|
| policies->Set(key::kProxySettings,
|
| current_priority.level,
|
| current_priority.scope,
|
|
|