| 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 7d6366080f07a45237ac838c5021465baf3f17a5..014a1eff711a9ac658fa28c90a7ab9e6a589d4f4 100644
|
| --- a/chrome/browser/chromeos/settings/device_settings_provider.cc
|
| +++ b/chrome/browser/chromeos/settings/device_settings_provider.cc
|
| @@ -56,6 +56,7 @@ const char* kKnownSettings[] = {
|
| kDeviceOwner,
|
| kIdleLogoutTimeout,
|
| kIdleLogoutWarningDuration,
|
| + kKioskVirtualKeyboardLayout,
|
| kPolicyMissingMitigationMode,
|
| kReleaseChannel,
|
| kReleaseChannelDelegated,
|
| @@ -394,6 +395,14 @@ void DeviceSettingsProvider::SetInPolicy() {
|
| } else {
|
| NOTREACHED();
|
| }
|
| + } else if (prop == kKioskVirtualKeyboardLayout) {
|
| + em::KioskVirtualKeyboardProto* keyboard_settings =
|
| + device_settings_.mutable_kiosk_virtual_keyboard();
|
| + std::string layout;
|
| + if (value->GetAsString(&layout))
|
| + keyboard_settings->set_layout(layout);
|
| + else
|
| + NOTREACHED();
|
| } else {
|
| // The remaining settings don't support Set(), since they are not
|
| // intended to be customizable by the user:
|
| @@ -773,6 +782,13 @@ void DeviceSettingsProvider::DecodeGenericPolicies(
|
| } else {
|
| new_values_cache->SetBoolean(kAttestationForContentProtectionEnabled, true);
|
| }
|
| +
|
| + if (policy.has_kiosk_virtual_keyboard() &&
|
| + policy.kiosk_virtual_keyboard().has_layout()) {
|
| + new_values_cache->SetString(
|
| + kKioskVirtualKeyboardLayout,
|
| + policy.kiosk_virtual_keyboard().layout());
|
| + }
|
| }
|
|
|
| void DeviceSettingsProvider::UpdateValuesCache(
|
|
|