| Index: chrome/browser/configuration_policy_pref_store.cc
|
| diff --git a/chrome/browser/configuration_policy_pref_store.cc b/chrome/browser/configuration_policy_pref_store.cc
|
| index d2ada7c5809c60aa89bee6a1815f23ec786fe771..43c9caa15d036cc12c1dd67d35a5dfbefbf0538b 100644
|
| --- a/chrome/browser/configuration_policy_pref_store.cc
|
| +++ b/chrome/browser/configuration_policy_pref_store.cc
|
| @@ -224,6 +224,19 @@ bool ConfigurationPolicyPrefStore::ApplyProxyPolicy(PolicyType policy,
|
| return result;
|
| }
|
|
|
| +bool ConfigurationPolicyPrefStore::ApplySyncPolicy(PolicyType policy,
|
| + Value* value) {
|
| + if (policy == ConfigurationPolicyStore::kPolicySyncDisabled) {
|
| + bool disable_sync;
|
| + if (value->GetAsBoolean(&disable_sync) && disable_sync)
|
| + prefs_->Set(prefs::kSyncManaged, value);
|
| + else
|
| + delete value;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| bool ConfigurationPolicyPrefStore::ApplyPolicyFromMap(PolicyType policy,
|
| Value* value, const PolicyToPreferenceMapEntry map[], int size) {
|
| const PolicyToPreferenceMapEntry* end = map + size;
|
| @@ -242,6 +255,9 @@ void ConfigurationPolicyPrefStore::Apply(PolicyType policy, Value* value) {
|
| if (ApplyProxyPolicy(policy, value))
|
| return;
|
|
|
| + if (ApplySyncPolicy(policy, value))
|
| + return;
|
| +
|
| if (ApplyPolicyFromMap(policy, value, simple_policy_map_,
|
| arraysize(simple_policy_map_)))
|
| return;
|
| @@ -249,4 +265,3 @@ void ConfigurationPolicyPrefStore::Apply(PolicyType policy, Value* value) {
|
| // Other policy implementations go here.
|
| NOTIMPLEMENTED();
|
| }
|
| -
|
|
|