Chromium Code Reviews| 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 50e048589da91107117070978a2a68df0c112523..1fa94f10cab66db8770a1f6cc4e992bcc020476a 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 |
| @@ -370,7 +370,6 @@ void LocalToRemoteSyncer::HandleConflict(scoped_ptr<SyncTaskToken> token) { |
| remote_details.title() == title.AsUTF8Unsafe() && |
| HasFileAsParent(remote_details, |
| remote_parent_folder_tracker_->file_id())) { |
| - |
| MoveToBackground( |
| base::Bind(&LocalToRemoteSyncer::UpdateTrackerForReusedFolder, |
| weak_ptr_factory_.GetWeakPtr(), |
| @@ -387,11 +386,9 @@ void LocalToRemoteSyncer::HandleConflict(scoped_ptr<SyncTaskToken> token) { |
| void LocalToRemoteSyncer::UpdateTrackerForReusedFolder( |
| const FileDetails& details, |
| scoped_ptr<SyncTaskToken> token) { |
| - metadata_database()->UpdateTracker( |
| - remote_file_tracker_->tracker_id(), details, |
| - base::Bind(&LocalToRemoteSyncer::SyncCompleted, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(&token))); |
| + SyncStatusCode status = metadata_database()->UpdateTracker( |
| + remote_file_tracker_->tracker_id(), details); |
| + SyncCompleted(token.Pass(), status); |
| } |
| void LocalToRemoteSyncer::HandleExistingRemoteFile( |
| @@ -482,10 +479,9 @@ void LocalToRemoteSyncer::DidDeleteRemoteFile( |
| // resolution, ignore the local deletion. |
| if (status == SYNC_STATUS_OK || |
| error == google_apis::HTTP_NOT_FOUND) { |
| - metadata_database()->UpdateByDeletedRemoteFile( |
| - remote_file_tracker_->file_id(), |
| - base::Bind(&LocalToRemoteSyncer::SyncCompleted, |
| - weak_ptr_factory_.GetWeakPtr(), base::Passed(&token))); |
| + SyncStatusCode status = metadata_database()->UpdateByDeletedRemoteFile( |
| + remote_file_tracker_->file_id()); |
| + SyncCompleted(token.Pass(), status); |
| return; |
| } |
| @@ -551,11 +547,8 @@ void LocalToRemoteSyncer::DidUploadExistingFile( |
| } |
| DCHECK(entry); |
| - metadata_database()->UpdateByFileResource( |
| - *entry, |
| - base::Bind(&LocalToRemoteSyncer::DidUpdateDatabaseForUploadExistingFile, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(&token))); |
| + status = metadata_database()->UpdateByFileResource(*entry); |
| + DidUpdateDatabaseForUploadExistingFile(token.Pass(), status); |
|
peria
2014/09/10 00:24:15
Expand DidUpdateDatabaseForUploadExistingFile() he
tzik
2014/09/10 00:56:54
ditto
|
| } |
| void LocalToRemoteSyncer::DidUpdateDatabaseForUploadExistingFile( |
| @@ -581,12 +574,9 @@ void LocalToRemoteSyncer::DidUpdateDatabaseForUploadExistingFile( |
| details.title() == title.AsUTF8Unsafe() && |
| HasFileAsParent(details, |
| remote_parent_folder_tracker_->file_id())) { |
| - metadata_database()->UpdateTracker( |
| - remote_file_tracker_->tracker_id(), |
| - file.details(), |
| - base::Bind(&LocalToRemoteSyncer::SyncCompleted, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(&token))); |
| + SyncStatusCode status = metadata_database()->UpdateTracker( |
| + remote_file_tracker_->tracker_id(), file.details()); |
| + SyncCompleted(token.Pass(), status); |
| return; |
| } |
| @@ -614,11 +604,9 @@ void LocalToRemoteSyncer::DidGetRemoteMetadata( |
| if (error == google_apis::HTTP_NOT_FOUND) { |
| retry_on_success_ = true; |
| - metadata_database()->UpdateByDeletedRemoteFile( |
| - file_id, |
| - base::Bind(&LocalToRemoteSyncer::SyncCompleted, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(&token))); |
| + SyncStatusCode status = |
| + metadata_database()->UpdateByDeletedRemoteFile(file_id); |
| + SyncCompleted(token.Pass(), status); |
| return; |
| } |
| @@ -635,11 +623,8 @@ void LocalToRemoteSyncer::DidGetRemoteMetadata( |
| } |
| retry_on_success_ = true; |
| - metadata_database()->UpdateByFileResource( |
| - *entry, |
| - base::Bind(&LocalToRemoteSyncer::SyncCompleted, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(&token))); |
| + status = metadata_database()->UpdateByFileResource(*entry); |
| + SyncCompleted(token.Pass(), status); |
| } |
| void LocalToRemoteSyncer::UploadNewFile(scoped_ptr<SyncTaskToken> token) { |
| @@ -679,11 +664,9 @@ void LocalToRemoteSyncer::DidUploadNewFile( |
| return; |
| } |
| - metadata_database()->ReplaceActiveTrackerWithNewResource( |
| - remote_parent_folder_tracker_->tracker_id(), *entry, |
| - base::Bind(&LocalToRemoteSyncer::SyncCompleted, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(&token))); |
| + status = metadata_database()->ReplaceActiveTrackerWithNewResource( |
| + remote_parent_folder_tracker_->tracker_id(), *entry); |
| + SyncCompleted(token.Pass(), status); |
| } |
| void LocalToRemoteSyncer::CreateRemoteFolder( |
| @@ -717,17 +700,14 @@ void LocalToRemoteSyncer::DidCreateRemoteFolder( |
| return; |
| } |
| + status = SYNC_STATUS_FAILED; |
| MetadataDatabase::ActivationStatus activation_status = |
| metadata_database()->TryActivateTracker( |
| remote_parent_folder_tracker_->tracker_id(), |
| - file_id, |
| - base::Bind(&LocalToRemoteSyncer::SyncCompleted, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(token.Pass()))); |
| + file_id, &status); |
| switch (activation_status) { |
| case MetadataDatabase::ACTIVATION_PENDING: |
| - // The task will be finalized by the callback passed to MetadataDatabase |
| - // in this case. |
| + SyncCompleted(token.Pass(), status); |
| return; |
| case MetadataDatabase::ACTIVATION_FAILED_ANOTHER_ACTIVE_TRACKER: |
| // The activation failed due to another tracker that has another parent. |