summaryrefslogtreecommitdiffstats
path: root/sync/syncable/mutable_entry.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sync/syncable/mutable_entry.cc')
-rw-r--r--sync/syncable/mutable_entry.cc46
1 files changed, 23 insertions, 23 deletions
diff --git a/sync/syncable/mutable_entry.cc b/sync/syncable/mutable_entry.cc
index 8e33a67..6c13261 100644
--- a/sync/syncable/mutable_entry.cc
+++ b/sync/syncable/mutable_entry.cc
@@ -122,36 +122,36 @@ MutableEntry::MutableEntry(WriteTransaction* trans, GetTypeRoot, ModelType type)
void MutableEntry::PutLocalExternalId(int64 value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
if (kernel_->ref(LOCAL_EXTERNAL_ID) != value) {
+ write_transaction()->TrackChangesTo(kernel_);
ScopedKernelLock lock(dir());
kernel_->put(LOCAL_EXTERNAL_ID, value);
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
void MutableEntry::PutMtime(base::Time value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
if (kernel_->ref(MTIME) != value) {
+ write_transaction()->TrackChangesTo(kernel_);
kernel_->put(MTIME, value);
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
void MutableEntry::PutCtime(base::Time value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
if (kernel_->ref(CTIME) != value) {
+ write_transaction()->TrackChangesTo(kernel_);
kernel_->put(CTIME, value);
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
void MutableEntry::PutParentId(const Id& value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
if (kernel_->ref(PARENT_ID) != value) {
+ write_transaction()->TrackChangesTo(kernel_);
PutParentIdPropertyOnly(value);
if (!GetIsDel()) {
if (!PutPredecessor(Id())) {
@@ -164,20 +164,20 @@ void MutableEntry::PutParentId(const Id& value) {
void MutableEntry::PutIsDir(bool value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
- bool old_value = kernel_->ref(IS_DIR);
- if (old_value != value) {
+ if (kernel_->ref(IS_DIR) != value) {
+ write_transaction()->TrackChangesTo(kernel_);
kernel_->put(IS_DIR, value);
- kernel_->mark_dirty(GetDirtyIndexHelper());
+ MarkDirty();
}
}
void MutableEntry::PutIsDel(bool value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
if (value == kernel_->ref(IS_DEL)) {
return;
}
+
+ write_transaction()->TrackChangesTo(kernel_);
if (value) {
// If the server never knew about this item and it's deleted then we don't
// need to keep it around. Unsetting IS_UNSYNCED will:
@@ -202,28 +202,27 @@ void MutableEntry::PutIsDel(bool value) {
&dir()->kernel()->parent_child_index);
kernel_->put(IS_DEL, value);
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
void MutableEntry::PutNonUniqueName(const std::string& value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
-
if (kernel_->ref(NON_UNIQUE_NAME) != value) {
+ write_transaction()->TrackChangesTo(kernel_);
kernel_->put(NON_UNIQUE_NAME, value);
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
void MutableEntry::PutSpecifics(const sync_pb::EntitySpecifics& value) {
DCHECK(kernel_);
CHECK(!value.password().has_client_only_encrypted_data());
- write_transaction()->TrackChangesTo(kernel_);
// TODO(ncarter): This is unfortunately heavyweight. Can we do
// better?
const std::string& serialized_value = value.SerializeAsString();
if (serialized_value != kernel_->ref(SPECIFICS).SerializeAsString()) {
+ write_transaction()->TrackChangesTo(kernel_);
// Check for potential sharing - SPECIFICS is often
// copied from SERVER_SPECIFICS.
if (serialized_value ==
@@ -232,21 +231,21 @@ void MutableEntry::PutSpecifics(const sync_pb::EntitySpecifics& value) {
} else {
kernel_->put(SPECIFICS, value);
}
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
void MutableEntry::PutUniquePosition(const UniquePosition& value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
if(!kernel_->ref(UNIQUE_POSITION).Equals(value)) {
+ write_transaction()->TrackChangesTo(kernel_);
// We should never overwrite a valid position with an invalid one.
DCHECK(value.IsValid());
ScopedKernelLock lock(dir());
ScopedParentChildIndexUpdater updater(
lock, kernel_, &dir()->kernel()->parent_child_index);
kernel_->put(UNIQUE_POSITION, value);
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
@@ -258,6 +257,7 @@ bool MutableEntry::PutPredecessor(const Id& predecessor_id) {
if (!predecessor.good())
return false;
dir()->PutPredecessor(kernel_, predecessor.kernel_);
+ DCHECK(kernel_->is_dirty());
}
return true;
}
@@ -265,10 +265,10 @@ bool MutableEntry::PutPredecessor(const Id& predecessor_id) {
void MutableEntry::PutAttachmentMetadata(
const sync_pb::AttachmentMetadata& value) {
DCHECK(kernel_);
- write_transaction()->TrackChangesTo(kernel_);
const std::string& serialized_value = value.SerializeAsString();
if (serialized_value !=
kernel_->ref(ATTACHMENT_METADATA).SerializeAsString()) {
+ write_transaction()->TrackChangesTo(kernel_);
dir()->UpdateAttachmentIndex(GetMetahandle(),
kernel_->ref(ATTACHMENT_METADATA), value);
// Check for potential sharing - ATTACHMENT_METADATA is often
@@ -279,7 +279,7 @@ void MutableEntry::PutAttachmentMetadata(
} else {
kernel_->put(ATTACHMENT_METADATA, value);
}
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
}
}
@@ -298,7 +298,7 @@ void MutableEntry::MarkAttachmentAsOnServer(
record->set_is_on_server(true);
}
kernel_->put(ATTACHMENT_METADATA, attachment_metadata);
- kernel_->mark_dirty(&dir()->kernel()->dirty_metahandles);
+ MarkDirty();
MarkForSyncing(this);
}