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

Unified Diff: chrome/browser/chromeos/drive/sync/entry_revert_performer.cc

Issue 1314803004: Move chrome/browser/chromeos/drive/file_system.cc (+deps) into components/drive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebasing... Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698