| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/preferences.h" | 5 #include "chrome/browser/chromeos/preferences.h" |
| 6 | 6 |
| 7 #include "ash/magnifier/magnifier_constants.h" | 7 #include "ash/magnifier/magnifier_constants.h" |
| 8 #include "base/chromeos/chromeos_version.h" | 8 #include "base/chromeos/chromeos_version.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/i18n/time_formatting.h" | 10 #include "base/i18n/time_formatting.h" |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 // TODO(wad): Once UI is connected, a final default can be set. At that point | 276 // TODO(wad): Once UI is connected, a final default can be set. At that point |
| 277 // change this pref from UNSYNCABLE to SYNCABLE. | 277 // change this pref from UNSYNCABLE to SYNCABLE. |
| 278 registry->RegisterBooleanPref(prefs::kEnableCrosDRM, | 278 registry->RegisterBooleanPref(prefs::kEnableCrosDRM, |
| 279 true, | 279 true, |
| 280 PrefRegistrySyncable::UNSYNCABLE_PREF); | 280 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 281 | 281 |
| 282 registry->RegisterBooleanPref(prefs::kExternalStorageDisabled, | 282 registry->RegisterBooleanPref(prefs::kExternalStorageDisabled, |
| 283 false, | 283 false, |
| 284 PrefRegistrySyncable::UNSYNCABLE_PREF); | 284 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 285 | 285 |
| 286 // TODO(derat): Right now, these values are just copied from powerd's | |
| 287 // defaults. Make this file be the canonical source of default power | |
| 288 // management settings. Note that these prefs' default values aren't | |
| 289 // currently expressive enough to convey powerd's default behavior, e.g. | |
| 290 // powerd shuts down instead of suspending when no user is logged in, and | |
| 291 // the default screen-lock delays are only used when | |
| 292 // prefs::kEnableScreenLock is set. | |
| 293 registry->RegisterIntegerPref(prefs::kPowerAcScreenDimDelayMs, | 286 registry->RegisterIntegerPref(prefs::kPowerAcScreenDimDelayMs, |
| 294 420000, | 287 420000, |
| 295 PrefRegistrySyncable::UNSYNCABLE_PREF); | 288 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 296 registry->RegisterIntegerPref(prefs::kPowerAcScreenOffDelayMs, | 289 registry->RegisterIntegerPref(prefs::kPowerAcScreenOffDelayMs, |
| 297 480000, | 290 480000, |
| 298 PrefRegistrySyncable::UNSYNCABLE_PREF); | 291 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 299 registry->RegisterIntegerPref(prefs::kPowerAcScreenLockDelayMs, | 292 registry->RegisterIntegerPref(prefs::kPowerAcScreenLockDelayMs, |
| 300 600000, | 293 0, |
| 301 PrefRegistrySyncable::UNSYNCABLE_PREF); | 294 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 302 registry->RegisterIntegerPref(prefs::kPowerAcIdleWarningDelayMs, | 295 registry->RegisterIntegerPref(prefs::kPowerAcIdleWarningDelayMs, |
| 303 0, | 296 0, |
| 304 PrefRegistrySyncable::UNSYNCABLE_PREF); | 297 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 305 registry->RegisterIntegerPref(prefs::kPowerAcIdleDelayMs, | 298 registry->RegisterIntegerPref(prefs::kPowerAcIdleDelayMs, |
| 306 1800000, | 299 1800000, |
| 307 PrefRegistrySyncable::UNSYNCABLE_PREF); | 300 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 308 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenDimDelayMs, | 301 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenDimDelayMs, |
| 309 300000, | 302 300000, |
| 310 PrefRegistrySyncable::UNSYNCABLE_PREF); | 303 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 311 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenOffDelayMs, | 304 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenOffDelayMs, |
| 312 360000, | 305 360000, |
| 313 PrefRegistrySyncable::UNSYNCABLE_PREF); | 306 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 314 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenLockDelayMs, | 307 registry->RegisterIntegerPref(prefs::kPowerBatteryScreenLockDelayMs, |
| 315 600000, | 308 0, |
| 316 PrefRegistrySyncable::UNSYNCABLE_PREF); | 309 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 317 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleWarningDelayMs, | 310 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleWarningDelayMs, |
| 318 0, | 311 0, |
| 319 PrefRegistrySyncable::UNSYNCABLE_PREF); | 312 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 320 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleDelayMs, | 313 registry->RegisterIntegerPref(prefs::kPowerBatteryIdleDelayMs, |
| 321 600000, | 314 600000, |
| 322 PrefRegistrySyncable::UNSYNCABLE_PREF); | 315 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 323 registry->RegisterIntegerPref(prefs::kPowerIdleAction, | 316 registry->RegisterIntegerPref(prefs::kPowerIdleAction, |
| 324 chromeos::PowerPolicyController::ACTION_SUSPEND, | 317 PowerPolicyController::ACTION_SUSPEND, |
| 325 PrefRegistrySyncable::UNSYNCABLE_PREF); | 318 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 326 registry->RegisterIntegerPref(prefs::kPowerLidClosedAction, | 319 registry->RegisterIntegerPref(prefs::kPowerLidClosedAction, |
| 327 chromeos::PowerPolicyController::ACTION_SUSPEND, | 320 PowerPolicyController::ACTION_SUSPEND, |
| 328 PrefRegistrySyncable::UNSYNCABLE_PREF); | 321 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 329 registry->RegisterBooleanPref(prefs::kPowerUseAudioActivity, | 322 registry->RegisterBooleanPref(prefs::kPowerUseAudioActivity, |
| 330 true, | 323 true, |
| 331 PrefRegistrySyncable::UNSYNCABLE_PREF); | 324 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 332 registry->RegisterBooleanPref(prefs::kPowerUseVideoActivity, | 325 registry->RegisterBooleanPref(prefs::kPowerUseVideoActivity, |
| 333 true, | 326 true, |
| 334 PrefRegistrySyncable::UNSYNCABLE_PREF); | 327 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 335 registry->RegisterDoublePref(prefs::kPowerPresentationIdleDelayFactor, | 328 registry->RegisterDoublePref(prefs::kPowerPresentationIdleDelayFactor, |
| 336 2.0, | 329 2.0, |
| 337 PrefRegistrySyncable::UNSYNCABLE_PREF); | 330 PrefRegistrySyncable::UNSYNCABLE_PREF); |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); | 419 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); |
| 427 xkb_auto_repeat_delay_pref_.Init( | 420 xkb_auto_repeat_delay_pref_.Init( |
| 428 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); | 421 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); |
| 429 xkb_auto_repeat_interval_pref_.Init( | 422 xkb_auto_repeat_interval_pref_.Init( |
| 430 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); | 423 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); |
| 431 | 424 |
| 432 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); | 425 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); |
| 433 | 426 |
| 434 enable_drm_.Init(prefs::kEnableCrosDRM, prefs, callback); | 427 enable_drm_.Init(prefs::kEnableCrosDRM, prefs, callback); |
| 435 | 428 |
| 436 power_ac_screen_dim_delay_ms_.Init( | 429 PowerPolicyController::PrefNames power_pref_names; |
| 437 prefs::kPowerAcScreenDimDelayMs, prefs, callback); | 430 power_pref_names.ac_screen_dim_delay_ms = prefs::kPowerAcScreenDimDelayMs; |
| 438 power_ac_screen_off_delay_ms_.Init( | 431 power_pref_names.ac_screen_off_delay_ms = prefs::kPowerAcScreenOffDelayMs; |
| 439 prefs::kPowerAcScreenOffDelayMs, prefs, callback); | 432 power_pref_names.ac_screen_lock_delay_ms = prefs::kPowerAcScreenLockDelayMs; |
| 440 power_ac_screen_lock_delay_ms_.Init( | 433 power_pref_names.ac_idle_warning_delay_ms = prefs::kPowerAcIdleWarningDelayMs; |
| 441 prefs::kPowerAcScreenLockDelayMs, prefs, callback); | 434 power_pref_names.ac_idle_delay_ms = prefs::kPowerAcIdleDelayMs; |
| 442 power_ac_idle_warning_delay_ms_.Init( | 435 power_pref_names.battery_screen_dim_delay_ms = |
| 443 prefs::kPowerAcIdleWarningDelayMs, prefs, callback); | 436 prefs::kPowerBatteryScreenDimDelayMs; |
| 444 power_ac_idle_delay_ms_.Init(prefs::kPowerAcIdleDelayMs, prefs, callback); | 437 power_pref_names.battery_screen_off_delay_ms = |
| 445 power_battery_screen_dim_delay_ms_.Init( | 438 prefs::kPowerBatteryScreenOffDelayMs; |
| 446 prefs::kPowerBatteryScreenDimDelayMs, prefs, callback); | 439 power_pref_names.battery_screen_lock_delay_ms = |
| 447 power_battery_screen_off_delay_ms_.Init( | 440 prefs::kPowerBatteryScreenLockDelayMs; |
| 448 prefs::kPowerBatteryScreenOffDelayMs, prefs, callback); | 441 power_pref_names.battery_idle_warning_delay_ms = |
| 449 power_battery_screen_lock_delay_ms_.Init( | 442 prefs::kPowerBatteryIdleWarningDelayMs; |
| 450 prefs::kPowerBatteryScreenLockDelayMs, prefs, callback); | 443 power_pref_names.battery_idle_delay_ms = |
| 451 power_battery_idle_warning_delay_ms_.Init( | 444 prefs::kPowerBatteryIdleDelayMs; |
| 452 prefs::kPowerBatteryIdleWarningDelayMs, prefs, callback); | 445 power_pref_names.idle_action = prefs::kPowerIdleAction; |
| 453 power_battery_idle_delay_ms_.Init( | 446 power_pref_names.lid_closed_action = prefs::kPowerLidClosedAction; |
| 454 prefs::kPowerBatteryIdleDelayMs, prefs, callback); | 447 power_pref_names.use_audio_activity = prefs::kPowerUseAudioActivity; |
| 455 power_idle_action_.Init(prefs::kPowerIdleAction, prefs, callback); | 448 power_pref_names.use_video_activity = prefs::kPowerUseVideoActivity; |
| 456 power_lid_closed_action_.Init(prefs::kPowerLidClosedAction, prefs, callback); | 449 power_pref_names.enable_screen_lock = prefs::kEnableScreenLock; |
| 457 power_use_audio_activity_.Init( | 450 power_pref_names.presentation_idle_delay_factor = |
| 458 prefs::kPowerUseAudioActivity, prefs, callback); | 451 prefs::kPowerPresentationIdleDelayFactor; |
| 459 power_use_video_activity_.Init( | 452 DBusThreadManager::Get()->GetPowerPolicyController()->InitPrefs( |
| 460 prefs::kPowerUseVideoActivity, prefs, callback); | 453 prefs, power_pref_names); |
| 461 power_presentation_idle_delay_factor_.Init( | |
| 462 prefs::kPowerPresentationIdleDelayFactor, prefs, callback); | |
| 463 } | 454 } |
| 464 | 455 |
| 465 void Preferences::Init(PrefServiceSyncable* prefs) { | 456 void Preferences::Init(PrefServiceSyncable* prefs) { |
| 466 InitUserPrefs(prefs); | 457 InitUserPrefs(prefs); |
| 467 | 458 |
| 468 // This causes OnIsSyncingChanged to be called when the value of | 459 // This causes OnIsSyncingChanged to be called when the value of |
| 469 // PrefService::IsSyncing() changes. | 460 // PrefService::IsSyncing() changes. |
| 470 prefs->AddObserver(this); | 461 prefs->AddObserver(this); |
| 471 | 462 |
| 472 // Initialize preferences to currently saved state. | 463 // Initialize preferences to currently saved state. |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 // selected and Drive is disabled. | 745 // selected and Drive is disabled. |
| 755 if (!pref_name || *pref_name == prefs::kDisableDrive) { | 746 if (!pref_name || *pref_name == prefs::kDisableDrive) { |
| 756 if (disable_drive_.GetValue()) { | 747 if (disable_drive_.GetValue()) { |
| 757 if (drive::util::IsUnderDriveMountPoint( | 748 if (drive::util::IsUnderDriveMountPoint( |
| 758 download_default_directory_.GetValue())) { | 749 download_default_directory_.GetValue())) { |
| 759 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, | 750 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, |
| 760 download_util::GetDefaultDownloadDirectory()); | 751 download_util::GetDefaultDownloadDirectory()); |
| 761 } | 752 } |
| 762 } | 753 } |
| 763 } | 754 } |
| 764 | |
| 765 if (!pref_name || | |
| 766 *pref_name == prefs::kPowerAcScreenDimDelayMs || | |
| 767 *pref_name == prefs::kPowerAcScreenOffDelayMs || | |
| 768 *pref_name == prefs::kPowerAcScreenLockDelayMs || | |
| 769 *pref_name == prefs::kPowerAcIdleWarningDelayMs || | |
| 770 *pref_name == prefs::kPowerAcIdleDelayMs || | |
| 771 *pref_name == prefs::kPowerBatteryScreenDimDelayMs || | |
| 772 *pref_name == prefs::kPowerBatteryScreenOffDelayMs || | |
| 773 *pref_name == prefs::kPowerBatteryScreenLockDelayMs || | |
| 774 *pref_name == prefs::kPowerBatteryIdleWarningDelayMs || | |
| 775 *pref_name == prefs::kPowerBatteryIdleDelayMs || | |
| 776 *pref_name == prefs::kPowerIdleAction || | |
| 777 *pref_name == prefs::kPowerLidClosedAction || | |
| 778 *pref_name == prefs::kPowerUseAudioActivity || | |
| 779 *pref_name == prefs::kPowerUseVideoActivity || | |
| 780 *pref_name == prefs::kPowerPresentationIdleDelayFactor) { | |
| 781 DBusThreadManager::Get()->GetPowerPolicyController()->UpdatePolicyFromPrefs( | |
| 782 *prefs_->FindPreference(prefs::kPowerAcScreenDimDelayMs), | |
| 783 *prefs_->FindPreference(prefs::kPowerAcScreenOffDelayMs), | |
| 784 *prefs_->FindPreference(prefs::kPowerAcScreenLockDelayMs), | |
| 785 *prefs_->FindPreference(prefs::kPowerAcIdleWarningDelayMs), | |
| 786 *prefs_->FindPreference(prefs::kPowerAcIdleDelayMs), | |
| 787 *prefs_->FindPreference(prefs::kPowerBatteryScreenDimDelayMs), | |
| 788 *prefs_->FindPreference(prefs::kPowerBatteryScreenOffDelayMs), | |
| 789 *prefs_->FindPreference(prefs::kPowerBatteryScreenLockDelayMs), | |
| 790 *prefs_->FindPreference(prefs::kPowerBatteryIdleWarningDelayMs), | |
| 791 *prefs_->FindPreference(prefs::kPowerBatteryIdleDelayMs), | |
| 792 *prefs_->FindPreference(prefs::kPowerIdleAction), | |
| 793 *prefs_->FindPreference(prefs::kPowerLidClosedAction), | |
| 794 *prefs_->FindPreference(prefs::kPowerUseAudioActivity), | |
| 795 *prefs_->FindPreference(prefs::kPowerUseVideoActivity), | |
| 796 *prefs_->FindPreference(prefs::kPowerPresentationIdleDelayFactor)); | |
| 797 } | |
| 798 } | 755 } |
| 799 | 756 |
| 800 void Preferences::OnIsSyncingChanged() { | 757 void Preferences::OnIsSyncingChanged() { |
| 801 DVLOG(1) << "OnIsSyncingChanged"; | 758 DVLOG(1) << "OnIsSyncingChanged"; |
| 802 ForceNaturalScrollDefault(); | 759 ForceNaturalScrollDefault(); |
| 803 } | 760 } |
| 804 | 761 |
| 805 void Preferences::ForceNaturalScrollDefault() { | 762 void Preferences::ForceNaturalScrollDefault() { |
| 806 DVLOG(1) << "ForceNaturalScrollDefault"; | 763 DVLOG(1) << "ForceNaturalScrollDefault"; |
| 807 if (CommandLine::ForCurrentProcess()->HasSwitch( | 764 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 905 | 862 |
| 906 input_method::AutoRepeatRate rate; | 863 input_method::AutoRepeatRate rate; |
| 907 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); | 864 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); |
| 908 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); | 865 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); |
| 909 DCHECK(rate.initial_delay_in_ms > 0); | 866 DCHECK(rate.initial_delay_in_ms > 0); |
| 910 DCHECK(rate.repeat_interval_in_ms > 0); | 867 DCHECK(rate.repeat_interval_in_ms > 0); |
| 911 input_method::XKeyboard::SetAutoRepeatRate(rate); | 868 input_method::XKeyboard::SetAutoRepeatRate(rate); |
| 912 } | 869 } |
| 913 | 870 |
| 914 } // namespace chromeos | 871 } // namespace chromeos |
| OLD | NEW |