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

Unified Diff: chrome/browser/policy/configuration_policy_handler_list.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: Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/configuration_policy_handler_list.cc
diff --git a/chrome/browser/policy/configuration_policy_handler_list.cc b/chrome/browser/policy/configuration_policy_handler_list.cc
index 0becee35368839500d89fb66bbaac4202aca11c1..ffe9699bb180c7584c1e507d7b89d1dd3e7ece08 100644
--- a/chrome/browser/policy/configuration_policy_handler_list.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list.cc
@@ -20,6 +20,7 @@
#if defined(OS_CHROMEOS)
#include "ash/magnifier/magnifier_constants.h"
#include "chrome/browser/chromeos/policy/configuration_policy_handler_chromeos.h"
+#include "chromeos/dbus/power_policy_controller.h"
#endif // defined(OS_CHROMEOS)
namespace policy {
@@ -418,6 +419,15 @@ StringToIntEnumListPolicyHandler::MappingEntry kExtensionAllowedTypesMap[] = {
{ "platform_app", extensions::Manifest::TYPE_PLATFORM_APP },
};
+#if defined (OS_CHROMEOS)
+// Idle and lid close actions allowed on the login screen.
+int kLoginScreenAllowedIdleAndLidCloseActions[] = {
+ chromeos::PowerPolicyController::ACTION_SUSPEND,
+ chromeos::PowerPolicyController::ACTION_SHUT_DOWN,
+ chromeos::PowerPolicyController::ACTION_DO_NOTHING,
+};
+#endif
+
} // namespace
ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList() {
@@ -529,17 +539,23 @@ ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList() {
new IntRangePolicyHandler(
key::kIdleActionAC,
prefs::kPowerAcIdleAction,
- 0, 3, false));
+ chromeos::PowerPolicyController::ACTION_SUSPEND,
+ chromeos::PowerPolicyController::ACTION_DO_NOTHING,
+ false));
handlers_.push_back(
new IntRangePolicyHandler(
key::kIdleActionBattery,
prefs::kPowerBatteryIdleAction,
- 0, 3, false));
+ chromeos::PowerPolicyController::ACTION_SUSPEND,
+ chromeos::PowerPolicyController::ACTION_DO_NOTHING,
+ false));
handlers_.push_back(
new IntRangePolicyHandler(
key::kLidCloseAction,
prefs::kPowerLidClosedAction,
- 0, 3, false));
+ chromeos::PowerPolicyController::ACTION_SUSPEND,
+ chromeos::PowerPolicyController::ACTION_DO_NOTHING,
+ false));
handlers_.push_back(
new IntPercentageToDoublePolicyHandler(
key::kPresentationScreenDimDelayScale,
@@ -550,6 +566,62 @@ ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList() {
key::kUserActivityScreenDimDelayScale,
prefs::kPowerUserActivityScreenDimDelayFactor,
100, INT_MAX, true));
+ handlers_.push_back(
+ new IntRangePolicyHandler(
+ key::kDeviceLoginScreenScreenDimDelayAC,
+ NULL,
+ 0, INT_MAX, true));
+ handlers_.push_back(
+ new IntRangePolicyHandler(
+ key::kDeviceLoginScreenScreenOffDelayAC,
+ NULL,
+ 0, INT_MAX, true));
+ handlers_.push_back(
+ new IntRangePolicyHandler(
+ key::kDeviceLoginScreenIdleDelayAC,
+ NULL,
+ 0, INT_MAX, true));
+ handlers_.push_back(
+ new IntRangePolicyHandler(
+ key::kDeviceLoginScreenScreenDimDelayBattery,
+ NULL,
+ 0, INT_MAX, true));
+ handlers_.push_back(
+ new IntRangePolicyHandler(
+ key::kDeviceLoginScreenScreenOffDelayBattery,
+ NULL,
+ 0, INT_MAX, true));
+ handlers_.push_back(
+ new IntRangePolicyHandler(
+ key::kDeviceLoginScreenIdleDelayBattery,
+ NULL,
+ 0, INT_MAX, true));
+ handlers_.push_back(
+ new IntSetPolicyHandler(
+ key::kDeviceLoginScreenIdleActionAC,
+ NULL,
+ kLoginScreenAllowedIdleAndLidCloseActions,
+ kLoginScreenAllowedIdleAndLidCloseActions +
+ arraysize(kLoginScreenAllowedIdleAndLidCloseActions)));
+ handlers_.push_back(
+ new IntSetPolicyHandler(
+ key::kDeviceLoginScreenIdleActionBattery,
+ NULL,
+ kLoginScreenAllowedIdleAndLidCloseActions,
+ kLoginScreenAllowedIdleAndLidCloseActions +
+ arraysize(kLoginScreenAllowedIdleAndLidCloseActions)));
+ handlers_.push_back(
+ new IntSetPolicyHandler(
+ key::kDeviceLoginScreenLidCloseAction,
+ NULL,
+ kLoginScreenAllowedIdleAndLidCloseActions,
+ kLoginScreenAllowedIdleAndLidCloseActions +
+ arraysize(kLoginScreenAllowedIdleAndLidCloseActions)));
+ handlers_.push_back(
+ new IntPercentageToDoublePolicyHandler(
+ key::kDeviceLoginScreenUserActivityScreenDimDelayScale,
+ NULL,
+ 100, INT_MAX, true));
handlers_.push_back(new IntRangePolicyHandler(key::kUptimeLimit,
prefs::kUptimeLimit,
3600, INT_MAX, true));

Powered by Google App Engine
This is Rietveld 408576698