OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/policy/device_policy_decoder_chromeos.h" | 5 #include "chrome/browser/chromeos/policy/device_policy_decoder_chromeos.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
846 policy.device_wallpaper_image()); | 846 policy.device_wallpaper_image()); |
847 if (container.has_device_wallpaper_image()) { | 847 if (container.has_device_wallpaper_image()) { |
848 std::unique_ptr<base::DictionaryValue> dict_val = | 848 std::unique_ptr<base::DictionaryValue> dict_val = |
849 base::DictionaryValue::From( | 849 base::DictionaryValue::From( |
850 base::JSONReader::Read(container.device_wallpaper_image())); | 850 base::JSONReader::Read(container.device_wallpaper_image())); |
851 policies->Set(key::kDeviceWallpaperImage, POLICY_LEVEL_MANDATORY, | 851 policies->Set(key::kDeviceWallpaperImage, POLICY_LEVEL_MANDATORY, |
852 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, | 852 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, |
853 std::move(dict_val), nullptr); | 853 std::move(dict_val), nullptr); |
854 } | 854 } |
855 } | 855 } |
| 856 |
| 857 if (policy.has_login_screen_locales()) { |
| 858 std::unique_ptr<base::ListValue> locales(new base::ListValue); |
| 859 const em::LoginScreenLocalesProto& login_screen_locales( |
| 860 policy.login_screen_locales()); |
| 861 for (const auto& locale : login_screen_locales.login_screen_locales()) |
| 862 locales->AppendString(locale); |
| 863 policies->Set(key::kDeviceLoginScreenLocales, POLICY_LEVEL_MANDATORY, |
| 864 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, std::move(locales), |
| 865 nullptr); |
| 866 } |
| 867 |
| 868 if (policy.has_login_screen_input_methods()) { |
| 869 std::unique_ptr<base::ListValue> input_methods(new base::ListValue); |
| 870 const em::LoginScreenInputMethodsProto& login_screen_input_methods( |
| 871 policy.login_screen_input_methods()); |
| 872 for (const auto& input_method : |
| 873 login_screen_input_methods.login_screen_input_methods()) |
| 874 input_methods->AppendString(input_method); |
| 875 policies->Set(key::kDeviceLoginScreenInputMethods, POLICY_LEVEL_MANDATORY, |
| 876 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, |
| 877 std::move(input_methods), nullptr); |
| 878 } |
856 } | 879 } |
857 | 880 |
858 } // namespace | 881 } // namespace |
859 | 882 |
860 void DecodeDevicePolicy(const em::ChromeDeviceSettingsProto& policy, | 883 void DecodeDevicePolicy(const em::ChromeDeviceSettingsProto& policy, |
861 PolicyMap* policies) { | 884 PolicyMap* policies) { |
862 // Decode the various groups of policies. | 885 // Decode the various groups of policies. |
863 DecodeLoginPolicies(policy, policies); | 886 DecodeLoginPolicies(policy, policies); |
864 DecodeNetworkPolicies(policy, policies); | 887 DecodeNetworkPolicies(policy, policies); |
865 DecodeReportingPolicies(policy, policies); | 888 DecodeReportingPolicies(policy, policies); |
866 DecodeAutoUpdatePolicies(policy, policies); | 889 DecodeAutoUpdatePolicies(policy, policies); |
867 DecodeAccessibilityPolicies(policy, policies); | 890 DecodeAccessibilityPolicies(policy, policies); |
868 DecodeGenericPolicies(policy, policies); | 891 DecodeGenericPolicies(policy, policies); |
869 } | 892 } |
870 | 893 |
871 } // namespace policy | 894 } // namespace policy |
OLD | NEW |