Index: chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc b/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc |
index f3af2980fca987fc96a5378194c61acc52611d19..2d15f01748925981505c7574691af9406b48b56d 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/remote_to_local_syncer.cc |
@@ -689,24 +689,9 @@ void RemoteToLocalSyncer::DeleteLocalFile(const SyncStatusCallback& callback) { |
void RemoteToLocalSyncer::DownloadFile(const SyncStatusCallback& callback) { |
DCHECK(sync_context_->GetWorkerTaskRunner()->RunsTasksOnCurrentThread()); |
- base::Callback<void(webkit_blob::ScopedFile)> did_create_callback = |
- base::Bind(&RemoteToLocalSyncer::DidCreateTemporaryFileForDownload, |
- weak_ptr_factory_.GetWeakPtr(), callback); |
+ webkit_blob::ScopedFile file = CreateTemporaryFile( |
+ make_scoped_refptr(sync_context_->GetWorkerTaskRunner())); |
- sync_context_->GetFileTaskRunner()->PostTask( |
- FROM_HERE, |
- CreateComposedFunction( |
- base::Bind(&CreateTemporaryFile, |
- make_scoped_refptr(sync_context_->GetFileTaskRunner())), |
- RelayCallbackToTaskRunner( |
- sync_context_->GetWorkerTaskRunner(), FROM_HERE, |
- did_create_callback))); |
-} |
- |
-void RemoteToLocalSyncer::DidCreateTemporaryFileForDownload( |
- const SyncStatusCallback& callback, |
- webkit_blob::ScopedFile file) { |
- DCHECK(sync_context_->GetWorkerTaskRunner()->RunsTasksOnCurrentThread()); |
base::FilePath path = file.path(); |
drive_service()->DownloadFile( |
path, remote_metadata_->file_id(), |
@@ -730,24 +715,7 @@ void RemoteToLocalSyncer::DidDownloadFile(const SyncStatusCallback& callback, |
} |
base::FilePath path = file.path(); |
- base::Callback<void(const std::string&)> did_calculate_callback = |
- base::Bind(&RemoteToLocalSyncer::DidCalculateMD5ForDownload, |
- weak_ptr_factory_.GetWeakPtr(), |
- callback, base::Passed(&file)); |
- |
- sync_context_->GetFileTaskRunner()->PostTask( |
- FROM_HERE, |
- CreateComposedFunction( |
- base::Bind(&drive::util::GetMd5Digest, path), |
- RelayCallbackToTaskRunner( |
- sync_context_->GetWorkerTaskRunner(), FROM_HERE, |
- did_calculate_callback))); |
-} |
- |
-void RemoteToLocalSyncer::DidCalculateMD5ForDownload( |
- const SyncStatusCallback& callback, |
- webkit_blob::ScopedFile file, |
- const std::string& md5) { |
+ const std::string md5 = drive::util::GetMd5Digest(path); |
if (md5.empty()) { |
callback.Run(SYNC_FILE_ERROR_NOT_FOUND); |
return; |
@@ -763,7 +731,6 @@ void RemoteToLocalSyncer::DidCalculateMD5ForDownload( |
return; |
} |
- base::FilePath path = file.path(); |
remote_change_processor()->ApplyRemoteChange( |
FileChange(FileChange::FILE_CHANGE_ADD_OR_UPDATE, SYNC_FILE_TYPE_FILE), |
path, url_, |