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

Side by Side Diff: chrome/browser/policy/configuration_policy_handler_list.cc

Issue 12217068: Add policies to control Chrome OS power management (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 7 years, 10 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/policy/configuration_policy_handler_list.h" 5 #include "chrome/browser/policy/configuration_policy_handler_list.h"
6 6
7 #include <limits>
8
7 #include "base/prefs/pref_value_map.h" 9 #include "base/prefs/pref_value_map.h"
8 #include "base/stl_util.h" 10 #include "base/stl_util.h"
9 #include "base/values.h" 11 #include "base/values.h"
10 #include "chrome/browser/policy/configuration_policy_handler.h" 12 #include "chrome/browser/policy/configuration_policy_handler.h"
11 #include "chrome/browser/policy/policy_error_map.h" 13 #include "chrome/browser/policy/policy_error_map.h"
12 #include "chrome/browser/policy/policy_map.h" 14 #include "chrome/browser/policy/policy_map.h"
13 #include "chrome/common/extensions/manifest.h" 15 #include "chrome/common/extensions/manifest.h"
14 #include "chrome/common/pref_names.h" 16 #include "chrome/common/pref_names.h"
15 #include "chromeos/network/onc/onc_constants.h" 17 #include "chromeos/network/onc/onc_constants.h"
16 #include "grit/generated_resources.h" 18 #include "grit/generated_resources.h"
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 Value::TYPE_BOOLEAN }, 344 Value::TYPE_BOOLEAN },
343 { key::kShelfAutoHideBehavior, 345 { key::kShelfAutoHideBehavior,
344 prefs::kShelfAutoHideBehaviorLocal, 346 prefs::kShelfAutoHideBehaviorLocal,
345 Value::TYPE_STRING }, 347 Value::TYPE_STRING },
346 { key::kSessionLengthLimit, 348 { key::kSessionLengthLimit,
347 prefs::kSessionLengthLimit, 349 prefs::kSessionLengthLimit,
348 Value::TYPE_INTEGER }, 350 Value::TYPE_INTEGER },
349 { key::kTermsOfServiceURL, 351 { key::kTermsOfServiceURL,
350 prefs::kTermsOfServiceURL, 352 prefs::kTermsOfServiceURL,
351 Value::TYPE_STRING }, 353 Value::TYPE_STRING },
354 { key::kPowerManagementUsesAudioActivity,
355 prefs::kPowerUseAudioActivity,
356 Value::TYPE_BOOLEAN },
357 { key::kPowerManagementUsesVideoActivity,
358 prefs::kPowerUseVideoActivity,
359 Value::TYPE_BOOLEAN },
352 #endif // defined(OS_CHROMEOS) 360 #endif // defined(OS_CHROMEOS)
353 361
354 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 362 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
355 { key::kBackgroundModeEnabled, 363 { key::kBackgroundModeEnabled,
356 prefs::kBackgroundModeEnabled, 364 prefs::kBackgroundModeEnabled,
357 Value::TYPE_BOOLEAN }, 365 Value::TYPE_BOOLEAN },
358 #endif // !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 366 #endif // !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
359 }; 367 };
360 368
361 // Mapping from extension type names to Manifest::Type. 369 // Mapping from extension type names to Manifest::Type.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 #if defined(OS_CHROMEOS) 423 #if defined(OS_CHROMEOS)
416 handlers_.push_back( 424 handlers_.push_back(
417 new NetworkConfigurationPolicyHandler( 425 new NetworkConfigurationPolicyHandler(
418 key::kDeviceOpenNetworkConfiguration, 426 key::kDeviceOpenNetworkConfiguration,
419 chromeos::onc::ONC_SOURCE_DEVICE_POLICY)); 427 chromeos::onc::ONC_SOURCE_DEVICE_POLICY));
420 handlers_.push_back( 428 handlers_.push_back(
421 new NetworkConfigurationPolicyHandler( 429 new NetworkConfigurationPolicyHandler(
422 key::kOpenNetworkConfiguration, 430 key::kOpenNetworkConfiguration,
423 chromeos::onc::ONC_SOURCE_USER_POLICY)); 431 chromeos::onc::ONC_SOURCE_USER_POLICY));
424 handlers_.push_back(new PinnedLauncherAppsPolicyHandler()); 432 handlers_.push_back(new PinnedLauncherAppsPolicyHandler());
433
434 handlers_.push_back(
435 new IntRangePolicyHandler(
436 key::kScreenDimDelayAC,
437 prefs::kPowerAcScreenDimDelayMs,
438 0, INT_MAX, true));
439 handlers_.push_back(
440 new IntRangePolicyHandler(
441 key::kScreenOffDelayAC,
442 prefs::kPowerAcScreenOffDelayMs,
443 0, INT_MAX, true));
444 handlers_.push_back(
445 new IntRangePolicyHandler(
446 key::kScreenLockDelayAC,
447 prefs::kPowerAcScreenLockDelayMs,
448 0, INT_MAX, true));
449 handlers_.push_back(
450 new IntRangePolicyHandler(
451 key::kIdleDelayAC,
452 prefs::kPowerAcIdleDelayMs,
453 0, INT_MAX, true));
454 handlers_.push_back(
455 new IntRangePolicyHandler(
456 key::kScreenDimDelayBattery,
457 prefs::kPowerBatteryScreenDimDelayMs,
458 0, INT_MAX, true));
459 handlers_.push_back(
460 new IntRangePolicyHandler(
461 key::kScreenOffDelayBattery,
462 prefs::kPowerBatteryScreenOffDelayMs,
463 0, INT_MAX, true));
464 handlers_.push_back(
465 new IntRangePolicyHandler(
466 key::kScreenLockDelayBattery,
467 prefs::kPowerBatteryScreenLockDelayMs,
468 0, INT_MAX, true));
469 handlers_.push_back(
470 new IntRangePolicyHandler(
471 key::kIdleDelayBattery,
472 prefs::kPowerBatteryIdleDelayMs,
473 0, INT_MAX, true));
474 handlers_.push_back(
475 new IntRangePolicyHandler(
476 key::kIdleAction,
477 prefs::kPowerIdleAction,
478 0, 3, false));
479 handlers_.push_back(
480 new IntRangePolicyHandler(
481 key::kLidCloseAction,
482 prefs::kPowerLidClosedAction,
483 0, 3, false));
484 handlers_.push_back(
485 new IntPercentageToDoublePolicyHandler(
486 key::kPresentationIdleDelayScale,
487 prefs::kPowerPresentationIdleDelayFactor,
488 100, INT_MAX, true));
425 #endif // defined(OS_CHROMEOS) 489 #endif // defined(OS_CHROMEOS)
426 } 490 }
427 491
428 ConfigurationPolicyHandlerList::~ConfigurationPolicyHandlerList() { 492 ConfigurationPolicyHandlerList::~ConfigurationPolicyHandlerList() {
429 STLDeleteElements(&handlers_); 493 STLDeleteElements(&handlers_);
430 } 494 }
431 495
432 void ConfigurationPolicyHandlerList::ApplyPolicySettings( 496 void ConfigurationPolicyHandlerList::ApplyPolicySettings(
433 const PolicyMap& policies, 497 const PolicyMap& policies,
434 PrefValueMap* prefs, 498 PrefValueMap* prefs,
(...skipping 17 matching lines...) Expand all
452 } 516 }
453 517
454 void ConfigurationPolicyHandlerList::PrepareForDisplaying( 518 void ConfigurationPolicyHandlerList::PrepareForDisplaying(
455 PolicyMap* policies) const { 519 PolicyMap* policies) const {
456 std::vector<ConfigurationPolicyHandler*>::const_iterator handler; 520 std::vector<ConfigurationPolicyHandler*>::const_iterator handler;
457 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler) 521 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler)
458 (*handler)->PrepareForDisplaying(policies); 522 (*handler)->PrepareForDisplaying(policies);
459 } 523 }
460 524
461 } // namespace policy 525 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/configuration_policy_handler.cc ('k') | chrome/browser/policy/configuration_policy_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698