Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: chrome/browser/chromeos/preferences.cc

Issue 14134004: chromeos: Move default power management policy into Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: change char pointers in PrefNames to std::strings Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698