summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autofill/phone_number.cc
diff options
context:
space:
mode:
authorisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-18 20:04:00 +0000
committerisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-18 20:04:00 +0000
commitc13014b1b5e1a8a5a6faef68ee9ad3ec123424a8 (patch)
treeb43d569622ae01e69239d03d604dcf064794fe5d /chrome/browser/autofill/phone_number.cc
parentc8c7b6361758f5ddf831c416d872772ada1199f6 (diff)
downloadchromium_src-c13014b1b5e1a8a5a6faef68ee9ad3ec123424a8.zip
chromium_src-c13014b1b5e1a8a5a6faef68ee9ad3ec123424a8.tar.gz
chromium_src-c13014b1b5e1a8a5a6faef68ee9ad3ec123424a8.tar.bz2
Add per-field-type Autofill quality metrics.
BUG=none TEST=unit_tests --gtest_filter=AutofillMetrics* Review URL: http://codereview.chromium.org/6820062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81987 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill/phone_number.cc')
-rw-r--r--chrome/browser/autofill/phone_number.cc36
1 files changed, 14 insertions, 22 deletions
diff --git a/chrome/browser/autofill/phone_number.cc b/chrome/browser/autofill/phone_number.cc
index 247b625..ff05da8 100644
--- a/chrome/browser/autofill/phone_number.cc
+++ b/chrome/browser/autofill/phone_number.cc
@@ -201,40 +201,32 @@ void PhoneNumber::set_whole_number(const string16& whole_number) {
}
bool PhoneNumber::IsNumber(const string16& text) const {
- if (text.length() > number_.length())
- return false;
-
- return StartsWith(number_, text, false);
+ // TODO(isherman): This will need to be updated once we add support for
+ // international phone numbers.
+ const size_t kPhoneNumberPrefixLength = 3;
+ const size_t kPhoneNumberSuffixLength = 4;
+ return
+ (text == number_) ||
+ (text.length() == kPhoneNumberPrefixLength &&
+ StartsWith(number_, text, true)) ||
+ (text.length() == kPhoneNumberSuffixLength &&
+ EndsWith(number_, text, true));
}
bool PhoneNumber::IsCityCode(const string16& text) const {
- if (text.length() > city_code_.length())
- return false;
-
- return StartsWith(city_code_, text, false);
+ return text == city_code_;
}
bool PhoneNumber::IsCountryCode(const string16& text) const {
- if (text.length() > country_code_.length())
- return false;
-
- return StartsWith(country_code_, text, false);
+ return text == country_code_;
}
bool PhoneNumber::IsCityAndNumber(const string16& text) const {
- string16 city_and_number(CityAndNumber());
- if (text.length() > city_and_number.length())
- return false;
-
- return StartsWith(city_and_number, text, false);
+ return text == CityAndNumber();
}
bool PhoneNumber::IsWholeNumber(const string16& text) const {
- string16 whole_number(WholeNumber());
- if (text.length() > whole_number.length())
- return false;
-
- return StartsWith(whole_number, text, false);
+ return text == WholeNumber();
}
bool PhoneNumber::Validate(const string16& number) const {