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: |