| 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 <stdint.h> | 7 #include <stdint.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 base::Unretained(file_system_context), | 122 base::Unretained(file_system_context), |
| 123 url, sync_mode, metadata, changes, snapshot); | 123 url, sync_mode, metadata, changes, snapshot); |
| 124 } | 124 } |
| 125 | 125 |
| 126 void DidPrepareForSync(SyncFileMetadata* metadata_out, | 126 void DidPrepareForSync(SyncFileMetadata* metadata_out, |
| 127 FileChangeList* changes_out, | 127 FileChangeList* changes_out, |
| 128 storage::ScopedFile* snapshot_out, | 128 storage::ScopedFile* snapshot_out, |
| 129 SyncStatusCode status, | 129 SyncStatusCode status, |
| 130 const LocalFileSyncInfo& sync_file_info, | 130 const LocalFileSyncInfo& sync_file_info, |
| 131 storage::ScopedFile snapshot) { | 131 storage::ScopedFile snapshot) { |
| 132 ASSERT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); | 132 ASSERT_TRUE(ui_task_runner_->RunsTasksInCurrentSequence()); |
| 133 has_inflight_prepare_for_sync_ = false; | 133 has_inflight_prepare_for_sync_ = false; |
| 134 status_ = status; | 134 status_ = status; |
| 135 *metadata_out = sync_file_info.metadata; | 135 *metadata_out = sync_file_info.metadata; |
| 136 *changes_out = sync_file_info.changes; | 136 *changes_out = sync_file_info.changes; |
| 137 if (snapshot_out) | 137 if (snapshot_out) |
| 138 *snapshot_out = std::move(snapshot); | 138 *snapshot_out = std::move(snapshot); |
| 139 base::MessageLoop::current()->QuitWhenIdle(); | 139 base::MessageLoop::current()->QuitWhenIdle(); |
| 140 } | 140 } |
| 141 | 141 |
| 142 SyncStatusCode ApplyRemoteChange(FileSystemContext* file_system_context, | 142 SyncStatusCode ApplyRemoteChange(FileSystemContext* file_system_context, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 172 status_ = status; | 172 status_ = status; |
| 173 sync_context_->FinalizeExclusiveSync( | 173 sync_context_->FinalizeExclusiveSync( |
| 174 file_system_context, url, | 174 file_system_context, url, |
| 175 status == SYNC_STATUS_OK /* clear_local_changes */, | 175 status == SYNC_STATUS_OK /* clear_local_changes */, |
| 176 base::MessageLoop::QuitWhenIdleClosure()); | 176 base::MessageLoop::QuitWhenIdleClosure()); |
| 177 } | 177 } |
| 178 | 178 |
| 179 void StartModifyFileOnIOThread(CannedSyncableFileSystem* file_system, | 179 void StartModifyFileOnIOThread(CannedSyncableFileSystem* file_system, |
| 180 const FileSystemURL& url) { | 180 const FileSystemURL& url) { |
| 181 ASSERT_TRUE(file_system != nullptr); | 181 ASSERT_TRUE(file_system != nullptr); |
| 182 if (!io_task_runner_->RunsTasksOnCurrentThread()) { | 182 if (!io_task_runner_->RunsTasksInCurrentSequence()) { |
| 183 async_modify_finished_ = false; | 183 async_modify_finished_ = false; |
| 184 ASSERT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); | 184 ASSERT_TRUE(ui_task_runner_->RunsTasksInCurrentSequence()); |
| 185 io_task_runner_->PostTask( | 185 io_task_runner_->PostTask( |
| 186 FROM_HERE, | 186 FROM_HERE, |
| 187 base::BindOnce(&LocalFileSyncContextTest::StartModifyFileOnIOThread, | 187 base::BindOnce(&LocalFileSyncContextTest::StartModifyFileOnIOThread, |
| 188 base::Unretained(this), file_system, url)); | 188 base::Unretained(this), file_system, url)); |
| 189 return; | 189 return; |
| 190 } | 190 } |
| 191 ASSERT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); | 191 ASSERT_TRUE(io_task_runner_->RunsTasksInCurrentSequence()); |
| 192 file_error_ = base::File::FILE_ERROR_FAILED; | 192 file_error_ = base::File::FILE_ERROR_FAILED; |
| 193 file_system->operation_runner()->Truncate( | 193 file_system->operation_runner()->Truncate( |
| 194 url, 1, base::Bind(&LocalFileSyncContextTest::DidModifyFile, | 194 url, 1, base::Bind(&LocalFileSyncContextTest::DidModifyFile, |
| 195 base::Unretained(this))); | 195 base::Unretained(this))); |
| 196 } | 196 } |
| 197 | 197 |
| 198 base::File::Error WaitUntilModifyFileIsDone() { | 198 base::File::Error WaitUntilModifyFileIsDone() { |
| 199 while (!async_modify_finished_) | 199 while (!async_modify_finished_) |
| 200 base::RunLoop().RunUntilIdle(); | 200 base::RunLoop().RunUntilIdle(); |
| 201 return file_error_; | 201 return file_error_; |
| 202 } | 202 } |
| 203 | 203 |
| 204 void DidModifyFile(base::File::Error error) { | 204 void DidModifyFile(base::File::Error error) { |
| 205 if (!ui_task_runner_->RunsTasksOnCurrentThread()) { | 205 if (!ui_task_runner_->RunsTasksInCurrentSequence()) { |
| 206 ASSERT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); | 206 ASSERT_TRUE(io_task_runner_->RunsTasksInCurrentSequence()); |
| 207 ui_task_runner_->PostTask( | 207 ui_task_runner_->PostTask( |
| 208 FROM_HERE, base::BindOnce(&LocalFileSyncContextTest::DidModifyFile, | 208 FROM_HERE, base::BindOnce(&LocalFileSyncContextTest::DidModifyFile, |
| 209 base::Unretained(this), error)); | 209 base::Unretained(this), error)); |
| 210 return; | 210 return; |
| 211 } | 211 } |
| 212 ASSERT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); | 212 ASSERT_TRUE(ui_task_runner_->RunsTasksInCurrentSequence()); |
| 213 file_error_ = error; | 213 file_error_ = error; |
| 214 async_modify_finished_ = true; | 214 async_modify_finished_ = true; |
| 215 } | 215 } |
| 216 | 216 |
| 217 void SimulateFinishSync(FileSystemContext* file_system_context, | 217 void SimulateFinishSync(FileSystemContext* file_system_context, |
| 218 const FileSystemURL& url, | 218 const FileSystemURL& url, |
| 219 SyncStatusCode status, | 219 SyncStatusCode status, |
| 220 LocalFileSyncContext::SyncMode sync_mode) { | 220 LocalFileSyncContext::SyncMode sync_mode) { |
| 221 if (sync_mode == LocalFileSyncContext::SYNC_SNAPSHOT) { | 221 if (sync_mode == LocalFileSyncContext::SYNC_SNAPSHOT) { |
| 222 sync_context_->FinalizeSnapshotSync( | 222 sync_context_->FinalizeSnapshotSync( |
| (...skipping 729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 952 | 952 |
| 953 // Make sure kDir and kFile are created by ApplyRemoteChange. | 953 // Make sure kDir and kFile are created by ApplyRemoteChange. |
| 954 EXPECT_EQ(base::File::FILE_OK, file_system.FileExists(kFile)); | 954 EXPECT_EQ(base::File::FILE_OK, file_system.FileExists(kFile)); |
| 955 EXPECT_EQ(base::File::FILE_OK, file_system.DirectoryExists(kDir)); | 955 EXPECT_EQ(base::File::FILE_OK, file_system.DirectoryExists(kDir)); |
| 956 | 956 |
| 957 sync_context_->ShutdownOnUIThread(); | 957 sync_context_->ShutdownOnUIThread(); |
| 958 file_system.TearDown(); | 958 file_system.TearDown(); |
| 959 } | 959 } |
| 960 | 960 |
| 961 } // namespace sync_file_system | 961 } // namespace sync_file_system |
| OLD | NEW |