summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-03 20:52:26 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-03 20:52:26 +0000
commitd1ab0b7943301af63c2cac7eb45963d3bbe92e6b (patch)
tree761d8d6527c350e3cb52b56a0ce6137f6c10abbc /components
parent96391be250de839dc86474253853f7edeabf4846 (diff)
downloadchromium_src-d1ab0b7943301af63c2cac7eb45963d3bbe92e6b.zip
chromium_src-d1ab0b7943301af63c2cac7eb45963d3bbe92e6b.tar.gz
chromium_src-d1ab0b7943301af63c2cac7eb45963d3bbe92e6b.tar.bz2
rAc: fix some validation issues
1) hide bubble after fixing a missing month or year 2) CVC validity should be based on card type best guess 3) cross-field validation shouldn't override single-field validation, but fields that are validly individually shouldn't skip cross-field validation just because their partner field is invalid (necessary for \#2) BUG=336998 Review URL: https://codereview.chromium.org/141843005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components')
-rw-r--r--components/autofill/core/browser/validation.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/components/autofill/core/browser/validation.cc b/components/autofill/core/browser/validation.cc
index dc5ddd3..177785d 100644
--- a/components/autofill/core/browser/validation.cc
+++ b/components/autofill/core/browser/validation.cc
@@ -128,10 +128,9 @@ bool IsValidCreditCardSecurityCode(const base::string16& text) {
bool IsValidCreditCardSecurityCode(const base::string16& code,
const base::string16& number) {
- CreditCard card;
- card.SetRawInfo(CREDIT_CARD_NUMBER, number);
+ std::string type = CreditCard::GetCreditCardType(number);
size_t required_length = 3;
- if (card.type() == kAmericanExpressCard)
+ if (type == kAmericanExpressCard)
required_length = 4;
return code.length() == required_length;