Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Side by Side Diff: components/autofill/browser/credit_card.cc

Issue 14096009: [Autofill] Split off AutofillDataModel as a subclass of FormData. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Android compile Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « components/autofill/browser/credit_card.h ('k') | components/autofill/browser/form_group.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/credit_card.h" 5 #include "components/autofill/browser/credit_card.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <ostream> 9 #include <ostream>
10 #include <string> 10 #include <string>
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 } 187 }
188 } 188 }
189 189
190 *num = 0; 190 *num = 0;
191 return false; 191 return false;
192 } 192 }
193 193
194 } // namespace 194 } // namespace
195 195
196 CreditCard::CreditCard(const std::string& guid) 196 CreditCard::CreditCard(const std::string& guid)
197 : type_(kGenericCard), 197 : AutofillDataModel(guid),
198 type_(kGenericCard),
198 expiration_month_(0), 199 expiration_month_(0),
199 expiration_year_(0), 200 expiration_year_(0) {
200 guid_(guid) {
201 } 201 }
202 202
203 CreditCard::CreditCard() 203 CreditCard::CreditCard()
204 : type_(kGenericCard), 204 : AutofillDataModel(base::GenerateGUID()),
205 type_(kGenericCard),
205 expiration_month_(0), 206 expiration_month_(0),
206 expiration_year_(0), 207 expiration_year_(0) {
207 guid_(base::GenerateGUID()) {
208 } 208 }
209 209
210 CreditCard::CreditCard(const CreditCard& credit_card) : FormGroup() { 210 CreditCard::CreditCard(const CreditCard& credit_card)
211 : AutofillDataModel(std::string()) {
211 operator=(credit_card); 212 operator=(credit_card);
212 } 213 }
213 214
214 CreditCard::~CreditCard() {} 215 CreditCard::~CreditCard() {}
215 216
216 // static 217 // static
217 const base::string16 CreditCard::StripSeparators(const base::string16& number) { 218 const base::string16 CreditCard::StripSeparators(const base::string16& number) {
218 const char16 kSeparators[] = {'-', ' ', '\0'}; 219 const char16 kSeparators[] = {'-', ' ', '\0'};
219 base::string16 stripped; 220 base::string16 stripped;
220 RemoveChars(number, kSeparators, &stripped); 221 RemoveChars(number, kSeparators, &stripped);
(...skipping 16 matching lines...) Expand all
237 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_SOLO); 238 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_SOLO);
238 if (type == kVisaCard) 239 if (type == kVisaCard)
239 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_VISA); 240 return l10n_util::GetStringUTF16(IDS_AUTOFILL_CC_VISA);
240 241
241 // If you hit this DCHECK, the above list of cases needs to be updated to 242 // If you hit this DCHECK, the above list of cases needs to be updated to
242 // include a new card. 243 // include a new card.
243 DCHECK_EQ(kGenericCard, type); 244 DCHECK_EQ(kGenericCard, type);
244 return base::string16(); 245 return base::string16();
245 } 246 }
246 247
247 std::string CreditCard::GetGUID() const {
248 return guid();
249 }
250
251 base::string16 CreditCard::GetRawInfo(AutofillFieldType type) const { 248 base::string16 CreditCard::GetRawInfo(AutofillFieldType type) const {
252 switch (type) { 249 switch (type) {
253 case CREDIT_CARD_NAME: 250 case CREDIT_CARD_NAME:
254 return name_on_card_; 251 return name_on_card_;
255 252
256 case CREDIT_CARD_EXP_MONTH: 253 case CREDIT_CARD_EXP_MONTH:
257 return ExpirationMonthAsString(); 254 return ExpirationMonthAsString();
258 255
259 case CREDIT_CARD_EXP_2_DIGIT_YEAR: 256 case CREDIT_CARD_EXP_2_DIGIT_YEAR:
260 return Expiration2DigitYearAsString(); 257 return Expiration2DigitYearAsString();
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 478
482 void CreditCard::operator=(const CreditCard& credit_card) { 479 void CreditCard::operator=(const CreditCard& credit_card) {
483 if (this == &credit_card) 480 if (this == &credit_card)
484 return; 481 return;
485 482
486 number_ = credit_card.number_; 483 number_ = credit_card.number_;
487 name_on_card_ = credit_card.name_on_card_; 484 name_on_card_ = credit_card.name_on_card_;
488 type_ = credit_card.type_; 485 type_ = credit_card.type_;
489 expiration_month_ = credit_card.expiration_month_; 486 expiration_month_ = credit_card.expiration_month_;
490 expiration_year_ = credit_card.expiration_year_; 487 expiration_year_ = credit_card.expiration_year_;
491 guid_ = credit_card.guid_; 488
489 set_guid(credit_card.guid());
492 } 490 }
493 491
494 bool CreditCard::UpdateFromImportedCard(const CreditCard& imported_card, 492 bool CreditCard::UpdateFromImportedCard(const CreditCard& imported_card,
495 const std::string& app_locale) { 493 const std::string& app_locale) {
496 if (this->GetInfo(CREDIT_CARD_NUMBER, app_locale) != 494 if (this->GetInfo(CREDIT_CARD_NUMBER, app_locale) !=
497 imported_card.GetInfo(CREDIT_CARD_NUMBER, app_locale)) { 495 imported_card.GetInfo(CREDIT_CARD_NUMBER, app_locale)) {
498 return false; 496 return false;
499 } 497 }
500 498
501 // Note that the card number is intentionally not updated, so as to preserve 499 // Note that the card number is intentionally not updated, so as to preserve
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 int comparison = GetRawInfo(types[index]).compare( 545 int comparison = GetRawInfo(types[index]).compare(
548 credit_card.GetRawInfo(types[index])); 546 credit_card.GetRawInfo(types[index]));
549 if (comparison != 0) 547 if (comparison != 0)
550 return comparison; 548 return comparison;
551 } 549 }
552 550
553 return 0; 551 return 0;
554 } 552 }
555 553
556 bool CreditCard::operator==(const CreditCard& credit_card) const { 554 bool CreditCard::operator==(const CreditCard& credit_card) const {
557 if (guid_ != credit_card.guid_) 555 return guid() == credit_card.guid() && Compare(credit_card) == 0;
558 return false;
559
560 return Compare(credit_card) == 0;
561 } 556 }
562 557
563 bool CreditCard::operator!=(const CreditCard& credit_card) const { 558 bool CreditCard::operator!=(const CreditCard& credit_card) const {
564 return !operator==(credit_card); 559 return !operator==(credit_card);
565 } 560 }
566 561
567 bool CreditCard::IsEmpty(const std::string& app_locale) const { 562 bool CreditCard::IsEmpty(const std::string& app_locale) const {
568 FieldTypeSet types; 563 FieldTypeSet types;
569 GetNonEmptyTypes(app_locale, &types); 564 GetNonEmptyTypes(app_locale, &types);
570 return types.empty(); 565 return types.empty();
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 const char* const kAmericanExpressCard = "americanExpressCC"; 672 const char* const kAmericanExpressCard = "americanExpressCC";
678 const char* const kDinersCard = "dinersCC"; 673 const char* const kDinersCard = "dinersCC";
679 const char* const kDiscoverCard = "discoverCC"; 674 const char* const kDiscoverCard = "discoverCC";
680 const char* const kGenericCard = "genericCC"; 675 const char* const kGenericCard = "genericCC";
681 const char* const kJCBCard = "jcbCC"; 676 const char* const kJCBCard = "jcbCC";
682 const char* const kMasterCard = "masterCardCC"; 677 const char* const kMasterCard = "masterCardCC";
683 const char* const kSoloCard = "soloCC"; 678 const char* const kSoloCard = "soloCC";
684 const char* const kVisaCard = "visaCC"; 679 const char* const kVisaCard = "visaCC";
685 680
686 } // namespace autofill 681 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/browser/credit_card.h ('k') | components/autofill/browser/form_group.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698