Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: chrome/browser/chromeos/policy/login_profile_policy_provider.cc

Issue 18153007: Add policies to control power management on the Chrome OS login screen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698