| 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/address.h" | 5 #include "chrome/browser/autofill/address.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_country.h" | 9 #include "chrome/browser/autofill/autofill_country.h" |
| 10 #include "chrome/browser/autofill/autofill_type.h" | 10 #include "chrome/browser/autofill/autofill_type.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 AutofillType::ADDRESS_ZIP, | 22 AutofillType::ADDRESS_ZIP, |
| 23 AutofillType::ADDRESS_COUNTRY, | 23 AutofillType::ADDRESS_COUNTRY, |
| 24 }; | 24 }; |
| 25 | 25 |
| 26 const int kAutoFillAddressLength = arraysize(kAutoFillAddressTypes); | 26 const int kAutoFillAddressLength = arraysize(kAutoFillAddressTypes); |
| 27 | 27 |
| 28 } // namespace | 28 } // namespace |
| 29 | 29 |
| 30 Address::Address() {} | 30 Address::Address() {} |
| 31 | 31 |
| 32 Address::Address(const Address& address) : FormGroup() { |
| 33 *this = address; |
| 34 } |
| 35 |
| 32 Address::~Address() {} | 36 Address::~Address() {} |
| 33 | 37 |
| 34 FormGroup* Address::Clone() const { | 38 Address& Address::operator=(const Address& address) { |
| 35 return new Address(*this); | 39 if (this == &address) |
| 40 return *this; |
| 41 |
| 42 line1_tokens_ = address.line1_tokens_; |
| 43 line2_tokens_= address.line2_tokens_; |
| 44 line1_ = address.line1_; |
| 45 line2_ = address.line2_; |
| 46 city_ = address.city_; |
| 47 state_ = address.state_; |
| 48 country_code_ = address.country_code_; |
| 49 zip_code_ = address.zip_code_; |
| 50 return *this; |
| 36 } | 51 } |
| 37 | 52 |
| 38 void Address::GetPossibleFieldTypes(const string16& text, | 53 void Address::GetPossibleFieldTypes(const string16& text, |
| 39 FieldTypeSet* possible_types) const { | 54 FieldTypeSet* possible_types) const { |
| 40 DCHECK(possible_types); | 55 DCHECK(possible_types); |
| 41 | 56 |
| 42 // If the text to match against the field types is empty, then no results will | 57 // If the text to match against the field types is empty, then no results will |
| 43 // match. | 58 // match. |
| 44 if (text.empty()) | 59 if (text.empty()) |
| 45 return; | 60 return; |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 line1_tokens_.clear(); | 162 line1_tokens_.clear(); |
| 148 line1_.clear(); | 163 line1_.clear(); |
| 149 line2_tokens_.clear(); | 164 line2_tokens_.clear(); |
| 150 line2_.clear(); | 165 line2_.clear(); |
| 151 city_.clear(); | 166 city_.clear(); |
| 152 state_.clear(); | 167 state_.clear(); |
| 153 country_code_.clear(); | 168 country_code_.clear(); |
| 154 zip_code_.clear(); | 169 zip_code_.clear(); |
| 155 } | 170 } |
| 156 | 171 |
| 157 Address::Address(const Address& address) | |
| 158 : FormGroup(), | |
| 159 line1_tokens_(address.line1_tokens_), | |
| 160 line2_tokens_(address.line2_tokens_), | |
| 161 line1_(address.line1_), | |
| 162 line2_(address.line2_), | |
| 163 city_(address.city_), | |
| 164 state_(address.state_), | |
| 165 country_code_(address.country_code_), | |
| 166 zip_code_(address.zip_code_) { | |
| 167 } | |
| 168 | |
| 169 string16 Address::Country() const { | 172 string16 Address::Country() const { |
| 170 if (country_code().empty()) | 173 if (country_code().empty()) |
| 171 return string16(); | 174 return string16(); |
| 172 | 175 |
| 173 std::string app_locale = AutofillCountry::ApplicationLocale(); | 176 std::string app_locale = AutofillCountry::ApplicationLocale(); |
| 174 return AutofillCountry(country_code(), app_locale).name(); | 177 return AutofillCountry(country_code(), app_locale).name(); |
| 175 } | 178 } |
| 176 | 179 |
| 177 void Address::set_line1(const string16& line1) { | 180 void Address::set_line1(const string16& line1) { |
| 178 line1_ = line1; | 181 line1_ = line1; |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 bool Address::IsWordInLine(const string16& word, | 284 bool Address::IsWordInLine(const string16& word, |
| 282 const LineTokens& line_tokens) const { | 285 const LineTokens& line_tokens) const { |
| 283 LineTokens::const_iterator iter; | 286 LineTokens::const_iterator iter; |
| 284 for (iter = line_tokens.begin(); iter != line_tokens.end(); ++iter) { | 287 for (iter = line_tokens.begin(); iter != line_tokens.end(); ++iter) { |
| 285 if (StringToLowerASCII(word) == *iter) | 288 if (StringToLowerASCII(word) == *iter) |
| 286 return true; | 289 return true; |
| 287 } | 290 } |
| 288 | 291 |
| 289 return false; | 292 return false; |
| 290 } | 293 } |
| OLD | NEW |