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 423ab66b5fb14591f051740588513db4fa948bc0..e954622d5a3310f6ee4869d43c5eb747c7cb5b13 100644 |
--- a/chrome/browser/chromeos/settings/device_settings_provider.cc |
+++ b/chrome/browser/chromeos/settings/device_settings_provider.cc |
@@ -98,6 +98,8 @@ const char* const kKnownSettings[] = { |
kTargetVersionPrefix, |
kUpdateDisabled, |
kVariationsRestrictParameter, |
+ kDeviceLoginScreenLocales, |
+ kDeviceLoginScreenInputMethods, |
}; |
void DecodeLoginPolicies( |
@@ -310,6 +312,26 @@ void DecodeLoginPolicies( |
login_apps->AppendString(login_app); |
new_values_cache->SetValue(kLoginApps, std::move(login_apps)); |
} |
+ |
+ if (policy.has_login_screen_locales()) { |
+ std::unique_ptr<base::ListValue> locales(new base::ListValue); |
+ const em::LoginScreenLocalesProto& login_screen_locales( |
+ policy.login_screen_locales()); |
+ for (const auto& locale : login_screen_locales.login_screen_locales()) |
+ locales->AppendString(locale); |
+ new_values_cache->SetValue(kDeviceLoginScreenLocales, std::move(locales)); |
+ } |
+ |
+ if (policy.has_login_screen_input_methods()) { |
+ std::unique_ptr<base::ListValue> input_methods(new base::ListValue); |
+ const em::LoginScreenInputMethodsProto& login_screen_input_methods( |
+ policy.login_screen_input_methods()); |
+ for (const auto& input_method : |
+ login_screen_input_methods.login_screen_input_methods()) |
+ input_methods->AppendString(input_method); |
+ new_values_cache->SetValue(kDeviceLoginScreenInputMethods, |
+ std::move(input_methods)); |
+ } |
} |
void DecodeNetworkPolicies( |