Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Unified Diff: components/autofill/core/browser/validation.h

Issue 2813203004: [Payments] Show what's missing for incomplete payment methods. (Closed)
Patch Set: addressed comments, now two functions Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/validation.h
diff --git a/components/autofill/core/browser/validation.h b/components/autofill/core/browser/validation.h
index 93a52e59b4f560d1d984fff0d0ebd5f5a5186409..5905b842b3ea1e1e0073df3c91f5eead0b41d4ba 100644
--- a/components/autofill/core/browser/validation.h
+++ b/components/autofill/core/browser/validation.h
@@ -15,10 +15,19 @@ class Time;
namespace autofill {
+class CreditCard;
+
// Constants for the length of a CVC.
static const size_t GENERAL_CVC_LENGTH = 3;
static const size_t AMEX_CVC_LENGTH = 4;
+// Used to express the completion status of a credit card.
+typedef uint32_t CreditCardCompletionStatus;
+static const CreditCardCompletionStatus CREDIT_CARD_COMPLETE = 0;
+static const CreditCardCompletionStatus CREDIT_CARD_EXPIRED = 1 << 0;
+static const CreditCardCompletionStatus CREDIT_CARD_NO_CARDHOLDER = 1 << 1;
+static const CreditCardCompletionStatus CREDIT_CARD_NO_NUMBER = 1 << 2;
+
// Returns true if |year| and |month| describe a date later than |now|.
// |year| must have 4 digits.
bool IsValidCreditCardExpirationDate(int year,
@@ -42,6 +51,18 @@ bool IsValidCreditCardNumberForBasicCardNetworks(
const std::set<std::string>& supported_basic_card_networks,
base::string16* error_message);
+// Returns the credit card's completion status. If equal to
+// CREDIT_CARD_COMPLETE, then the card is ready to be used for Payment Request.
+// TODO(crbug.com/709776): Check for billing address association.
+CreditCardCompletionStatus GetCompletionStatusForCard(
+ const CreditCard& credit_card,
+ const std::string& app_locale);
+
+// Return the message to be displayed to the user, indicating what's missing
+// to make the credit card complete for payment. If more than one thing is
+// missing, the message will be a generic "more information required".
+base::string16 GetCompletionMessageForCard(CreditCardCompletionStatus status);
+
// Returns true if |text| looks like a valid e-mail address.
bool IsValidEmailAddress(const base::string16& text);
« no previous file with comments | « chrome/browser/ui/views/payments/payment_method_view_controller.cc ('k') | components/autofill/core/browser/validation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698