| 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/content/browser/wallet/wallet_address.h" | 5 #include "components/autofill/content/browser/wallet/wallet_address.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/strings/string_split.h" | 8 #include "base/strings/string_split.h" |
| 9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 sorting_code_(sorting_code), | 162 sorting_code_(sorting_code), |
| 163 phone_number_(phone_number), | 163 phone_number_(phone_number), |
| 164 phone_object_(phone_number, country_name_code), | 164 phone_object_(phone_number, country_name_code), |
| 165 object_id_(object_id), | 165 object_id_(object_id), |
| 166 is_complete_address_(true), | 166 is_complete_address_(true), |
| 167 language_code_(language_code) {} | 167 language_code_(language_code) {} |
| 168 | 168 |
| 169 Address::~Address() {} | 169 Address::~Address() {} |
| 170 | 170 |
| 171 // static | 171 // static |
| 172 scoped_ptr<Address> Address::CreateAddressWithID( | 172 std::unique_ptr<Address> Address::CreateAddressWithID( |
| 173 const base::DictionaryValue& dictionary) { | 173 const base::DictionaryValue& dictionary) { |
| 174 std::string object_id; | 174 std::string object_id; |
| 175 if (!dictionary.GetString("id", &object_id)) { | 175 if (!dictionary.GetString("id", &object_id)) { |
| 176 DLOG(ERROR) << "Response from Google Payments missing object id"; | 176 DLOG(ERROR) << "Response from Google Payments missing object id"; |
| 177 return scoped_ptr<Address>(); | 177 return std::unique_ptr<Address>(); |
| 178 } | 178 } |
| 179 return scoped_ptr<Address>(CreateAddressInternal(dictionary, object_id)); | 179 return std::unique_ptr<Address>(CreateAddressInternal(dictionary, object_id)); |
| 180 } | 180 } |
| 181 | 181 |
| 182 // static | 182 // static |
| 183 scoped_ptr<Address> Address::CreateAddress( | 183 std::unique_ptr<Address> Address::CreateAddress( |
| 184 const base::DictionaryValue& dictionary) { | 184 const base::DictionaryValue& dictionary) { |
| 185 std::string object_id; | 185 std::string object_id; |
| 186 dictionary.GetString("id", &object_id); | 186 dictionary.GetString("id", &object_id); |
| 187 return scoped_ptr<Address>(CreateAddressInternal(dictionary, object_id)); | 187 return std::unique_ptr<Address>(CreateAddressInternal(dictionary, object_id)); |
| 188 } | 188 } |
| 189 | 189 |
| 190 // static | 190 // static |
| 191 scoped_ptr<Address> Address::CreateDisplayAddress( | 191 std::unique_ptr<Address> Address::CreateDisplayAddress( |
| 192 const base::DictionaryValue& dictionary) { | 192 const base::DictionaryValue& dictionary) { |
| 193 std::string country_code; | 193 std::string country_code; |
| 194 if (!dictionary.GetString("country_code", &country_code)) { | 194 if (!dictionary.GetString("country_code", &country_code)) { |
| 195 DLOG(ERROR) << "Reponse from Google Payments missing country code"; | 195 DLOG(ERROR) << "Reponse from Google Payments missing country code"; |
| 196 return scoped_ptr<Address>(); | 196 return std::unique_ptr<Address>(); |
| 197 } | 197 } |
| 198 | 198 |
| 199 base::string16 name; | 199 base::string16 name; |
| 200 if (!dictionary.GetString("name", &name)) { | 200 if (!dictionary.GetString("name", &name)) { |
| 201 DLOG(ERROR) << "Reponse from Google Payments missing name"; | 201 DLOG(ERROR) << "Reponse from Google Payments missing name"; |
| 202 return scoped_ptr<Address>(); | 202 return std::unique_ptr<Address>(); |
| 203 } | 203 } |
| 204 | 204 |
| 205 base::string16 postal_code; | 205 base::string16 postal_code; |
| 206 if (!dictionary.GetString("postal_code", &postal_code)) { | 206 if (!dictionary.GetString("postal_code", &postal_code)) { |
| 207 DLOG(ERROR) << "Reponse from Google Payments missing postal code"; | 207 DLOG(ERROR) << "Reponse from Google Payments missing postal code"; |
| 208 return scoped_ptr<Address>(); | 208 return std::unique_ptr<Address>(); |
| 209 } | 209 } |
| 210 | 210 |
| 211 base::string16 sorting_code; | 211 base::string16 sorting_code; |
| 212 if (!dictionary.GetString("sorting_code", &sorting_code)) { | 212 if (!dictionary.GetString("sorting_code", &sorting_code)) { |
| 213 DVLOG(1) << "Reponse from Google Payments missing sorting code"; | 213 DVLOG(1) << "Reponse from Google Payments missing sorting code"; |
| 214 } | 214 } |
| 215 | 215 |
| 216 std::vector<base::string16> street_address; | 216 std::vector<base::string16> street_address; |
| 217 base::string16 address1; | 217 base::string16 address1; |
| 218 if (dictionary.GetString("address1", &address1)) | 218 if (dictionary.GetString("address1", &address1)) |
| (...skipping 28 matching lines...) Expand all Loading... |
| 247 DVLOG(1) << "Reponse from Google Payments missing phone number"; | 247 DVLOG(1) << "Reponse from Google Payments missing phone number"; |
| 248 | 248 |
| 249 std::string address_state; | 249 std::string address_state; |
| 250 if (!dictionary.GetString("type", &address_state)) | 250 if (!dictionary.GetString("type", &address_state)) |
| 251 DVLOG(1) << "Response from Google Payments missing type/state of address"; | 251 DVLOG(1) << "Response from Google Payments missing type/state of address"; |
| 252 | 252 |
| 253 std::string language_code; | 253 std::string language_code; |
| 254 if (!dictionary.GetString("language_code", &language_code)) | 254 if (!dictionary.GetString("language_code", &language_code)) |
| 255 DVLOG(1) << "Response from Google Payments missing language code"; | 255 DVLOG(1) << "Response from Google Payments missing language code"; |
| 256 | 256 |
| 257 scoped_ptr<Address> address( | 257 std::unique_ptr<Address> address(new Address( |
| 258 new Address(country_code, | 258 country_code, name, street_address, city, dependent_locality_name, state, |
| 259 name, | 259 postal_code, sorting_code, phone_number, std::string(), language_code)); |
| 260 street_address, | |
| 261 city, | |
| 262 dependent_locality_name, | |
| 263 state, | |
| 264 postal_code, | |
| 265 sorting_code, | |
| 266 phone_number, | |
| 267 std::string(), | |
| 268 language_code)); | |
| 269 address->set_is_complete_address(address_state == kFullAddress); | 260 address->set_is_complete_address(address_state == kFullAddress); |
| 270 | 261 |
| 271 return address; | 262 return address; |
| 272 } | 263 } |
| 273 | 264 |
| 274 scoped_ptr<base::DictionaryValue> Address::ToDictionaryWithID() const { | 265 std::unique_ptr<base::DictionaryValue> Address::ToDictionaryWithID() const { |
| 275 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 266 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
| 276 | 267 |
| 277 if (!object_id_.empty()) | 268 if (!object_id_.empty()) |
| 278 dict->SetString("id", object_id_); | 269 dict->SetString("id", object_id_); |
| 279 dict->SetString("phone_number", phone_number_); | 270 dict->SetString("phone_number", phone_number_); |
| 280 dict->Set("postal_address", ToDictionaryWithoutID().release()); | 271 dict->Set("postal_address", ToDictionaryWithoutID().release()); |
| 281 | 272 |
| 282 return dict; | 273 return dict; |
| 283 } | 274 } |
| 284 | 275 |
| 285 scoped_ptr<base::DictionaryValue> Address::ToDictionaryWithoutID() const { | 276 std::unique_ptr<base::DictionaryValue> Address::ToDictionaryWithoutID() const { |
| 286 scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 277 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
| 287 | 278 |
| 288 scoped_ptr<base::ListValue> address_lines(new base::ListValue()); | 279 std::unique_ptr<base::ListValue> address_lines(new base::ListValue()); |
| 289 address_lines->AppendStrings(street_address_); | 280 address_lines->AppendStrings(street_address_); |
| 290 dict->Set("address_line", address_lines.release()); | 281 dict->Set("address_line", address_lines.release()); |
| 291 | 282 |
| 292 dict->SetString("country_name_code", country_name_code_); | 283 dict->SetString("country_name_code", country_name_code_); |
| 293 dict->SetString("recipient_name", recipient_name_); | 284 dict->SetString("recipient_name", recipient_name_); |
| 294 dict->SetString("locality_name", locality_name_); | 285 dict->SetString("locality_name", locality_name_); |
| 295 dict->SetString("dependent_locality_name", dependent_locality_name_); | 286 dict->SetString("dependent_locality_name", dependent_locality_name_); |
| 296 dict->SetString("administrative_area_name", | 287 dict->SetString("administrative_area_name", |
| 297 administrative_area_name_); | 288 administrative_area_name_); |
| 298 dict->SetString("postal_code_number", postal_code_number_); | 289 dict->SetString("postal_code_number", postal_code_number_); |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 language_code_ == other.language_code_ && | 404 language_code_ == other.language_code_ && |
| 414 EqualsIgnoreID(other); | 405 EqualsIgnoreID(other); |
| 415 } | 406 } |
| 416 | 407 |
| 417 bool Address::operator!=(const Address& other) const { | 408 bool Address::operator!=(const Address& other) const { |
| 418 return !(*this == other); | 409 return !(*this == other); |
| 419 } | 410 } |
| 420 | 411 |
| 421 } // namespace wallet | 412 } // namespace wallet |
| 422 } // namespace autofill | 413 } // namespace autofill |
| OLD | NEW |