| 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 "googleurl/src/gurl.h" | 36 #include "googleurl/src/gurl.h" |
| 39 #include "third_party/icu/public/i18n/unicode/timezone.h" | 37 #include "third_party/icu/public/i18n/unicode/timezone.h" |
| 40 #include "ui/base/events/event_constants.h" | 38 #include "ui/base/events/event_constants.h" |
| 41 #include "ui/base/events/event_utils.h" | 39 #include "ui/base/events/event_utils.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 | 329 |
| 411 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { | 330 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { |
| 412 prefs_ = prefs; | 331 prefs_ = prefs; |
| 413 | 332 |
| 414 BooleanPrefMember::NamedChangeCallback callback = | 333 BooleanPrefMember::NamedChangeCallback callback = |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) { | 415 for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) { |
| 497 mozc_integer_prefs_[i].Init( | 416 mozc_integer_prefs_[i].Init( |
| 498 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback); | 417 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback); |
| 499 } | 418 } |
| 500 xkb_auto_repeat_enabled_.Init( | 419 xkb_auto_repeat_enabled_.Init( |
| 501 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); | 420 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); |
| 502 xkb_auto_repeat_delay_pref_.Init( | 421 xkb_auto_repeat_delay_pref_.Init( |
| 503 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); | 422 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); |
| 504 xkb_auto_repeat_interval_pref_.Init( | 423 xkb_auto_repeat_interval_pref_.Init( |
| 505 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); | 424 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); |
| 506 | |
| 507 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); | |
| 508 | |
| 509 power_ac_screen_dim_delay_ms_.Init( | |
| 510 prefs::kPowerAcScreenDimDelayMs, prefs, callback); | |
| 511 power_ac_screen_off_delay_ms_.Init( | |
| 512 prefs::kPowerAcScreenOffDelayMs, prefs, callback); | |
| 513 power_ac_screen_lock_delay_ms_.Init( | |
| 514 prefs::kPowerAcScreenLockDelayMs, prefs, callback); | |
| 515 power_ac_idle_warning_delay_ms_.Init( | |
| 516 prefs::kPowerAcIdleWarningDelayMs, prefs, callback); | |
| 517 power_ac_idle_delay_ms_.Init(prefs::kPowerAcIdleDelayMs, prefs, callback); | |
| 518 power_battery_screen_dim_delay_ms_.Init( | |
| 519 prefs::kPowerBatteryScreenDimDelayMs, prefs, callback); | |
| 520 power_battery_screen_off_delay_ms_.Init( | |
| 521 prefs::kPowerBatteryScreenOffDelayMs, prefs, callback); | |
| 522 power_battery_screen_lock_delay_ms_.Init( | |
| 523 prefs::kPowerBatteryScreenLockDelayMs, prefs, callback); | |
| 524 power_battery_idle_warning_delay_ms_.Init( | |
| 525 prefs::kPowerBatteryIdleWarningDelayMs, prefs, callback); | |
| 526 power_battery_idle_delay_ms_.Init( | |
| 527 prefs::kPowerBatteryIdleDelayMs, prefs, callback); | |
| 528 power_ac_idle_action_.Init(prefs::kPowerAcIdleAction, prefs, callback); | |
| 529 power_battery_idle_action_.Init( | |
| 530 prefs::kPowerBatteryIdleAction, prefs, callback); | |
| 531 power_lid_closed_action_.Init(prefs::kPowerLidClosedAction, prefs, callback); | |
| 532 power_use_audio_activity_.Init( | |
| 533 prefs::kPowerUseAudioActivity, prefs, callback); | |
| 534 power_use_video_activity_.Init( | |
| 535 prefs::kPowerUseVideoActivity, prefs, callback); | |
| 536 power_allow_screen_wake_locks_.Init( | |
| 537 prefs::kPowerAllowScreenWakeLocks, prefs, callback); | |
| 538 power_presentation_screen_dim_delay_factor_.Init( | |
| 539 prefs::kPowerPresentationScreenDimDelayFactor, prefs, callback); | |
| 540 power_user_activity_screen_dim_delay_factor_.Init( | |
| 541 prefs::kPowerUserActivityScreenDimDelayFactor, prefs, callback); | |
| 542 } | 425 } |
| 543 | 426 |
| 544 void Preferences::Init(PrefServiceSyncable* prefs) { | 427 void Preferences::Init(PrefServiceSyncable* prefs) { |
| 545 InitUserPrefs(prefs); | 428 InitUserPrefs(prefs); |
| 546 | 429 |
| 547 // This causes OnIsSyncingChanged to be called when the value of | 430 // This causes OnIsSyncingChanged to be called when the value of |
| 548 // PrefService::IsSyncing() changes. | 431 // PrefService::IsSyncing() changes. |
| 549 prefs->AddObserver(this); | 432 prefs->AddObserver(this); |
| 550 | 433 |
| 551 // Initialize preferences to currently saved state. | 434 // Initialize preferences to currently saved state. |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 838 // selected and Drive is disabled. | 721 // selected and Drive is disabled. |
| 839 if (!pref_name || *pref_name == prefs::kDisableDrive) { | 722 if (!pref_name || *pref_name == prefs::kDisableDrive) { |
| 840 if (disable_drive_.GetValue()) { | 723 if (disable_drive_.GetValue()) { |
| 841 if (drive::util::IsUnderDriveMountPoint( | 724 if (drive::util::IsUnderDriveMountPoint( |
| 842 download_default_directory_.GetValue())) { | 725 download_default_directory_.GetValue())) { |
| 843 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, | 726 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, |
| 844 download_util::GetDefaultDownloadDirectory()); | 727 download_util::GetDefaultDownloadDirectory()); |
| 845 } | 728 } |
| 846 } | 729 } |
| 847 } | 730 } |
| 848 | |
| 849 if (!pref_name || | |
| 850 *pref_name == prefs::kPowerAcScreenDimDelayMs || | |
| 851 *pref_name == prefs::kPowerAcScreenOffDelayMs || | |
| 852 *pref_name == prefs::kPowerAcScreenLockDelayMs || | |
| 853 *pref_name == prefs::kPowerAcIdleWarningDelayMs || | |
| 854 *pref_name == prefs::kPowerAcIdleDelayMs || | |
| 855 *pref_name == prefs::kPowerBatteryScreenDimDelayMs || | |
| 856 *pref_name == prefs::kPowerBatteryScreenOffDelayMs || | |
| 857 *pref_name == prefs::kPowerBatteryScreenLockDelayMs || | |
| 858 *pref_name == prefs::kPowerBatteryIdleWarningDelayMs || | |
| 859 *pref_name == prefs::kPowerBatteryIdleDelayMs || | |
| 860 *pref_name == prefs::kPowerAcIdleAction || | |
| 861 *pref_name == prefs::kPowerBatteryIdleAction || | |
| 862 *pref_name == prefs::kPowerLidClosedAction || | |
| 863 *pref_name == prefs::kPowerUseAudioActivity || | |
| 864 *pref_name == prefs::kPowerUseVideoActivity || | |
| 865 *pref_name == prefs::kPowerAllowScreenWakeLocks || | |
| 866 *pref_name == prefs::kPowerPresentationScreenDimDelayFactor || | |
| 867 *pref_name == prefs::kPowerUserActivityScreenDimDelayFactor || | |
| 868 *pref_name == prefs::kEnableScreenLock) { | |
| 869 PowerPolicyController::PrefValues values; | |
| 870 values.ac_screen_dim_delay_ms = power_ac_screen_dim_delay_ms_.GetValue(); | |
| 871 values.ac_screen_off_delay_ms = power_ac_screen_off_delay_ms_.GetValue(); | |
| 872 values.ac_screen_lock_delay_ms = power_ac_screen_lock_delay_ms_.GetValue(); | |
| 873 values.ac_idle_warning_delay_ms = | |
| 874 power_ac_idle_warning_delay_ms_.GetValue(); | |
| 875 values.ac_idle_delay_ms = power_ac_idle_delay_ms_.GetValue(); | |
| 876 values.battery_screen_dim_delay_ms = | |
| 877 power_battery_screen_dim_delay_ms_.GetValue(); | |
| 878 values.battery_screen_off_delay_ms = | |
| 879 power_battery_screen_off_delay_ms_.GetValue(); | |
| 880 values.battery_screen_lock_delay_ms = | |
| 881 power_battery_screen_lock_delay_ms_.GetValue(); | |
| 882 values.battery_idle_warning_delay_ms = | |
| 883 power_battery_idle_warning_delay_ms_.GetValue(); | |
| 884 values.battery_idle_delay_ms = power_battery_idle_delay_ms_.GetValue(); | |
| 885 values.ac_idle_action = static_cast<PowerPolicyController::Action>( | |
| 886 power_ac_idle_action_.GetValue()); | |
| 887 values.battery_idle_action = static_cast<PowerPolicyController::Action>( | |
| 888 power_battery_idle_action_.GetValue()); | |
| 889 values.lid_closed_action = static_cast<PowerPolicyController::Action>( | |
| 890 power_lid_closed_action_.GetValue()); | |
| 891 values.use_audio_activity = power_use_audio_activity_.GetValue(); | |
| 892 values.use_video_activity = power_use_video_activity_.GetValue(); | |
| 893 values.allow_screen_wake_locks = power_allow_screen_wake_locks_.GetValue(); | |
| 894 values.enable_screen_lock = enable_screen_lock_.GetValue(); | |
| 895 values.presentation_screen_dim_delay_factor = | |
| 896 power_presentation_screen_dim_delay_factor_.GetValue(); | |
| 897 values.user_activity_screen_dim_delay_factor = | |
| 898 power_user_activity_screen_dim_delay_factor_.GetValue(); | |
| 899 | |
| 900 DBusThreadManager::Get()->GetPowerPolicyController()->ApplyPrefs(values); | |
| 901 } | |
| 902 } | 731 } |
| 903 | 732 |
| 904 void Preferences::OnIsSyncingChanged() { | 733 void Preferences::OnIsSyncingChanged() { |
| 905 DVLOG(1) << "OnIsSyncingChanged"; | 734 DVLOG(1) << "OnIsSyncingChanged"; |
| 906 ForceNaturalScrollDefault(); | 735 ForceNaturalScrollDefault(); |
| 907 } | 736 } |
| 908 | 737 |
| 909 void Preferences::ForceNaturalScrollDefault() { | 738 void Preferences::ForceNaturalScrollDefault() { |
| 910 DVLOG(1) << "ForceNaturalScrollDefault"; | 739 DVLOG(1) << "ForceNaturalScrollDefault"; |
| 911 if (CommandLine::ForCurrentProcess()->HasSwitch( | 740 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1013 | 842 |
| 1014 input_method::AutoRepeatRate rate; | 843 input_method::AutoRepeatRate rate; |
| 1015 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); | 844 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); |
| 1016 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); | 845 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); |
| 1017 DCHECK(rate.initial_delay_in_ms > 0); | 846 DCHECK(rate.initial_delay_in_ms > 0); |
| 1018 DCHECK(rate.repeat_interval_in_ms > 0); | 847 DCHECK(rate.repeat_interval_in_ms > 0); |
| 1019 input_method::XKeyboard::SetAutoRepeatRate(rate); | 848 input_method::XKeyboard::SetAutoRepeatRate(rate); |
| 1020 } | 849 } |
| 1021 | 850 |
| 1022 } // namespace chromeos | 851 } // namespace chromeos |
| OLD | NEW |