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

Unified Diff: chrome/browser/policy/configuration_policy_handler.cc

Issue 109743002: Move policy code into components/policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: moar fixes Created 7 years 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.cc
diff --git a/chrome/browser/policy/configuration_policy_handler.cc b/chrome/browser/policy/configuration_policy_handler.cc
deleted file mode 100644
index d0341d9ad0e16fa188651dce310c56c464f02bc9..0000000000000000000000000000000000000000
--- a/chrome/browser/policy/configuration_policy_handler.cc
+++ /dev/null
@@ -1,298 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/policy/configuration_policy_handler.h"
-
-#include <algorithm>
-
-#include "base/callback.h"
-#include "base/files/file_path.h"
-#include "base/logging.h"
-#include "base/prefs/pref_value_map.h"
-#include "base/strings/string16.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/strings/string_util.h"
-#include "chrome/browser/policy/configuration_policy_pref_store.h"
-#include "components/policy/core/browser/policy_error_map.h"
-#include "components/policy/core/common/policy_map.h"
-#include "grit/component_strings.h"
-#include "url/gurl.h"
-
-namespace policy {
-
-// ConfigurationPolicyHandler implementation -----------------------------------
-
-// static
-std::string ConfigurationPolicyHandler::ValueTypeToString(Value::Type type) {
- static const char* strings[] = {
- "null",
- "boolean",
- "integer",
- "double",
- "string",
- "binary",
- "dictionary",
- "list"
- };
- CHECK(static_cast<size_t>(type) < arraysize(strings));
- return std::string(strings[type]);
-}
-
-ConfigurationPolicyHandler::ConfigurationPolicyHandler() {
-}
-
-ConfigurationPolicyHandler::~ConfigurationPolicyHandler() {
-}
-
-void ConfigurationPolicyHandler::PrepareForDisplaying(
- PolicyMap* policies) const {}
-
-
-// TypeCheckingPolicyHandler implementation ------------------------------------
-
-TypeCheckingPolicyHandler::TypeCheckingPolicyHandler(
- const char* policy_name,
- Value::Type value_type)
- : policy_name_(policy_name),
- value_type_(value_type) {
-}
-
-TypeCheckingPolicyHandler::~TypeCheckingPolicyHandler() {
-}
-
-const char* TypeCheckingPolicyHandler::policy_name() const {
- return policy_name_;
-}
-
-bool TypeCheckingPolicyHandler::CheckPolicySettings(const PolicyMap& policies,
- PolicyErrorMap* errors) {
- const Value* value = NULL;
- return CheckAndGetValue(policies, errors, &value);
-}
-
-bool TypeCheckingPolicyHandler::CheckAndGetValue(const PolicyMap& policies,
- PolicyErrorMap* errors,
- const Value** value) {
- *value = policies.GetValue(policy_name_);
- if (*value && !(*value)->IsType(value_type_)) {
- errors->AddError(policy_name_,
- IDS_POLICY_TYPE_ERROR,
- ValueTypeToString(value_type_));
- return false;
- }
- return true;
-}
-
-
-// IntRangePolicyHandlerBase implementation ------------------------------------
-
-IntRangePolicyHandlerBase::IntRangePolicyHandlerBase(
- const char* policy_name,
- int min,
- int max,
- bool clamp)
- : TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_INTEGER),
- min_(min),
- max_(max),
- clamp_(clamp) {
-}
-
-bool IntRangePolicyHandlerBase::CheckPolicySettings(const PolicyMap& policies,
- PolicyErrorMap* errors) {
- const base::Value* value;
- return CheckAndGetValue(policies, errors, &value) &&
- EnsureInRange(value, NULL, errors);
-}
-
-IntRangePolicyHandlerBase::~IntRangePolicyHandlerBase() {
-}
-
-bool IntRangePolicyHandlerBase::EnsureInRange(const base::Value* input,
- int* output,
- PolicyErrorMap* errors) {
- if (!input)
- return true;
-
- int value;
- if (!input->GetAsInteger(&value)) {
- NOTREACHED();
- return false;
- }
-
- if (value < min_ || value > max_) {
- if (errors) {
- errors->AddError(policy_name(),
- IDS_POLICY_OUT_OF_RANGE_ERROR,
- base::IntToString(value));
- }
-
- if (!clamp_)
- return false;
-
- value = std::min(std::max(value, min_), max_);
- }
-
- if (output)
- *output = value;
- return true;
-}
-
-
-// StringToIntEnumListPolicyHandler implementation -----------------------------
-
-StringToIntEnumListPolicyHandler::StringToIntEnumListPolicyHandler(
- const char* policy_name,
- const char* pref_path,
- const MappingEntry* mapping_begin,
- const MappingEntry* mapping_end)
- : TypeCheckingPolicyHandler(policy_name, base::Value::TYPE_LIST),
- pref_path_(pref_path),
- mapping_begin_(mapping_begin),
- mapping_end_(mapping_end) {}
-
-bool StringToIntEnumListPolicyHandler::CheckPolicySettings(
- const PolicyMap& policies,
- PolicyErrorMap* errors) {
- const base::Value* value;
- return CheckAndGetValue(policies, errors, &value) &&
- Convert(value, NULL, errors);
-}
-
-void StringToIntEnumListPolicyHandler::ApplyPolicySettings(
- const PolicyMap& policies,
- PrefValueMap* prefs) {
- if (!pref_path_)
- return;
- const base::Value* value = policies.GetValue(policy_name());
- scoped_ptr<base::ListValue> list(new base::ListValue());
- if (value && Convert(value, list.get(), NULL))
- prefs->SetValue(pref_path_, list.release());
-}
-
-bool StringToIntEnumListPolicyHandler::Convert(const base::Value* input,
- base::ListValue* output,
- PolicyErrorMap* errors) {
- if (!input)
- return true;
-
- const base::ListValue* list_value = NULL;
- if (!input->GetAsList(&list_value)) {
- NOTREACHED();
- return false;
- }
-
- for (base::ListValue::const_iterator entry(list_value->begin());
- entry != list_value->end(); ++entry) {
- std::string entry_value;
- if (!(*entry)->GetAsString(&entry_value)) {
- if (errors) {
- errors->AddError(policy_name(),
- entry - list_value->begin(),
- IDS_POLICY_TYPE_ERROR,
- ValueTypeToString(base::Value::TYPE_STRING));
- }
- continue;
- }
- bool found = false;
- for (const MappingEntry* mapping_entry(mapping_begin_);
- mapping_entry != mapping_end_; ++mapping_entry) {
- if (mapping_entry->enum_value == entry_value) {
- found = true;
- if (output)
- output->AppendInteger(mapping_entry->int_value);
- break;
- }
- }
- if (!found) {
- if (errors) {
- errors->AddError(policy_name(),
- entry - list_value->begin(),
- IDS_POLICY_OUT_OF_RANGE_ERROR);
- }
- }
- }
-
- return true;
-}
-
-
-// IntRangePolicyHandler implementation ----------------------------------------
-
-IntRangePolicyHandler::IntRangePolicyHandler(const char* policy_name,
- const char* pref_path,
- int min,
- int max,
- bool clamp)
- : IntRangePolicyHandlerBase(policy_name, min, max, clamp),
- pref_path_(pref_path) {
-}
-
-IntRangePolicyHandler::~IntRangePolicyHandler() {
-}
-
-void IntRangePolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
- PrefValueMap* prefs) {
- if (!pref_path_)
- return;
- const base::Value* value = policies.GetValue(policy_name());
- int value_in_range;
- if (value && EnsureInRange(value, &value_in_range, NULL)) {
- prefs->SetValue(pref_path_,
- base::Value::CreateIntegerValue(value_in_range));
- }
-}
-
-
-// IntPercentageToDoublePolicyHandler implementation ---------------------------
-
-IntPercentageToDoublePolicyHandler::IntPercentageToDoublePolicyHandler(
- const char* policy_name,
- const char* pref_path,
- int min,
- int max,
- bool clamp)
- : IntRangePolicyHandlerBase(policy_name, min, max, clamp),
- pref_path_(pref_path) {
-}
-
-IntPercentageToDoublePolicyHandler::~IntPercentageToDoublePolicyHandler() {
-}
-
-void IntPercentageToDoublePolicyHandler::ApplyPolicySettings(
- const PolicyMap& policies,
- PrefValueMap* prefs) {
- if (!pref_path_)
- return;
- const base::Value* value = policies.GetValue(policy_name());
- int percentage;
- if (value && EnsureInRange(value, &percentage, NULL)) {
- prefs->SetValue(pref_path_, base::Value::CreateDoubleValue(
- static_cast<double>(percentage) / 100.));
- }
-}
-
-
-// SimplePolicyHandler implementation ------------------------------------------
-
-SimplePolicyHandler::SimplePolicyHandler(
- const char* policy_name,
- const char* pref_path,
- Value::Type value_type)
- : TypeCheckingPolicyHandler(policy_name, value_type),
- pref_path_(pref_path) {
-}
-
-SimplePolicyHandler::~SimplePolicyHandler() {
-}
-
-void SimplePolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
- PrefValueMap* prefs) {
- if (!pref_path_)
- return;
- const Value* value = policies.GetValue(policy_name());
- if (value)
- prefs->SetValue(pref_path_, value->DeepCopy());
-}
-
-} // namespace policy
« no previous file with comments | « chrome/browser/policy/configuration_policy_handler.h ('k') | chrome/browser/policy/configuration_policy_handler_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698