Index: chrome/browser/chromeos/drive/fake_drive_file_system.cc |
diff --git a/chrome/browser/chromeos/drive/fake_drive_file_system.cc b/chrome/browser/chromeos/drive/fake_drive_file_system.cc |
deleted file mode 100644 |
index b8c9621f13438cd3c0f03611e4b1cb8e939a0177..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/drive/fake_drive_file_system.cc |
+++ /dev/null |
@@ -1,497 +0,0 @@ |
-// Copyright (c) 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/fake_drive_file_system.h" |
- |
-#include "base/bind.h" |
-#include "base/bind_helpers.h" |
-#include "base/callback.h" |
-#include "base/file_util.h" |
-#include "base/files/file_path.h" |
-#include "base/logging.h" |
-#include "chrome/browser/chromeos/drive/drive.pb.h" |
-#include "chrome/browser/chromeos/drive/file_errors.h" |
-#include "chrome/browser/chromeos/drive/file_system_util.h" |
-#include "chrome/browser/chromeos/drive/resource_entry_conversion.h" |
-#include "chrome/browser/google_apis/drive_api_parser.h" |
-#include "chrome/browser/google_apis/gdata_wapi_parser.h" |
-#include "content/public/browser/browser_thread.h" |
- |
-namespace drive { |
-namespace test_util { |
- |
-using content::BrowserThread; |
- |
-FakeDriveFileSystem::FakeDriveFileSystem( |
- google_apis::DriveServiceInterface* drive_service) |
- : drive_service_(drive_service), |
- weak_ptr_factory_(this) { |
-} |
- |
-FakeDriveFileSystem::~FakeDriveFileSystem() { |
-} |
- |
-bool FakeDriveFileSystem::InitializeForTesting() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- return cache_dir_.CreateUniqueTempDir(); |
-} |
- |
-void FakeDriveFileSystem::Initialize() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- InitializeForTesting(); |
-} |
- |
-void FakeDriveFileSystem::AddObserver(FileSystemObserver* observer) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::RemoveObserver(FileSystemObserver* observer) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::CheckForUpdates() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetEntryInfoByResourceId( |
- const std::string& resource_id, |
- const GetEntryInfoWithFilePathCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- drive_service_->GetResourceEntry( |
- resource_id, |
- base::Bind( |
- &FakeDriveFileSystem::GetEntryInfoByResourceIdAfterGetResourceEntry, |
- weak_ptr_factory_.GetWeakPtr(), callback)); |
-} |
- |
-void FakeDriveFileSystem::TransferFileFromRemoteToLocal( |
- const base::FilePath& remote_src_file_path, |
- const base::FilePath& local_dest_file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::TransferFileFromLocalToRemote( |
- const base::FilePath& local_src_file_path, |
- const base::FilePath& remote_dest_file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::OpenFile(const base::FilePath& file_path, |
- const OpenFileCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::CloseFile(const base::FilePath& file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::Copy(const base::FilePath& src_file_path, |
- const base::FilePath& dest_file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::Move(const base::FilePath& src_file_path, |
- const base::FilePath& dest_file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::Remove(const base::FilePath& file_path, |
- bool is_recursive, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::CreateDirectory( |
- const base::FilePath& directory_path, |
- bool is_exclusive, |
- bool is_recursive, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::CreateFile(const base::FilePath& file_path, |
- bool is_exclusive, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::Pin(const base::FilePath& file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::Unpin(const base::FilePath& file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetFileByPath(const base::FilePath& file_path, |
- const GetFileCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetFileByResourceId( |
- const std::string& resource_id, |
- const DriveClientContext& context, |
- const GetFileCallback& get_file_callback, |
- const google_apis::GetContentCallback& get_content_callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetFileContentByPath( |
- const base::FilePath& file_path, |
- const GetFileContentInitializedCallback& initialized_callback, |
- const google_apis::GetContentCallback& get_content_callback, |
- const FileOperationCallback& completion_callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- GetEntryInfoByPath( |
- file_path, |
- base::Bind(&FakeDriveFileSystem::GetFileContentByPathAfterGetEntryInfo, |
- weak_ptr_factory_.GetWeakPtr(), |
- file_path, initialized_callback, get_content_callback, |
- completion_callback)); |
-} |
- |
-void FakeDriveFileSystem::UpdateFileByResourceId( |
- const std::string& resource_id, |
- const DriveClientContext& context, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetEntryInfoByPath( |
- const base::FilePath& file_path, |
- const GetEntryInfoCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- // Now, we only support files under my drive. |
- DCHECK(!util::IsUnderDriveMountPoint(file_path)); |
- |
- if (file_path == util::GetDriveMyDriveRootPath()) { |
- // Specialized for the root entry. |
- drive_service_->GetAboutResource( |
- base::Bind( |
- &FakeDriveFileSystem::GetEntryInfoByPathAfterGetAboutResource, |
- weak_ptr_factory_.GetWeakPtr(), callback)); |
- return; |
- } |
- |
- GetEntryInfoByPath( |
- file_path.DirName(), |
- base::Bind( |
- &FakeDriveFileSystem::GetEntryInfoByPathAfterGetParentEntryInfo, |
- weak_ptr_factory_.GetWeakPtr(), file_path.BaseName(), callback)); |
-} |
- |
-void FakeDriveFileSystem::ReadDirectoryByPath( |
- const base::FilePath& file_path, |
- const ReadDirectoryWithSettingCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::RefreshDirectory( |
- const base::FilePath& file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::Search(const std::string& search_query, |
- const GURL& next_feed, |
- const SearchCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::SearchMetadata( |
- const std::string& query, |
- int options, |
- int at_most_num_matches, |
- const SearchMetadataCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetAvailableSpace( |
- const GetAvailableSpaceCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::AddUploadedFile( |
- scoped_ptr<google_apis::ResourceEntry> doc_entry, |
- const base::FilePath& file_content_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetMetadata( |
- const GetFilesystemMetadataCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::MarkCacheFileAsMounted( |
- const base::FilePath& drive_file_path, |
- const OpenFileCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::MarkCacheFileAsUnmounted( |
- const base::FilePath& cache_file_path, |
- const FileOperationCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::GetCacheEntryByResourceId( |
- const std::string& resource_id, |
- const std::string& md5, |
- const GetCacheEntryCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::IterateCache( |
- const CacheIterateCallback& iteration_callback, |
- const base::Closure& completion_callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-void FakeDriveFileSystem::Reload() { |
-} |
- |
-// Implementation of GetFilePath. |
-void FakeDriveFileSystem::GetFilePath(const std::string& resource_id, |
- const GetFilePathCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- drive_service_->GetAboutResource( |
- base::Bind( |
- &FakeDriveFileSystem::GetFilePathAfterGetAboutResource, |
- weak_ptr_factory_.GetWeakPtr(), resource_id, callback)); |
-} |
- |
-void FakeDriveFileSystem::GetFilePathAfterGetAboutResource( |
- const std::string& resource_id, |
- const GetFilePathCallback& callback, |
- google_apis::GDataErrorCode error, |
- scoped_ptr<google_apis::AboutResource> about_resource) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- // We assume the call always success for test. |
- DCHECK_EQ(util::GDataToFileError(error), FILE_ERROR_OK); |
- DCHECK(about_resource); |
- |
- GetFilePathInternal(about_resource->root_folder_id(), resource_id, |
- base::FilePath(), callback); |
-} |
- |
-void FakeDriveFileSystem::GetFilePathInternal( |
- const std::string& root_resource_id, |
- const std::string& resource_id, |
- const base::FilePath& file_path, |
- const GetFilePathCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- if (resource_id == root_resource_id) { |
- // Reached to the root. Append the drive root path, and run |callback|. |
- callback.Run(util::GetDriveMyDriveRootPath().Append(file_path)); |
- return; |
- } |
- |
- drive_service_->GetResourceEntry( |
- resource_id, |
- base::Bind( |
- &FakeDriveFileSystem::GetFilePathAfterGetResourceEntry, |
- weak_ptr_factory_.GetWeakPtr(), |
- root_resource_id, file_path, callback)); |
-} |
- |
-void FakeDriveFileSystem::GetFilePathAfterGetResourceEntry( |
- const std::string& root_resource_id, |
- const base::FilePath& remaining_file_path, |
- const GetFilePathCallback& callback, |
- google_apis::GDataErrorCode error_in, |
- scoped_ptr<google_apis::ResourceEntry> resource_entry) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- // We assume the call always success for test. |
- DCHECK_EQ(util::GDataToFileError(error_in), FILE_ERROR_OK); |
- DCHECK(resource_entry); |
- |
- DriveEntryProto entry_proto = |
- ConvertResourceEntryToDriveEntryProto(*resource_entry); |
- base::FilePath file_path = |
- base::FilePath::FromUTF8Unsafe(entry_proto.base_name()).Append( |
- remaining_file_path); |
- |
- GetFilePathInternal(root_resource_id, entry_proto.parent_resource_id(), |
- file_path, callback); |
-} |
- |
-// Implementation of GetEntryInfoByResourceId. |
-void FakeDriveFileSystem::GetEntryInfoByResourceIdAfterGetResourceEntry( |
- const GetEntryInfoWithFilePathCallback& callback, |
- google_apis::GDataErrorCode error_in, |
- scoped_ptr<google_apis::ResourceEntry> resource_entry) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- FileError error = util::GDataToFileError(error_in); |
- if (error != FILE_ERROR_OK) { |
- callback.Run(error, base::FilePath(), scoped_ptr<DriveEntryProto>()); |
- return; |
- } |
- |
- DCHECK(resource_entry); |
- scoped_ptr<DriveEntryProto> entry_proto(new DriveEntryProto( |
- ConvertResourceEntryToDriveEntryProto(*resource_entry))); |
- |
- const std::string parent_resource_id = entry_proto->parent_resource_id(); |
- GetFilePath( |
- parent_resource_id, |
- base::Bind( |
- &FakeDriveFileSystem::GetEntryInfoByResourceIdAfterGetFilePath, |
- weak_ptr_factory_.GetWeakPtr(), |
- callback, error, base::Passed(&entry_proto))); |
-} |
- |
-void FakeDriveFileSystem::GetEntryInfoByResourceIdAfterGetFilePath( |
- const GetEntryInfoWithFilePathCallback& callback, |
- FileError error, |
- scoped_ptr<DriveEntryProto> entry_proto, |
- const base::FilePath& parent_file_path) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- base::FilePath file_path = parent_file_path.Append( |
- base::FilePath::FromUTF8Unsafe(entry_proto->base_name())); |
- callback.Run(error, file_path, entry_proto.Pass()); |
-} |
- |
-// Implementation of GetFileContentByPath. |
-void FakeDriveFileSystem::GetFileContentByPathAfterGetEntryInfo( |
- const base::FilePath& file_path, |
- const GetFileContentInitializedCallback& initialized_callback, |
- const google_apis::GetContentCallback& get_content_callback, |
- const FileOperationCallback& completion_callback, |
- FileError error, |
- scoped_ptr<DriveEntryProto> entry_proto) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- if (error != FILE_ERROR_OK) { |
- completion_callback.Run(error); |
- return; |
- } |
- DCHECK(entry_proto); |
- |
- // We're only interested in a file. |
- if (entry_proto->file_info().is_directory()) { |
- completion_callback.Run(FILE_ERROR_NOT_A_FILE); |
- return; |
- } |
- |
- base::FilePath cache_path = |
- cache_dir_.path().AppendASCII(entry_proto->resource_id()); |
- if (file_util::PathExists(cache_path)) { |
- // Cache file is found. |
- initialized_callback.Run(FILE_ERROR_OK, entry_proto.Pass(), cache_path, |
- base::Closure()); |
- completion_callback.Run(FILE_ERROR_OK); |
- return; |
- } |
- |
- // Copy the URL here before passing |entry_proto| to the callback. |
- const GURL download_url(entry_proto->download_url()); |
- initialized_callback.Run(FILE_ERROR_OK, entry_proto.Pass(), base::FilePath(), |
- base::Bind(&base::DoNothing)); |
- drive_service_->DownloadFile( |
- file_path, |
- cache_path, |
- download_url, |
- base::Bind(&FakeDriveFileSystem::GetFileContentByPathAfterDownloadFile, |
- weak_ptr_factory_.GetWeakPtr(), |
- completion_callback), |
- get_content_callback, |
- google_apis::ProgressCallback()); |
-} |
- |
-void FakeDriveFileSystem::GetFileContentByPathAfterDownloadFile( |
- const FileOperationCallback& completion_callback, |
- google_apis::GDataErrorCode gdata_error, |
- const base::FilePath& temp_file) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- completion_callback.Run(util::GDataToFileError(gdata_error)); |
-} |
- |
-// Implementation of GetEntryInfoByPath. |
-void FakeDriveFileSystem::GetEntryInfoByPathAfterGetAboutResource( |
- const GetEntryInfoCallback& callback, |
- google_apis::GDataErrorCode gdata_error, |
- scoped_ptr<google_apis::AboutResource> about_resource) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- FileError error = util::GDataToFileError(gdata_error); |
- if (error != FILE_ERROR_OK) { |
- callback.Run(error, scoped_ptr<DriveEntryProto>()); |
- return; |
- } |
- |
- DCHECK(about_resource); |
- scoped_ptr<DriveEntryProto> root(new DriveEntryProto); |
- root->mutable_file_info()->set_is_directory(true); |
- root->set_resource_id(about_resource->root_folder_id()); |
- root->set_title(util::kDriveMyDriveRootDirName); |
- callback.Run(error, root.Pass()); |
-} |
- |
-void FakeDriveFileSystem::GetEntryInfoByPathAfterGetParentEntryInfo( |
- const base::FilePath& base_name, |
- const GetEntryInfoCallback& callback, |
- FileError error, |
- scoped_ptr<DriveEntryProto> parent_entry_proto) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- if (error != FILE_ERROR_OK) { |
- callback.Run(error, scoped_ptr<DriveEntryProto>()); |
- return; |
- } |
- |
- DCHECK(parent_entry_proto); |
- drive_service_->GetResourceListInDirectory( |
- parent_entry_proto->resource_id(), |
- base::Bind( |
- &FakeDriveFileSystem::GetEntryInfoByPathAfterGetResourceList, |
- weak_ptr_factory_.GetWeakPtr(), base_name, callback)); |
-} |
- |
-void FakeDriveFileSystem::GetEntryInfoByPathAfterGetResourceList( |
- const base::FilePath& base_name, |
- const GetEntryInfoCallback& callback, |
- google_apis::GDataErrorCode gdata_error, |
- scoped_ptr<google_apis::ResourceList> resource_list) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- FileError error = util::GDataToFileError(gdata_error); |
- if (error != FILE_ERROR_OK) { |
- callback.Run(error, scoped_ptr<DriveEntryProto>()); |
- return; |
- } |
- |
- DCHECK(resource_list); |
- const ScopedVector<google_apis::ResourceEntry>& entries = |
- resource_list->entries(); |
- for (size_t i = 0; i < entries.size(); ++i) { |
- scoped_ptr<DriveEntryProto> entry(new DriveEntryProto( |
- ConvertResourceEntryToDriveEntryProto(*entries[i]))); |
- if (entry->base_name() == base_name.AsUTF8Unsafe()) { |
- // Found the target entry. |
- callback.Run(FILE_ERROR_OK, entry.Pass()); |
- return; |
- } |
- } |
- |
- callback.Run(FILE_ERROR_NOT_FOUND, scoped_ptr<DriveEntryProto>()); |
-} |
- |
-} // namespace test_util |
-} // namespace drive |