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 301e4aa8c73a30b303da1920d885fb82993fabb1..7e1dc1e42ca2fd867858df6c44cdee83aa158420 100644 |
--- a/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc |
+++ b/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc |
@@ -332,6 +332,56 @@ void DecodeLoginPolicies(const em::ChromeDeviceSettingsProto& policy, |
policies->Set(key::kLoginApps, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
POLICY_SOURCE_CLOUD, std::move(login_apps), nullptr); |
} |
+ |
+ if (policy.has_login_screen_power_management()) { |
+ const em::LoginScreenPowerManagementProto& container( |
+ policy.login_screen_power_management()); |
+ if (container.has_login_screen_power_management()) { |
+ std::unique_ptr<base::Value> decoded_json; |
+ decoded_json = DecodeJsonStringAndDropUnknownBySchema( |
+ container.login_screen_power_management(), |
+ key::kDeviceLoginScreenPowerManagement); |
+ if (decoded_json) { |
+ policies->Set(key::kDeviceLoginScreenPowerManagement, |
+ POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
+ POLICY_SOURCE_CLOUD, std::move(decoded_json), nullptr); |
+ } |
+ } |
+ } |
+ |
+ if (policy.has_login_screen_domain_auto_complete()) { |
+ const em::LoginScreenDomainAutoCompleteProto& container( |
+ policy.login_screen_domain_auto_complete()); |
+ policies->Set(key::kDeviceLoginScreenDomainAutoComplete, |
+ POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
+ POLICY_SOURCE_CLOUD, |
+ base::MakeUnique<base::StringValue>( |
+ container.login_screen_domain_auto_complete()), |
+ nullptr); |
+ } |
+ |
+ 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); |
+ policies->Set(key::kDeviceLoginScreenLocales, POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, std::move(locales), |
+ nullptr); |
+ } |
+ |
+ 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); |
+ policies->Set(key::kDeviceLoginScreenInputMethods, POLICY_LEVEL_MANDATORY, |
+ POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, |
+ std::move(input_methods), nullptr); |
+ } |
} |
void DecodeNetworkPolicies(const em::ChromeDeviceSettingsProto& policy, |
@@ -753,22 +803,6 @@ void DecodeGenericPolicies(const em::ChromeDeviceSettingsProto& policy, |
} |
} |
- if (policy.has_login_screen_power_management()) { |
- const em::LoginScreenPowerManagementProto& container( |
- policy.login_screen_power_management()); |
- if (container.has_login_screen_power_management()) { |
- std::unique_ptr<base::Value> decoded_json; |
- decoded_json = DecodeJsonStringAndDropUnknownBySchema( |
- container.login_screen_power_management(), |
- key::kDeviceLoginScreenPowerManagement); |
- if (decoded_json) { |
- policies->Set(key::kDeviceLoginScreenPowerManagement, |
- POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
- POLICY_SOURCE_CLOUD, std::move(decoded_json), nullptr); |
- } |
- } |
- } |
- |
if (policy.has_system_settings()) { |
const em::SystemSettingsProto& container(policy.system_settings()); |
if (container.has_block_devmode()) { |
@@ -790,17 +824,6 @@ void DecodeGenericPolicies(const em::ChromeDeviceSettingsProto& policy, |
} |
} |
- if (policy.has_login_screen_domain_auto_complete()) { |
- const em::LoginScreenDomainAutoCompleteProto& container( |
- policy.login_screen_domain_auto_complete()); |
- policies->Set(key::kDeviceLoginScreenDomainAutoComplete, |
- POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, |
- POLICY_SOURCE_CLOUD, |
- base::MakeUnique<base::StringValue>( |
- container.login_screen_domain_auto_complete()), |
- nullptr); |
- } |
- |
if (policy.has_display_rotation_default()) { |
const em::DisplayRotationDefaultProto& container( |
policy.display_rotation_default()); |