Chromium Code Reviews| 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 d2c41769a5c5fcc1311188dcc64a44ffafa690cd..dfea63561953c8a623d4cde848667bb6a6a68e0d 100644 |
| --- a/chrome/browser/chromeos/fileapi/file_system_backend.cc |
| +++ b/chrome/browser/chromeos/fileapi/file_system_backend.cc |
| @@ -49,13 +49,15 @@ bool FileSystemBackend::CanHandleURL(const storage::FileSystemURL& url) { |
| url.type() == storage::kFileSystemTypeRestrictedNativeLocal || |
| url.type() == storage::kFileSystemTypeDrive || |
| url.type() == storage::kFileSystemTypeProvided || |
| - url.type() == storage::kFileSystemTypeDeviceMediaAsFileStorage; |
| + url.type() == storage::kFileSystemTypeDeviceMediaAsFileStorage || |
| + url.type() == storage::kFileSystemTypeArcContent; |
| } |
| FileSystemBackend::FileSystemBackend( |
| FileSystemBackendDelegate* drive_delegate, |
| FileSystemBackendDelegate* file_system_provider_delegate, |
| FileSystemBackendDelegate* mtp_delegate, |
| + FileSystemBackendDelegate* arc_content_delegate, |
| scoped_refptr<storage::ExternalMountPoints> mount_points, |
| storage::ExternalMountPoints* system_mount_points) |
| : file_access_permissions_(new FileAccessPermissions()), |
| @@ -63,9 +65,9 @@ FileSystemBackend::FileSystemBackend( |
| drive_delegate_(drive_delegate), |
| file_system_provider_delegate_(file_system_provider_delegate), |
| mtp_delegate_(mtp_delegate), |
| + arc_content_delegate_(arc_content_delegate), |
| mount_points_(mount_points), |
| - system_mount_points_(system_mount_points) { |
| -} |
| + system_mount_points_(system_mount_points) {} |
| FileSystemBackend::~FileSystemBackend() { |
| } |
| @@ -99,6 +101,7 @@ bool FileSystemBackend::CanHandleType(storage::FileSystemType type) const { |
| case storage::kFileSystemTypeNativeForPlatformApp: |
| case storage::kFileSystemTypeDeviceMediaAsFileStorage: |
| case storage::kFileSystemTypeProvided: |
| + case storage::kFileSystemTypeArcContent: |
| return true; |
| default: |
| return false; |
| @@ -249,6 +252,8 @@ storage::AsyncFileUtil* FileSystemBackend::GetAsyncFileUtil( |
| return local_file_util_.get(); |
| case storage::kFileSystemTypeDeviceMediaAsFileStorage: |
| return mtp_delegate_->GetAsyncFileUtil(type); |
| + case storage::kFileSystemTypeArcContent: |
| + return arc_content_delegate_->GetAsyncFileUtil(type); |
| default: |
| NOTREACHED(); |
| } |
| @@ -301,7 +306,8 @@ storage::FileSystemOperation* FileSystemBackend::CreateFileSystemOperation( |
| DCHECK(url.type() == storage::kFileSystemTypeNativeLocal || |
| url.type() == storage::kFileSystemTypeRestrictedNativeLocal || |
| url.type() == storage::kFileSystemTypeDrive || |
| - url.type() == storage::kFileSystemTypeProvided); |
| + url.type() == storage::kFileSystemTypeProvided || |
| + url.type() == storage::kFileSystemTypeArcContent); |
| return storage::FileSystemOperation::Create( |
| url, context, |
| base::MakeUnique<storage::FileSystemOperationContext>(context)); |
| @@ -311,7 +317,8 @@ bool FileSystemBackend::SupportsStreaming( |
| const storage::FileSystemURL& url) const { |
| return url.type() == storage::kFileSystemTypeDrive || |
| url.type() == storage::kFileSystemTypeProvided || |
| - url.type() == storage::kFileSystemTypeDeviceMediaAsFileStorage; |
| + url.type() == storage::kFileSystemTypeDeviceMediaAsFileStorage || |
| + url.type() == storage::kFileSystemTypeArcContent; |
| } |
| bool FileSystemBackend::HasInplaceCopyImplementation( |
| @@ -323,6 +330,7 @@ bool FileSystemBackend::HasInplaceCopyImplementation( |
| return true; |
| case storage::kFileSystemTypeNativeLocal: |
| case storage::kFileSystemTypeRestrictedNativeLocal: |
| + case storage::kFileSystemTypeArcContent: |
| return false; |
| default: |
| NOTREACHED(); |
| @@ -357,6 +365,9 @@ FileSystemBackend::CreateFileStreamReader( |
| case storage::kFileSystemTypeDeviceMediaAsFileStorage: |
| return mtp_delegate_->CreateFileStreamReader( |
| url, offset, max_bytes_to_read, expected_modification_time, context); |
| + case storage::kFileSystemTypeArcContent: |
| + return arc_content_delegate_->CreateFileStreamReader( |
| + url, offset, max_bytes_to_read, expected_modification_time, context); |
| default: |
| NOTREACHED(); |
| } |
| @@ -389,6 +400,8 @@ FileSystemBackend::CreateFileStreamWriter( |
| return std::unique_ptr<storage::FileStreamWriter>(); |
| case storage::kFileSystemTypeDeviceMediaAsFileStorage: |
| return mtp_delegate_->CreateFileStreamWriter(url, offset, context); |
| + case storage::kFileSystemTypeArcContent: // Read only. |
| + return std::unique_ptr<storage::FileStreamWriter>(); |
|
hidehiko
2016/10/25 16:55:44
(optional) Can this be shared with RestrictedNativ
hashimoto
2016/10/26 05:23:12
Done.
|
| default: |
| NOTREACHED(); |
| } |
| @@ -422,6 +435,7 @@ void FileSystemBackend::GetRedirectURLForContents( |
| return; |
| case storage::kFileSystemTypeNativeLocal: |
| case storage::kFileSystemTypeRestrictedNativeLocal: |
| + case storage::kFileSystemTypeArcContent: |
| callback.Run(GURL()); |
| return; |
| default: |