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

Unified Diff: components/sync/syncable/syncable_delete_journal.cc

Issue 2292393004: Remove stl_util from sync. (Closed)
Patch Set: rebase Created 4 years, 3 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/sync/syncable/syncable_delete_journal.cc
diff --git a/components/sync/syncable/syncable_delete_journal.cc b/components/sync/syncable/syncable_delete_journal.cc
index b8835ada37ff2d6255fc07967fc046471235eb9c..c01efa0c2910790ac9d5eb66575de0e4a9e51858 100644
--- a/components/sync/syncable/syncable_delete_journal.cc
+++ b/components/sync/syncable/syncable_delete_journal.cc
@@ -7,20 +7,18 @@
#include <stddef.h>
#include <stdint.h>
-#include "base/stl_util.h"
+#include "base/memory/ptr_util.h"
#include "components/sync/base/model_type.h"
namespace syncer {
namespace syncable {
-DeleteJournal::DeleteJournal(JournalIndex* initial_journal) {
+DeleteJournal::DeleteJournal(std::unique_ptr<JournalIndex> initial_journal) {
CHECK(initial_journal);
delete_journals_.swap(*initial_journal);
}
-DeleteJournal::~DeleteJournal() {
- base::STLDeleteElements(&delete_journals_);
-}
+DeleteJournal::~DeleteJournal() {}
size_t DeleteJournal::GetDeleteJournalSize(BaseTransaction* trans) const {
DCHECK(trans);
@@ -46,9 +44,10 @@ void DeleteJournal::UpdateDeleteJournalForServerDelete(
if (entry.ref(SERVER_IS_DEL)) {
if (it == delete_journals_.end()) {
// New delete.
- EntryKernel* t = new EntryKernel(entry);
- delete_journals_.insert(t);
+ std::unique_ptr<EntryKernel> t_ptr = base::MakeUnique<EntryKernel>(entry);
+ EntryKernel* t = t_ptr.get();
delete_journals_to_purge_.erase(t->ref(META_HANDLE));
+ delete_journals_[t] = std::move(t_ptr);
}
} else {
// Undelete. This could happen in two cases:
@@ -60,8 +59,7 @@ void DeleteJournal::UpdateDeleteJournalForServerDelete(
// UpdateDeleteJournals() to remove live entries from delete journals,
// thus only deleted entries remain in journals.
if (it != delete_journals_.end()) {
- delete_journals_to_purge_.insert((*it)->ref(META_HANDLE));
- delete *it;
+ delete_journals_to_purge_.insert((*it).first->ref(META_HANDLE));
delete_journals_.erase(it);
} else if (was_deleted) {
delete_journals_to_purge_.insert(entry.ref(META_HANDLE));
@@ -73,11 +71,10 @@ void DeleteJournal::GetDeleteJournals(BaseTransaction* trans,
ModelType type,
EntryKernelSet* deleted_entries) {
DCHECK(trans);
- for (JournalIndex::const_iterator it = delete_journals_.begin();
- it != delete_journals_.end(); ++it) {
- if ((*it)->GetServerModelType() == type ||
- GetModelTypeFromSpecifics((*it)->ref(SPECIFICS)) == type) {
- deleted_entries->insert(*it);
+ for (auto it = delete_journals_.begin(); it != delete_journals_.end(); ++it) {
+ if ((*it).first->GetServerModelType() == type ||
+ GetModelTypeFromSpecifics((*it).first->ref(SPECIFICS)) == type) {
+ deleted_entries->insert((*it).first);
}
}
passive_delete_journal_types_.Put(type);
@@ -86,11 +83,10 @@ void DeleteJournal::GetDeleteJournals(BaseTransaction* trans,
void DeleteJournal::PurgeDeleteJournals(BaseTransaction* trans,
const MetahandleSet& to_purge) {
DCHECK(trans);
- JournalIndex::iterator it = delete_journals_.begin();
+ auto it = delete_journals_.begin();
while (it != delete_journals_.end()) {
- int64_t handle = (*it)->ref(META_HANDLE);
+ int64_t handle = (*it).first->ref(META_HANDLE);
if (to_purge.count(handle)) {
- delete *it;
delete_journals_.erase(it++);
} else {
++it;
@@ -100,17 +96,17 @@ void DeleteJournal::PurgeDeleteJournals(BaseTransaction* trans,
}
void DeleteJournal::TakeSnapshotAndClear(BaseTransaction* trans,
- EntryKernelSet* journal_entries,
+ OwnedEntryKernelSet* journal_entries,
MetahandleSet* journals_to_purge) {
DCHECK(trans);
// Move passive delete journals to snapshot. Will copy back if snapshot fails
// to save.
- JournalIndex::iterator it = delete_journals_.begin();
+ auto it = delete_journals_.begin();
while (it != delete_journals_.end()) {
- if (passive_delete_journal_types_.Has((*it)->GetServerModelType()) ||
+ if (passive_delete_journal_types_.Has((*it).first->GetServerModelType()) ||
passive_delete_journal_types_.Has(
- GetModelTypeFromSpecifics((*it)->ref(SPECIFICS)))) {
- journal_entries->insert(*it);
+ GetModelTypeFromSpecifics((*it).first->ref(SPECIFICS)))) {
+ journal_entries->insert(std::move((*it).second));
delete_journals_.erase(it++);
} else {
++it;
@@ -121,16 +117,18 @@ void DeleteJournal::TakeSnapshotAndClear(BaseTransaction* trans,
}
void DeleteJournal::AddJournalBatch(BaseTransaction* trans,
- const EntryKernelSet& entries) {
+ const OwnedEntryKernelSet& entries) {
DCHECK(trans);
EntryKernel needle;
- for (EntryKernelSet::const_iterator i = entries.begin(); i != entries.end();
- ++i) {
- needle.put(ID, (*i)->ref(ID));
+ for (auto& entry : entries) {
+ needle.put(ID, entry->ref(ID));
if (delete_journals_.find(&needle) == delete_journals_.end()) {
- delete_journals_.insert(new EntryKernel(**i));
+ std::unique_ptr<EntryKernel> t_ptr =
+ base::MakeUnique<EntryKernel>(*entry);
+ EntryKernel* t = t_ptr.get();
+ delete_journals_[t] = std::move(t_ptr);
}
- delete_journals_to_purge_.erase((*i)->ref(META_HANDLE));
+ delete_journals_to_purge_.erase(entry->ref(META_HANDLE));
}
}
« components/sync/syncable/directory.cc ('K') | « components/sync/syncable/syncable_delete_journal.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698