diff options
author | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-28 01:00:25 +0000 |
---|---|---|
committer | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-28 01:00:25 +0000 |
commit | 0f5164f1a101a9b89d2343b865f23162a0ad1c19 (patch) | |
tree | cab305ee89230c987a26ae88ae55c9ed7905f297 /chrome/browser/autofill/credit_card.cc | |
parent | 20095e2e5da3c4dd5c4de9c0a97247d86884a461 (diff) | |
download | chromium_src-0f5164f1a101a9b89d2343b865f23162a0ad1c19.zip chromium_src-0f5164f1a101a9b89d2343b865f23162a0ad1c19.tar.gz chromium_src-0f5164f1a101a9b89d2343b865f23162a0ad1c19.tar.bz2 |
Autofill should use unicode/regex.h instead of WebKit::WebRegularExpression
Switches Autofill over to use ICU regex facilities.
BUG=84199, 84158
TEST=unit tests.
Review URL: http://codereview.chromium.org/7071048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87126 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill/credit_card.cc')
-rw-r--r-- | chrome/browser/autofill/credit_card.cc | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/chrome/browser/autofill/credit_card.cc b/chrome/browser/autofill/credit_card.cc index d6ea407..4e487da 100644 --- a/chrome/browser/autofill/credit_card.cc +++ b/chrome/browser/autofill/credit_card.cc @@ -14,13 +14,11 @@ #include "base/string_split.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" +#include "chrome/browser/autofill/autofill_scanner.h" #include "chrome/browser/autofill/autofill_type.h" #include "chrome/browser/autofill/field_types.h" #include "chrome/common/guid.h" #include "grit/generated_resources.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebRegularExpression.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebTextCaseSensitivity.h" #include "ui/base/l10n/l10n_util.h" namespace { @@ -322,22 +320,20 @@ const string16 CreditCard::Label() const { void CreditCard::SetInfoForMonthInputType(const string16& value) { // Check if |text| is "yyyy-mm" format first, and check normal month format. - WebKit::WebRegularExpression re(WebKit::WebString("^[0-9]{4}\\-[0-9]{1,2}$"), - WebKit::WebTextCaseInsensitive); - bool match = re.match(WebKit::WebString(StringToLowerASCII(value))) != -1; - if (match) { - std::vector<string16> year_month; - base::SplitString(value, L'-', &year_month); - DCHECK_EQ((int)year_month.size(), 2); - int num = 0; - bool converted = false; - converted = base::StringToInt(year_month[0], &num); - DCHECK(converted); - SetExpirationYear(num); - converted = base::StringToInt(year_month[1], &num); - DCHECK(converted); - SetExpirationMonth(num); - } + if (!autofill::MatchString(value, UTF8ToUTF16("^[0-9]{4}-[0-9]{1,2}$"))) + return; + + std::vector<string16> year_month; + base::SplitString(value, L'-', &year_month); + DCHECK_EQ((int)year_month.size(), 2); + int num = 0; + bool converted = false; + converted = base::StringToInt(year_month[0], &num); + DCHECK(converted); + SetExpirationYear(num); + converted = base::StringToInt(year_month[1], &num); + DCHECK(converted); + SetExpirationMonth(num); } string16 CreditCard::ObfuscatedNumber() const { |