Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4380)

Unified Diff: chrome/browser/chromeos/fileapi/file_system_backend.cc

Issue 236303017: [fsp] Add an initial AsyncFileUtil. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed tests. Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(
« no previous file with comments | « chrome/browser/chromeos/fileapi/file_system_backend.h ('k') | chrome/browser/chromeos/fileapi/file_system_backend_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698