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 14 matching lines...) Expand all Loading... | |
25 #include "chrome/browser/chromeos/system/drm_settings.h" | 25 #include "chrome/browser/chromeos/system/drm_settings.h" |
26 #include "chrome/browser/chromeos/system/input_device_settings.h" | 26 #include "chrome/browser/chromeos/system/input_device_settings.h" |
27 #include "chrome/browser/chromeos/system/power_manager_settings.h" | 27 #include "chrome/browser/chromeos/system/power_manager_settings.h" |
28 #include "chrome/browser/chromeos/system/statistics_provider.h" | 28 #include "chrome/browser/chromeos/system/statistics_provider.h" |
29 #include "chrome/browser/download/download_util.h" | 29 #include "chrome/browser/download/download_util.h" |
30 #include "chrome/browser/prefs/pref_service.h" | 30 #include "chrome/browser/prefs/pref_service.h" |
31 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 31 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
32 #include "chrome/common/chrome_notification_types.h" | 32 #include "chrome/common/chrome_notification_types.h" |
33 #include "chrome/common/chrome_switches.h" | 33 #include "chrome/common/chrome_switches.h" |
34 #include "chrome/common/pref_names.h" | 34 #include "chrome/common/pref_names.h" |
35 #include "chromeos/dbus/dbus_thread_manager.h" | |
36 #include "chromeos/dbus/power_policy_controller.h" | |
35 #include "googleurl/src/gurl.h" | 37 #include "googleurl/src/gurl.h" |
36 #include "third_party/icu/public/i18n/unicode/timezone.h" | 38 #include "third_party/icu/public/i18n/unicode/timezone.h" |
37 #include "ui/base/events/event_constants.h" | 39 #include "ui/base/events/event_constants.h" |
38 #include "ui/base/events/event_utils.h" | 40 #include "ui/base/events/event_utils.h" |
39 | 41 |
40 namespace chromeos { | 42 namespace chromeos { |
41 | 43 |
42 static const char kFallbackInputMethodLocale[] = "en-US"; | 44 static const char kFallbackInputMethodLocale[] = "en-US"; |
43 | 45 |
44 Preferences::Preferences() | 46 Preferences::Preferences() |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
289 | 291 |
290 // TODO(wad): Once UI is connected, a final default can be set. At that point | 292 // TODO(wad): Once UI is connected, a final default can be set. At that point |
291 // change this pref from UNSYNCABLE to SYNCABLE. | 293 // change this pref from UNSYNCABLE to SYNCABLE. |
292 prefs->RegisterBooleanPref(prefs::kEnableCrosDRM, | 294 prefs->RegisterBooleanPref(prefs::kEnableCrosDRM, |
293 true, | 295 true, |
294 PrefServiceSyncable::UNSYNCABLE_PREF); | 296 PrefServiceSyncable::UNSYNCABLE_PREF); |
295 | 297 |
296 prefs->RegisterBooleanPref(prefs::kExternalStorageDisabled, | 298 prefs->RegisterBooleanPref(prefs::kExternalStorageDisabled, |
297 false, | 299 false, |
298 PrefServiceSyncable::UNSYNCABLE_PREF); | 300 PrefServiceSyncable::UNSYNCABLE_PREF); |
301 | |
302 prefs->RegisterIntegerPref(prefs::kPowerAcScreenDimDelayMs, | |
303 chromeos::PowerPolicyController::kUnsetDelayMs, | |
bartfab (slow)
2013/02/04 10:04:35
You do not need magic value constants such as "kUn
Daniel Erat
2013/02/04 13:35:45
Sure, I'll update this. I didn't realize that IsD
bartfab (slow)
2013/02/04 14:43:52
That's perfect. And yes, the issue will not arise
| |
304 PrefServiceSyncable::UNSYNCABLE_PREF); | |
Daniel Erat
2013/02/04 03:10:07
I'm assuming that none of these should be synced,
bartfab (slow)
2013/02/04 10:04:35
I'd agree. If you have multiple Chrome OS devices,
| |
305 prefs->RegisterIntegerPref(prefs::kPowerAcScreenOffDelayMs, | |
306 chromeos::PowerPolicyController::kUnsetDelayMs, | |
307 PrefServiceSyncable::UNSYNCABLE_PREF); | |
308 prefs->RegisterIntegerPref(prefs::kPowerAcScreenLockDelayMs, | |
309 chromeos::PowerPolicyController::kUnsetDelayMs, | |
310 PrefServiceSyncable::UNSYNCABLE_PREF); | |
311 prefs->RegisterIntegerPref(prefs::kPowerAcIdleDelayMs, | |
312 chromeos::PowerPolicyController::kUnsetDelayMs, | |
313 PrefServiceSyncable::UNSYNCABLE_PREF); | |
314 prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenDimDelayMs, | |
315 chromeos::PowerPolicyController::kUnsetDelayMs, | |
316 PrefServiceSyncable::UNSYNCABLE_PREF); | |
317 prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenOffDelayMs, | |
318 chromeos::PowerPolicyController::kUnsetDelayMs, | |
319 PrefServiceSyncable::UNSYNCABLE_PREF); | |
320 prefs->RegisterIntegerPref(prefs::kPowerBatteryScreenLockDelayMs, | |
321 chromeos::PowerPolicyController::kUnsetDelayMs, | |
322 PrefServiceSyncable::UNSYNCABLE_PREF); | |
323 prefs->RegisterIntegerPref(prefs::kPowerBatteryIdleDelayMs, | |
324 chromeos::PowerPolicyController::kUnsetDelayMs, | |
325 PrefServiceSyncable::UNSYNCABLE_PREF); | |
326 prefs->RegisterIntegerPref(prefs::kPowerIdleAction, | |
327 chromeos::PowerPolicyController::ACTION_UNSET, | |
Daniel Erat
2013/02/04 03:10:07
Will the enterprise code automatically reset all o
bartfab (slow)
2013/02/04 10:04:35
Yes. When a policy is removed, any prefs controlle
| |
328 PrefServiceSyncable::UNSYNCABLE_PREF); | |
329 prefs->RegisterIntegerPref(prefs::kPowerLidClosedAction, | |
330 chromeos::PowerPolicyController::ACTION_UNSET, | |
331 PrefServiceSyncable::UNSYNCABLE_PREF); | |
332 prefs->RegisterIntegerPref(prefs::kPowerUseAudioActivity, | |
333 chromeos::PowerPolicyController::BOOL_UNSET, | |
334 PrefServiceSyncable::UNSYNCABLE_PREF); | |
335 prefs->RegisterIntegerPref(prefs::kPowerUseVideoActivity, | |
336 chromeos::PowerPolicyController::BOOL_UNSET, | |
337 PrefServiceSyncable::UNSYNCABLE_PREF); | |
338 prefs->RegisterDoublePref(prefs::kPowerPresentationIdleDelayFactor, | |
339 chromeos::PowerPolicyController:: | |
340 kUnsetPresentationIdleDelayFactor, | |
341 PrefServiceSyncable::UNSYNCABLE_PREF); | |
299 } | 342 } |
300 | 343 |
301 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { | 344 void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { |
302 prefs_ = prefs; | 345 prefs_ = prefs; |
303 | 346 |
304 BooleanPrefMember::NamedChangeCallback callback = | 347 BooleanPrefMember::NamedChangeCallback callback = |
305 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); | 348 base::Bind(&Preferences::OnPreferenceChanged, base::Unretained(this)); |
306 | 349 |
307 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, callback); | 350 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, callback); |
308 tap_dragging_enabled_.Init(prefs::kTapDraggingEnabled, prefs, callback); | 351 tap_dragging_enabled_.Init(prefs::kTapDraggingEnabled, prefs, callback); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
381 xkb_auto_repeat_enabled_.Init( | 424 xkb_auto_repeat_enabled_.Init( |
382 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); | 425 prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); |
383 xkb_auto_repeat_delay_pref_.Init( | 426 xkb_auto_repeat_delay_pref_.Init( |
384 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); | 427 prefs::kLanguageXkbAutoRepeatDelay, prefs, callback); |
385 xkb_auto_repeat_interval_pref_.Init( | 428 xkb_auto_repeat_interval_pref_.Init( |
386 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); | 429 prefs::kLanguageXkbAutoRepeatInterval, prefs, callback); |
387 | 430 |
388 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); | 431 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, callback); |
389 | 432 |
390 enable_drm_.Init(prefs::kEnableCrosDRM, prefs, callback); | 433 enable_drm_.Init(prefs::kEnableCrosDRM, prefs, callback); |
434 | |
435 power_ac_screen_dim_delay_ms_pref_.Init( | |
436 prefs::kPowerAcScreenDimDelayMs, prefs, callback); | |
437 power_ac_screen_off_delay_ms_pref_.Init( | |
438 prefs::kPowerAcScreenOffDelayMs, prefs, callback); | |
439 power_ac_screen_lock_delay_ms_pref_.Init( | |
440 prefs::kPowerAcScreenLockDelayMs, prefs, callback); | |
441 power_ac_idle_delay_ms_pref_.Init( | |
442 prefs::kPowerAcIdleDelayMs, prefs, callback); | |
443 power_battery_screen_dim_delay_ms_pref_.Init( | |
444 prefs::kPowerBatteryScreenDimDelayMs, prefs, callback); | |
445 power_battery_screen_off_delay_ms_pref_.Init( | |
446 prefs::kPowerBatteryScreenOffDelayMs, prefs, callback); | |
447 power_battery_screen_lock_delay_ms_pref_.Init( | |
448 prefs::kPowerBatteryScreenLockDelayMs, prefs, callback); | |
449 power_battery_idle_delay_ms_pref_.Init( | |
450 prefs::kPowerBatteryIdleDelayMs, prefs, callback); | |
451 power_idle_action_pref_.Init(prefs::kPowerIdleAction, prefs, callback); | |
452 power_lid_closed_action_pref_.Init( | |
453 prefs::kPowerLidClosedAction, prefs, callback); | |
454 power_use_audio_activity_pref_.Init( | |
455 prefs::kPowerUseAudioActivity, prefs, callback); | |
456 power_use_video_activity_pref_.Init( | |
457 prefs::kPowerUseVideoActivity, prefs, callback); | |
458 power_presentation_idle_delay_factor_pref_.Init( | |
459 prefs::kPowerPresentationIdleDelayFactor, prefs, callback); | |
391 } | 460 } |
392 | 461 |
393 void Preferences::Init(PrefServiceSyncable* prefs) { | 462 void Preferences::Init(PrefServiceSyncable* prefs) { |
394 InitUserPrefs(prefs); | 463 InitUserPrefs(prefs); |
395 | 464 |
396 // This causes OnIsSyncingChanged to be called when the value of | 465 // This causes OnIsSyncingChanged to be called when the value of |
397 // PrefService::IsSyncing() changes. | 466 // PrefService::IsSyncing() changes. |
398 prefs->AddObserver(this); | 467 prefs->AddObserver(this); |
399 | 468 |
400 // Initialize preferences to currently saved state. | 469 // Initialize preferences to currently saved state. |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
671 // selected and Drive is disabled. | 740 // selected and Drive is disabled. |
672 if (!pref_name || *pref_name == prefs::kDisableDrive) { | 741 if (!pref_name || *pref_name == prefs::kDisableDrive) { |
673 if (disable_drive_.GetValue()) { | 742 if (disable_drive_.GetValue()) { |
674 if (drive::util::IsUnderDriveMountPoint( | 743 if (drive::util::IsUnderDriveMountPoint( |
675 download_default_directory_.GetValue())) { | 744 download_default_directory_.GetValue())) { |
676 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, | 745 prefs_->SetFilePath(prefs::kDownloadDefaultDirectory, |
677 download_util::GetDefaultDownloadDirectory()); | 746 download_util::GetDefaultDownloadDirectory()); |
678 } | 747 } |
679 } | 748 } |
680 } | 749 } |
750 | |
751 if (!pref_name || | |
752 *pref_name == prefs::kPowerAcScreenDimDelayMs || | |
753 *pref_name == prefs::kPowerAcScreenOffDelayMs || | |
754 *pref_name == prefs::kPowerAcScreenLockDelayMs || | |
755 *pref_name == prefs::kPowerAcIdleDelayMs || | |
756 *pref_name == prefs::kPowerBatteryScreenDimDelayMs || | |
757 *pref_name == prefs::kPowerBatteryScreenOffDelayMs || | |
758 *pref_name == prefs::kPowerBatteryScreenLockDelayMs || | |
759 *pref_name == prefs::kPowerBatteryIdleDelayMs || | |
760 *pref_name == prefs::kPowerIdleAction || | |
761 *pref_name == prefs::kPowerLidClosedAction || | |
762 *pref_name == prefs::kPowerUseAudioActivity || | |
763 *pref_name == prefs::kPowerUseVideoActivity || | |
764 *pref_name == prefs::kPowerPresentationIdleDelayFactor) | |
765 UpdatePowerManagementPolicy(); | |
766 | |
681 } | 767 } |
682 | 768 |
683 void Preferences::OnIsSyncingChanged() { | 769 void Preferences::OnIsSyncingChanged() { |
684 DVLOG(1) << "OnIsSyncingChanged"; | 770 DVLOG(1) << "OnIsSyncingChanged"; |
685 ForceNaturalScrollDefault(); | 771 ForceNaturalScrollDefault(); |
686 } | 772 } |
687 | 773 |
688 void Preferences::ForceNaturalScrollDefault() { | 774 void Preferences::ForceNaturalScrollDefault() { |
689 DVLOG(1) << "ForceNaturalScrollDefault"; | 775 DVLOG(1) << "ForceNaturalScrollDefault"; |
690 if (CommandLine::ForCurrentProcess()->HasSwitch( | 776 if (CommandLine::ForCurrentProcess()->HasSwitch( |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
787 return; | 873 return; |
788 | 874 |
789 input_method::AutoRepeatRate rate; | 875 input_method::AutoRepeatRate rate; |
790 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); | 876 rate.initial_delay_in_ms = xkb_auto_repeat_delay_pref_.GetValue(); |
791 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); | 877 rate.repeat_interval_in_ms = xkb_auto_repeat_interval_pref_.GetValue(); |
792 DCHECK(rate.initial_delay_in_ms > 0); | 878 DCHECK(rate.initial_delay_in_ms > 0); |
793 DCHECK(rate.repeat_interval_in_ms > 0); | 879 DCHECK(rate.repeat_interval_in_ms > 0); |
794 input_method::XKeyboard::SetAutoRepeatRate(rate); | 880 input_method::XKeyboard::SetAutoRepeatRate(rate); |
795 } | 881 } |
796 | 882 |
883 void Preferences::UpdatePowerManagementPolicy() { | |
884 PowerPolicyController::PolicyPrefs policy; | |
885 | |
886 policy.ac_screen_dim_delay = base::TimeDelta::FromMilliseconds( | |
887 power_ac_screen_dim_delay_ms_pref_.GetValue()); | |
888 policy.ac_screen_off_delay = base::TimeDelta::FromMilliseconds( | |
889 power_ac_screen_off_delay_ms_pref_.GetValue()); | |
890 policy.ac_screen_lock_delay = base::TimeDelta::FromMilliseconds( | |
891 power_ac_screen_lock_delay_ms_pref_.GetValue()); | |
892 policy.ac_idle_delay = base::TimeDelta::FromMilliseconds( | |
893 power_ac_idle_delay_ms_pref_.GetValue()); | |
894 | |
895 policy.battery_screen_dim_delay = base::TimeDelta::FromMilliseconds( | |
896 power_battery_screen_dim_delay_ms_pref_.GetValue()); | |
897 policy.battery_screen_off_delay = base::TimeDelta::FromMilliseconds( | |
898 power_battery_screen_off_delay_ms_pref_.GetValue()); | |
899 policy.battery_screen_lock_delay = base::TimeDelta::FromMilliseconds( | |
900 power_battery_screen_lock_delay_ms_pref_.GetValue()); | |
901 policy.battery_idle_delay = base::TimeDelta::FromMilliseconds( | |
902 power_battery_idle_delay_ms_pref_.GetValue()); | |
903 | |
904 policy.idle_action = static_cast<PowerPolicyController::OptionalAction>( | |
905 power_idle_action_pref_.GetValue()); | |
906 policy.lid_closed_action = static_cast<PowerPolicyController::OptionalAction>( | |
907 power_lid_closed_action_pref_.GetValue()); | |
908 | |
909 policy.use_audio_activity = static_cast<PowerPolicyController::OptionalBool>( | |
910 power_use_audio_activity_pref_.GetValue()); | |
911 policy.use_video_activity = static_cast<PowerPolicyController::OptionalBool>( | |
912 power_use_video_activity_pref_.GetValue()); | |
913 policy.presentation_idle_delay_factor = | |
914 power_presentation_idle_delay_factor_pref_.GetValue(); | |
915 | |
916 DBusThreadManager::Get()->GetPowerPolicyController()->UpdatePolicyFromPrefs( | |
917 policy); | |
918 } | |
919 | |
797 } // namespace chromeos | 920 } // namespace chromeos |
OLD | NEW |