diff options
Diffstat (limited to 'sync/syncable/mutable_entry.cc')
-rw-r--r-- | sync/syncable/mutable_entry.cc | 46 |
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); } |