| Index: chrome/browser/chromeos/drive/sync/entry_revert_performer.cc
|
| diff --git a/chrome/browser/chromeos/drive/sync/entry_revert_performer.cc b/chrome/browser/chromeos/drive/sync/entry_revert_performer.cc
|
| deleted file mode 100644
|
| index fb6f574dfd90de84b34c9325b7fe2689e70557f9..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/drive/sync/entry_revert_performer.cc
|
| +++ /dev/null
|
| @@ -1,178 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/chromeos/drive/sync/entry_revert_performer.h"
|
| -
|
| -#include "components/drive/change_list_processor.h"
|
| -#include "components/drive/drive.pb.h"
|
| -#include "components/drive/drive_api_util.h"
|
| -#include "components/drive/file_change.h"
|
| -#include "components/drive/file_system/operation_delegate.h"
|
| -#include "components/drive/job_scheduler.h"
|
| -#include "components/drive/resource_entry_conversion.h"
|
| -#include "components/drive/resource_metadata.h"
|
| -#include "google_apis/drive/drive_api_parser.h"
|
| -
|
| -namespace drive {
|
| -namespace internal {
|
| -namespace {
|
| -
|
| -FileError FinishRevert(ResourceMetadata* metadata,
|
| - const std::string& local_id,
|
| - google_apis::DriveApiErrorCode status,
|
| - scoped_ptr<google_apis::FileResource> file_resource,
|
| - FileChange* changed_files) {
|
| - ResourceEntry entry;
|
| - std::string parent_resource_id;
|
| - FileError error = GDataToFileError(status);
|
| - switch (error) {
|
| - case FILE_ERROR_OK:
|
| - if (!ConvertFileResourceToResourceEntry(*file_resource, &entry,
|
| - &parent_resource_id))
|
| - return FILE_ERROR_NOT_A_FILE;
|
| - break;
|
| -
|
| - case FILE_ERROR_NOT_FOUND:
|
| - entry.set_deleted(true);
|
| - break;
|
| -
|
| - default:
|
| - return error;
|
| - }
|
| -
|
| - base::FilePath original_path;
|
| - error = metadata->GetFilePath(local_id, &original_path);
|
| - if (error != FILE_ERROR_OK)
|
| - return error;
|
| -
|
| - if (entry.deleted()) {
|
| - error = metadata->RemoveEntry(local_id);
|
| - if (error != FILE_ERROR_OK)
|
| - return error;
|
| -
|
| - changed_files->Update(
|
| - original_path,
|
| - FileChange::FILE_TYPE_NO_INFO, // Undetermined type for deleted file.
|
| - FileChange::CHANGE_TYPE_DELETE);
|
| - } else {
|
| - changed_files->Update(original_path, entry, FileChange::CHANGE_TYPE_DELETE);
|
| -
|
| - error = ChangeListProcessor::SetParentLocalIdOfEntry(metadata, &entry,
|
| - parent_resource_id);
|
| - if (error != FILE_ERROR_OK)
|
| - return error;
|
| -
|
| - entry.set_local_id(local_id);
|
| - error = metadata->RefreshEntry(entry);
|
| - if (error != FILE_ERROR_OK)
|
| - return error;
|
| -
|
| - base::FilePath new_path;
|
| - error = metadata->GetFilePath(local_id, &new_path);
|
| - if (error != FILE_ERROR_OK)
|
| - return error;
|
| -
|
| - changed_files->Update(new_path, entry,
|
| - FileChange::CHANGE_TYPE_ADD_OR_UPDATE);
|
| - }
|
| - return FILE_ERROR_OK;
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -EntryRevertPerformer::EntryRevertPerformer(
|
| - base::SequencedTaskRunner* blocking_task_runner,
|
| - file_system::OperationDelegate* delegate,
|
| - JobScheduler* scheduler,
|
| - ResourceMetadata* metadata)
|
| - : blocking_task_runner_(blocking_task_runner),
|
| - delegate_(delegate),
|
| - scheduler_(scheduler),
|
| - metadata_(metadata),
|
| - weak_ptr_factory_(this) {
|
| -}
|
| -
|
| -EntryRevertPerformer::~EntryRevertPerformer() {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| -}
|
| -
|
| -void EntryRevertPerformer::RevertEntry(const std::string& local_id,
|
| - const ClientContext& context,
|
| - const FileOperationCallback& callback) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - DCHECK(!callback.is_null());
|
| -
|
| - scoped_ptr<ResourceEntry> entry(new ResourceEntry);
|
| - ResourceEntry* entry_ptr = entry.get();
|
| - base::PostTaskAndReplyWithResult(
|
| - blocking_task_runner_.get(),
|
| - FROM_HERE,
|
| - base::Bind(&ResourceMetadata::GetResourceEntryById,
|
| - base::Unretained(metadata_), local_id, entry_ptr),
|
| - base::Bind(&EntryRevertPerformer::RevertEntryAfterPrepare,
|
| - weak_ptr_factory_.GetWeakPtr(), context, callback,
|
| - base::Passed(&entry)));
|
| -}
|
| -
|
| -void EntryRevertPerformer::RevertEntryAfterPrepare(
|
| - const ClientContext& context,
|
| - const FileOperationCallback& callback,
|
| - scoped_ptr<ResourceEntry> entry,
|
| - FileError error) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - DCHECK(!callback.is_null());
|
| -
|
| - if (error == FILE_ERROR_OK && entry->resource_id().empty())
|
| - error = FILE_ERROR_INVALID_OPERATION;
|
| -
|
| - if (error != FILE_ERROR_OK) {
|
| - callback.Run(error);
|
| - return;
|
| - }
|
| -
|
| - scheduler_->GetFileResource(
|
| - entry->resource_id(),
|
| - context,
|
| - base::Bind(&EntryRevertPerformer::RevertEntryAfterGetFileResource,
|
| - weak_ptr_factory_.GetWeakPtr(), callback, entry->local_id()));
|
| -}
|
| -
|
| -void EntryRevertPerformer::RevertEntryAfterGetFileResource(
|
| - const FileOperationCallback& callback,
|
| - const std::string& local_id,
|
| - google_apis::DriveApiErrorCode status,
|
| - scoped_ptr<google_apis::FileResource> entry) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - DCHECK(!callback.is_null());
|
| -
|
| - FileChange* changed_files = new FileChange;
|
| - base::PostTaskAndReplyWithResult(
|
| - blocking_task_runner_.get(),
|
| - FROM_HERE,
|
| - base::Bind(&FinishRevert,
|
| - metadata_,
|
| - local_id,
|
| - status,
|
| - base::Passed(&entry),
|
| - changed_files),
|
| - base::Bind(&EntryRevertPerformer::RevertEntryAfterFinishRevert,
|
| - weak_ptr_factory_.GetWeakPtr(),
|
| - callback,
|
| - base::Owned(changed_files)));
|
| -}
|
| -
|
| -void EntryRevertPerformer::RevertEntryAfterFinishRevert(
|
| - const FileOperationCallback& callback,
|
| - const FileChange* changed_files,
|
| - FileError error) {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - DCHECK(!callback.is_null());
|
| -
|
| - delegate_->OnFileChangedByOperation(*changed_files);
|
| -
|
| - callback.Run(error);
|
| -}
|
| -
|
| -} // namespace internal
|
| -} // namespace drive
|
|
|