| 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/webdata/autofill_change.h" | 5 #include "components/autofill/core/browser/webdata/autofill_change.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "components/autofill/core/browser/autofill_profile.h" | 8 #include "components/autofill/core/browser/autofill_profile.h" |
| 9 #include "components/autofill/core/browser/credit_card.h" | 9 #include "components/autofill/core/browser/credit_card.h" |
| 10 | 10 |
| 11 namespace autofill { | 11 namespace autofill { |
| 12 | 12 |
| 13 AutofillChange::AutofillChange(Type type, const AutofillKey& key) | 13 AutofillChange::AutofillChange(Type type, const AutofillKey& key) |
| 14 : GenericAutofillChange<AutofillKey>(type, key) { | 14 : GenericAutofillChange<AutofillKey>(type, key) { |
| 15 } | 15 } |
| 16 | 16 |
| 17 AutofillChange::~AutofillChange() { | 17 AutofillChange::~AutofillChange() { |
| 18 } | 18 } |
| 19 | 19 |
| 20 AutofillProfileChange::AutofillProfileChange(Type type, | 20 AutofillProfileChange::AutofillProfileChange( |
| 21 const std::string& key, | 21 Type type, const std::string& key, const AutofillProfile* profile) |
| 22 const AutofillProfile* profile) | 22 : GenericAutofillChange<std::string>(type, key), |
| 23 : GenericAutofillChange<std::string>(type, key), profile_(profile) { | 23 profile_(profile) { |
| 24 DCHECK(type == REMOVE ? !profile : profile && profile->guid() == key); | 24 DCHECK(type == ADD ? (profile && profile->guid() == key) : true); |
| 25 DCHECK(type == UPDATE ? (profile && profile->guid() == key) : true); |
| 26 DCHECK(type == REMOVE ? !profile : true); |
| 25 } | 27 } |
| 26 | 28 |
| 27 AutofillProfileChange::~AutofillProfileChange() { | 29 AutofillProfileChange::~AutofillProfileChange() { |
| 28 } | 30 } |
| 29 | 31 |
| 30 bool AutofillProfileChange::operator==( | 32 bool AutofillProfileChange::operator==( |
| 31 const AutofillProfileChange& change) const { | 33 const AutofillProfileChange& change) const { |
| 32 return type() == change.type() && key() == change.key() && | 34 return type() == change.type() && |
| 33 (type() == REMOVE || *profile() == *change.profile()); | 35 key() == change.key() && |
| 34 } | 36 (type() != REMOVE) ? *profile() == *change.profile() : true; |
| 35 | |
| 36 CreditCardChange::CreditCardChange(Type type, | |
| 37 const std::string& key, | |
| 38 const CreditCard* card) | |
| 39 : GenericAutofillChange<std::string>(type, key), card_(card) { | |
| 40 DCHECK(type == REMOVE ? !card : card && card->guid() == key); | |
| 41 } | |
| 42 | |
| 43 CreditCardChange::~CreditCardChange() { | |
| 44 } | |
| 45 | |
| 46 bool CreditCardChange::operator==(const CreditCardChange& change) const { | |
| 47 return type() == change.type() && key() == change.key() && | |
| 48 (type() == REMOVE || *card() == *change.card()); | |
| 49 } | 37 } |
| 50 | 38 |
| 51 } // namespace autofill | 39 } // namespace autofill |
| OLD | NEW |