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/power/power_prefs.h" | 5 #include "chrome/browser/chromeos/power/power_prefs.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 } | 43 } |
44 | 44 |
45 PowerPrefs::~PowerPrefs() { | 45 PowerPrefs::~PowerPrefs() { |
46 } | 46 } |
47 | 47 |
48 // static | 48 // static |
49 void PowerPrefs::RegisterUserProfilePrefs( | 49 void PowerPrefs::RegisterUserProfilePrefs( |
50 user_prefs::PrefRegistrySyncable* registry) { | 50 user_prefs::PrefRegistrySyncable* registry) { |
51 RegisterProfilePrefs(registry); | 51 RegisterProfilePrefs(registry); |
52 | 52 |
53 registry->RegisterIntegerPref( | 53 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleAction, |
54 prefs::kPowerBatteryIdleAction, | 54 PowerPolicyController::ACTION_SUSPEND); |
55 PowerPolicyController::ACTION_SUSPEND, | 55 registry->RegisterIntegerPref(prefs::kPowerLidClosedAction, |
56 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 56 PowerPolicyController::ACTION_SUSPEND); |
57 registry->RegisterIntegerPref( | |
58 prefs::kPowerLidClosedAction, | |
59 PowerPolicyController::ACTION_SUSPEND, | |
60 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
61 } | 57 } |
62 | 58 |
63 // static | 59 // static |
64 void PowerPrefs::RegisterLoginProfilePrefs( | 60 void PowerPrefs::RegisterLoginProfilePrefs( |
65 user_prefs::PrefRegistrySyncable* registry) { | 61 user_prefs::PrefRegistrySyncable* registry) { |
66 RegisterProfilePrefs(registry); | 62 RegisterProfilePrefs(registry); |
67 | 63 |
68 registry->RegisterIntegerPref( | 64 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleAction, |
69 prefs::kPowerBatteryIdleAction, | 65 PowerPolicyController::ACTION_SHUT_DOWN); |
70 PowerPolicyController::ACTION_SHUT_DOWN, | 66 registry->RegisterIntegerPref(prefs::kPowerLidClosedAction, |
71 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 67 PowerPolicyController::ACTION_SHUT_DOWN); |
72 registry->RegisterIntegerPref( | |
73 prefs::kPowerLidClosedAction, | |
74 PowerPolicyController::ACTION_SHUT_DOWN, | |
75 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
76 } | 68 } |
77 | 69 |
78 void PowerPrefs::Observe(int type, | 70 void PowerPrefs::Observe(int type, |
79 const content::NotificationSource& source, | 71 const content::NotificationSource& source, |
80 const content::NotificationDetails& details) { | 72 const content::NotificationDetails& details) { |
81 switch (type) { | 73 switch (type) { |
82 case chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE: { | 74 case chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE: { |
83 // Update |profile_| when entering the login screen. | 75 // Update |profile_| when entering the login screen. |
84 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 76 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
85 if (!profile_manager || !profile_manager->IsLoggedIn()) | 77 if (!profile_manager || !profile_manager->IsLoggedIn()) |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 prefs->GetBoolean(prefs::kPowerWaitForInitialUserActivity); | 155 prefs->GetBoolean(prefs::kPowerWaitForInitialUserActivity); |
164 values.force_nonzero_brightness_for_user_activity = | 156 values.force_nonzero_brightness_for_user_activity = |
165 prefs->GetBoolean(prefs::kPowerForceNonzeroBrightnessForUserActivity); | 157 prefs->GetBoolean(prefs::kPowerForceNonzeroBrightnessForUserActivity); |
166 | 158 |
167 power_policy_controller_->ApplyPrefs(values); | 159 power_policy_controller_->ApplyPrefs(values); |
168 } | 160 } |
169 | 161 |
170 // static | 162 // static |
171 void PowerPrefs::RegisterProfilePrefs( | 163 void PowerPrefs::RegisterProfilePrefs( |
172 user_prefs::PrefRegistrySyncable* registry) { | 164 user_prefs::PrefRegistrySyncable* registry) { |
173 registry->RegisterIntegerPref( | 165 registry->RegisterIntegerPref(prefs::kPowerAcScreenDimDelayMs, 420000); |
174 prefs::kPowerAcScreenDimDelayMs, | 166 registry->RegisterIntegerPref(prefs::kPowerAcScreenOffDelayMs, 480000); |
175 420000, | 167 registry->RegisterIntegerPref(prefs::kPowerAcScreenLockDelayMs, 0); |
176 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 168 registry->RegisterIntegerPref(prefs::kPowerAcIdleWarningDelayMs, 0); |
177 registry->RegisterIntegerPref( | 169 registry->RegisterIntegerPref(prefs::kPowerAcIdleDelayMs, 1800000); |
178 prefs::kPowerAcScreenOffDelayMs, | 170 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenDimDelayMs, 300000); |
179 480000, | 171 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenOffDelayMs, 360000); |
180 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 172 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenLockDelayMs, 0); |
181 registry->RegisterIntegerPref( | 173 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleWarningDelayMs, 0); |
182 prefs::kPowerAcScreenLockDelayMs, | 174 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleDelayMs, 600000); |
183 0, | 175 registry->RegisterIntegerPref(prefs::kPowerLockScreenDimDelayMs, 30000); |
184 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 176 registry->RegisterIntegerPref(prefs::kPowerLockScreenOffDelayMs, 40000); |
185 registry->RegisterIntegerPref( | 177 registry->RegisterIntegerPref(prefs::kPowerAcIdleAction, |
186 prefs::kPowerAcIdleWarningDelayMs, | 178 PowerPolicyController::ACTION_SUSPEND); |
187 0, | 179 registry->RegisterBooleanPref(prefs::kPowerUseAudioActivity, true); |
188 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 180 registry->RegisterBooleanPref(prefs::kPowerUseVideoActivity, true); |
189 registry->RegisterIntegerPref( | 181 registry->RegisterBooleanPref(prefs::kPowerAllowScreenWakeLocks, true); |
190 prefs::kPowerAcIdleDelayMs, | |
191 1800000, | |
192 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
193 registry->RegisterIntegerPref( | |
194 prefs::kPowerBatteryScreenDimDelayMs, | |
195 300000, | |
196 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
197 registry->RegisterIntegerPref( | |
198 prefs::kPowerBatteryScreenOffDelayMs, | |
199 360000, | |
200 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
201 registry->RegisterIntegerPref( | |
202 prefs::kPowerBatteryScreenLockDelayMs, | |
203 0, | |
204 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
205 registry->RegisterIntegerPref( | |
206 prefs::kPowerBatteryIdleWarningDelayMs, | |
207 0, | |
208 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
209 registry->RegisterIntegerPref( | |
210 prefs::kPowerBatteryIdleDelayMs, | |
211 600000, | |
212 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
213 registry->RegisterIntegerPref( | |
214 prefs::kPowerLockScreenDimDelayMs, | |
215 30000, | |
216 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
217 registry->RegisterIntegerPref( | |
218 prefs::kPowerLockScreenOffDelayMs, | |
219 40000, | |
220 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
221 registry->RegisterIntegerPref( | |
222 prefs::kPowerAcIdleAction, | |
223 PowerPolicyController::ACTION_SUSPEND, | |
224 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
225 registry->RegisterBooleanPref( | |
226 prefs::kPowerUseAudioActivity, | |
227 true, | |
228 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
229 registry->RegisterBooleanPref( | |
230 prefs::kPowerUseVideoActivity, | |
231 true, | |
232 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
233 registry->RegisterBooleanPref( | |
234 prefs::kPowerAllowScreenWakeLocks, | |
235 true, | |
236 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
237 registry->RegisterBooleanPref( | 182 registry->RegisterBooleanPref( |
238 prefs::kEnableAutoScreenLock, | 183 prefs::kEnableAutoScreenLock, |
239 false, | 184 false, |
240 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 185 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
241 registry->RegisterDoublePref( | 186 registry->RegisterDoublePref(prefs::kPowerPresentationScreenDimDelayFactor, |
242 prefs::kPowerPresentationScreenDimDelayFactor, | 187 2.0); |
243 2.0, | 188 registry->RegisterDoublePref(prefs::kPowerUserActivityScreenDimDelayFactor, |
244 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 189 2.0); |
245 registry->RegisterDoublePref( | 190 registry->RegisterBooleanPref(prefs::kPowerWaitForInitialUserActivity, false); |
246 prefs::kPowerUserActivityScreenDimDelayFactor, | |
247 2.0, | |
248 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
249 registry->RegisterBooleanPref( | 191 registry->RegisterBooleanPref( |
250 prefs::kPowerWaitForInitialUserActivity, | 192 prefs::kPowerForceNonzeroBrightnessForUserActivity, true); |
251 false, | |
252 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
253 registry->RegisterBooleanPref( | |
254 prefs::kPowerForceNonzeroBrightnessForUserActivity, | |
255 true, | |
256 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
257 } | 193 } |
258 | 194 |
259 void PowerPrefs::SetProfile(Profile* profile) { | 195 void PowerPrefs::SetProfile(Profile* profile) { |
260 // No need to reapply policy if profile hasn't changed, e.g. when adding a | 196 // No need to reapply policy if profile hasn't changed, e.g. when adding a |
261 // secondary user to an existing session. | 197 // secondary user to an existing session. |
262 if (profile == profile_) | 198 if (profile == profile_) |
263 return; | 199 return; |
264 | 200 |
265 profile_ = profile; | 201 profile_ = profile; |
266 pref_change_registrar_.reset(); | 202 pref_change_registrar_.reset(); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 update_callback); | 243 update_callback); |
308 pref_change_registrar_->Add(prefs::kPowerWaitForInitialUserActivity, | 244 pref_change_registrar_->Add(prefs::kPowerWaitForInitialUserActivity, |
309 update_callback); | 245 update_callback); |
310 pref_change_registrar_->Add( | 246 pref_change_registrar_->Add( |
311 prefs::kPowerForceNonzeroBrightnessForUserActivity, update_callback); | 247 prefs::kPowerForceNonzeroBrightnessForUserActivity, update_callback); |
312 | 248 |
313 UpdatePowerPolicyFromPrefs(); | 249 UpdatePowerPolicyFromPrefs(); |
314 } | 250 } |
315 | 251 |
316 } // namespace chromeos | 252 } // namespace chromeos |
OLD | NEW |