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
diff --git a/chrome/browser/autofill/phone_number.cc b/chrome/browser/autofill/phone_number.cc
index 247b625..ff05da89 100644
--- a/chrome/browser/autofill/phone_number.cc
+++ b/chrome/browser/autofill/phone_number.cc
@@ -201,40 +201,32 @@
 }
 
 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 {