Index: chrome/browser/chromeos/settings/device_settings_provider.cc |
diff --git a/chrome/browser/chromeos/settings/device_settings_provider.cc b/chrome/browser/chromeos/settings/device_settings_provider.cc |
index f60f5445fc60662b41b5d35e859f25362091d5d2..f58d4b201397092e0018c0cef759538964f729d4 100644 |
--- a/chrome/browser/chromeos/settings/device_settings_provider.cc |
+++ b/chrome/browser/chromeos/settings/device_settings_provider.cc |
@@ -44,6 +44,7 @@ const char* kKnownSettings[] = { |
kAccountsPrefShowUserNamesOnSignIn, |
kAccountsPrefUsers, |
kAccountsPrefDeviceLocalAccounts, |
+ kAllowRedeemChromeOsRegistrationOffers, |
kAppPack, |
kDeviceOwner, |
kIdleLogoutTimeout, |
@@ -290,6 +291,16 @@ void DeviceSettingsProvider::SetInPolicy() { |
} else { |
NOTREACHED(); |
} |
+ } else if (prop == kAllowRedeemChromeOsRegistrationOffers) { |
+ em::AllowRedeemChromeOsRegistrationOffersProto* allow_redeem_offers = |
+ device_settings_.mutable_allow_redeem_offers(); |
+ bool allow_redeem_offers_value = true; |
+ if (value->GetAsBoolean(&allow_redeem_offers_value)) { |
+ allow_redeem_offers->set_allow_redeem_offers( |
+ allow_redeem_offers_value); |
+ } else { |
+ NOTREACHED(); |
+ } |
} else { |
// The remaining settings don't support Set(), since they are not |
// intended to be customizable by the user: |
@@ -536,6 +547,16 @@ void DeviceSettingsProvider::DecodeGenericPolicies( |
policy.system_timezone().timezone()); |
} |
} |
+ |
+ if (policy.has_allow_redeem_offers()) { |
+ new_values_cache->SetBoolean( |
+ kAllowRedeemChromeOsRegistrationOffers, |
+ policy.allow_redeem_offers().allow_redeem_offers()); |
+ } else { |
+ new_values_cache->SetBoolean( |
+ kAllowRedeemChromeOsRegistrationOffers, |
+ true); |
+ } |
} |
void DeviceSettingsProvider::UpdateValuesCache( |