| 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..2d0f0445af9ec8999a5976ee5a04fa82abf80bf4 100644
|
| --- a/chrome/browser/chromeos/settings/device_settings_provider.cc
|
| +++ b/chrome/browser/chromeos/settings/device_settings_provider.cc
|
| @@ -98,7 +98,8 @@ const char* const kKnownSettings[] = {
|
| kTargetVersionPrefix,
|
| kUpdateDisabled,
|
| kVariationsRestrictParameter,
|
| -};
|
| + kDeviceLoginScreenLocales,
|
| + kDeviceLoginScreenInputMethods};
|
|
|
| void DecodeLoginPolicies(
|
| const em::ChromeDeviceSettingsProto& policy,
|
| @@ -533,6 +534,26 @@ void DecodeGenericPolicies(
|
| policy.device_wallpaper_image().device_wallpaper_image()));
|
| new_values_cache->SetValue(kDeviceWallpaperImage, std::move(dict_val));
|
| }
|
| +
|
| + 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 DecodeLogUploadPolicies(const em::ChromeDeviceSettingsProto& policy,
|
|
|