OLD | NEW |
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/local/local_file_sync_context.h" | 5 #include "chrome/browser/sync_file_system/local/local_file_sync_context.h" |
6 | 6 |
| 7 #include <utility> |
| 8 |
7 #include "base/bind.h" | 9 #include "base/bind.h" |
8 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
9 #include "base/location.h" | 11 #include "base/location.h" |
10 #include "base/single_thread_task_runner.h" | 12 #include "base/single_thread_task_runner.h" |
11 #include "base/stl_util.h" | 13 #include "base/stl_util.h" |
12 #include "base/task_runner_util.h" | 14 #include "base/task_runner_util.h" |
13 #include "chrome/browser/sync_file_system/file_change.h" | 15 #include "chrome/browser/sync_file_system/file_change.h" |
14 #include "chrome/browser/sync_file_system/local/local_file_change_tracker.h" | 16 #include "chrome/browser/sync_file_system/local/local_file_change_tracker.h" |
15 #include "chrome/browser/sync_file_system/local/local_origin_change_observer.h" | 17 #include "chrome/browser/sync_file_system/local/local_origin_change_observer.h" |
16 #include "chrome/browser/sync_file_system/local/root_delete_helper.h" | 18 #include "chrome/browser/sync_file_system/local/root_delete_helper.h" |
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
732 if (shutdown_on_io_) | 734 if (shutdown_on_io_) |
733 status = SYNC_STATUS_ABORT; | 735 status = SYNC_STATUS_ABORT; |
734 if (status != SYNC_STATUS_OK) { | 736 if (status != SYNC_STATUS_OK) { |
735 DidInitialize(source_url, file_system_context, status); | 737 DidInitialize(source_url, file_system_context, status); |
736 return; | 738 return; |
737 } | 739 } |
738 | 740 |
739 SyncFileSystemBackend* backend = | 741 SyncFileSystemBackend* backend = |
740 SyncFileSystemBackend::GetBackend(file_system_context); | 742 SyncFileSystemBackend::GetBackend(file_system_context); |
741 DCHECK(backend); | 743 DCHECK(backend); |
742 backend->SetLocalFileChangeTracker(tracker_ptr->Pass()); | 744 backend->SetLocalFileChangeTracker(std::move(*tracker_ptr)); |
743 | 745 |
744 origins_with_pending_changes_.insert(origins_with_changes->begin(), | 746 origins_with_pending_changes_.insert(origins_with_changes->begin(), |
745 origins_with_changes->end()); | 747 origins_with_changes->end()); |
746 ScheduleNotifyChangesUpdatedOnIOThread(NoopClosure()); | 748 ScheduleNotifyChangesUpdatedOnIOThread(NoopClosure()); |
747 | 749 |
748 InitializeFileSystemContextOnIOThread(source_url, file_system_context, | 750 InitializeFileSystemContextOnIOThread(source_url, file_system_context, |
749 GURL(), std::string(), | 751 GURL(), std::string(), |
750 base::File::FILE_OK); | 752 base::File::FILE_OK); |
751 } | 753 } |
752 | 754 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
792 SyncFileSystemBackend::GetBackend(file_system_context); | 794 SyncFileSystemBackend::GetBackend(file_system_context); |
793 DCHECK(backend); | 795 DCHECK(backend); |
794 DCHECK(backend->change_tracker()); | 796 DCHECK(backend->change_tracker()); |
795 scoped_ptr<FileSystemURLQueue> urls(new FileSystemURLQueue); | 797 scoped_ptr<FileSystemURLQueue> urls(new FileSystemURLQueue); |
796 backend->change_tracker()->GetNextChangedURLs( | 798 backend->change_tracker()->GetNextChangedURLs( |
797 urls.get(), kMaxURLsToFetchForLocalSync); | 799 urls.get(), kMaxURLsToFetchForLocalSync); |
798 for (FileSystemURLQueue::iterator iter = urls->begin(); | 800 for (FileSystemURLQueue::iterator iter = urls->begin(); |
799 iter != urls->end(); ++iter) | 801 iter != urls->end(); ++iter) |
800 backend->change_tracker()->DemoteChangesForURL(*iter); | 802 backend->change_tracker()->DemoteChangesForURL(*iter); |
801 | 803 |
802 return urls.Pass(); | 804 return urls; |
803 } | 805 } |
804 | 806 |
805 void LocalFileSyncContext::TryPrepareForLocalSync( | 807 void LocalFileSyncContext::TryPrepareForLocalSync( |
806 FileSystemContext* file_system_context, | 808 FileSystemContext* file_system_context, |
807 const LocalFileSyncInfoCallback& callback, | 809 const LocalFileSyncInfoCallback& callback, |
808 scoped_ptr<FileSystemURLQueue> urls) { | 810 scoped_ptr<FileSystemURLQueue> urls) { |
809 DCHECK(ui_task_runner_->RunsTasksOnCurrentThread()); | 811 DCHECK(ui_task_runner_->RunsTasksOnCurrentThread()); |
810 DCHECK(urls); | 812 DCHECK(urls); |
811 | 813 |
812 if (shutdown_on_ui_) { | 814 if (shutdown_on_ui_) { |
(...skipping 21 matching lines...) Expand all Loading... |
834 void LocalFileSyncContext::DidTryPrepareForLocalSync( | 836 void LocalFileSyncContext::DidTryPrepareForLocalSync( |
835 FileSystemContext* file_system_context, | 837 FileSystemContext* file_system_context, |
836 scoped_ptr<FileSystemURLQueue> remaining_urls, | 838 scoped_ptr<FileSystemURLQueue> remaining_urls, |
837 const LocalFileSyncInfoCallback& callback, | 839 const LocalFileSyncInfoCallback& callback, |
838 SyncStatusCode status, | 840 SyncStatusCode status, |
839 const LocalFileSyncInfo& sync_file_info, | 841 const LocalFileSyncInfo& sync_file_info, |
840 storage::ScopedFile snapshot) { | 842 storage::ScopedFile snapshot) { |
841 DCHECK(ui_task_runner_->RunsTasksOnCurrentThread()); | 843 DCHECK(ui_task_runner_->RunsTasksOnCurrentThread()); |
842 if (status != SYNC_STATUS_FILE_BUSY) { | 844 if (status != SYNC_STATUS_FILE_BUSY) { |
843 PromoteDemotedChangesForURLs(file_system_context, | 845 PromoteDemotedChangesForURLs(file_system_context, |
844 remaining_urls.Pass()); | 846 std::move(remaining_urls)); |
845 callback.Run(status, sync_file_info, snapshot.Pass()); | 847 callback.Run(status, sync_file_info, std::move(snapshot)); |
846 return; | 848 return; |
847 } | 849 } |
848 | 850 |
849 PromoteDemotedChangesForURL(file_system_context, sync_file_info.url); | 851 PromoteDemotedChangesForURL(file_system_context, sync_file_info.url); |
850 | 852 |
851 // Recursively call TryPrepareForLocalSync with remaining_urls. | 853 // Recursively call TryPrepareForLocalSync with remaining_urls. |
852 TryPrepareForLocalSync(file_system_context, callback, remaining_urls.Pass()); | 854 TryPrepareForLocalSync(file_system_context, callback, |
| 855 std::move(remaining_urls)); |
853 } | 856 } |
854 | 857 |
855 void LocalFileSyncContext::PromoteDemotedChangesForURL( | 858 void LocalFileSyncContext::PromoteDemotedChangesForURL( |
856 FileSystemContext* file_system_context, | 859 FileSystemContext* file_system_context, |
857 const FileSystemURL& url) { | 860 const FileSystemURL& url) { |
858 DCHECK(file_system_context); | 861 DCHECK(file_system_context); |
859 if (!file_system_context->default_file_task_runner()-> | 862 if (!file_system_context->default_file_task_runner()-> |
860 RunsTasksOnCurrentThread()) { | 863 RunsTasksOnCurrentThread()) { |
861 DCHECK(ui_task_runner_->RunsTasksOnCurrentThread()); | 864 DCHECK(ui_task_runner_->RunsTasksOnCurrentThread()); |
862 if (shutdown_on_ui_) | 865 if (shutdown_on_ui_) |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1073 return; | 1076 return; |
1074 } | 1077 } |
1075 | 1078 |
1076 FileSystemURL url_for_sync = CreateSyncableFileSystemURLForSync( | 1079 FileSystemURL url_for_sync = CreateSyncableFileSystemURLForSync( |
1077 file_system_context, dest_url); | 1080 file_system_context, dest_url); |
1078 file_system_context->operation_runner()->CopyInForeignFile( | 1081 file_system_context->operation_runner()->CopyInForeignFile( |
1079 local_path, url_for_sync, callback); | 1082 local_path, url_for_sync, callback); |
1080 } | 1083 } |
1081 | 1084 |
1082 } // namespace sync_file_system | 1085 } // namespace sync_file_system |
OLD | NEW |