| Index: chrome/browser/chromeos/fileapi/file_system_backend.cc
|
| diff --git a/chrome/browser/chromeos/fileapi/file_system_backend.cc b/chrome/browser/chromeos/fileapi/file_system_backend.cc
|
| index d81fc877bb4719a617840d4475509519b3ef8ef6..9992f284d652bc2040afdbfd20f34c188142c04f 100644
|
| --- a/chrome/browser/chromeos/fileapi/file_system_backend.cc
|
| +++ b/chrome/browser/chromeos/fileapi/file_system_backend.cc
|
| @@ -49,7 +49,8 @@ bool FileSystemBackend::CanHandleURL(const storage::FileSystemURL& url) {
|
| url.type() == storage::kFileSystemTypeDrive ||
|
| url.type() == storage::kFileSystemTypeProvided ||
|
| url.type() == storage::kFileSystemTypeDeviceMediaAsFileStorage ||
|
| - url.type() == storage::kFileSystemTypeArcContent;
|
| + url.type() == storage::kFileSystemTypeArcContent ||
|
| + url.type() == storage::kFileSystemTypeArcDocumentsProvider;
|
| }
|
|
|
| FileSystemBackend::FileSystemBackend(
|
| @@ -57,6 +58,7 @@ FileSystemBackend::FileSystemBackend(
|
| std::unique_ptr<FileSystemBackendDelegate> file_system_provider_delegate,
|
| std::unique_ptr<FileSystemBackendDelegate> mtp_delegate,
|
| std::unique_ptr<FileSystemBackendDelegate> arc_content_delegate,
|
| + std::unique_ptr<FileSystemBackendDelegate> arc_documents_provider_delegate,
|
| scoped_refptr<storage::ExternalMountPoints> mount_points,
|
| storage::ExternalMountPoints* system_mount_points)
|
| : file_access_permissions_(new FileAccessPermissions()),
|
| @@ -65,6 +67,8 @@ FileSystemBackend::FileSystemBackend(
|
| file_system_provider_delegate_(std::move(file_system_provider_delegate)),
|
| mtp_delegate_(std::move(mtp_delegate)),
|
| arc_content_delegate_(std::move(arc_content_delegate)),
|
| + arc_documents_provider_delegate_(
|
| + std::move(arc_documents_provider_delegate)),
|
| mount_points_(mount_points),
|
| system_mount_points_(system_mount_points) {}
|
|
|
| @@ -101,6 +105,7 @@ bool FileSystemBackend::CanHandleType(storage::FileSystemType type) const {
|
| case storage::kFileSystemTypeDeviceMediaAsFileStorage:
|
| case storage::kFileSystemTypeProvided:
|
| case storage::kFileSystemTypeArcContent:
|
| + case storage::kFileSystemTypeArcDocumentsProvider:
|
| return true;
|
| default:
|
| return false;
|
| @@ -253,6 +258,8 @@ storage::AsyncFileUtil* FileSystemBackend::GetAsyncFileUtil(
|
| return mtp_delegate_->GetAsyncFileUtil(type);
|
| case storage::kFileSystemTypeArcContent:
|
| return arc_content_delegate_->GetAsyncFileUtil(type);
|
| + case storage::kFileSystemTypeArcDocumentsProvider:
|
| + return arc_documents_provider_delegate_->GetAsyncFileUtil(type);
|
| default:
|
| NOTREACHED();
|
| }
|
| @@ -306,7 +313,8 @@ storage::FileSystemOperation* FileSystemBackend::CreateFileSystemOperation(
|
| url.type() == storage::kFileSystemTypeRestrictedNativeLocal ||
|
| url.type() == storage::kFileSystemTypeDrive ||
|
| url.type() == storage::kFileSystemTypeProvided ||
|
| - url.type() == storage::kFileSystemTypeArcContent);
|
| + url.type() == storage::kFileSystemTypeArcContent ||
|
| + url.type() == storage::kFileSystemTypeArcDocumentsProvider);
|
| return storage::FileSystemOperation::Create(
|
| url, context,
|
| base::MakeUnique<storage::FileSystemOperationContext>(context));
|
| @@ -317,7 +325,8 @@ bool FileSystemBackend::SupportsStreaming(
|
| return url.type() == storage::kFileSystemTypeDrive ||
|
| url.type() == storage::kFileSystemTypeProvided ||
|
| url.type() == storage::kFileSystemTypeDeviceMediaAsFileStorage ||
|
| - url.type() == storage::kFileSystemTypeArcContent;
|
| + url.type() == storage::kFileSystemTypeArcContent ||
|
| + url.type() == storage::kFileSystemTypeArcDocumentsProvider;
|
| }
|
|
|
| bool FileSystemBackend::HasInplaceCopyImplementation(
|
| @@ -330,6 +339,7 @@ bool FileSystemBackend::HasInplaceCopyImplementation(
|
| case storage::kFileSystemTypeNativeLocal:
|
| case storage::kFileSystemTypeRestrictedNativeLocal:
|
| case storage::kFileSystemTypeArcContent:
|
| + case storage::kFileSystemTypeArcDocumentsProvider:
|
| return false;
|
| default:
|
| NOTREACHED();
|
| @@ -367,6 +377,9 @@ FileSystemBackend::CreateFileStreamReader(
|
| case storage::kFileSystemTypeArcContent:
|
| return arc_content_delegate_->CreateFileStreamReader(
|
| url, offset, max_bytes_to_read, expected_modification_time, context);
|
| + case storage::kFileSystemTypeArcDocumentsProvider:
|
| + return arc_documents_provider_delegate_->CreateFileStreamReader(
|
| + url, offset, max_bytes_to_read, expected_modification_time, context);
|
| default:
|
| NOTREACHED();
|
| }
|
| @@ -399,6 +412,7 @@ FileSystemBackend::CreateFileStreamWriter(
|
| // Read only file systems.
|
| case storage::kFileSystemTypeRestrictedNativeLocal:
|
| case storage::kFileSystemTypeArcContent:
|
| + case storage::kFileSystemTypeArcDocumentsProvider:
|
| return std::unique_ptr<storage::FileStreamWriter>();
|
| default:
|
| NOTREACHED();
|
| @@ -434,6 +448,7 @@ void FileSystemBackend::GetRedirectURLForContents(
|
| case storage::kFileSystemTypeNativeLocal:
|
| case storage::kFileSystemTypeRestrictedNativeLocal:
|
| case storage::kFileSystemTypeArcContent:
|
| + case storage::kFileSystemTypeArcDocumentsProvider:
|
| callback.Run(GURL());
|
| return;
|
| default:
|
|
|