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