OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/autofill/core/browser/address.h" | 5 #include "components/autofill/core/browser/address.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <algorithm> | 8 #include <algorithm> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 | 113 |
114 case ADDRESS_HOME_ZIP: | 114 case ADDRESS_HOME_ZIP: |
115 zip_code_ = value; | 115 zip_code_ = value; |
116 break; | 116 break; |
117 | 117 |
118 case ADDRESS_HOME_SORTING_CODE: | 118 case ADDRESS_HOME_SORTING_CODE: |
119 sorting_code_ = value; | 119 sorting_code_ = value; |
120 break; | 120 break; |
121 | 121 |
122 case ADDRESS_HOME_STREET_ADDRESS: | 122 case ADDRESS_HOME_STREET_ADDRESS: |
123 base::SplitString(value, char16('\n'), &street_address_); | 123 base::SplitString(value, base::char16('\n'), &street_address_); |
124 break; | 124 break; |
125 | 125 |
126 default: | 126 default: |
127 NOTREACHED(); | 127 NOTREACHED(); |
128 } | 128 } |
129 } | 129 } |
130 | 130 |
131 base::string16 Address::GetInfo(const AutofillType& type, | 131 base::string16 Address::GetInfo(const AutofillType& type, |
132 const std::string& app_locale) const { | 132 const std::string& app_locale) const { |
133 if (type.html_type() == HTML_TYPE_COUNTRY_CODE) | 133 if (type.html_type() == HTML_TYPE_COUNTRY_CODE) |
(...skipping 23 matching lines...) Expand all Loading... |
157 if (storable_type == ADDRESS_HOME_COUNTRY && !value.empty()) { | 157 if (storable_type == ADDRESS_HOME_COUNTRY && !value.empty()) { |
158 country_code_ = AutofillCountry::GetCountryCode(value, app_locale); | 158 country_code_ = AutofillCountry::GetCountryCode(value, app_locale); |
159 return !country_code_.empty(); | 159 return !country_code_.empty(); |
160 } | 160 } |
161 | 161 |
162 // If the address doesn't have any newlines, don't attempt to parse it into | 162 // If the address doesn't have any newlines, don't attempt to parse it into |
163 // lines, since this is potentially a user-entered address in the user's own | 163 // lines, since this is potentially a user-entered address in the user's own |
164 // format, so the code would have to rely on iffy heuristics at best. | 164 // format, so the code would have to rely on iffy heuristics at best. |
165 // Instead, just give up when importing addresses like this. | 165 // Instead, just give up when importing addresses like this. |
166 if (storable_type == ADDRESS_HOME_STREET_ADDRESS && !value.empty() && | 166 if (storable_type == ADDRESS_HOME_STREET_ADDRESS && !value.empty() && |
167 value.find(char16('\n')) == base::string16::npos) { | 167 value.find(base::char16('\n')) == base::string16::npos) { |
168 street_address_.clear(); | 168 street_address_.clear(); |
169 return false; | 169 return false; |
170 } | 170 } |
171 | 171 |
172 SetRawInfo(storable_type, value); | 172 SetRawInfo(storable_type, value); |
173 | 173 |
174 // Likewise, give up when importing addresses with any entirely blank lines. | 174 // Likewise, give up when importing addresses with any entirely blank lines. |
175 // There's a good chance that this formatting is not intentional, but it's | 175 // There's a good chance that this formatting is not intentional, but it's |
176 // also not obviously safe to just strip the newlines. | 176 // also not obviously safe to just strip the newlines. |
177 if (storable_type == ADDRESS_HOME_STREET_ADDRESS && | 177 if (storable_type == ADDRESS_HOME_STREET_ADDRESS && |
(...skipping 29 matching lines...) Expand all Loading... |
207 supported_types->insert(ADDRESS_HOME_COUNTRY); | 207 supported_types->insert(ADDRESS_HOME_COUNTRY); |
208 } | 208 } |
209 | 209 |
210 void Address::TrimStreetAddress() { | 210 void Address::TrimStreetAddress() { |
211 while (!street_address_.empty() && street_address_.back().empty()) { | 211 while (!street_address_.empty() && street_address_.back().empty()) { |
212 street_address_.pop_back(); | 212 street_address_.pop_back(); |
213 } | 213 } |
214 } | 214 } |
215 | 215 |
216 } // namespace autofill | 216 } // namespace autofill |
OLD | NEW |