1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/policy/autofill_policy_handler.h" 6 7#include "base/prefs/pref_value_map.h" 8#include "base/values.h" 9#include "components/autofill/core/common/autofill_pref_names.h" 10#include "components/policy/core/common/policy_map.h" 11#include "policy/policy_constants.h" 12 13namespace policy { 14 15AutofillPolicyHandler::AutofillPolicyHandler() 16 : TypeCheckingPolicyHandler(key::kAutoFillEnabled, 17 base::Value::TYPE_BOOLEAN) {} 18 19AutofillPolicyHandler::~AutofillPolicyHandler() { 20} 21 22void AutofillPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, 23 PrefValueMap* prefs) { 24 const base::Value* value = policies.GetValue(policy_name()); 25 bool auto_fill_enabled; 26 if (value && value->GetAsBoolean(&auto_fill_enabled) && !auto_fill_enabled) { 27 prefs->SetValue(autofill::prefs::kAutofillEnabled, 28 base::Value::CreateBooleanValue(false)); 29 } 30} 31 32} // namespace policy 33