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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.cc

Issue 321783002: [SyncFS] Drop PostTaskAndReply from LocalToRemoteSyncer (5) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h " 5 #include "chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h "
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
11 #include "base/format_macros.h" 11 #include "base/format_macros.h"
12 #include "base/location.h" 12 #include "base/location.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/sequenced_task_runner.h" 14 #include "base/sequenced_task_runner.h"
15 #include "base/strings/stringprintf.h" 15 #include "base/strings/stringprintf.h"
16 #include "base/task_runner_util.h" 16 #include "base/task_runner_util.h"
17 #include "chrome/browser/drive/drive_api_util.h" 17 #include "chrome/browser/drive/drive_api_util.h"
18 #include "chrome/browser/drive/drive_service_interface.h" 18 #include "chrome/browser/drive/drive_service_interface.h"
19 #include "chrome/browser/drive/drive_uploader.h" 19 #include "chrome/browser/drive/drive_uploader.h"
20 #include "chrome/browser/sync_file_system/drive_backend/callback_helper.h"
20 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" 21 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h"
21 #include "chrome/browser/sync_file_system/drive_backend/folder_creator.h" 22 #include "chrome/browser/sync_file_system/drive_backend/folder_creator.h"
22 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" 23 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
23 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" 24 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h"
24 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" 25 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h"
25 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h" 26 #include "chrome/browser/sync_file_system/drive_backend/sync_task_manager.h"
26 #include "chrome/browser/sync_file_system/drive_backend/sync_task_token.h" 27 #include "chrome/browser/sync_file_system/drive_backend/sync_task_token.h"
27 #include "chrome/browser/sync_file_system/logger.h" 28 #include "chrome/browser/sync_file_system/logger.h"
28 #include "google_apis/drive/drive_api_parser.h" 29 #include "google_apis/drive/drive_api_parser.h"
29 #include "webkit/common/fileapi/file_system_util.h" 30 #include "webkit/common/fileapi/file_system_util.h"
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 remote_file_tracker_->file_id(), callback); 389 remote_file_tracker_->file_id(), callback);
389 return; 390 return;
390 } 391 }
391 callback.Run(SYNC_STATUS_OK); 392 callback.Run(SYNC_STATUS_OK);
392 } 393 }
393 394
394 void LocalToRemoteSyncer::UploadExistingFile( 395 void LocalToRemoteSyncer::UploadExistingFile(
395 const SyncStatusCallback& callback) { 396 const SyncStatusCallback& callback) {
396 DCHECK(remote_file_tracker_); 397 DCHECK(remote_file_tracker_);
397 DCHECK(remote_file_tracker_->has_synced_details()); 398 DCHECK(remote_file_tracker_->has_synced_details());
399 DCHECK(sync_context_->GetWorkerTaskRunner()->RunsTasksOnCurrentThread());
398 400
399 base::PostTaskAndReplyWithResult( 401 base::Callback<void(const std::string&)> did_calculate_callback =
400 sync_context_->GetFileTaskRunner(), FROM_HERE,
401 base::Bind(&drive::util::GetMd5Digest, local_path_),
402 base::Bind(&LocalToRemoteSyncer::DidGetMD5ForUpload, 402 base::Bind(&LocalToRemoteSyncer::DidGetMD5ForUpload,
403 weak_ptr_factory_.GetWeakPtr(), 403 weak_ptr_factory_.GetWeakPtr(), callback);
404 callback)); 404
405 sync_context_->GetWorkerTaskRunner()->PostTask(
406 FROM_HERE,
407 CreateComposedFunction(
408 base::Bind(&drive::util::GetMd5Digest, local_path_),
409 RelayCallbackToTaskRunner(
410 sync_context_->GetWorkerTaskRunner(), FROM_HERE,
411 did_calculate_callback)));
405 } 412 }
406 413
407 void LocalToRemoteSyncer::DidGetMD5ForUpload( 414 void LocalToRemoteSyncer::DidGetMD5ForUpload(
408 const SyncStatusCallback& callback, 415 const SyncStatusCallback& callback,
409 const std::string& local_file_md5) { 416 const std::string& local_file_md5) {
410 if (local_file_md5 == remote_file_tracker_->synced_details().md5()) { 417 if (local_file_md5 == remote_file_tracker_->synced_details().md5()) {
411 // Local file is not changed. 418 // Local file is not changed.
412 callback.Run(SYNC_STATUS_OK); 419 callback.Run(SYNC_STATUS_OK);
413 return; 420 return;
414 } 421 }
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 set_used_network(true); 704 set_used_network(true);
698 return sync_context_->GetDriveUploader(); 705 return sync_context_->GetDriveUploader();
699 } 706 }
700 707
701 MetadataDatabase* LocalToRemoteSyncer::metadata_database() { 708 MetadataDatabase* LocalToRemoteSyncer::metadata_database() {
702 return sync_context_->GetMetadataDatabase(); 709 return sync_context_->GetMetadataDatabase();
703 } 710 }
704 711
705 } // namespace drive_backend 712 } // namespace drive_backend
706 } // namespace sync_file_system 713 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698