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

Unified Diff: chrome/browser/chromeos/power/power_prefs.cc

Issue 793973002: chromeos: Add separate screen dim/off delays for lock screen (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add ScreenLockState enum for tests Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/power/power_prefs.cc
diff --git a/chrome/browser/chromeos/power/power_prefs.cc b/chrome/browser/chromeos/power/power_prefs.cc
index 2e853a3b39243352dbb6d74f9e19e959837c50dd..b2e0782309090f894c8e44fe0e97c5b0ee52aaf7 100644
--- a/chrome/browser/chromeos/power/power_prefs.cc
+++ b/chrome/browser/chromeos/power/power_prefs.cc
@@ -26,11 +26,15 @@ namespace chromeos {
PowerPrefs::PowerPrefs(PowerPolicyController* power_policy_controller)
: power_policy_controller_(power_policy_controller),
- profile_(NULL) {
+ profile_(NULL),
+ screen_is_locked_(false) {
notification_registrar_.Add(this,
chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
content::NotificationService::AllSources());
notification_registrar_.Add(this,
+ chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED,
+ content::NotificationService::AllSources());
+ notification_registrar_.Add(this,
chrome::NOTIFICATION_SESSION_STARTED,
content::NotificationService::AllSources());
notification_registrar_.Add(this,
@@ -82,6 +86,12 @@ void PowerPrefs::Observe(int type,
SetProfile(ProfileHelper::GetSigninProfile());
break;
}
+ case chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED:
+ // Update the policy in case different delays have been set for the lock
+ // screen.
+ screen_is_locked_ = *content::Details<bool>(details).ptr();
+ UpdatePowerPolicyFromPrefs();
+ break;
case chrome::NOTIFICATION_SESSION_STARTED:
// Update |profile_| when entering a session.
SetProfile(ProfileManager::GetPrimaryUserProfile());
@@ -108,9 +118,11 @@ void PowerPrefs::UpdatePowerPolicyFromPrefs() {
const PrefService* prefs = pref_change_registrar_->prefs();
PowerPolicyController::PrefValues values;
values.ac_screen_dim_delay_ms =
- prefs->GetInteger(prefs::kPowerAcScreenDimDelayMs);
+ prefs->GetInteger(screen_is_locked_ ? prefs::kPowerLockScreenDimDelayMs :
+ prefs::kPowerAcScreenDimDelayMs);
values.ac_screen_off_delay_ms =
- prefs->GetInteger(prefs::kPowerAcScreenOffDelayMs);
+ prefs->GetInteger(screen_is_locked_ ? prefs::kPowerLockScreenOffDelayMs :
+ prefs::kPowerAcScreenOffDelayMs);
values.ac_screen_lock_delay_ms =
prefs->GetInteger(prefs::kPowerAcScreenLockDelayMs);
values.ac_idle_warning_delay_ms =
@@ -118,9 +130,11 @@ void PowerPrefs::UpdatePowerPolicyFromPrefs() {
values.ac_idle_delay_ms =
prefs->GetInteger(prefs::kPowerAcIdleDelayMs);
values.battery_screen_dim_delay_ms =
- prefs->GetInteger(prefs::kPowerBatteryScreenDimDelayMs);
+ prefs->GetInteger(screen_is_locked_ ? prefs::kPowerLockScreenDimDelayMs :
+ prefs::kPowerBatteryScreenDimDelayMs);
values.battery_screen_off_delay_ms =
- prefs->GetInteger(prefs::kPowerBatteryScreenOffDelayMs);
+ prefs->GetInteger(screen_is_locked_ ? prefs::kPowerLockScreenOffDelayMs :
+ prefs::kPowerBatteryScreenOffDelayMs);
values.battery_screen_lock_delay_ms =
prefs->GetInteger(prefs::kPowerBatteryScreenLockDelayMs);
values.battery_idle_warning_delay_ms =
@@ -195,6 +209,14 @@ void PowerPrefs::RegisterProfilePrefs(
600000,
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
registry->RegisterIntegerPref(
+ prefs::kPowerLockScreenDimDelayMs,
+ 30000,
+ user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(
+ prefs::kPowerLockScreenOffDelayMs,
+ 40000,
+ user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
+ registry->RegisterIntegerPref(
prefs::kPowerAcIdleAction,
PowerPolicyController::ACTION_SUSPEND,
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
@@ -261,6 +283,10 @@ void PowerPrefs::SetProfile(Profile* profile) {
pref_change_registrar_->Add(prefs::kPowerBatteryIdleWarningDelayMs,
update_callback);
pref_change_registrar_->Add(prefs::kPowerBatteryIdleDelayMs, update_callback);
+ pref_change_registrar_->Add(prefs::kPowerLockScreenDimDelayMs,
+ update_callback);
+ pref_change_registrar_->Add(prefs::kPowerLockScreenOffDelayMs,
+ update_callback);
pref_change_registrar_->Add(prefs::kPowerAcIdleAction, update_callback);
pref_change_registrar_->Add(prefs::kPowerBatteryIdleAction, update_callback);
pref_change_registrar_->Add(prefs::kPowerLidClosedAction, update_callback);

Powered by Google App Engine
This is Rietveld 408576698