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

Unified Diff: components/sync_driver/generic_change_processor.cc

Issue 567053002: Pass AttachmentIdList instead of AttachmentList to SyncData (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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_driver/generic_change_processor.cc
diff --git a/components/sync_driver/generic_change_processor.cc b/components/sync_driver/generic_change_processor.cc
index 30b215ea60f74e90e2d0f9a4ac3915737419aff8..a30b2d176e1fa7da94a1f26b70a07683314bbe22 100644
--- a/components/sync_driver/generic_change_processor.cc
+++ b/components/sync_driver/generic_change_processor.cc
@@ -85,11 +85,6 @@ syncer::SyncData BuildRemoteSyncData(
attachment_service_proxy);
}
-const syncer::AttachmentId& AttachmentToAttachmentId(
- const syncer::Attachment& attachment) {
- return attachment.GetId();
-}
-
} // namespace
GenericChangeProcessor::GenericChangeProcessor(
@@ -410,7 +405,7 @@ syncer::SyncError GenericChangeProcessor::ProcessSyncChanges(
// Keep track of brand new attachments so we can persist them on this device
// and upload them to the server.
- syncer::AttachmentList new_attachments;
+ syncer::AttachmentIdList new_attachments;
syncer::WriteTransaction trans(from_here, share_handle());
@@ -476,7 +471,7 @@ syncer::SyncError GenericChangeProcessor::ProcessSyncChanges(
NOTREACHED();
return error;
}
- StoreAndUploadAttachments(new_attachments);
+ UploadAttachments(new_attachments);
}
return syncer::SyncError();
@@ -492,7 +487,7 @@ syncer::SyncError GenericChangeProcessor::HandleActionAdd(
const syncer::ModelType& type,
const syncer::WriteTransaction& trans,
syncer::WriteNode* sync_node,
- syncer::AttachmentList* new_attachments) {
+ syncer::AttachmentIdList* new_attachments) {
// TODO(sync): Handle other types of creation (custom parents, folders,
// etc.).
syncer::ReadNode root_node(&trans);
@@ -560,12 +555,8 @@ syncer::SyncError GenericChangeProcessor::HandleActionAdd(
SetAttachmentMetadata(attachment_ids, sync_node);
// Return any newly added attachments.
- const syncer::AttachmentList& local_attachments_for_upload =
- sync_data_local.GetLocalAttachmentsForUpload();
- new_attachments->insert(new_attachments->end(),
- local_attachments_for_upload.begin(),
- local_attachments_for_upload.end());
-
+ new_attachments->insert(
+ new_attachments->end(), attachment_ids.begin(), attachment_ids.end());
if (merge_result_.get()) {
merge_result_->set_num_items_added(merge_result_->num_items_added() + 1);
}
@@ -581,7 +572,7 @@ syncer::SyncError GenericChangeProcessor::HandleActionUpdate(
const syncer::ModelType& type,
const syncer::WriteTransaction& trans,
syncer::WriteNode* sync_node,
- syncer::AttachmentList* new_attachments) {
+ syncer::AttachmentIdList* new_attachments) {
// TODO(zea): consider having this logic for all possible changes?
const syncer::SyncDataLocal sync_data_local(change.sync_data());
@@ -663,14 +654,12 @@ syncer::SyncError GenericChangeProcessor::HandleActionUpdate(
sync_node->SetTitle(change.sync_data().GetTitle());
SetNodeSpecifics(sync_data_local.GetSpecifics(), sync_node);
- SetAttachmentMetadata(sync_data_local.GetAttachmentIds(), sync_node);
+ syncer::AttachmentIdList attachment_ids = sync_data_local.GetAttachmentIds();
+ SetAttachmentMetadata(attachment_ids, sync_node);
// Return any newly added attachments.
- const syncer::AttachmentList& local_attachments_for_upload =
- sync_data_local.GetLocalAttachmentsForUpload();
- new_attachments->insert(new_attachments->end(),
- local_attachments_for_upload.begin(),
- local_attachments_for_upload.end());
+ new_attachments->insert(
+ new_attachments->end(), attachment_ids.begin(), attachment_ids.end());
if (merge_result_.get()) {
merge_result_->set_num_items_modified(merge_result_->num_items_modified() +
@@ -722,26 +711,10 @@ syncer::UserShare* GenericChangeProcessor::share_handle() const {
return share_handle_;
}
-void GenericChangeProcessor::StoreAndUploadAttachments(
- const syncer::AttachmentList& attachments) {
+void GenericChangeProcessor::UploadAttachments(
+ const syncer::AttachmentIdList& attachment_ids) {
DCHECK(CalledOnValidThread());
DCHECK(attachment_service_.get() != NULL);
- attachment_service_->GetStore()->Write(
- attachments,
- base::Bind(&GenericChangeProcessor::WriteAttachmentsDone,
- weak_ptr_factory_.GetWeakPtr(),
- attachments));
-}
-
-void GenericChangeProcessor::WriteAttachmentsDone(
- const syncer::AttachmentList& attachments,
- const syncer::AttachmentStore::Result& result) {
- DCHECK(CalledOnValidThread());
- DCHECK(attachment_service_.get() != NULL);
- if (result != syncer::AttachmentStore::SUCCESS) {
- // TODO(maniscalco): Deal with case where an error occurred (bug 361251).
- return;
- }
// TODO(maniscalco): Here is where we're going to update the in-directory
// entry to indicate that the attachments have been successfully stored on
@@ -752,12 +725,9 @@ void GenericChangeProcessor::WriteAttachmentsDone(
// ids (bug 368353).
// Begin uploading the attachments now that they are safe on disk.
maniscalco 2014/09/12 23:23:33 This comment is now out of date.
pavely 2014/09/15 17:41:49 I removed this comment. It now becomes datatype's
- syncer::AttachmentIdSet attachment_ids;
- std::transform(attachments.begin(),
- attachments.end(),
- std::inserter(attachment_ids, attachment_ids.end()),
- AttachmentToAttachmentId);
- attachment_service_->UploadAttachments(attachment_ids);
+ syncer::AttachmentIdSet attachment_id_set;
+ attachment_id_set.insert(attachment_ids.begin(), attachment_ids.end());
+ attachment_service_->UploadAttachments(attachment_id_set);
}
} // namespace sync_driver

Powered by Google App Engine
This is Rietveld 408576698