drive: Use UploadNewFile from EntryUpdatePerformer
Add UploadNewFileOptions argument to JobScheduler::UploadNewFile().
Pass ChangeListLoader* to SyncClient and EntryUpdatePerformer to lock the loader while creating new files.
Upload an empty file if the locally created file doesn't have a cache file.
BUG=260539
TEST=unit_tests
[email protected]
Review URL: https://codereview.chromium.org/148233006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247660 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/chromeos/drive/sync_client_unittest.cc b/chrome/browser/chromeos/drive/sync_client_unittest.cc
index 77da5459..4698b96 100644
--- a/chrome/browser/chromeos/drive/sync_client_unittest.cc
+++ b/chrome/browser/chromeos/drive/sync_client_unittest.cc
@@ -135,6 +135,11 @@
NULL /* free_disk_space_getter */));
ASSERT_TRUE(cache_->Initialize());
+ change_list_loader_.reset(new ChangeListLoader(
+ base::MessageLoopProxy::current().get(),
+ metadata_.get(),
+ scheduler_.get(),
+ drive_service_.get()));
ASSERT_NO_FATAL_FAILURE(SetUpTestData());
sync_client_.reset(new SyncClient(base::MessageLoopProxy::current().get(),
@@ -142,6 +147,7 @@
scheduler_.get(),
metadata_.get(),
cache_.get(),
+ change_list_loader_.get(),
temp_dir_.path()));
// Disable delaying so that DoSyncLoop() starts immediately.
@@ -184,12 +190,7 @@
// Load data from the service to the metadata.
FileError error = FILE_ERROR_FAILED;
- internal::ChangeListLoader change_list_loader(
- base::MessageLoopProxy::current().get(),
- metadata_.get(),
- scheduler_.get(),
- drive_service_.get());
- change_list_loader.LoadForTesting(
+ change_list_loader_->LoadForTesting(
google_apis::test_util::CreateCopyResultCallback(&error));
base::RunLoop().RunUntilIdle();
EXPECT_EQ(FILE_ERROR_OK, error);
@@ -256,6 +257,7 @@
test_util::DestroyHelperForTests> metadata_storage_;
scoped_ptr<ResourceMetadata, test_util::DestroyHelperForTests> metadata_;
scoped_ptr<FileCache, test_util::DestroyHelperForTests> cache_;
+ scoped_ptr<ChangeListLoader> change_list_loader_;
scoped_ptr<SyncClient> sync_client_;
std::map<std::string, std::string> resource_ids_; // Name-to-id map.