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

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

Issue 343883003: [SyncFS] Break up overwriting file/folder creation to two phase (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 321be8d2a65d32156889ddc0fa37d04e700cd23e..ddede9b3b406c6ea98c649f13c34df45a5d493ee 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
@@ -177,7 +177,7 @@ 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,
+ DeleteRemoteFile(base::Bind(&LocalToRemoteSyncer::CompleteWithRetryStatus,
weak_ptr_factory_.GetWeakPtr(),
base::Passed(&token)));
return;
@@ -318,7 +318,7 @@ void LocalToRemoteSyncer::HandleExistingRemoteFile(
// Non-conflicting local file update to existing remote *folder*.
// Assuming this case as local folder deletion + local file creation, delete
// the remote folder and upload the file.
- DeleteRemoteFile(base::Bind(&LocalToRemoteSyncer::DidDeleteForUploadNewFile,
+ DeleteRemoteFile(base::Bind(&LocalToRemoteSyncer::CompleteWithRetryStatus,
weak_ptr_factory_.GetWeakPtr(),
base::Passed(&token)));
return;
@@ -329,7 +329,7 @@ void LocalToRemoteSyncer::HandleExistingRemoteFile(
// Non-conflicting local folder creation to existing remote *file*.
// Assuming this case as local file deletion + local folder creation, delete
// the remote file and create a remote folder.
- DeleteRemoteFile(base::Bind(&LocalToRemoteSyncer::DidDeleteForCreateFolder,
+ DeleteRemoteFile(base::Bind(&LocalToRemoteSyncer::CompleteWithRetryStatus,
weak_ptr_factory_.GetWeakPtr(),
base::Passed(&token)));
return;
@@ -541,40 +541,6 @@ void LocalToRemoteSyncer::DidGetRemoteMetadata(
base::Passed(&token)));
}
-void LocalToRemoteSyncer::DidDeleteForUploadNewFile(
- scoped_ptr<SyncTaskToken> token,
- SyncStatusCode status) {
- if (status == SYNC_STATUS_HAS_CONFLICT) {
- UpdateRemoteMetadata(
- remote_file_tracker_->file_id(),
- token.Pass());
- return;
- }
-
- if (status != SYNC_STATUS_OK) {
- SyncCompleted(token.Pass(), status);
- return;
- }
-
- UploadNewFile(token.Pass());
-}
-
-void LocalToRemoteSyncer::DidDeleteForCreateFolder(
- scoped_ptr<SyncTaskToken> token,
- SyncStatusCode status) {
- if (status == SYNC_STATUS_HAS_CONFLICT) {
- UpdateRemoteMetadata(remote_file_tracker_->file_id(), token.Pass());
- return;
- }
-
- if (status != SYNC_STATUS_OK) {
- SyncCompleted(token.Pass(), status);
- return;
- }
-
- CreateRemoteFolder(token.Pass());
-}
-
void LocalToRemoteSyncer::UploadNewFile(scoped_ptr<SyncTaskToken> token) {
DCHECK(remote_parent_folder_tracker_);
« 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