• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/webdata/autofill_change.h"
6 
7 #include "chrome/browser/autofill/autofill_profile.h"
8 #include "chrome/browser/autofill/credit_card.h"
9 
AutofillChange(Type type,const AutofillKey & key)10 AutofillChange::AutofillChange(Type type, const AutofillKey& key)
11     : GenericAutofillChange<AutofillKey>(type, key) {
12 }
13 
~AutofillChange()14 AutofillChange::~AutofillChange() {
15 }
16 
AutofillProfileChange(Type type,std::string key,const AutofillProfile * profile)17 AutofillProfileChange::AutofillProfileChange(
18   Type type, std::string key, const AutofillProfile* profile)
19     : GenericAutofillChange<std::string>(type, key),
20       profile_(profile) {
21   DCHECK(type == ADD ? (profile && profile->guid() == key) : true);
22   DCHECK(type == UPDATE ? (profile && profile->guid() == key) : true);
23   DCHECK(type == REMOVE ? !profile : true);
24 }
25 
~AutofillProfileChange()26 AutofillProfileChange::~AutofillProfileChange() {
27 }
28 
operator ==(const AutofillProfileChange & change) const29 bool AutofillProfileChange::operator==(
30     const AutofillProfileChange& change) const {
31   return type() == change.type() &&
32          key() == change.key() &&
33          (type() != REMOVE) ? *profile() == *change.profile() : true;
34 }
35 
AutofillCreditCardChange(Type type,std::string key,const CreditCard * credit_card)36 AutofillCreditCardChange::AutofillCreditCardChange(
37   Type type, std::string key, const CreditCard* credit_card)
38     : GenericAutofillChange<std::string>(type, key), credit_card_(credit_card) {
39   DCHECK(type == ADD ? (credit_card && credit_card->guid() == key) : true);
40   DCHECK(type == UPDATE ? (credit_card && credit_card->guid() == key) : true);
41   DCHECK(type == REMOVE ? !credit_card : true);
42 }
43 
~AutofillCreditCardChange()44 AutofillCreditCardChange::~AutofillCreditCardChange() {
45 }
46 
operator ==(const AutofillCreditCardChange & change) const47 bool AutofillCreditCardChange::operator==(
48     const AutofillCreditCardChange& change) const {
49   return type() == change.type() &&
50          key() == change.key() &&
51          (type() != REMOVE) ? *credit_card() == *change.credit_card() : true;
52 }
53