Home | History | Annotate | Download | only in webdata
      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 
     10 AutofillChange::AutofillChange(Type type, const AutofillKey& key)
     11     : GenericAutofillChange<AutofillKey>(type, key) {
     12 }
     13 
     14 AutofillChange::~AutofillChange() {
     15 }
     16 
     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 
     26 AutofillProfileChange::~AutofillProfileChange() {
     27 }
     28 
     29 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 
     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 
     44 AutofillCreditCardChange::~AutofillCreditCardChange() {
     45 }
     46 
     47 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