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

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

Issue 18153007: Add policies to control power management on the Chrome OS login screen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Correct example in policy_templates.json. Created 7 years, 5 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 "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
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/browser/policy/configuration_policy_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698