| 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 |