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

Unified Diff: components/sync/engine_impl/non_blocking_type_commit_contribution.cc

Issue 2916133002: [Sync] Support commit only types. (Closed)
Patch Set: Rebase again. Created 3 years, 6 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/engine_impl/non_blocking_type_commit_contribution.cc
diff --git a/components/sync/engine_impl/non_blocking_type_commit_contribution.cc b/components/sync/engine_impl/non_blocking_type_commit_contribution.cc
index 4a65be7fcb36a077727f9d51d3834ed8e822dd08..d6bb52f542974bc62e2e0d7256f13c4404c03ce7 100644
--- a/components/sync/engine_impl/non_blocking_type_commit_contribution.cc
+++ b/components/sync/engine_impl/non_blocking_type_commit_contribution.cc
@@ -17,12 +17,14 @@ NonBlockingTypeCommitContribution::NonBlockingTypeCommitContribution(
const sync_pb::DataTypeContext& context,
const google::protobuf::RepeatedPtrField<sync_pb::SyncEntity>& entities,
ModelTypeWorker* worker,
- DataTypeDebugInfoEmitter* debug_info_emitter)
+ DataTypeDebugInfoEmitter* debug_info_emitter,
+ bool clear_client_defined_unique_tags)
: worker_(worker),
context_(context),
entities_(entities),
cleaned_up_(false),
- debug_info_emitter_(debug_info_emitter) {}
+ debug_info_emitter_(debug_info_emitter),
+ clear_client_defined_unique_tags_(clear_client_defined_unique_tags) {}
NonBlockingTypeCommitContribution::~NonBlockingTypeCommitContribution() {
DCHECK(cleaned_up_);
@@ -33,8 +35,16 @@ void NonBlockingTypeCommitContribution::AddToCommitMessage(
sync_pb::CommitMessage* commit_message = msg->mutable_commit();
entries_start_index_ = commit_message->entries_size();
+ int startIndex = commit_message->entries_size();
std::copy(entities_.begin(), entities_.end(),
RepeatedPtrFieldBackInserter(commit_message->mutable_entries()));
+
+ if (clear_client_defined_unique_tags_) {
+ for (int i = startIndex; i < commit_message->entries_size(); ++i) {
+ commit_message->mutable_entries(i)->clear_client_defined_unique_tag();
+ }
+ }
+
if (!context_.context().empty())
commit_message->add_client_contexts()->CopyFrom(context_);
« no previous file with comments | « components/sync/engine_impl/non_blocking_type_commit_contribution.h ('k') | components/sync/engine_impl/syncer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698