summaryrefslogtreecommitdiffstats
path: root/sync/engine/commit_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sync/engine/commit_util.cc')
-rw-r--r--sync/engine/commit_util.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/sync/engine/commit_util.cc b/sync/engine/commit_util.cc
index ad29e4f..c913edd 100644
--- a/sync/engine/commit_util.cc
+++ b/sync/engine/commit_util.cc
@@ -11,6 +11,7 @@
#include "base/strings/string_util.h"
#include "sync/engine/syncer_proto_util.h"
+#include "sync/internal_api/public/base/attachment_id_proto.h"
#include "sync/internal_api/public/base/unique_position.h"
#include "sync/protocol/bookmark_specifics.pb.h"
#include "sync/protocol/sync.pb.h"
@@ -83,6 +84,7 @@ void AddClientConfigParamsToMessage(
}
namespace {
+
void SetEntrySpecifics(const Entry& meta_entry,
sync_pb::SyncEntity* sync_entry) {
// Add the new style extension and the folder bit.
@@ -92,6 +94,16 @@ void SetEntrySpecifics(const Entry& meta_entry,
CHECK(!sync_entry->specifics().password().has_client_only_encrypted_data());
DCHECK_EQ(meta_entry.GetModelType(), GetModelType(*sync_entry));
}
+
+void SetAttachmentIds(const Entry& meta_entry,
+ sync_pb::SyncEntity* sync_entry) {
+ const sync_pb::AttachmentMetadata& attachment_metadata =
+ meta_entry.GetAttachmentMetadata();
+ for (int i = 0; i < attachment_metadata.record_size(); ++i) {
+ *sync_entry->add_attachment_id() = attachment_metadata.record(i).id();
+ }
+}
+
} // namespace
void BuildCommitItem(
@@ -161,6 +173,8 @@ void BuildCommitItem(
sync_entry->set_ctime(TimeToProtoTime(meta_entry.GetCtime()));
sync_entry->set_mtime(TimeToProtoTime(meta_entry.GetMtime()));
+ SetAttachmentIds(meta_entry, sync_entry);
+
// Handle bookmarks separately.
if (meta_entry.GetSpecifics().has_bookmark()) {
if (meta_entry.GetIsDel()) {
@@ -305,6 +319,8 @@ void UpdateServerFieldsAfterCommit(
(committed_entry.folder() ||
committed_entry.bookmarkdata().bookmark_folder()));
local_entry->PutServerSpecifics(committed_entry.specifics());
+ local_entry->PutServerAttachmentMetadata(
+ CreateAttachmentMetadata(committed_entry.attachment_id()));
local_entry->PutServerMtime(ProtoTimeToTime(committed_entry.mtime()));
local_entry->PutServerCtime(ProtoTimeToTime(committed_entry.ctime()));
if (committed_entry.has_unique_position()) {