172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
23345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Use of this source code is governed by a BSD-style license that can be
33345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// found in the LICENSE file.
43345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
53345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#ifndef CHROME_BROWSER_AUTOFILL_SELECT_CONTROL_HANDLER_H_
63345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#define CHROME_BROWSER_AUTOFILL_SELECT_CONTROL_HANDLER_H_
73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once
83345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/autofill/field_types.h"
10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "base/string16.h"
113345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
123345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickclass FormGroup;
133345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
143345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merricknamespace webkit_glue {
15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenstruct FormField;
163345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick}  // namespace webkit_glue
173345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
183345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merricknamespace autofill {
193345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
203345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Fills a select-one control with the appropriate value from |form_group|.
213345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// Finds the matching value for field types that we know contain different
223345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// variations of a value, e.g., (tx, TX, Texas) or credit card expiration
233345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick// months, e.g., (04, April).
2472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid FillSelectControl(const FormGroup& form_group,
25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen                       AutofillFieldType type,
263345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick                       webkit_glue::FormField* field);
273345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Returns true if |value| is a valid US state name or abbreviation.  It is case
29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// insensitive.  Valid for US states only.
30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenbool IsValidState(const string16& value);
31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
323345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick}  // namespace autofill
333345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick
343345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#endif  // CHROME_BROWSER_AUTOFILL_SELECT_CONTROL_HANDLER_H_
35