| 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.h" | 8 #include "ash/shell.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/login_utils.h" | 23 #include "chrome/browser/chromeos/login/login_utils.h" |
| 24 #include "chrome/browser/chromeos/login/user_manager.h" | 24 #include "chrome/browser/chromeos/login/user_manager.h" |
| 25 #include "chrome/browser/chromeos/system/input_device_settings.h" | 25 #include "chrome/browser/chromeos/system/input_device_settings.h" |
| 26 #include "chrome/browser/chromeos/system/statistics_provider.h" | 26 #include "chrome/browser/chromeos/system/statistics_provider.h" |
| 27 #include "chrome/browser/download/download_util.h" | 27 #include "chrome/browser/download/download_util.h" |
| 28 #include "chrome/browser/prefs/pref_service_syncable.h" | 28 #include "chrome/browser/prefs/pref_service_syncable.h" |
| 29 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 29 #include "chrome/browser/prefs/scoped_user_pref_update.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 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 303 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 306 registry->RegisterIntegerPref( | 304 registry->RegisterIntegerPref( |
| 307 prefs::kLanguageXkbAutoRepeatDelay, | 305 prefs::kLanguageXkbAutoRepeatDelay, |
| 308 language_prefs::kXkbAutoRepeatDelayInMs, | 306 language_prefs::kXkbAutoRepeatDelayInMs, |
| 309 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 307 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 310 registry->RegisterIntegerPref( | 308 registry->RegisterIntegerPref( |
| 311 prefs::kLanguageXkbAutoRepeatInterval, | 309 prefs::kLanguageXkbAutoRepeatInterval, |
| 312 language_prefs::kXkbAutoRepeatIntervalInMs, | 310 language_prefs::kXkbAutoRepeatIntervalInMs, |
| 313 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 311 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 314 | 312 |
| 315 // Screen lock default to off. | |
| 316 registry->RegisterBooleanPref( | |
| 317 prefs::kEnableScreenLock, | |
| 318 false, | |
| 319 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | |
| 320 | |
| 321 // Mobile plan notifications default to on. | 313 // Mobile plan notifications default to on. |
| 322 registry->RegisterBooleanPref( | 314 registry->RegisterBooleanPref( |
| 323 prefs::kShowPlanNotifications, | 315 prefs::kShowPlanNotifications, |
| 324 true, | 316 true, |
| 325 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 317 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 326 | 318 |
| 327 // 3G first-time usage promo will be shown at least once. | 319 // 3G first-time usage promo will be shown at least once. |
| 328 registry->RegisterBooleanPref( | 320 registry->RegisterBooleanPref( |
| 329 prefs::kShow3gPromoNotification, | 321 prefs::kShow3gPromoNotification, |
| 330 true, | 322 true, |
| 331 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 323 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 332 | 324 |
| 333 // Initially all existing users would see "What's new" for current version | 325 // Initially all existing users would see "What's new" for current version |
| 334 // after update. | 326 // after update. |
| 335 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, | 327 registry->RegisterStringPref(prefs::kChromeOSReleaseNotesVersion, |
| 336 "0.0.0.0", | 328 "0.0.0.0", |
| 337 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); | 329 user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); |
| 338 | 330 |
| 339 registry->RegisterBooleanPref( | 331 registry->RegisterBooleanPref( |
| 340 prefs::kExternalStorageDisabled, | 332 prefs::kExternalStorageDisabled, |
| 341 false, | 333 false, |
| 342 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 334 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 343 | 335 |
| 344 registry->RegisterIntegerPref( | |
| 345 prefs::kPowerAcScreenDimDelayMs, | |
| 346 420000, | |
| 347 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 348 registry->RegisterIntegerPref( | |
| 349 prefs::kPowerAcScreenOffDelayMs, | |
| 350 480000, | |
| 351 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 352 registry->RegisterIntegerPref( | |
| 353 prefs::kPowerAcScreenLockDelayMs, | |
| 354 0, | |
| 355 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 356 registry->RegisterIntegerPref( | |
| 357 prefs::kPowerAcIdleWarningDelayMs, | |
| 358 0, | |
| 359 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 360 registry->RegisterIntegerPref( | |
| 361 prefs::kPowerAcIdleDelayMs, | |
| 362 1800000, | |
| 363 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 364 registry->RegisterIntegerPref( | |
| 365 prefs::kPowerBatteryScreenDimDelayMs, | |
| 366 300000, | |
| 367 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 368 registry->RegisterIntegerPref( | |
| 369 prefs::kPowerBatteryScreenOffDelayMs, | |
| 370 360000, | |
| 371 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 372 registry->RegisterIntegerPref( | |
| 373 prefs::kPowerBatteryScreenLockDelayMs, | |
| 374 0, | |
| 375 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 376 registry->RegisterIntegerPref( | |
| 377 prefs::kPowerBatteryIdleWarningDelayMs, | |
| 378 0, | |
| 379 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 380 registry->RegisterIntegerPref( | |
| 381 prefs::kPowerBatteryIdleDelayMs, | |
| 382 600000, | |
| 383 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 384 registry->RegisterIntegerPref( | |
| 385 prefs::kPowerAcIdleAction, | |
| 386 PowerPolicyController::ACTION_SUSPEND, | |
| 387 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 388 registry->RegisterIntegerPref( | |
| 389 prefs::kPowerBatteryIdleAction, | |
| 390 PowerPolicyController::ACTION_SUSPEND, | |
| 391 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 392 registry->RegisterIntegerPref( | |
| 393 prefs::kPowerLidClosedAction, | |
| 394 PowerPolicyController::ACTION_SUSPEND, | |
| 395 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 396 registry->RegisterBooleanPref( | |
| 397 prefs::kPowerUseAudioActivity, | |
| 398 true, | |
| 399 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 400 registry->RegisterBooleanPref( | |
| 401 prefs::kPowerUseVideoActivity, | |
| 402 true, | |
| 403 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 404 registry->RegisterBooleanPref( | |
| 405 prefs::kPowerAllowScreenWakeLocks, | |
| 406 true, | |
| 407 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 408 registry->RegisterDoublePref( | |
| 409 prefs::kPowerPresentationScreenDimDelayFactor, | |
| 410 2.0, | |
| 411 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 412 registry->RegisterDoublePref( | |
| 413 prefs::kPowerUserActivityScreenDimDelayFactor, | |
| 414 2.0, | |
| 415 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | |
| 416 | |
| 417 registry->RegisterStringPref( | 336 registry->RegisterStringPref( |
| 418 prefs::kTermsOfServiceURL, | 337 prefs::kTermsOfServiceURL, |
| 419 "", | 338 "", |
| 420 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 339 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| 421 | 340 |
| 422 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. | 341 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. |
| 423 registry->RegisterBooleanPref( | 342 registry->RegisterBooleanPref( |
| 424 kEnableTouchpadThreeFingerSwipe, | 343 kEnableTouchpadThreeFingerSwipe, |
| 425 false, | 344 false, |
| 426 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); | 345 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 mozc_integer_prefs_[i].Init( | 439 mozc_integer_prefs_[i].Init( |
| 521 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback); | 440 language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback); |
| 522 } | 441 } |
| 523 xkb_auto_repeat_enabled_.Init( | 442 xkb_auto_repeat_enabled_.Init( |
| 524 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); | 443 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); |
| 525 xkb_auto_repeat_delay_pref_.Init( | 444 xkb_auto_repeat_delay_pref_.Init( |
| 526 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); | 445 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); |
| 527 xkb_auto_repeat_interval_pref_.Init( | 446 xkb_auto_repeat_interval_pref_.Init( |
| 528 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); | 447 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); |
| 529 | 448 |
| 530 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); | |
| 531 | |
| 532 power_ac_screen_dim_delay_ms_.Init( | |
| 533 prefs::kPowerAcScreenDimDelayMs, prefs, callback); | |
| 534 power_ac_screen_off_delay_ms_.Init( | |
| 535 prefs::kPowerAcScreenOffDelayMs, prefs, callback); | |
| 536 power_ac_screen_lock_delay_ms_.Init( | |
| 537 prefs::kPowerAcScreenLockDelayMs, prefs, callback); | |
| 538 power_ac_idle_warning_delay_ms_.Init( | |
| 539 prefs::kPowerAcIdleWarningDelayMs, prefs, callback); | |
| 540 power_ac_idle_delay_ms_.Init(prefs::kPowerAcIdleDelayMs, prefs, callback); | |
| 541 power_battery_screen_dim_delay_ms_.Init( | |
| 542 prefs::kPowerBatteryScreenDimDelayMs, prefs, callback); | |
| 543 power_battery_screen_off_delay_ms_.Init( | |
| 544 prefs::kPowerBatteryScreenOffDelayMs, prefs, callback); | |
| 545 power_battery_screen_lock_delay_ms_.Init( | |
| 546 prefs::kPowerBatteryScreenLockDelayMs, prefs, callback); | |
| 547 power_battery_idle_warning_delay_ms_.Init( | |
| 548 prefs::kPowerBatteryIdleWarningDelayMs, prefs, callback); | |
| 549 power_battery_idle_delay_ms_.Init( | |
| 550 prefs::kPowerBatteryIdleDelayMs, prefs, callback); | |
| 551 power_ac_idle_action_.Init(prefs::kPowerAcIdleAction, prefs, callback); | |
| 552 power_battery_idle_action_.Init( | |
| 553 prefs::kPowerBatteryIdleAction, prefs, callback); | |
| 554 power_lid_closed_action_.Init(prefs::kPowerLidClosedAction, prefs, callback); | |
| 555 power_use_audio_activity_.Init( | |
| 556 prefs::kPowerUseAudioActivity, prefs, callback); | |
| 557 power_use_video_activity_.Init( | |
| 558 prefs::kPowerUseVideoActivity, prefs, callback); | |
| 559 power_allow_screen_wake_locks_.Init( | |
| 560 prefs::kPowerAllowScreenWakeLocks, prefs, callback); | |
| 561 power_presentation_screen_dim_delay_factor_.Init( | |
| 562 prefs::kPowerPresentationScreenDimDelayFactor, prefs, callback); | |
| 563 power_user_activity_screen_dim_delay_factor_.Init( | |
| 564 prefs::kPowerUserActivityScreenDimDelayFactor, prefs, callback); | |
| 565 | |
| 566 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. | 449 // TODO(achuith): Remove deprecated pref in M31. crbug.com/223480. |
| 567 prefs->ClearPref(kEnableTouchpadThreeFingerSwipe); | 450 prefs->ClearPref(kEnableTouchpadThreeFingerSwipe); |
| 568 } | 451 } |
| 569 | 452 |
| 570 void Preferences::Init(PrefServiceSyncable* prefs) { | 453 void Preferences::Init(PrefServiceSyncable* prefs) { |
| 571 InitUserPrefs(prefs); | 454 InitUserPrefs(prefs); |
| 572 | 455 |
| 573 // This causes OnIsSyncingChanged to be called when the value of | 456 // This causes OnIsSyncingChanged to be called when the value of |
| 574 // PrefService::IsSyncing() changes. | 457 // PrefService::IsSyncing() changes. |
| 575 prefs->AddObserver(this); | 458 prefs->AddObserver(this); |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 869 // selected and Drive is disabled. | 752 // selected and Drive is disabled. |
| 870 if (!pref_name || *pref_name == prefs::kDisableDrive) { | 753 if (!pref_name || *pref_name == prefs::kDisableDrive) { |
| 871 if (disable_drive_.GetValue()) { | 754 if (disable_drive_.GetValue()) { |
| 872 if (drive::util::IsUnderDriveMountPoint( | 755 if (drive::util::IsUnderDriveMountPoint( |
| 873 download_default_directory_.GetValue())) { | 756 download_default_directory_.GetValue())) { |
| 874 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, | 757 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, |
| 875 download_util::GetDefaultDownloadDirectory()); | 758 download_util::GetDefaultDownloadDirectory()); |
| 876 } | 759 } |
| 877 } | 760 } |
| 878 } | 761 } |
| 879 | |
| 880 if (!pref_name || | |
| 881 *pref_name == prefs::kPowerAcScreenDimDelayMs || | |
| 882 *pref_name == prefs::kPowerAcScreenOffDelayMs || | |
| 883 *pref_name == prefs::kPowerAcScreenLockDelayMs || | |
| 884 *pref_name == prefs::kPowerAcIdleWarningDelayMs || | |
| 885 *pref_name == prefs::kPowerAcIdleDelayMs || | |
| 886 *pref_name == prefs::kPowerBatteryScreenDimDelayMs || | |
| 887 *pref_name == prefs::kPowerBatteryScreenOffDelayMs || | |
| 888 *pref_name == prefs::kPowerBatteryScreenLockDelayMs || | |
| 889 *pref_name == prefs::kPowerBatteryIdleWarningDelayMs || | |
| 890 *pref_name == prefs::kPowerBatteryIdleDelayMs || | |
| 891 *pref_name == prefs::kPowerAcIdleAction || | |
| 892 *pref_name == prefs::kPowerBatteryIdleAction || | |
| 893 *pref_name == prefs::kPowerLidClosedAction || | |
| 894 *pref_name == prefs::kPowerUseAudioActivity || | |
| 895 *pref_name == prefs::kPowerUseVideoActivity || | |
| 896 *pref_name == prefs::kPowerAllowScreenWakeLocks || | |
| 897 *pref_name == prefs::kPowerPresentationScreenDimDelayFactor || | |
| 898 *pref_name == prefs::kPowerUserActivityScreenDimDelayFactor || | |
| 899 *pref_name == prefs::kEnableScreenLock) { | |
| 900 PowerPolicyController::PrefValues values; | |
| 901 values.ac_screen_dim_delay_ms = power_ac_screen_dim_delay_ms_.GetValue(); | |
| 902 values.ac_screen_off_delay_ms = power_ac_screen_off_delay_ms_.GetValue(); | |
| 903 values.ac_screen_lock_delay_ms = power_ac_screen_lock_delay_ms_.GetValue(); | |
| 904 values.ac_idle_warning_delay_ms = | |
| 905 power_ac_idle_warning_delay_ms_.GetValue(); | |
| 906 values.ac_idle_delay_ms = power_ac_idle_delay_ms_.GetValue(); | |
| 907 values.battery_screen_dim_delay_ms = | |
| 908 power_battery_screen_dim_delay_ms_.GetValue(); | |
| 909 values.battery_screen_off_delay_ms = | |
| 910 power_battery_screen_off_delay_ms_.GetValue(); | |
| 911 values.battery_screen_lock_delay_ms = | |
| 912 power_battery_screen_lock_delay_ms_.GetValue(); | |
| 913 values.battery_idle_warning_delay_ms = | |
| 914 power_battery_idle_warning_delay_ms_.GetValue(); | |
| 915 values.battery_idle_delay_ms = power_battery_idle_delay_ms_.GetValue(); | |
| 916 values.ac_idle_action = static_cast<PowerPolicyController::Action>( | |
| 917 power_ac_idle_action_.GetValue()); | |
| 918 values.battery_idle_action = static_cast<PowerPolicyController::Action>( | |
| 919 power_battery_idle_action_.GetValue()); | |
| 920 values.lid_closed_action = static_cast<PowerPolicyController::Action>( | |
| 921 power_lid_closed_action_.GetValue()); | |
| 922 values.use_audio_activity = power_use_audio_activity_.GetValue(); | |
| 923 values.use_video_activity = power_use_video_activity_.GetValue(); | |
| 924 values.allow_screen_wake_locks = power_allow_screen_wake_locks_.GetValue(); | |
| 925 values.enable_screen_lock = enable_screen_lock_.GetValue(); | |
| 926 values.presentation_screen_dim_delay_factor = | |
| 927 power_presentation_screen_dim_delay_factor_.GetValue(); | |
| 928 values.user_activity_screen_dim_delay_factor = | |
| 929 power_user_activity_screen_dim_delay_factor_.GetValue(); | |
| 930 | |
| 931 DBusThreadManager::Get()->GetPowerPolicyController()->ApplyPrefs(values); | |
| 932 } | |
| 933 } | 762 } |
| 934 | 763 |
| 935 void Preferences::OnIsSyncingChanged() { | 764 void Preferences::OnIsSyncingChanged() { |
| 936 DVLOG(1) << "OnIsSyncingChanged"; | 765 DVLOG(1) << "OnIsSyncingChanged"; |
| 937 ForceNaturalScrollDefault(); | 766 ForceNaturalScrollDefault(); |
| 938 } | 767 } |
| 939 | 768 |
| 940 void Preferences::ForceNaturalScrollDefault() { | 769 void Preferences::ForceNaturalScrollDefault() { |
| 941 DVLOG(1) << "ForceNaturalScrollDefault"; | 770 DVLOG(1) << "ForceNaturalScrollDefault"; |
| 942 if (CommandLine::ForCurrentProcess()->HasSwitch( | 771 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1051 } | 880 } |
| 1052 | 881 |
| 1053 void Preferences::OnTouchHudProjectionToggled(bool enabled) { | 882 void Preferences::OnTouchHudProjectionToggled(bool enabled) { |
| 1054 if (touch_hud_projection_enabled_.GetValue() == enabled) | 883 if (touch_hud_projection_enabled_.GetValue() == enabled) |
| 1055 return; | 884 return; |
| 1056 | 885 |
| 1057 touch_hud_projection_enabled_.SetValue(enabled); | 886 touch_hud_projection_enabled_.SetValue(enabled); |
| 1058 } | 887 } |
| 1059 | 888 |
| 1060 } // namespace chromeos | 889 } // namespace chromeos |
| OLD | NEW |