diff options
Diffstat (limited to 'chrome/browser/chromeos/preferences.cc')
-rw-r--r-- | chrome/browser/chromeos/preferences.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc index 0779a81..b9aff33 100644 --- a/chrome/browser/chromeos/preferences.cc +++ b/chrome/browser/chromeos/preferences.cc @@ -11,6 +11,7 @@ #include "chrome/browser/chromeos/cros/cros_library.h" #include "chrome/browser/chromeos/cros/input_method_library.h" #include "chrome/browser/chromeos/cros/keyboard_library.h" +#include "chrome/browser/chromeos/cros/power_library.h" #include "chrome/browser/chromeos/cros/touchpad_library.h" #include "chrome/browser/chromeos/input_method/input_method_util.h" #include "chrome/browser/extensions/extensions_service.h" @@ -115,6 +116,9 @@ void Preferences::RegisterUserPrefs(PrefService* prefs) { language_prefs::kXkbAutoRepeatDelayInMs); prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval, language_prefs::kXkbAutoRepeatIntervalInMs); + + // Screen lock default to off. + prefs->RegisterBooleanPref(prefs::kEnableScreenLock, false); } void Preferences::Init(PrefService* prefs) { @@ -182,6 +186,8 @@ void Preferences::Init(PrefService* prefs) { labs_talk_enabled_.Init(prefs::kLabsTalkEnabled, prefs, this); + enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, this); + // Initialize touchpad settings to what's saved in user preferences. NotifyPrefChanged(NULL); } @@ -343,6 +349,12 @@ void Preferences::NotifyPrefChanged(const std::string* pref_name) { if (pref_name && *pref_name == prefs::kLabsTalkEnabled) { UpdateTalkApp(); } + + // Init or update power manager config. + if (!pref_name || *pref_name == prefs::kEnableScreenLock) { + CrosLibrary::Get()->GetPowerLibrary()->EnableScreenLock( + enable_screen_lock_.GetValue()); + } } void Preferences::SetLanguageConfigBoolean(const char* section, |