| Index: chrome/browser/chromeos/policy/login_profile_policy_provider.cc
|
| diff --git a/chrome/browser/chromeos/policy/login_profile_policy_provider.cc b/chrome/browser/chromeos/policy/login_profile_policy_provider.cc
|
| index da88bea9652467961bca227ea98e5f563df4e1ca..731486e19e11311f68121c6d41ccfc3889c12e86 100644
|
| --- a/chrome/browser/chromeos/policy/login_profile_policy_provider.cc
|
| +++ b/chrome/browser/chromeos/policy/login_profile_policy_provider.cc
|
| @@ -18,17 +18,18 @@ namespace policy {
|
|
|
| namespace {
|
|
|
| -// Applies the value of |device_policy| in |device_policy_map| as the
|
| -// recommended value of |user_policy| in |user_policy_map|. If the value of
|
| +// Applies the value of |device_policy| in |device_policy_map| as the value of
|
| +// |user_policy| in |user_policy_map| at |user_policy_level|. If the value of
|
| // |device_policy| is unset, does nothing.
|
| void ApplyDevicePolicy(const std::string& device_policy,
|
| const std::string& user_policy,
|
| + PolicyLevel user_policy_level,
|
| const PolicyMap& device_policy_map,
|
| PolicyMap* user_policy_map) {
|
| const base::Value* value = device_policy_map.GetValue(device_policy);
|
| if (value) {
|
| user_policy_map->Set(user_policy,
|
| - POLICY_LEVEL_RECOMMENDED,
|
| + user_policy_level,
|
| POLICY_SCOPE_USER,
|
| value->DeepCopy());
|
| }
|
| @@ -98,15 +99,59 @@ void LoginProfilePolicyProvider::UpdateFromDevicePolicy() {
|
|
|
| ApplyDevicePolicy(key::kDeviceLoginScreenDefaultLargeCursorEnabled,
|
| key::kLargeCursorEnabled,
|
| + POLICY_LEVEL_RECOMMENDED,
|
| device_policy_map, &user_policy_map);
|
| ApplyDevicePolicy(key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled,
|
| key::kSpokenFeedbackEnabled,
|
| + POLICY_LEVEL_RECOMMENDED,
|
| device_policy_map, &user_policy_map);
|
| ApplyDevicePolicy(key::kDeviceLoginScreenDefaultHighContrastEnabled,
|
| key::kHighContrastEnabled,
|
| + POLICY_LEVEL_RECOMMENDED,
|
| device_policy_map, &user_policy_map);
|
| ApplyDevicePolicy(key::kDeviceLoginScreenDefaultScreenMagnifierType,
|
| key::kScreenMagnifierType,
|
| + POLICY_LEVEL_RECOMMENDED,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenScreenDimDelayAC,
|
| + key::kScreenDimDelayAC,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenScreenOffDelayAC,
|
| + key::kScreenOffDelayAC,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenIdleDelayAC,
|
| + key::kIdleDelayAC,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenScreenDimDelayBattery,
|
| + key::kScreenDimDelayBattery,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenScreenOffDelayBattery,
|
| + key::kScreenOffDelayBattery,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenIdleDelayBattery,
|
| + key::kIdleDelayBattery,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenIdleActionAC,
|
| + key::kIdleActionAC,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenIdleActionBattery,
|
| + key::kIdleActionBattery,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenLidCloseAction,
|
| + key::kLidCloseAction,
|
| + POLICY_LEVEL_MANDATORY,
|
| + device_policy_map, &user_policy_map);
|
| + ApplyDevicePolicy(key::kDeviceLoginScreenUserActivityScreenDimDelayScale,
|
| + key::kUserActivityScreenDimDelayScale,
|
| + POLICY_LEVEL_MANDATORY,
|
| device_policy_map, &user_policy_map);
|
| UpdatePolicy(bundle.Pass());
|
| }
|
|
|