autofill_entry.cc revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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
9namespace autofill {
10
11AutofillKey::AutofillKey() {}
12
13AutofillKey::AutofillKey(const base::string16& name,
14                         const base::string16& value)
15    : name_(name),
16      value_(value) {
17}
18
19AutofillKey::AutofillKey(const char* name, const char* value)
20    : name_(base::UTF8ToUTF16(name)),
21      value_(base::UTF8ToUTF16(value)) {
22}
23
24AutofillKey::AutofillKey(const AutofillKey& key)
25    : name_(key.name()),
26      value_(key.value()) {
27}
28
29AutofillKey::~AutofillKey() {}
30
31bool AutofillKey::operator==(const AutofillKey& key) const {
32  return name_ == key.name() && value_ == key.value();
33}
34
35bool 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
46AutofillEntry::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
53AutofillEntry::~AutofillEntry() {}
54
55bool 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
61bool AutofillEntry::operator<(const AutofillEntry& entry) const {
62  return key_ < entry.key();
63}
64
65}  // namespace autofill
66