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

Unified Diff: sync/syncable/mutable_entry.cc

Issue 272043002: Invoke AttachmentUploader and update AttachmentIds. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Android build Created 6 years, 7 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
« no previous file with comments | « sync/syncable/mutable_entry.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/syncable/mutable_entry.cc
diff --git a/sync/syncable/mutable_entry.cc b/sync/syncable/mutable_entry.cc
index d9d5daa890f0c13fedd1723bfe9b27794a4b2d14..98af1ccf66ce5383226c41ca241147f308a195cb 100644
--- a/sync/syncable/mutable_entry.cc
+++ b/sync/syncable/mutable_entry.cc
@@ -247,6 +247,25 @@ void MutableEntry::PutAttachmentMetadata(
}
}
+void MutableEntry::UpdateAttachmentIdWithServerInfo(
+ const sync_pb::AttachmentIdProto& updated_attachment_id) {
+ DCHECK(kernel_);
+ DCHECK(!updated_attachment_id.unique_id().empty());
+ write_transaction()->TrackChangesTo(kernel_);
+ sync_pb::AttachmentMetadata& attachment_metadata =
+ kernel_->mutable_ref(ATTACHMENT_METADATA);
+ for (int i = 0; i < attachment_metadata.record_size(); ++i) {
+ sync_pb::AttachmentMetadataRecord* record =
+ attachment_metadata.mutable_record(i);
+ if (record->id().unique_id() != updated_attachment_id.unique_id())
+ continue;
+ *record->mutable_id() = updated_attachment_id;
+ record->set_is_on_server(true);
+ }
+ kernel_->mark_dirty(&dir()->kernel_->dirty_metahandles);
+ MarkForSyncing(this);
+}
+
// This function sets only the flags needed to get this entry to sync.
bool MarkForSyncing(MutableEntry* e) {
DCHECK_NE(static_cast<MutableEntry*>(NULL), e);
« no previous file with comments | « sync/syncable/mutable_entry.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698