Chromium Code Reviews| Index: chrome/browser/chromeos/preferences.cc |
| diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc |
| index 7f5233f748fff1f5c3ac287cd54187696f8630cf..ab0e21acc10147f8c3e14635678ea28bfe03d902 100644 |
| --- a/chrome/browser/chromeos/preferences.cc |
| +++ b/chrome/browser/chromeos/preferences.cc |
| @@ -32,6 +32,8 @@ |
| #include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/pref_names.h" |
| +#include "chromeos/dbus/dbus_thread_manager.h" |
| +#include "chromeos/dbus/power_policy_controller.h" |
| #include "googleurl/src/gurl.h" |
| #include "third_party/icu/public/i18n/unicode/timezone.h" |
| #include "ui/base/events/event_constants.h" |
| @@ -296,6 +298,47 @@ void Preferences::RegisterUserPrefs(PrefServiceSyncable* prefs) { |
| prefs->RegisterBooleanPref(prefs::kExternalStorageDisabled, |
| false, |
| PrefServiceSyncable::UNSYNCABLE_PREF); |
| + |
| + prefs->RegisterIntegerPref(prefs::kPowerAcScreenDimDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
|
bartfab (slow)
2013/02/04 10:04:35
You do not need magic value constants such as "kUn
Daniel Erat
2013/02/04 13:35:45
Sure, I'll update this. I didn't realize that IsD
bartfab (slow)
2013/02/04 14:43:52
That's perfect. And yes, the issue will not arise
|
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
|
Daniel Erat
2013/02/04 03:10:07
I'm assuming that none of these should be synced,
bartfab (slow)
2013/02/04 10:04:35
I'd agree. If you have multiple Chrome OS devices,
|
| + prefs->RegisterIntegerPref(prefs::kPowerAcScreenOffDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerAcScreenLockDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerAcIdleDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenDimDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenOffDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenLockDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerBatteryIdleDelayMs, |
| + chromeos::PowerPolicyController::kUnsetDelayMs, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerIdleAction, |
| + chromeos::PowerPolicyController::ACTION_UNSET, |
|
Daniel Erat
2013/02/04 03:10:07
Will the enterprise code automatically reset all o
bartfab (slow)
2013/02/04 10:04:35
Yes. When a policy is removed, any prefs controlle
|
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerLidClosedAction, |
| + chromeos::PowerPolicyController::ACTION_UNSET, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerUseAudioActivity, |
| + chromeos::PowerPolicyController::BOOL_UNSET, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterIntegerPref(prefs::kPowerUseVideoActivity, |
| + chromeos::PowerPolicyController::BOOL_UNSET, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| + prefs->RegisterDoublePref(prefs::kPowerPresentationIdleDelayFactor, |
| + chromeos::PowerPolicyController:: |
| + kUnsetPresentationIdleDelayFactor, |
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| } |
| void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { |
| @@ -388,6 +431,32 @@ void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { |
| enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); |
| enable_drm_.Init(prefs::kEnableCrosDRM, prefs, callback); |
| + |
| + power_ac_screen_dim_delay_ms_pref_.Init( |
| + prefs::kPowerAcScreenDimDelayMs, prefs, callback); |
| + power_ac_screen_off_delay_ms_pref_.Init( |
| + prefs::kPowerAcScreenOffDelayMs, prefs, callback); |
| + power_ac_screen_lock_delay_ms_pref_.Init( |
| + prefs::kPowerAcScreenLockDelayMs, prefs, callback); |
| + power_ac_idle_delay_ms_pref_.Init( |
| + prefs::kPowerAcIdleDelayMs, prefs, callback); |
| + power_battery_screen_dim_delay_ms_pref_.Init( |
| + prefs::kPowerBatteryScreenDimDelayMs, prefs, callback); |
| + power_battery_screen_off_delay_ms_pref_.Init( |
| + prefs::kPowerBatteryScreenOffDelayMs, prefs, callback); |
| + power_battery_screen_lock_delay_ms_pref_.Init( |
| + prefs::kPowerBatteryScreenLockDelayMs, prefs, callback); |
| + power_battery_idle_delay_ms_pref_.Init( |
| + prefs::kPowerBatteryIdleDelayMs, prefs, callback); |
| + power_idle_action_pref_.Init(prefs::kPowerIdleAction, prefs, callback); |
| + power_lid_closed_action_pref_.Init( |
| + prefs::kPowerLidClosedAction, prefs, callback); |
| + power_use_audio_activity_pref_.Init( |
| + prefs::kPowerUseAudioActivity, prefs, callback); |
| + power_use_video_activity_pref_.Init( |
| + prefs::kPowerUseVideoActivity, prefs, callback); |
| + power_presentation_idle_delay_factor_pref_.Init( |
| + prefs::kPowerPresentationIdleDelayFactor, prefs, callback); |
| } |
| void Preferences::Init(PrefServiceSyncable* prefs) { |
| @@ -678,6 +747,23 @@ void Preferences::NotifyPrefChanged(const std::string* pref_name) { |
| } |
| } |
| } |
| + |
| + if (!pref_name || |
| + *pref_name == prefs::kPowerAcScreenDimDelayMs || |
| + *pref_name == prefs::kPowerAcScreenOffDelayMs || |
| + *pref_name == prefs::kPowerAcScreenLockDelayMs || |
| + *pref_name == prefs::kPowerAcIdleDelayMs || |
| + *pref_name == prefs::kPowerBatteryScreenDimDelayMs || |
| + *pref_name == prefs::kPowerBatteryScreenOffDelayMs || |
| + *pref_name == prefs::kPowerBatteryScreenLockDelayMs || |
| + *pref_name == prefs::kPowerBatteryIdleDelayMs || |
| + *pref_name == prefs::kPowerIdleAction || |
| + *pref_name == prefs::kPowerLidClosedAction || |
| + *pref_name == prefs::kPowerUseAudioActivity || |
| + *pref_name == prefs::kPowerUseVideoActivity || |
| + *pref_name == prefs::kPowerPresentationIdleDelayFactor) |
| + UpdatePowerManagementPolicy(); |
| + |
| } |
| void Preferences::OnIsSyncingChanged() { |
| @@ -794,4 +880,41 @@ void Preferences::UpdateAutoRepeatRate() { |
| input_method::XKeyboard::SetAutoRepeatRate(rate); |
| } |
| +void Preferences::UpdatePowerManagementPolicy() { |
| + PowerPolicyController::PolicyPrefs policy; |
| + |
| + policy.ac_screen_dim_delay = base::TimeDelta::FromMilliseconds( |
| + power_ac_screen_dim_delay_ms_pref_.GetValue()); |
| + policy.ac_screen_off_delay = base::TimeDelta::FromMilliseconds( |
| + power_ac_screen_off_delay_ms_pref_.GetValue()); |
| + policy.ac_screen_lock_delay = base::TimeDelta::FromMilliseconds( |
| + power_ac_screen_lock_delay_ms_pref_.GetValue()); |
| + policy.ac_idle_delay = base::TimeDelta::FromMilliseconds( |
| + power_ac_idle_delay_ms_pref_.GetValue()); |
| + |
| + policy.battery_screen_dim_delay = base::TimeDelta::FromMilliseconds( |
| + power_battery_screen_dim_delay_ms_pref_.GetValue()); |
| + policy.battery_screen_off_delay = base::TimeDelta::FromMilliseconds( |
| + power_battery_screen_off_delay_ms_pref_.GetValue()); |
| + policy.battery_screen_lock_delay = base::TimeDelta::FromMilliseconds( |
| + power_battery_screen_lock_delay_ms_pref_.GetValue()); |
| + policy.battery_idle_delay = base::TimeDelta::FromMilliseconds( |
| + power_battery_idle_delay_ms_pref_.GetValue()); |
| + |
| + policy.idle_action = static_cast<PowerPolicyController::OptionalAction>( |
| + power_idle_action_pref_.GetValue()); |
| + policy.lid_closed_action = static_cast<PowerPolicyController::OptionalAction>( |
| + power_lid_closed_action_pref_.GetValue()); |
| + |
| + policy.use_audio_activity = static_cast<PowerPolicyController::OptionalBool>( |
| + power_use_audio_activity_pref_.GetValue()); |
| + policy.use_video_activity = static_cast<PowerPolicyController::OptionalBool>( |
| + power_use_video_activity_pref_.GetValue()); |
| + policy.presentation_idle_delay_factor = |
| + power_presentation_idle_delay_factor_pref_.GetValue(); |
| + |
| + DBusThreadManager::Get()->GetPowerPolicyController()->UpdatePolicyFromPrefs( |
| + policy); |
| +} |
| + |
| } // namespace chromeos |