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

Unified Diff: chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.cc

Issue 336713003: [SyncFS] Replace callback with token in LocalToRemoteSyncer::DidDeleteForCreateFolder (1) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.cc b/chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.cc
index 0815128176acbf2a376a0959b6b5ebb6d73d8820..c18469ceb7503d3396af6d417f895af99d35e7ed 100644
--- a/chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.cc
+++ b/chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.cc
@@ -186,11 +186,9 @@ void LocalToRemoteSyncer::RunExclusive(scoped_ptr<SyncTaskToken> token) {
remote_file_tracker_ = active_ancestor_tracker.Pass();
target_path_ = active_ancestor_path;
token->RecordLog("Detected non-folder file in its path.");
- DeleteRemoteFile(base::Bind(
- &LocalToRemoteSyncer::DidDeleteForCreateFolder,
- weak_ptr_factory_.GetWeakPtr(),
- base::Bind(&LocalToRemoteSyncer::SyncCompleted,
- weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))));
+ DeleteRemoteFile(base::Bind(&LocalToRemoteSyncer::DidDeleteForCreateFolder,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&token)));
return;
}
@@ -357,9 +355,7 @@ void LocalToRemoteSyncer::HandleExistingRemoteFile(
// the remote file and create a remote folder.
DeleteRemoteFile(base::Bind(&LocalToRemoteSyncer::DidDeleteForCreateFolder,
weak_ptr_factory_.GetWeakPtr(),
- base::Bind(&LocalToRemoteSyncer::SyncCompleted,
- weak_ptr_factory_.GetWeakPtr(),
- base::Passed(&token))));
+ base::Passed(&token)));
return;
}
@@ -578,20 +574,26 @@ void LocalToRemoteSyncer::DidDeleteForUploadNewFile(
}
void LocalToRemoteSyncer::DidDeleteForCreateFolder(
- const SyncStatusCallback& callback,
+ scoped_ptr<SyncTaskToken> token,
SyncStatusCode status) {
if (status == SYNC_STATUS_HAS_CONFLICT) {
- UpdateRemoteMetadata(remote_file_tracker_->file_id(),
- base::Bind(&ReturnRetryOnSuccess, callback));
+ UpdateRemoteMetadata(
+ remote_file_tracker_->file_id(),
+ base::Bind(&ReturnRetryOnSuccess,
+ base::Bind(&LocalToRemoteSyncer::SyncCompleted,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&token))));
return;
}
if (status != SYNC_STATUS_OK) {
- callback.Run(status);
+ SyncCompleted(token.Pass(), status);
return;
}
- CreateRemoteFolder(callback);
+ CreateRemoteFolder(base::Bind(&LocalToRemoteSyncer::SyncCompleted,
+ weak_ptr_factory_.GetWeakPtr(),
+ base::Passed(&token)));
}
void LocalToRemoteSyncer::UploadNewFile(const SyncStatusCallback& callback) {
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698