Chromium Code Reviews| Index: chrome/browser/chromeos/arc/fileapi/arc_documents_provider_async_file_util.cc |
| diff --git a/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_async_file_util.cc b/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_async_file_util.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3658c2e759c3923f90de1f1c7f2411fb61c85e85 |
| --- /dev/null |
| +++ b/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_async_file_util.cc |
| @@ -0,0 +1,173 @@ |
| +// Copyright 2016 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/arc/fileapi/arc_documents_provider_async_file_util.h" |
| + |
| +#include "base/bind.h" |
|
Yusuke Sato
2016/12/13 18:58:56
nit: unused?
Shuhei Takahashi
2016/12/14 03:24:55
Done.
|
| +#include "base/callback.h" |
| +#include "base/files/file.h" |
| +#include "base/files/file_path.h" |
| +#include "base/logging.h" |
| +#include "base/memory/ptr_util.h" |
|
Yusuke Sato
2016/12/13 18:58:55
nit: unused?
Shuhei Takahashi
2016/12/14 03:24:55
Done.
|
| +#include "content/public/browser/browser_thread.h" |
| +#include "storage/browser/blob/shareable_file_reference.h" |
| +#include "storage/browser/fileapi/file_system_context.h" |
|
Yusuke Sato
2016/12/13 18:58:55
nit: same (line 15-18)
Shuhei Takahashi
2016/12/14 03:24:55
Done.
|
| +#include "storage/browser/fileapi/file_system_operation_context.h" |
| +#include "storage/browser/fileapi/file_system_operation_runner.h" |
| +#include "storage/browser/fileapi/file_system_url.h" |
| + |
| +using content::BrowserThread; |
| + |
| +namespace arc { |
| + |
| +ArcDocumentsProviderAsyncFileUtil::ArcDocumentsProviderAsyncFileUtil() = |
| + default; |
| + |
| +ArcDocumentsProviderAsyncFileUtil::~ArcDocumentsProviderAsyncFileUtil() = |
| + default; |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::CreateOrOpen( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + int file_flags, |
| + const CreateOrOpenCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTIMPLEMENTED(); |
|
Luis Héctor Chávez
2016/12/13 19:10:51
Can you also add the TODO here and in L167 for con
Shuhei Takahashi
2016/12/14 03:24:55
Done.
|
| + callback.Run(base::File(base::File::FILE_ERROR_INVALID_OPERATION), |
| + base::Closure()); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::EnsureFileExists( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + const EnsureFileExistsCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED, false); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::CreateDirectory( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + bool exclusive, |
| + bool recursive, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::GetFileInfo( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + int fields, |
| + const GetFileInfoCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTIMPLEMENTED(); // TODO(crbug.com/671511): Implement this function. |
| + callback.Run(base::File::FILE_ERROR_NOT_FOUND, base::File::Info()); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::ReadDirectory( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + const ReadDirectoryCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTIMPLEMENTED(); // TODO(crbug.com/671511): Implement this function. |
| + callback.Run(base::File::FILE_ERROR_NOT_FOUND, EntryList(), |
| + false /* has_more */); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::Touch( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + const base::Time& last_access_time, |
| + const base::Time& last_modified_time, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::Truncate( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + int64_t length, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::CopyFileLocal( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& src_url, |
| + const storage::FileSystemURL& dest_url, |
| + CopyOrMoveOption option, |
| + const CopyFileProgressCallback& progress_callback, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::MoveFileLocal( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& src_url, |
| + const storage::FileSystemURL& dest_url, |
| + CopyOrMoveOption option, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::CopyInForeignFile( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const base::FilePath& src_file_path, |
| + const storage::FileSystemURL& dest_url, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::DeleteFile( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::DeleteDirectory( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::DeleteRecursively( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + const StatusCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTREACHED(); // Read-only file system. |
| + callback.Run(base::File::FILE_ERROR_ACCESS_DENIED); |
| +} |
| + |
| +void ArcDocumentsProviderAsyncFileUtil::CreateSnapshotFile( |
| + std::unique_ptr<storage::FileSystemOperationContext> context, |
| + const storage::FileSystemURL& url, |
| + const CreateSnapshotFileCallback& callback) { |
| + DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| + NOTIMPLEMENTED(); |
| + callback.Run(base::File::FILE_ERROR_FAILED, base::File::Info(), |
| + base::FilePath(), |
| + scoped_refptr<storage::ShareableFileReference>()); |
| +} |
| + |
| +} // namespace arc |