Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Unified Diff: components/autofill/browser/webdata/autofill_entry.cc

Issue 17392006: In components/autofill, move browser/ to core/browser/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to fix conflicts Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/browser/webdata/autofill_entry.cc
diff --git a/components/autofill/browser/webdata/autofill_entry.cc b/components/autofill/browser/webdata/autofill_entry.cc
deleted file mode 100644
index 1f5ab6be9ecbd89bee018db55fbc680f2ba2d4e9..0000000000000000000000000000000000000000
--- a/components/autofill/browser/webdata/autofill_entry.cc
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/autofill/browser/webdata/autofill_entry.h"
-
-#include <algorithm>
-#include <set>
-
-#include "base/logging.h"
-#include "base/strings/utf_string_conversions.h"
-
-namespace autofill {
-namespace {
-
-// The period after which Autofill entries should expire in days.
-const int64 kExpirationPeriodInDays = 60;
-
-} // namespace
-
-AutofillKey::AutofillKey() {}
-
-AutofillKey::AutofillKey(const base::string16& name,
- const base::string16& value)
- : name_(name),
- value_(value) {
-}
-
-AutofillKey::AutofillKey(const char* name, const char* value)
- : name_(UTF8ToUTF16(name)),
- value_(UTF8ToUTF16(value)) {
-}
-
-AutofillKey::AutofillKey(const AutofillKey& key)
- : name_(key.name()),
- value_(key.value()) {
-}
-
-AutofillKey::~AutofillKey() {}
-
-bool AutofillKey::operator==(const AutofillKey& key) const {
- return name_ == key.name() && value_ == key.value();
-}
-
-bool AutofillKey::operator<(const AutofillKey& key) const {
- int diff = name_.compare(key.name());
- if (diff < 0) {
- return true;
- } else if (diff == 0) {
- return value_.compare(key.value()) < 0;
- } else {
- return false;
- }
-}
-
-AutofillEntry::AutofillEntry(const AutofillKey& key,
- const std::vector<base::Time>& timestamps)
- : key_(key) {
- timestamps_culled_ = CullTimeStamps(timestamps, &timestamps_);
-}
-
-AutofillEntry::~AutofillEntry() {}
-
-bool AutofillEntry::operator==(const AutofillEntry& entry) const {
- if (!(key_ == entry.key()))
- return false;
-
- if (timestamps_.size() != entry.timestamps().size())
- return false;
-
- std::set<base::Time> other_timestamps(entry.timestamps().begin(),
- entry.timestamps().end());
- for (size_t i = 0; i < timestamps_.size(); i++) {
- if (other_timestamps.count(timestamps_[i]) == 0)
- return false;
- }
-
- return true;
-}
-
-bool AutofillEntry::operator<(const AutofillEntry& entry) const {
- return key_ < entry.key();
-}
-
-bool AutofillEntry::IsExpired() const {
- base::Time time = ExpirationTime();
- // TODO(georgey): add DCHECK(!timestamps_.empty()) after conversion of the db
- // is complete.
- return (timestamps_.empty() || timestamps_.back() < time);
-}
-
-// static
-base::Time AutofillEntry::ExpirationTime() {
- return base::Time::Now() - base::TimeDelta::FromDays(kExpirationPeriodInDays);
-}
-
-// Culls the list of timestamps to the first and last used.
-// If sync is enabled, at every browser restart, sync will do a match up of all
-// autofill items on the server with all items on the web db. When webdb loads
-// all the items in memory(for sync to process. The method is
-// |GetAllAutofillEntries|) they will pass through this method for culling. If
-// sync finds any of these items were culled it will updates the server AND the
-// web db with these new timestamps. However after restart if an autofill item
-// exceeds the |kMaxAutofillTimeStamps| it will NOT be written to web db until
-// restart. But sync when uploading to the server will only upload this culled
-// list. Meaning until restart there will be mis-match in timestamps but
-// it should correct itself at startup.
-bool AutofillEntry::CullTimeStamps(const std::vector<base::Time>& source,
- std::vector<base::Time>* result) {
- DCHECK(result);
- DCHECK(&source != result);
-
- // First copy the source to result.
- result->clear();
-
- if (source.size() <= 2) {
- result->insert(result->begin(), source.begin(), source.end());
- return false;
- }
-
- result->push_back(source.front());
- result->push_back(source.back());
-
- DVLOG(1) << "Culling timestamps. Current count is : " << source.size();
-
- return true;
-}
-
-} // namespace autofill
« no previous file with comments | « components/autofill/browser/webdata/autofill_entry.h ('k') | components/autofill/browser/webdata/autofill_entry_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698