15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// found in the LICENSE file. 41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "components/policy/core/browser/autofill_policy_handler.h" 61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 71e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "base/prefs/pref_value_map.h" 81e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "base/values.h" 91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "components/autofill/core/common/autofill_pref_names.h" 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "components/policy/core/common/policy_map.h" 111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "policy/policy_constants.h" 121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace policy { 141e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 151e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)AutofillPolicyHandler::AutofillPolicyHandler() 161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) : TypeCheckingPolicyHandler(key::kAutoFillEnabled, 171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) base::Value::TYPE_BOOLEAN) {} 181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)AutofillPolicyHandler::~AutofillPolicyHandler() { 201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void AutofillPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, 231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) PrefValueMap* prefs) { 241e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) const base::Value* value = policies.GetValue(policy_name()); 251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) bool auto_fill_enabled; 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if (value && value->GetAsBoolean(&auto_fill_enabled) && !auto_fill_enabled) 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch prefs->SetBoolean(autofill::prefs::kAutofillEnabled, false); 281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 301e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} // namespace policy 31