| 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 d203c68f18f0bc76f5af3244b5d87b44b88807de..e3b7dbc9b4c36162aadf1c45cedb2ab861fad48c 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
|
| @@ -17,6 +17,7 @@
|
| #include "chrome/browser/drive/drive_api_util.h"
|
| #include "chrome/browser/drive/drive_service_interface.h"
|
| #include "chrome/browser/drive/drive_uploader.h"
|
| +#include "chrome/browser/sync_file_system/drive_backend/callback_helper.h"
|
| #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h"
|
| #include "chrome/browser/sync_file_system/drive_backend/folder_creator.h"
|
| #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
|
| @@ -395,13 +396,19 @@ void LocalToRemoteSyncer::UploadExistingFile(
|
| const SyncStatusCallback& callback) {
|
| DCHECK(remote_file_tracker_);
|
| DCHECK(remote_file_tracker_->has_synced_details());
|
| + DCHECK(sync_context_->GetWorkerTaskRunner()->RunsTasksOnCurrentThread());
|
|
|
| - base::PostTaskAndReplyWithResult(
|
| - sync_context_->GetFileTaskRunner(), FROM_HERE,
|
| - base::Bind(&drive::util::GetMd5Digest, local_path_),
|
| + base::Callback<void(const std::string&)> did_calculate_callback =
|
| base::Bind(&LocalToRemoteSyncer::DidGetMD5ForUpload,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - callback));
|
| + weak_ptr_factory_.GetWeakPtr(), callback);
|
| +
|
| + sync_context_->GetWorkerTaskRunner()->PostTask(
|
| + FROM_HERE,
|
| + CreateComposedFunction(
|
| + base::Bind(&drive::util::GetMd5Digest, local_path_),
|
| + RelayCallbackToTaskRunner(
|
| + sync_context_->GetWorkerTaskRunner(), FROM_HERE,
|
| + did_calculate_callback)));
|
| }
|
|
|
| void LocalToRemoteSyncer::DidGetMD5ForUpload(
|
|
|