| 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 d2ad6faff8773fdd7d94d67b2a82372711a5bc8d..632d71117b94f82a83195b12c3b62bd43df14e0a 100644
|
| --- a/chrome/browser/chromeos/fileapi/file_system_backend.cc
|
| +++ b/chrome/browser/chromeos/fileapi/file_system_backend.cc
|
| @@ -37,11 +37,13 @@ bool FileSystemBackend::CanHandleURL(const fileapi::FileSystemURL& url) {
|
| return false;
|
| return url.type() == fileapi::kFileSystemTypeNativeLocal ||
|
| url.type() == fileapi::kFileSystemTypeRestrictedNativeLocal ||
|
| - url.type() == fileapi::kFileSystemTypeDrive;
|
| + url.type() == fileapi::kFileSystemTypeDrive ||
|
| + url.type() == fileapi::kFileSystemTypeProvided;
|
| }
|
|
|
| FileSystemBackend::FileSystemBackend(
|
| FileSystemBackendDelegate* drive_delegate,
|
| + FileSystemBackendDelegate* file_system_provider_delegate,
|
| scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy,
|
| scoped_refptr<fileapi::ExternalMountPoints> mount_points,
|
| fileapi::ExternalMountPoints* system_mount_points)
|
| @@ -50,8 +52,7 @@ FileSystemBackend::FileSystemBackend(
|
| local_file_util_(fileapi::AsyncFileUtil::CreateForLocalFileSystem()),
|
| drive_delegate_(drive_delegate),
|
| mount_points_(mount_points),
|
| - system_mount_points_(system_mount_points) {
|
| -}
|
| + system_mount_points_(system_mount_points) {}
|
|
|
| FileSystemBackend::~FileSystemBackend() {
|
| }
|
| @@ -232,6 +233,8 @@ fileapi::AsyncFileUtil* FileSystemBackend::GetAsyncFileUtil(
|
| fileapi::FileSystemType type) {
|
| if (type == fileapi::kFileSystemTypeDrive)
|
| return drive_delegate_->GetAsyncFileUtil(type);
|
| + if (type == fileapi::kFileSystemTypeProvided)
|
| + return file_system_provider_delegate_->GetAsyncFileUtil(type);
|
|
|
| DCHECK(type == fileapi::kFileSystemTypeNativeLocal ||
|
| type == fileapi::kFileSystemTypeRestrictedNativeLocal);
|
| @@ -286,6 +289,11 @@ FileSystemBackend::CreateFileStreamReader(
|
| url, offset, expected_modification_time, context);
|
| }
|
|
|
| + if (url.type() == fileapi::kFileSystemTypeProvided) {
|
| + return file_system_provider_delegate_->CreateFileStreamReader(
|
| + url, offset, expected_modification_time, context);
|
| + }
|
| +
|
| return scoped_ptr<webkit_blob::FileStreamReader>(
|
| webkit_blob::FileStreamReader::CreateForFileSystemFile(
|
| context, url, offset, expected_modification_time));
|
| @@ -307,6 +315,11 @@ FileSystemBackend::CreateFileStreamWriter(
|
| if (url.type() == fileapi::kFileSystemTypeRestrictedNativeLocal)
|
| return scoped_ptr<fileapi::FileStreamWriter>();
|
|
|
| + if (url.type() == fileapi::kFileSystemTypeProvided) {
|
| + return file_system_provider_delegate_->CreateFileStreamWriter(
|
| + url, offset, context);
|
| + }
|
| +
|
| DCHECK(url.type() == fileapi::kFileSystemTypeNativeLocal);
|
| return scoped_ptr<fileapi::FileStreamWriter>(
|
| fileapi::FileStreamWriter::CreateForLocalFile(
|
|
|