| 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 "ash/shell_delegate.h" | 8 #include "ash/shell_delegate.h" |
| 9 #include "base/chromeos/chromeos_version.h" | 9 #include "base/chromeos/chromeos_version.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "chrome/browser/chromeos/login/user_manager.h" | 23 #include "chrome/browser/chromeos/login/user_manager.h" |
| 24 #include "chrome/browser/chromeos/system/input_device_settings.h" | 24 #include "chrome/browser/chromeos/system/input_device_settings.h" |
| 25 #include "chrome/browser/chromeos/system/statistics_provider.h" | 25 #include "chrome/browser/chromeos/system/statistics_provider.h" |
| 26 #include "chrome/browser/download/download_util.h" | 26 #include "chrome/browser/download/download_util.h" |
| 27 #include "chrome/browser/prefs/pref_service_syncable.h" | 27 #include "chrome/browser/prefs/pref_service_syncable.h" |
| 28 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 28 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| 29 #include "chrome/common/chrome_notification_types.h" | 29 #include "chrome/common/chrome_notification_types.h" |
| 30 #include "chrome/common/chrome_switches.h" | 30 #include "chrome/common/chrome_switches.h" |
| 31 #include "chrome/common/pref_names.h" | 31 #include "chrome/common/pref_names.h" |
| 32 #include "chromeos/chromeos_switches.h" | 32 #include "chromeos/chromeos_switches.h" |
| 33 #include "chromeos/dbus/dbus_thread_manager.h" | |
| 34 #include "chromeos/dbus/power_policy_controller.h" | |
| 35 #include "chromeos/ime/input_method_manager.h" | 33 #include "chromeos/ime/input_method_manager.h" |
| 36 #include "chromeos/ime/xkeyboard.h" | 34 #include "chromeos/ime/xkeyboard.h" |
| 37 #include "components/user_prefs/pref_registry_syncable.h" | 35 #include "components/user_prefs/pref_registry_syncable.h" |
| 38 #include "third_party/icu/public/i18n/unicode/timezone.h" | 36 #include "third_party/icu/public/i18n/unicode/timezone.h" |
| 39 #include "ui/base/events/event_constants.h" | 37 #include "ui/base/events/event_constants.h" |
| 40 #include "ui/base/events/event_utils.h" | 38 #include "ui/base/events/event_utils.h" |
| 41 #include "url/gurl.h" | 39 #include "url/gurl.h" |
| 42 | 40 |
| 43 namespace chromeos { | 41 namespace chromeos { |
| 44 | 42 |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 291 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 294 registry->RegisterIntegerPref( | 292 registry->RegisterIntegerPref( |
| 295 prefs::kLanguageXkbAutoRepeatDelay, | 293 prefs::kLanguageXkbAutoRepeatDelay, |
| 296 language_prefs::kXkbAutoRepeatDelayInMs, | 294 language_prefs::kXkbAutoRepeatDelayInMs, |
| 297 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 295 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 298 registry->RegisterIntegerPref( | 296 registry->RegisterIntegerPref( |
| 299 prefs::kLanguageXkbAutoRepeatInterval, | 297 prefs::kLanguageXkbAutoRepeatInterval, |
| 300 language_prefs::kXkbAutoRepeatIntervalInMs, | 298 language_prefs::kXkbAutoRepeatIntervalInMs, |
| 301 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 299 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 302 | 300 |
| 303 // Screen lock default to off. | |
| 304 registry->RegisterBooleanPref( | |
| 305 prefs::kEnableScreenLock, | |
| 306 false, | |
| 307 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | |
| 308 | |
| 309 // Mobile plan notifications default to on. | 301 // Mobile plan notifications default to on. |
| 310 registry->RegisterBooleanPref( | 302 registry->RegisterBooleanPref( |
| 311 prefs::kShowPlanNotifications, | 303 prefs::kShowPlanNotifications, |
| 312 true, | 304 true, |
| 313 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 305 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 314 | 306 |
| 315 // 3G first-time usage promo will be shown at least once. | 307 // 3G first-time usage promo will be shown at least once. |
| 316 registry->RegisterBooleanPref( | 308 registry->RegisterBooleanPref( |
| 317 prefs::kShow3gPromoNotification, | 309 prefs::kShow3gPromoNotification, |
| 318 true, | 310 true, |
| 319 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 311 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 320 | 312 |
| 321 // Initially all existing users would see "What's new" for current version | 313 // Initially all existing users would see "What's new" for current version |
| 322 // after update. | 314 // after update. |
| 323 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, | 315 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, |
| 324 "0.0.0.0", | 316 "0.0.0.0", |
| 325 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 317 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 326 | 318 |
| 327 registry->RegisterBooleanPref( | 319 registry->RegisterBooleanPref( |
| 328 prefs::kExternalStorageDisabled, | 320 prefs::kExternalStorageDisabled, |
| 329 false, | 321 false, |
| 330 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 322 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 331 | 323 |
| 332 registry->RegisterIntegerPref( | |
| 333 prefs::kPowerAcScreenDimDelayMs, | |
| 334 420000, | |
| 335 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 336 registry->RegisterIntegerPref( | |
| 337 prefs::kPowerAcScreenOffDelayMs, | |
| 338 480000, | |
| 339 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 340 registry->RegisterIntegerPref( | |
| 341 prefs::kPowerAcScreenLockDelayMs, | |
| 342 0, | |
| 343 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 344 registry->RegisterIntegerPref( | |
| 345 prefs::kPowerAcIdleWarningDelayMs, | |
| 346 0, | |
| 347 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 348 registry->RegisterIntegerPref( | |
| 349 prefs::kPowerAcIdleDelayMs, | |
| 350 1800000, | |
| 351 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 352 registry->RegisterIntegerPref( | |
| 353 prefs::kPowerBatteryScreenDimDelayMs, | |
| 354 300000, | |
| 355 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 356 registry->RegisterIntegerPref( | |
| 357 prefs::kPowerBatteryScreenOffDelayMs, | |
| 358 360000, | |
| 359 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 360 registry->RegisterIntegerPref( | |
| 361 prefs::kPowerBatteryScreenLockDelayMs, | |
| 362 0, | |
| 363 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 364 registry->RegisterIntegerPref( | |
| 365 prefs::kPowerBatteryIdleWarningDelayMs, | |
| 366 0, | |
| 367 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 368 registry->RegisterIntegerPref( | |
| 369 prefs::kPowerBatteryIdleDelayMs, | |
| 370 600000, | |
| 371 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 372 registry->RegisterIntegerPref( | |
| 373 prefs::kPowerAcIdleAction, | |
| 374 PowerPolicyController::ACTION_SUSPEND, | |
| 375 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 376 registry->RegisterIntegerPref( | |
| 377 prefs::kPowerBatteryIdleAction, | |
| 378 PowerPolicyController::ACTION_SUSPEND, | |
| 379 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 380 registry->RegisterIntegerPref( | |
| 381 prefs::kPowerLidClosedAction, | |
| 382 PowerPolicyController::ACTION_SUSPEND, | |
| 383 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 384 registry->RegisterBooleanPref( | |
| 385 prefs::kPowerUseAudioActivity, | |
| 386 true, | |
| 387 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 388 registry->RegisterBooleanPref( | |
| 389 prefs::kPowerUseVideoActivity, | |
| 390 true, | |
| 391 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 392 registry->RegisterBooleanPref( | |
| 393 prefs::kPowerAllowScreenWakeLocks, | |
| 394 true, | |
| 395 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 396 registry->RegisterDoublePref( | |
| 397 prefs::kPowerPresentationScreenDimDelayFactor, | |
| 398 2.0, | |
| 399 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 400 registry->RegisterDoublePref( | |
| 401 prefs::kPowerUserActivityScreenDimDelayFactor, | |
| 402 2.0, | |
| 403 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 404 | |
| 405 registry->RegisterStringPref( | 324 registry->RegisterStringPref( |
| 406 prefs::kTermsOfServiceURL, | 325 prefs::kTermsOfServiceURL, |
| 407 "", | 326 "", |
| 408 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 327 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 409 | 328 |
| 410 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. | 329 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. |
| 411 registry->RegisterBooleanPref( | 330 registry->RegisterBooleanPref( |
| 412 kEnableTouchpadThreeFingerSwipe, | 331 kEnableTouchpadThreeFingerSwipe, |
| 413 false, | 332 false, |
| 414 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 333 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 mozc_integer_prefs_[i].Init( | 420 mozc_integer_prefs_[i].Init( |
| 502 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback); | 421 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback); |
| 503 } | 422 } |
| 504 xkb_auto_repeat_enabled_.Init( | 423 xkb_auto_repeat_enabled_.Init( |
| 505 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); | 424 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); |
| 506 xkb_auto_repeat_delay_pref_.Init( | 425 xkb_auto_repeat_delay_pref_.Init( |
| 507 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); | 426 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); |
| 508 xkb_auto_repeat_interval_pref_.Init( | 427 xkb_auto_repeat_interval_pref_.Init( |
| 509 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); | 428 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); |
| 510 | 429 |
| 511 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); | |
| 512 | |
| 513 power_ac_screen_dim_delay_ms_.Init( | |
| 514 prefs::kPowerAcScreenDimDelayMs, prefs, callback); | |
| 515 power_ac_screen_off_delay_ms_.Init( | |
| 516 prefs::kPowerAcScreenOffDelayMs, prefs, callback); | |
| 517 power_ac_screen_lock_delay_ms_.Init( | |
| 518 prefs::kPowerAcScreenLockDelayMs, prefs, callback); | |
| 519 power_ac_idle_warning_delay_ms_.Init( | |
| 520 prefs::kPowerAcIdleWarningDelayMs, prefs, callback); | |
| 521 power_ac_idle_delay_ms_.Init(prefs::kPowerAcIdleDelayMs, prefs, callback); | |
| 522 power_battery_screen_dim_delay_ms_.Init( | |
| 523 prefs::kPowerBatteryScreenDimDelayMs, prefs, callback); | |
| 524 power_battery_screen_off_delay_ms_.Init( | |
| 525 prefs::kPowerBatteryScreenOffDelayMs, prefs, callback); | |
| 526 power_battery_screen_lock_delay_ms_.Init( | |
| 527 prefs::kPowerBatteryScreenLockDelayMs, prefs, callback); | |
| 528 power_battery_idle_warning_delay_ms_.Init( | |
| 529 prefs::kPowerBatteryIdleWarningDelayMs, prefs, callback); | |
| 530 power_battery_idle_delay_ms_.Init( | |
| 531 prefs::kPowerBatteryIdleDelayMs, prefs, callback); | |
| 532 power_ac_idle_action_.Init(prefs::kPowerAcIdleAction, prefs, callback); | |
| 533 power_battery_idle_action_.Init( | |
| 534 prefs::kPowerBatteryIdleAction, prefs, callback); | |
| 535 power_lid_closed_action_.Init(prefs::kPowerLidClosedAction, prefs, callback); | |
| 536 power_use_audio_activity_.Init( | |
| 537 prefs::kPowerUseAudioActivity, prefs, callback); | |
| 538 power_use_video_activity_.Init( | |
| 539 prefs::kPowerUseVideoActivity, prefs, callback); | |
| 540 power_allow_screen_wake_locks_.Init( | |
| 541 prefs::kPowerAllowScreenWakeLocks, prefs, callback); | |
| 542 power_presentation_screen_dim_delay_factor_.Init( | |
| 543 prefs::kPowerPresentationScreenDimDelayFactor, prefs, callback); | |
| 544 power_user_activity_screen_dim_delay_factor_.Init( | |
| 545 prefs::kPowerUserActivityScreenDimDelayFactor, prefs, callback); | |
| 546 | |
| 547 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. | 430 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. |
| 548 prefs->ClearPref(kEnableTouchpadThreeFingerSwipe); | 431 prefs->ClearPref(kEnableTouchpadThreeFingerSwipe); |
| 549 } | 432 } |
| 550 | 433 |
| 551 void Preferences::Init(PrefServiceSyncable* prefs) { | 434 void Preferences::Init(PrefServiceSyncable* prefs) { |
| 552 InitUserPrefs(prefs); | 435 InitUserPrefs(prefs); |
| 553 | 436 |
| 554 // This causes OnIsSyncingChanged to be called when the value of | 437 // This causes OnIsSyncingChanged to be called when the value of |
| 555 // PrefService::IsSyncing() changes. | 438 // PrefService::IsSyncing() changes. |
| 556 prefs->AddObserver(this); | 439 prefs->AddObserver(this); |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 846 // selected and Drive is disabled. | 729 // selected and Drive is disabled. |
| 847 if (!pref_name || *pref_name == prefs::kDisableDrive) { | 730 if (!pref_name || *pref_name == prefs::kDisableDrive) { |
| 848 if (disable_drive_.GetValue()) { | 731 if (disable_drive_.GetValue()) { |
| 849 if (drive::util::IsUnderDriveMountPoint( | 732 if (drive::util::IsUnderDriveMountPoint( |
| 850 download_default_directory_.GetValue())) { | 733 download_default_directory_.GetValue())) { |
| 851 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, | 734 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, |
| 852 download_util::GetDefaultDownloadDirectory()); | 735 download_util::GetDefaultDownloadDirectory()); |
| 853 } | 736 } |
| 854 } | 737 } |
| 855 } | 738 } |
| 856 | |
| 857 if (!pref_name || | |
| 858 *pref_name == prefs::kPowerAcScreenDimDelayMs || | |
| 859 *pref_name == prefs::kPowerAcScreenOffDelayMs || | |
| 860 *pref_name == prefs::kPowerAcScreenLockDelayMs || | |
| 861 *pref_name == prefs::kPowerAcIdleWarningDelayMs || | |
| 862 *pref_name == prefs::kPowerAcIdleDelayMs || | |
| 863 *pref_name == prefs::kPowerBatteryScreenDimDelayMs || | |
| 864 *pref_name == prefs::kPowerBatteryScreenOffDelayMs || | |
| 865 *pref_name == prefs::kPowerBatteryScreenLockDelayMs || | |
| 866 *pref_name == prefs::kPowerBatteryIdleWarningDelayMs || | |
| 867 *pref_name == prefs::kPowerBatteryIdleDelayMs || | |
| 868 *pref_name == prefs::kPowerAcIdleAction || | |
| 869 *pref_name == prefs::kPowerBatteryIdleAction || | |
| 870 *pref_name == prefs::kPowerLidClosedAction || | |
| 871 *pref_name == prefs::kPowerUseAudioActivity || | |
| 872 *pref_name == prefs::kPowerUseVideoActivity || | |
| 873 *pref_name == prefs::kPowerAllowScreenWakeLocks || | |
| 874 *pref_name == prefs::kPowerPresentationScreenDimDelayFactor || | |
| 875 *pref_name == prefs::kPowerUserActivityScreenDimDelayFactor || | |
| 876 *pref_name == prefs::kEnableScreenLock) { | |
| 877 PowerPolicyController::PrefValues values; | |
| 878 values.ac_screen_dim_delay_ms = power_ac_screen_dim_delay_ms_.GetValue(); | |
| 879 values.ac_screen_off_delay_ms = power_ac_screen_off_delay_ms_.GetValue(); | |
| 880 values.ac_screen_lock_delay_ms = power_ac_screen_lock_delay_ms_.GetValue(); | |
| 881 values.ac_idle_warning_delay_ms = | |
| 882 power_ac_idle_warning_delay_ms_.GetValue(); | |
| 883 values.ac_idle_delay_ms = power_ac_idle_delay_ms_.GetValue(); | |
| 884 values.battery_screen_dim_delay_ms = | |
| 885 power_battery_screen_dim_delay_ms_.GetValue(); | |
| 886 values.battery_screen_off_delay_ms = | |
| 887 power_battery_screen_off_delay_ms_.GetValue(); | |
| 888 values.battery_screen_lock_delay_ms = | |
| 889 power_battery_screen_lock_delay_ms_.GetValue(); | |
| 890 values.battery_idle_warning_delay_ms = | |
| 891 power_battery_idle_warning_delay_ms_.GetValue(); | |
| 892 values.battery_idle_delay_ms = power_battery_idle_delay_ms_.GetValue(); | |
| 893 values.ac_idle_action = static_cast<PowerPolicyController::Action>( | |
| 894 power_ac_idle_action_.GetValue()); | |
| 895 values.battery_idle_action = static_cast<PowerPolicyController::Action>( | |
| 896 power_battery_idle_action_.GetValue()); | |
| 897 values.lid_closed_action = static_cast<PowerPolicyController::Action>( | |
| 898 power_lid_closed_action_.GetValue()); | |
| 899 values.use_audio_activity = power_use_audio_activity_.GetValue(); | |
| 900 values.use_video_activity = power_use_video_activity_.GetValue(); | |
| 901 values.allow_screen_wake_locks = power_allow_screen_wake_locks_.GetValue(); | |
| 902 values.enable_screen_lock = enable_screen_lock_.GetValue(); | |
| 903 values.presentation_screen_dim_delay_factor = | |
| 904 power_presentation_screen_dim_delay_factor_.GetValue(); | |
| 905 values.user_activity_screen_dim_delay_factor = | |
| 906 power_user_activity_screen_dim_delay_factor_.GetValue(); | |
| 907 | |
| 908 DBusThreadManager::Get()->GetPowerPolicyController()->ApplyPrefs(values); | |
| 909 } | |
| 910 } | 739 } |
| 911 | 740 |
| 912 void Preferences::OnIsSyncingChanged() { | 741 void Preferences::OnIsSyncingChanged() { |
| 913 DVLOG(1) << "OnIsSyncingChanged"; | 742 DVLOG(1) << "OnIsSyncingChanged"; |
| 914 ForceNaturalScrollDefault(); | 743 ForceNaturalScrollDefault(); |
| 915 } | 744 } |
| 916 | 745 |
| 917 void Preferences::ForceNaturalScrollDefault() { | 746 void Preferences::ForceNaturalScrollDefault() { |
| 918 DVLOG(1) << "ForceNaturalScrollDefault"; | 747 DVLOG(1) << "ForceNaturalScrollDefault"; |
| 919 if (CommandLine::ForCurrentProcess()->HasSwitch( | 748 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1021 | 850 |
| 1022 input_method::AutoRepeatRate rate; | 851 input_method::AutoRepeatRate rate; |
| 1023 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); | 852 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); |
| 1024 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); | 853 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); |
| 1025 DCHECK(rate.initial_delay_in_ms > 0); | 854 DCHECK(rate.initial_delay_in_ms > 0); |
| 1026 DCHECK(rate.repeat_interval_in_ms > 0); | 855 DCHECK(rate.repeat_interval_in_ms > 0); |
| 1027 input_method::XKeyboard::SetAutoRepeatRate(rate); | 856 input_method::XKeyboard::SetAutoRepeatRate(rate); |
| 1028 } | 857 } |
| 1029 | 858 |
| 1030 } // namespace chromeos | 859 } // namespace chromeos |
| OLD | NEW |