| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/login_profile_policy_provider.h" | 5 #include "chrome/browser/chromeos/policy/login_profile_policy_provider.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| 11 #include "base/values.h" | 11 #include "base/values.h" |
| 12 #include "chrome/browser/policy/policy_bundle.h" | 12 #include "chrome/browser/policy/policy_bundle.h" |
| 13 #include "chrome/browser/policy/policy_map.h" | 13 #include "chrome/browser/policy/policy_map.h" |
| 14 #include "chrome/browser/policy/policy_types.h" | 14 #include "chrome/browser/policy/policy_types.h" |
| 15 #include "policy/policy_constants.h" | 15 #include "policy/policy_constants.h" |
| 16 | 16 |
| 17 namespace policy { | 17 namespace policy { |
| 18 | 18 |
| 19 namespace { | 19 namespace { |
| 20 | 20 |
| 21 // Applies the value of |device_policy| in |device_policy_map| as the | 21 // Applies the value of |device_policy| in |device_policy_map| as the value of |
| 22 // recommended value of |user_policy| in |user_policy_map|. If the value of | 22 // |user_policy| in |user_policy_map| at |user_policy_level|. If the value of |
| 23 // |device_policy| is unset, does nothing. | 23 // |device_policy| is unset, does nothing. |
| 24 void ApplyDevicePolicy(const std::string& device_policy, | 24 void ApplyDevicePolicy(const std::string& device_policy, |
| 25 const std::string& user_policy, | 25 const std::string& user_policy, |
| 26 PolicyLevel user_policy_level, |
| 26 const PolicyMap& device_policy_map, | 27 const PolicyMap& device_policy_map, |
| 27 PolicyMap* user_policy_map) { | 28 PolicyMap* user_policy_map) { |
| 28 const base::Value* value = device_policy_map.GetValue(device_policy); | 29 const base::Value* value = device_policy_map.GetValue(device_policy); |
| 29 if (value) { | 30 if (value) { |
| 30 user_policy_map->Set(user_policy, | 31 user_policy_map->Set(user_policy, |
| 31 POLICY_LEVEL_RECOMMENDED, | 32 user_policy_level, |
| 32 POLICY_SCOPE_USER, | 33 POLICY_SCOPE_USER, |
| 33 value->DeepCopy()); | 34 value->DeepCopy()); |
| 34 } | 35 } |
| 35 } | 36 } |
| 36 | 37 |
| 37 } // namespace | 38 } // namespace |
| 38 | 39 |
| 39 LoginProfilePolicyProvider::LoginProfilePolicyProvider( | 40 LoginProfilePolicyProvider::LoginProfilePolicyProvider( |
| 40 PolicyService* device_policy_service) | 41 PolicyService* device_policy_service) |
| 41 : device_policy_service_(device_policy_service), | 42 : device_policy_service_(device_policy_service), |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 return; | 92 return; |
| 92 | 93 |
| 93 const PolicyNamespace chrome_namespaces(POLICY_DOMAIN_CHROME, std::string()); | 94 const PolicyNamespace chrome_namespaces(POLICY_DOMAIN_CHROME, std::string()); |
| 94 const PolicyMap& device_policy_map = | 95 const PolicyMap& device_policy_map = |
| 95 device_policy_service_->GetPolicies(chrome_namespaces); | 96 device_policy_service_->GetPolicies(chrome_namespaces); |
| 96 scoped_ptr<PolicyBundle> bundle(new PolicyBundle); | 97 scoped_ptr<PolicyBundle> bundle(new PolicyBundle); |
| 97 PolicyMap& user_policy_map = bundle->Get(chrome_namespaces); | 98 PolicyMap& user_policy_map = bundle->Get(chrome_namespaces); |
| 98 | 99 |
| 99 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultLargeCursorEnabled, | 100 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultLargeCursorEnabled, |
| 100 key::kLargeCursorEnabled, | 101 key::kLargeCursorEnabled, |
| 102 POLICY_LEVEL_RECOMMENDED, |
| 101 device_policy_map, &user_policy_map); | 103 device_policy_map, &user_policy_map); |
| 102 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled, | 104 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled, |
| 103 key::kSpokenFeedbackEnabled, | 105 key::kSpokenFeedbackEnabled, |
| 106 POLICY_LEVEL_RECOMMENDED, |
| 104 device_policy_map, &user_policy_map); | 107 device_policy_map, &user_policy_map); |
| 105 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultHighContrastEnabled, | 108 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultHighContrastEnabled, |
| 106 key::kHighContrastEnabled, | 109 key::kHighContrastEnabled, |
| 110 POLICY_LEVEL_RECOMMENDED, |
| 107 device_policy_map, &user_policy_map); | 111 device_policy_map, &user_policy_map); |
| 108 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultScreenMagnifierType, | 112 ApplyDevicePolicy(key::kDeviceLoginScreenDefaultScreenMagnifierType, |
| 109 key::kScreenMagnifierType, | 113 key::kScreenMagnifierType, |
| 114 POLICY_LEVEL_RECOMMENDED, |
| 115 device_policy_map, &user_policy_map); |
| 116 ApplyDevicePolicy(key::kDeviceLoginScreenScreenDimDelayAC, |
| 117 key::kScreenDimDelayAC, |
| 118 POLICY_LEVEL_MANDATORY, |
| 119 device_policy_map, &user_policy_map); |
| 120 ApplyDevicePolicy(key::kDeviceLoginScreenScreenOffDelayAC, |
| 121 key::kScreenOffDelayAC, |
| 122 POLICY_LEVEL_MANDATORY, |
| 123 device_policy_map, &user_policy_map); |
| 124 ApplyDevicePolicy(key::kDeviceLoginScreenIdleDelayAC, |
| 125 key::kIdleDelayAC, |
| 126 POLICY_LEVEL_MANDATORY, |
| 127 device_policy_map, &user_policy_map); |
| 128 ApplyDevicePolicy(key::kDeviceLoginScreenScreenDimDelayBattery, |
| 129 key::kScreenDimDelayBattery, |
| 130 POLICY_LEVEL_MANDATORY, |
| 131 device_policy_map, &user_policy_map); |
| 132 ApplyDevicePolicy(key::kDeviceLoginScreenScreenOffDelayBattery, |
| 133 key::kScreenOffDelayBattery, |
| 134 POLICY_LEVEL_MANDATORY, |
| 135 device_policy_map, &user_policy_map); |
| 136 ApplyDevicePolicy(key::kDeviceLoginScreenIdleDelayBattery, |
| 137 key::kIdleDelayBattery, |
| 138 POLICY_LEVEL_MANDATORY, |
| 139 device_policy_map, &user_policy_map); |
| 140 ApplyDevicePolicy(key::kDeviceLoginScreenIdleActionAC, |
| 141 key::kIdleActionAC, |
| 142 POLICY_LEVEL_MANDATORY, |
| 143 device_policy_map, &user_policy_map); |
| 144 ApplyDevicePolicy(key::kDeviceLoginScreenIdleActionBattery, |
| 145 key::kIdleActionBattery, |
| 146 POLICY_LEVEL_MANDATORY, |
| 147 device_policy_map, &user_policy_map); |
| 148 ApplyDevicePolicy(key::kDeviceLoginScreenLidCloseAction, |
| 149 key::kLidCloseAction, |
| 150 POLICY_LEVEL_MANDATORY, |
| 151 device_policy_map, &user_policy_map); |
| 152 ApplyDevicePolicy(key::kDeviceLoginScreenUserActivityScreenDimDelayScale, |
| 153 key::kUserActivityScreenDimDelayScale, |
| 154 POLICY_LEVEL_MANDATORY, |
| 110 device_policy_map, &user_policy_map); | 155 device_policy_map, &user_policy_map); |
| 111 UpdatePolicy(bundle.Pass()); | 156 UpdatePolicy(bundle.Pass()); |
| 112 } | 157 } |
| 113 | 158 |
| 114 } // namespace policy | 159 } // namespace policy |
| OLD | NEW |