Index: chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc |
diff --git a/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc b/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc |
index b1d9b62dfea67ab52a9543400d71f9e523db313d..2233cb8d7abe82a63258a26ad7e9814c42c07020 100644 |
--- a/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc |
+++ b/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc |
@@ -416,6 +416,50 @@ void DecodeAutoUpdatePolicies(const em::ChromeDeviceSettingsProto& policy, |
} |
} |
+void DecodeAccessibilityPolicies(const em::ChromeDeviceSettingsProto& policy, |
+ PolicyMap* policies) { |
+ if (policy.has_accessibility_settings()) { |
+ const em::AccessibilitySettingsProto& |
+ container(policy.accessibility_settings()); |
+ |
+ if (container.has_login_screen_default_large_cursor_enabled()) { |
+ policies->Set( |
+ key::kDeviceLoginScreenDefaultLargeCursorEnabled, |
+ POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_MACHINE, |
+ Value::CreateBooleanValue( |
+ container.login_screen_default_large_cursor_enabled())); |
+ } |
+ |
+ if (container.has_login_screen_default_spoken_feedback_enabled()) { |
+ policies->Set( |
+ key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled, |
+ POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_MACHINE, |
+ Value::CreateBooleanValue( |
+ container.login_screen_default_spoken_feedback_enabled())); |
+ } |
+ |
+ if (container.has_login_screen_default_high_contrast_enabled()) { |
+ policies->Set( |
+ key::kDeviceLoginScreenDefaultHighContrastEnabled, |
+ POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_MACHINE, |
+ Value::CreateBooleanValue( |
+ container.login_screen_default_high_contrast_enabled())); |
+ } |
+ |
+ if (container.has_login_screen_default_screen_magnifier_type()) { |
+ policies->Set( |
+ key::kDeviceLoginScreenDefaultScreenMagnifierType, |
+ POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_MACHINE, |
+ DecodeIntegerValue( |
+ container.login_screen_default_screen_magnifier_type())); |
+ } |
+ } |
+} |
+ |
void DecodeGenericPolicies(const em::ChromeDeviceSettingsProto& policy, |
PolicyMap* policies) { |
if (policy.has_device_policy_refresh_rate()) { |
@@ -533,6 +577,7 @@ void DecodeDevicePolicy(const em::ChromeDeviceSettingsProto& policy, |
DecodeNetworkPolicies(policy, policies, install_attributes); |
DecodeReportingPolicies(policy, policies); |
DecodeAutoUpdatePolicies(policy, policies); |
+ DecodeAccessibilityPolicies(policy, policies); |
DecodeGenericPolicies(policy, policies); |
} |