diff options
author | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-07 22:37:09 +0000 |
---|---|---|
committer | isherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-07 22:37:09 +0000 |
commit | 1340529b587df3db263f68bb15d8aee49b106692 (patch) | |
tree | 10038b7fd5d811fc20f1e2c6c7399b6199e0a1c2 /chrome/browser/autofill | |
parent | 5388215d940c8a294db3708ac37fb9ad9b2718e2 (diff) | |
download | chromium_src-1340529b587df3db263f68bb15d8aee49b106692.zip chromium_src-1340529b587df3db263f68bb15d8aee49b106692.tar.gz chromium_src-1340529b587df3db263f68bb15d8aee49b106692.tar.bz2 |
Remove FieldTypeSubGroups from the AutofillType class.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8169009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104583 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autofill')
-rw-r--r-- | chrome/browser/autofill/address.cc | 25 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_manager.cc | 2 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_metrics.cc | 2 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_profile.cc | 12 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_type.cc | 179 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_type.h | 28 | ||||
-rw-r--r-- | chrome/browser/autofill/autofill_type_unittest.cc | 12 | ||||
-rw-r--r-- | chrome/browser/autofill/form_structure.cc | 2 | ||||
-rw-r--r-- | chrome/browser/autofill/phone_number.cc | 15 |
9 files changed, 74 insertions, 203 deletions
diff --git a/chrome/browser/autofill/address.cc b/chrome/browser/autofill/address.cc index 6b2d345..576a314 100644 --- a/chrome/browser/autofill/address.cc +++ b/chrome/browser/autofill/address.cc @@ -17,17 +17,6 @@ namespace { const char16 kAddressSplitChars[] = {'-', ',', '#', '.', ' ', 0}; -const AutofillType::FieldTypeSubGroup kAutofillAddressTypes[] = { - AutofillType::ADDRESS_LINE1, - AutofillType::ADDRESS_LINE2, - AutofillType::ADDRESS_CITY, - AutofillType::ADDRESS_STATE, - AutofillType::ADDRESS_ZIP, - AutofillType::ADDRESS_COUNTRY, -}; - -const int kAutofillAddressLength = arraysize(kAutofillAddressTypes); - // Returns the country code corresponding to |country|, which should be a // localized country name. std::string ToCountryCode(const string16& country) { @@ -90,18 +79,18 @@ string16 Address::GetInfo(AutofillFieldType type) const { } void Address::SetInfo(AutofillFieldType type, const string16& value) { - FieldTypeSubGroup subgroup = AutofillType(type).subgroup(); - if (subgroup == AutofillType::ADDRESS_LINE1) + type = AutofillType::GetEquivalentFieldType(type); + if (type == ADDRESS_HOME_LINE1) line1_ = value; - else if (subgroup == AutofillType::ADDRESS_LINE2) + else if (type == ADDRESS_HOME_LINE2) line2_ = value; - else if (subgroup == AutofillType::ADDRESS_CITY) + else if (type == ADDRESS_HOME_CITY) city_ = value; - else if (subgroup == AutofillType::ADDRESS_STATE) + else if (type == ADDRESS_HOME_STATE) state_ = value; - else if (subgroup == AutofillType::ADDRESS_COUNTRY) + else if (type == ADDRESS_HOME_COUNTRY) country_code_ = ToCountryCode(value); - else if (subgroup == AutofillType::ADDRESS_ZIP) + else if (type == ADDRESS_HOME_ZIP) zip_code_ = value; else NOTREACHED(); diff --git a/chrome/browser/autofill/autofill_manager.cc b/chrome/browser/autofill/autofill_manager.cc index 478d035..3f98f44 100644 --- a/chrome/browser/autofill/autofill_manager.cc +++ b/chrome/browser/autofill/autofill_manager.cc @@ -1090,7 +1090,7 @@ void AutofillManager::FillFormField(const AutofillProfile& profile, DCHECK_NE(AutofillType::CREDIT_CARD, AutofillType(type).group()); DCHECK(field); - if (AutofillType(type).subgroup() == AutofillType::PHONE_NUMBER) { + if (type == PHONE_HOME_NUMBER) { FillPhoneNumberField(profile, cached_field, variant, field); } else { if (field->form_control_type == ASCIIToUTF16("select-one")) { diff --git a/chrome/browser/autofill/autofill_metrics.cc b/chrome/browser/autofill/autofill_metrics.cc index af13ca4..9e24061 100644 --- a/chrome/browser/autofill/autofill_metrics.cc +++ b/chrome/browser/autofill/autofill_metrics.cc @@ -120,7 +120,7 @@ int GetFieldTypeGroupMetric(const AutofillFieldType field_type, group = EMAIL; break; - case AutofillType::PHONE_HOME: + case AutofillType::PHONE: group = PHONE; break; diff --git a/chrome/browser/autofill/autofill_profile.cc b/chrome/browser/autofill/autofill_profile.cc index 5f9ac5e..d093d05 100644 --- a/chrome/browser/autofill/autofill_profile.cc +++ b/chrome/browser/autofill/autofill_profile.cc @@ -306,7 +306,7 @@ void AutofillProfile::SetMultiInfo(AutofillFieldType type, case AutofillType::EMAIL: CopyValuesToItems(type, values, &email_, EmailInfo()); break; - case AutofillType::PHONE_HOME: + case AutofillType::PHONE: CopyValuesToItems(type, values, &home_number_, @@ -345,7 +345,7 @@ void AutofillProfile::GetMultiInfoImpl(AutofillFieldType type, case AutofillType::EMAIL: CopyItemsToValues(type, email_, canonicalize, values); break; - case AutofillType::PHONE_HOME: + case AutofillType::PHONE: CopyItemsToValues(type, home_number_, canonicalize, values); break; default: @@ -359,7 +359,7 @@ bool AutofillProfile::SupportsMultiValue(AutofillFieldType type) { AutofillType::FieldTypeGroup group = AutofillType(type).group(); return group == AutofillType::NAME || group == AutofillType::EMAIL || - group == AutofillType::PHONE_HOME; + group == AutofillType::PHONE; } const string16 AutofillProfile::Label() const { @@ -535,7 +535,7 @@ bool AutofillProfile::IsSubsetOf(const AutofillProfile& profile) const { // name saved, but |profile| lacks one, |profile| could still be a subset // of |this|. continue; - } else if (AutofillType(*iter).group() == AutofillType::PHONE_HOME) { + } else if (AutofillType(*iter).group() == AutofillType::PHONE) { // Phone numbers should be canonicalized prior to being compared. if (*iter != PHONE_HOME_WHOLE_NUMBER) { continue; @@ -578,7 +578,7 @@ void AutofillProfile::OverwriteWithOrAddTo(const AutofillProfile& profile) { for (std::vector<string16>::iterator value_iter = new_values.begin(); value_iter != new_values.end(); ++value_iter) { // Don't add duplicates. - if (group == AutofillType::PHONE_HOME) { + if (group == AutofillType::PHONE) { AddPhoneIfUnique(*value_iter, &existing_values); } else { std::vector<string16>::const_iterator existing_iter = std::find_if( @@ -739,7 +739,7 @@ FormGroup* AutofillProfile::MutableFormGroupForType(AutofillFieldType type) { case AutofillType::COMPANY: form_group = &company_; break; - case AutofillType::PHONE_HOME: + case AutofillType::PHONE: form_group = &home_number_[0]; break; case AutofillType::ADDRESS_HOME: diff --git a/chrome/browser/autofill/autofill_type.cc b/chrome/browser/autofill/autofill_type.cc index 8aefd1c..1efe6a9 100644 --- a/chrome/browser/autofill/autofill_type.cc +++ b/chrome/browser/autofill/autofill_type.cc @@ -8,128 +8,6 @@ #include "base/logging.h" -namespace { - -AutofillType::AutofillTypeDefinition kAutofillTypeDefinitions[] = { - // NO_SERVER_DATA - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - // UNKNOWN_TYPE - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - // EMPTY_TYPE - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - - // NAME_FIRST - { AutofillType::NAME, AutofillType::NO_SUBGROUP }, - // NAME_MIDDLE - { AutofillType::NAME, AutofillType::NO_SUBGROUP }, - // NAME_LAST - { AutofillType::NAME, AutofillType::NO_SUBGROUP }, - // NAME_MIDDLE_INITIAL - { AutofillType::NAME, AutofillType::NO_SUBGROUP }, - // NAME_FULL - { AutofillType::NAME, AutofillType::NO_SUBGROUP }, - // NAME_SUFFIX - { AutofillType::NAME, AutofillType::NO_SUBGROUP }, - - // EMAIL_ADDRESS - { AutofillType::EMAIL, AutofillType::NO_SUBGROUP }, - - // PHONE_HOME_NUMBER - { AutofillType::PHONE_HOME, AutofillType::PHONE_NUMBER }, - // PHONE_HOME_CITY_CODE - { AutofillType::PHONE_HOME, AutofillType::PHONE_CITY_CODE }, - // PHONE_HOME_COUNTRY_CODE - { AutofillType::PHONE_HOME, AutofillType::PHONE_COUNTRY_CODE }, - // PHONE_HOME_CITY_AND_NUMBER - { AutofillType::PHONE_HOME, AutofillType::PHONE_CITY_AND_NUMBER }, - // PHONE_HOME_WHOLE_NUMBER - { AutofillType::PHONE_HOME, AutofillType::PHONE_WHOLE_NUMBER }, - - // Work phone numbers (values [15,19]) are deprecated. - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - - // Fax numbers (values [20,24]) are deprecated. - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - - // Cell phone numbers (values [25, 29]) are deprecated. - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - - // ADDRESS_HOME_LINE1 - { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_LINE1 }, - // ADDRESS_HOME_LINE2 - { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_LINE2 }, - // ADDRESS_HOME_APT_NUM - { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_APT_NUM }, - // ADDRESS_HOME_CITY - { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_CITY }, - // ADDRESS_HOME_STATE - { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_STATE }, - // ADDRESS_HOME_ZIP - { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_ZIP }, - // ADDRESS_HOME_COUNTRY - { AutofillType::ADDRESS_HOME, AutofillType::ADDRESS_COUNTRY }, - - // ADDRESS_BILLING_LINE1 - { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_LINE1 }, - // ADDRESS_BILLING_LINE2 - { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_LINE2 }, - // ADDRESS_BILLING_APT_NUM - { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_APT_NUM }, - // ADDRESS_BILLING_CITY - { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_CITY }, - // ADDRESS_BILLING_STATE - { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_STATE }, - // ADDRESS_BILLING_ZIP - { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_ZIP }, - // ADDRESS_BILLING_COUNTRY - { AutofillType::ADDRESS_BILLING, AutofillType::ADDRESS_COUNTRY }, - - // ADDRESS_SHIPPING values [44,50] are deprecated. - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - { AutofillType::NO_GROUP, AutofillType::NO_SUBGROUP }, - - // CREDIT_CARD_NAME - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_NUMBER - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_EXP_MONTH - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_EXP_2_DIGIT_YEAR - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_EXP_4_DIGIT_YEAR - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_TYPE - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - // CREDIT_CARD_VERIFICATION_CODE - { AutofillType::CREDIT_CARD, AutofillType::NO_SUBGROUP }, - - // COMPANY_NAME - { AutofillType::COMPANY, AutofillType::NO_SUBGROUP }, -}; - -} // namespace - AutofillType::AutofillType(AutofillFieldType field_type) { if ((field_type < NO_SERVER_DATA || field_type >= MAX_VALID_FIELD_TYPE) || (field_type >= 15 && field_type <= 19) || @@ -155,11 +33,60 @@ AutofillFieldType AutofillType::field_type() const { } FieldTypeGroup AutofillType::group() const { - return kAutofillTypeDefinitions[field_type_].group; -} + switch (field_type_) { + case NAME_FIRST: + case NAME_MIDDLE: + case NAME_LAST: + case NAME_MIDDLE_INITIAL: + case NAME_FULL: + case NAME_SUFFIX: + return NAME; + + case EMAIL_ADDRESS: + return EMAIL; -FieldTypeSubGroup AutofillType::subgroup() const { - return kAutofillTypeDefinitions[field_type_].subgroup; + case PHONE_HOME_NUMBER: + case PHONE_HOME_CITY_CODE: + case PHONE_HOME_COUNTRY_CODE: + case PHONE_HOME_CITY_AND_NUMBER: + case PHONE_HOME_WHOLE_NUMBER: + return PHONE; + + case ADDRESS_HOME_LINE1: + case ADDRESS_HOME_LINE2: + case ADDRESS_HOME_APT_NUM: + case ADDRESS_HOME_CITY: + case ADDRESS_HOME_STATE: + case ADDRESS_HOME_ZIP: + case ADDRESS_HOME_COUNTRY: + return ADDRESS_HOME; + + case ADDRESS_BILLING_LINE1: + case ADDRESS_BILLING_LINE2: + case ADDRESS_BILLING_APT_NUM: + case ADDRESS_BILLING_CITY: + case ADDRESS_BILLING_STATE: + case ADDRESS_BILLING_ZIP: + case ADDRESS_BILLING_COUNTRY: + return ADDRESS_BILLING; + + case CREDIT_CARD_NAME: + case CREDIT_CARD_NUMBER: + case CREDIT_CARD_EXP_MONTH: + case CREDIT_CARD_EXP_2_DIGIT_YEAR: + case CREDIT_CARD_EXP_4_DIGIT_YEAR: + case CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR: + case CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR: + case CREDIT_CARD_TYPE: + case CREDIT_CARD_VERIFICATION_CODE: + return CREDIT_CARD; + + case COMPANY_NAME: + return COMPANY; + + default: + return NO_GROUP; + } } // static diff --git a/chrome/browser/autofill/autofill_type.h b/chrome/browser/autofill/autofill_type.h index b543aca..263b509 100644 --- a/chrome/browser/autofill/autofill_type.h +++ b/chrome/browser/autofill/autofill_type.h @@ -24,41 +24,16 @@ class AutofillType { COMPANY, ADDRESS_HOME, ADDRESS_BILLING, - PHONE_HOME, + PHONE, CREDIT_CARD, }; - enum FieldTypeSubGroup { - NO_SUBGROUP, - // Address subgroups. - ADDRESS_LINE1, - ADDRESS_LINE2, - ADDRESS_APT_NUM, - ADDRESS_CITY, - ADDRESS_STATE, - ADDRESS_ZIP, - ADDRESS_COUNTRY, - - // Phone subgroups. - PHONE_NUMBER, - PHONE_CITY_CODE, - PHONE_COUNTRY_CODE, - PHONE_CITY_AND_NUMBER, - PHONE_WHOLE_NUMBER - }; - - struct AutofillTypeDefinition { - FieldTypeGroup group; - FieldTypeSubGroup subgroup; - }; - explicit AutofillType(AutofillFieldType field_type); AutofillType(const AutofillType& autofill_type); AutofillType& operator=(const AutofillType& autofill_type); AutofillFieldType field_type() const; FieldTypeGroup group() const; - FieldTypeSubGroup subgroup() const; // Maps |field_type| to a field type that can be directly stored in a profile // (in the sense that it makes sense to call |AutofillProfile::SetInfo()| with @@ -74,7 +49,6 @@ class AutofillType { }; typedef AutofillType::FieldTypeGroup FieldTypeGroup; -typedef AutofillType::FieldTypeSubGroup FieldTypeSubGroup; typedef std::set<AutofillFieldType> FieldTypeSet; typedef std::map<string16, AutofillFieldType> FieldTypeMap; diff --git a/chrome/browser/autofill/autofill_type_unittest.cc b/chrome/browser/autofill/autofill_type_unittest.cc index 4f5d401..f680cb0 100644 --- a/chrome/browser/autofill/autofill_type_unittest.cc +++ b/chrome/browser/autofill/autofill_type_unittest.cc @@ -7,54 +7,46 @@ namespace { -TEST(AutofillTypeTest, Basic) { +TEST(AutofillTypeTest, AutofillTypes) { // No server data. AutofillType none(NO_SERVER_DATA); EXPECT_EQ(NO_SERVER_DATA, none.field_type()); EXPECT_EQ(AutofillType::NO_GROUP, none.group()); - EXPECT_EQ(AutofillType::NO_SUBGROUP, none.subgroup()); // Unknown type. AutofillType unknown(UNKNOWN_TYPE); EXPECT_EQ(UNKNOWN_TYPE, unknown.field_type()); EXPECT_EQ(AutofillType::NO_GROUP, unknown.group()); - EXPECT_EQ(AutofillType::NO_SUBGROUP, unknown.subgroup()); // Type with group but no subgroup. AutofillType first(NAME_FIRST); EXPECT_EQ(NAME_FIRST, first.field_type()); EXPECT_EQ(AutofillType::NAME, first.group()); - EXPECT_EQ(AutofillType::NO_SUBGROUP, first.subgroup()); // Type with group and subgroup. AutofillType phone(PHONE_HOME_NUMBER); EXPECT_EQ(PHONE_HOME_NUMBER, phone.field_type()); - EXPECT_EQ(AutofillType::PHONE_HOME, phone.group()); - EXPECT_EQ(AutofillType::PHONE_NUMBER, phone.subgroup()); + EXPECT_EQ(AutofillType::PHONE, phone.group()); // Last value, to check any offset errors. AutofillType last(COMPANY_NAME); EXPECT_EQ(COMPANY_NAME, last.field_type()); EXPECT_EQ(AutofillType::COMPANY, last.group()); - EXPECT_EQ(AutofillType::NO_SUBGROUP, last.subgroup()); // Boundary (error) condition. AutofillType boundary(MAX_VALID_FIELD_TYPE); EXPECT_EQ(UNKNOWN_TYPE, boundary.field_type()); EXPECT_EQ(AutofillType::NO_GROUP, boundary.group()); - EXPECT_EQ(AutofillType::NO_SUBGROUP, boundary.subgroup()); // Beyond the boundary (error) condition. AutofillType beyond(static_cast<AutofillFieldType>(MAX_VALID_FIELD_TYPE+10)); EXPECT_EQ(UNKNOWN_TYPE, beyond.field_type()); EXPECT_EQ(AutofillType::NO_GROUP, beyond.group()); - EXPECT_EQ(AutofillType::NO_SUBGROUP, beyond.subgroup()); // In-between value. Missing from enum but within range. Error condition. AutofillType between(static_cast<AutofillFieldType>(16)); EXPECT_EQ(UNKNOWN_TYPE, between.field_type()); EXPECT_EQ(AutofillType::NO_GROUP, between.group()); - EXPECT_EQ(AutofillType::NO_SUBGROUP, between.subgroup()); } } // namespace diff --git a/chrome/browser/autofill/form_structure.cc b/chrome/browser/autofill/form_structure.cc index 1ee8f7e..d97f108 100644 --- a/chrome/browser/autofill/form_structure.cc +++ b/chrome/browser/autofill/form_structure.cc @@ -932,7 +932,7 @@ void FormStructure::IdentifySections(bool has_author_specified_sections) { // Forms often ask for multiple phone numbers -- e.g. both a daytime and // evening phone number. Our phone number detection is also generally a // little off. Hence, ignore this field type as a signal here. - if (AutofillType(current_type).group() == AutofillType::PHONE_HOME) + if (AutofillType(current_type).group() == AutofillType::PHONE) already_saw_current_type = false; // Some forms have adjacent fields of the same type. Two common examples: diff --git a/chrome/browser/autofill/phone_number.cc b/chrome/browser/autofill/phone_number.cc index 5303067..cf0545c 100644 --- a/chrome/browser/autofill/phone_number.cc +++ b/chrome/browser/autofill/phone_number.cc @@ -23,16 +23,6 @@ const size_t kPhoneNumberLength = 7; // The number of digits in an area code. const size_t kPhoneCityCodeLength = 3; -const AutofillType::FieldTypeSubGroup kAutofillPhoneTypes[] = { - AutofillType::PHONE_NUMBER, - AutofillType::PHONE_CITY_CODE, - AutofillType::PHONE_COUNTRY_CODE, - AutofillType::PHONE_CITY_AND_NUMBER, - AutofillType::PHONE_WHOLE_NUMBER, -}; - -const int kAutofillPhoneLength = arraysize(kAutofillPhoneTypes); - void StripPunctuation(string16* number) { RemoveChars(*number, kPhoneNumberSeparators, number); } @@ -96,9 +86,8 @@ string16 PhoneNumber::GetInfo(AutofillFieldType type) const { } void PhoneNumber::SetInfo(AutofillFieldType type, const string16& value) { - FieldTypeSubGroup subgroup = AutofillType(type).subgroup(); - if (subgroup != AutofillType::PHONE_CITY_AND_NUMBER && - subgroup != AutofillType::PHONE_WHOLE_NUMBER) { + if (type != PHONE_HOME_CITY_AND_NUMBER && + type != PHONE_HOME_WHOLE_NUMBER) { // Only full phone numbers should be set directly. The remaining field // field types are read-only. return; |