| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/autofill/phone_number.h" | 5 #include "chrome/browser/autofill/phone_number.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "chrome/browser/autofill/autofill_profile.h" | 9 #include "chrome/browser/autofill/autofill_profile.h" |
| 10 #include "chrome/browser/autofill/autofill_type.h" | 10 #include "chrome/browser/autofill/autofill_type.h" |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 if (!country_code().empty()) | 85 if (!country_code().empty()) |
| 86 available_types->insert(GetCountryCodeType()); | 86 available_types->insert(GetCountryCodeType()); |
| 87 | 87 |
| 88 if (!CityAndNumber().empty()) | 88 if (!CityAndNumber().empty()) |
| 89 available_types->insert(GetCityAndNumberType()); | 89 available_types->insert(GetCityAndNumberType()); |
| 90 | 90 |
| 91 if (!WholeNumber().empty()) | 91 if (!WholeNumber().empty()) |
| 92 available_types->insert(GetWholeNumberType()); | 92 available_types->insert(GetWholeNumberType()); |
| 93 } | 93 } |
| 94 | 94 |
| 95 string16 PhoneNumber::GetFieldText(const AutofillType& type) const { | 95 string16 PhoneNumber::GetFieldText(AutofillFieldType type) const { |
| 96 AutofillFieldType field_type = type.field_type(); | 96 if (type == GetNumberType()) |
| 97 if (field_type == GetNumberType()) | |
| 98 return number(); | 97 return number(); |
| 99 | 98 |
| 100 if (field_type == GetCityCodeType()) | 99 if (type == GetCityCodeType()) |
| 101 return city_code(); | 100 return city_code(); |
| 102 | 101 |
| 103 if (field_type == GetCountryCodeType()) | 102 if (type == GetCountryCodeType()) |
| 104 return country_code(); | 103 return country_code(); |
| 105 | 104 |
| 106 if (field_type == GetCityAndNumberType()) | 105 if (type == GetCityAndNumberType()) |
| 107 return CityAndNumber(); | 106 return CityAndNumber(); |
| 108 | 107 |
| 109 if (field_type == GetWholeNumberType()) | 108 if (type == GetWholeNumberType()) |
| 110 return WholeNumber(); | 109 return WholeNumber(); |
| 111 | 110 |
| 112 return string16(); | 111 return string16(); |
| 113 } | 112 } |
| 114 | 113 |
| 115 void PhoneNumber::FindInfoMatches(const AutofillType& type, | 114 void PhoneNumber::FindInfoMatches(AutofillFieldType type, |
| 116 const string16& info, | 115 const string16& info, |
| 117 std::vector<string16>* matched_text) const { | 116 std::vector<string16>* matched_text) const { |
| 118 if (matched_text == NULL) { | 117 if (matched_text == NULL) { |
| 119 DLOG(ERROR) << "NULL matched vector passed in"; | 118 DLOG(ERROR) << "NULL matched vector passed in"; |
| 120 return; | 119 return; |
| 121 } | 120 } |
| 122 | 121 |
| 123 string16 number(info); | 122 string16 number(info); |
| 124 StripPunctuation(&number); | 123 StripPunctuation(&number); |
| 125 if (!Validate(number)) | 124 if (!Validate(number)) |
| 126 return; | 125 return; |
| 127 | 126 |
| 128 string16 match; | 127 string16 match; |
| 129 if (type.field_type() == UNKNOWN_TYPE) { | 128 if (type == UNKNOWN_TYPE) { |
| 130 for (int i = 0; i < kAutoFillPhoneLength; ++i) { | 129 for (int i = 0; i < kAutoFillPhoneLength; ++i) { |
| 131 if (FindInfoMatchesHelper(kAutoFillPhoneTypes[i], info, &match)) | 130 if (FindInfoMatchesHelper(kAutoFillPhoneTypes[i], info, &match)) |
| 132 matched_text->push_back(match); | 131 matched_text->push_back(match); |
| 133 } | 132 } |
| 134 } else { | 133 } else { |
| 135 if (FindInfoMatchesHelper(type.subgroup(), info, &match)) | 134 if (FindInfoMatchesHelper(AutofillType(type).subgroup(), info, &match)) |
| 136 matched_text->push_back(match); | 135 matched_text->push_back(match); |
| 137 } | 136 } |
| 138 } | 137 } |
| 139 | 138 |
| 140 void PhoneNumber::SetInfo(const AutofillType& type, const string16& value) { | 139 void PhoneNumber::SetInfo(AutofillFieldType type, const string16& value) { |
| 141 string16 number(value); | 140 string16 number(value); |
| 142 StripPunctuation(&number); | 141 StripPunctuation(&number); |
| 143 if (!Validate(number)) | 142 if (!Validate(number)) |
| 144 return; | 143 return; |
| 145 | 144 |
| 146 FieldTypeSubGroup subgroup = type.subgroup(); | 145 FieldTypeSubGroup subgroup = AutofillType(type).subgroup(); |
| 147 if (subgroup == AutofillType::PHONE_NUMBER) | 146 if (subgroup == AutofillType::PHONE_NUMBER) |
| 148 set_number(number); | 147 set_number(number); |
| 149 else if (subgroup == AutofillType::PHONE_CITY_CODE) | 148 else if (subgroup == AutofillType::PHONE_CITY_CODE) |
| 150 set_city_code(number); | 149 set_city_code(number); |
| 151 else if (subgroup == AutofillType::PHONE_COUNTRY_CODE) | 150 else if (subgroup == AutofillType::PHONE_COUNTRY_CODE) |
| 152 set_country_code(number); | 151 set_country_code(number); |
| 153 else if (subgroup == AutofillType::PHONE_CITY_AND_NUMBER || | 152 else if (subgroup == AutofillType::PHONE_CITY_AND_NUMBER || |
| 154 subgroup == AutofillType::PHONE_WHOLE_NUMBER) | 153 subgroup == AutofillType::PHONE_WHOLE_NUMBER) |
| 155 set_whole_number(number); | 154 set_whole_number(number); |
| 156 else | 155 else |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 return false; | 297 return false; |
| 299 } | 298 } |
| 300 | 299 |
| 301 return true; | 300 return true; |
| 302 } | 301 } |
| 303 | 302 |
| 304 // Static. | 303 // Static. |
| 305 void PhoneNumber::StripPunctuation(string16* number) { | 304 void PhoneNumber::StripPunctuation(string16* number) { |
| 306 RemoveChars(*number, kPhoneNumberSeparators, number); | 305 RemoveChars(*number, kPhoneNumberSeparators, number); |
| 307 } | 306 } |
| OLD | NEW |