summaryrefslogtreecommitdiffstats
path: root/ios/chrome/browser/autofill/autofill_agent_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'ios/chrome/browser/autofill/autofill_agent_utils.h')
-rw-r--r--ios/chrome/browser/autofill/autofill_agent_utils.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/ios/chrome/browser/autofill/autofill_agent_utils.h b/ios/chrome/browser/autofill/autofill_agent_utils.h
new file mode 100644
index 0000000..d8f6c13
--- /dev/null
+++ b/ios/chrome/browser/autofill/autofill_agent_utils.h
@@ -0,0 +1,35 @@
+// Copyright 2013 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.
+#ifndef IOS_CHROME_BROWSER_AUTOFILL_AUTOFILL_AGENT_UTILS_H_
+#define IOS_CHROME_BROWSER_AUTOFILL_AUTOFILL_AGENT_UTILS_H_
+
+// TODO (sgrant): Switch to componentized version of this code when
+// http://crbug/328070 is fixed.
+
+namespace autofill {
+class FormStructure;
+}
+
+namespace autofill_agent_util {
+
+// Determines if the |structure| has any fields that are of type
+// autofill::CREDIT_CARD and thus asking for credit card info.
+bool RequestingCreditCardInfo(const autofill::FormStructure* structure);
+
+// Returns true if one of the nodes in |structure| request information related
+// to a billing address.
+bool RequestFullBillingAddress(autofill::FormStructure* structure);
+
+// Returns true if one of the nodes in |structure| request information related
+// to a shipping address. To determine this actually attempt to fill the form
+// using an empty data model that tracks which fields are requested.
+bool RequestShippingAddress(autofill::FormStructure* structure);
+
+// Returns true if one of the nodes in |structure| request information related
+// to a phone number.
+bool RequestPhoneNumber(autofill::FormStructure* structure);
+
+} // namespace autofill_agent_util
+
+#endif // IOS_CHROME_BROWSER_AUTOFILL_AUTOFILL_AGENT_UTILS_H_