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 3 // found in the LICENSE file. 4 5 #include "components/autofill/core/browser/webdata/autofill_entry.h" 6 7 #include "base/strings/utf_string_conversions.h" 8 9 namespace autofill { 10 11 AutofillKey::AutofillKey() {} 12 13 AutofillKey::AutofillKey(const base::string16& name, 14 const base::string16& value) 15 : name_(name), 16 value_(value) { 17 } 18 19 AutofillKey::AutofillKey(const char* name, const char* value) 20 : name_(base::UTF8ToUTF16(name)), 21 value_(base::UTF8ToUTF16(value)) { 22 } 23 24 AutofillKey::AutofillKey(const AutofillKey& key) 25 : name_(key.name()), 26 value_(key.value()) { 27 } 28 29 AutofillKey::~AutofillKey() {} 30 31 bool AutofillKey::operator==(const AutofillKey& key) const { 32 return name_ == key.name() && value_ == key.value(); 33 } 34 35 bool AutofillKey::operator<(const AutofillKey& key) const { 36 int diff = name_.compare(key.name()); 37 if (diff < 0) 38 return true; 39 40 if (diff == 0) 41 return value_.compare(key.value()) < 0; 42 43 return false; 44 } 45 46 AutofillEntry::AutofillEntry(const AutofillKey& key, 47 const base::Time& date_created, 48 const base::Time& date_last_used) 49 : key_(key), 50 date_created_(date_created), 51 date_last_used_(date_last_used) {} 52 53 AutofillEntry::~AutofillEntry() {} 54 55 bool AutofillEntry::operator==(const AutofillEntry& entry) const { 56 return key() == entry.key() && 57 date_created() == entry.date_created() && 58 date_last_used() == entry.date_last_used(); 59 } 60 61 bool AutofillEntry::operator<(const AutofillEntry& entry) const { 62 return key_ < entry.key(); 63 } 64 65 } // namespace autofill 66