summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autofill/credit_card.cc
diff options
context:
space:
mode:
authordhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-28 01:00:25 +0000
committerdhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-28 01:00:25 +0000
commit0f5164f1a101a9b89d2343b865f23162a0ad1c19 (patch)
treecab305ee89230c987a26ae88ae55c9ed7905f297 /chrome/browser/autofill/credit_card.cc
parent20095e2e5da3c4dd5c4de9c0a97247d86884a461 (diff)
downloadchromium_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.cc34
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 {