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

Unified Diff: webkit/fileapi/isolated_file_util.cc

Issue 10810053: Enables internal filesystem types via Isolated filesystems (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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: webkit/fileapi/isolated_file_util.cc
diff --git a/webkit/fileapi/isolated_file_util.cc b/webkit/fileapi/isolated_file_util.cc
index 1d50a56f71c35cfd3e8d8ff8b6c0a04f36880b73..41f55f578fb5a4d8f7c21ef398db3781e5cb1855 100644
--- a/webkit/fileapi/isolated_file_util.cc
+++ b/webkit/fileapi/isolated_file_util.cc
@@ -172,39 +172,31 @@ FilePath RecursiveSetFileEnumerator::Next() {
} // namespace
-IsolatedFileUtil::IsolatedFileUtil() {
-}
+//-------------------------------------------------------------------------
-PlatformFileError IsolatedFileUtil::CreateOrOpen(
- FileSystemOperationContext* context,
- const FileSystemURL& url, int file_flags,
- PlatformFile* file_handle, bool* created) {
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
+IsolatedFileUtil::IsolatedFileUtil() {}
-PlatformFileError IsolatedFileUtil::Close(
- FileSystemOperationContext* context,
- PlatformFile file_handle) {
- // We don't allow open thus Close won't be called.
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
-
-PlatformFileError IsolatedFileUtil::EnsureFileExists(
+PlatformFileError IsolatedFileUtil::GetLocalFilePath(
FileSystemOperationContext* context,
const FileSystemURL& url,
- bool* created) {
- return base::PLATFORM_FILE_ERROR_SECURITY;
+ FilePath* local_file_path) {
+ DCHECK(local_file_path);
+ std::string filesystem_id;
+ if (!IsolatedContext::GetInstance()->CrackIsolatedPath(
+ url.path(), &filesystem_id, NULL, local_file_path))
+ return base::PLATFORM_FILE_ERROR_NOT_FOUND;
+ if (local_file_path->empty()) {
+ // Root direcory case, which should not be accessed.
+ return base::PLATFORM_FILE_ERROR_ACCESS_DENIED;
+ }
+ return base::PLATFORM_FILE_OK;
}
-PlatformFileError IsolatedFileUtil::CreateDirectory(
- FileSystemOperationContext* context,
- const FileSystemURL& url,
- bool exclusive,
- bool recursive) {
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
+//-------------------------------------------------------------------------
+
+DraggedFileUtil::DraggedFileUtil() {}
-PlatformFileError IsolatedFileUtil::GetFileInfo(
+PlatformFileError DraggedFileUtil::GetFileInfo(
FileSystemOperationContext* context,
const FileSystemURL& url,
PlatformFileInfo* file_info,
@@ -238,7 +230,7 @@ PlatformFileError IsolatedFileUtil::GetFileInfo(
}
FileSystemFileUtil::AbstractFileEnumerator*
-IsolatedFileUtil::CreateFileEnumerator(
+DraggedFileUtil::CreateFileEnumerator(
FileSystemOperationContext* context,
const FileSystemURL& root,
bool recursive) {
@@ -260,7 +252,7 @@ IsolatedFileUtil::CreateFileEnumerator(
// Root path case.
std::vector<FileInfo> toplevels;
- IsolatedContext::GetInstance()->GetRegisteredFileInfo(
+ IsolatedContext::GetInstance()->GetDraggedFileInfo(
filesystem_id, &toplevels);
if (!recursive)
return new SetFileEnumerator(toplevels, root.path());
@@ -268,38 +260,7 @@ IsolatedFileUtil::CreateFileEnumerator(
virtual_base_path, toplevels, root.path());
}
-PlatformFileError IsolatedFileUtil::GetLocalFilePath(
- FileSystemOperationContext* context,
- const FileSystemURL& file_system_url,
- FilePath* local_file_path) {
- if (GetPlatformPath(file_system_url, local_file_path))
- return base::PLATFORM_FILE_OK;
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
-
-PlatformFileError IsolatedFileUtil::Touch(
- FileSystemOperationContext* context,
- const FileSystemURL& url,
- const base::Time& last_access_time,
- const base::Time& last_modified_time) {
- FilePath platform_path;
- if (!GetPlatformPath(url, &platform_path) || platform_path.empty())
- return base::PLATFORM_FILE_ERROR_SECURITY;
- return NativeFileUtil::Touch(
- platform_path, last_access_time, last_modified_time);
-}
-
-PlatformFileError IsolatedFileUtil::Truncate(
- FileSystemOperationContext* context,
- const FileSystemURL& url,
- int64 length) {
- FilePath platform_path;
- if (!GetPlatformPath(url, &platform_path) || platform_path.empty())
- return base::PLATFORM_FILE_ERROR_SECURITY;
- return NativeFileUtil::Truncate(platform_path, length);
-}
-
-bool IsolatedFileUtil::PathExists(
+bool DraggedFileUtil::PathExists(
FileSystemOperationContext* context,
const FileSystemURL& url) {
FilePath platform_path;
@@ -312,7 +273,7 @@ bool IsolatedFileUtil::PathExists(
return NativeFileUtil::PathExists(platform_path);
}
-bool IsolatedFileUtil::DirectoryExists(
+bool DraggedFileUtil::DirectoryExists(
FileSystemOperationContext* context,
const FileSystemURL& url) {
FilePath platform_path;
@@ -325,7 +286,7 @@ bool IsolatedFileUtil::DirectoryExists(
return NativeFileUtil::DirectoryExists(platform_path);
}
-bool IsolatedFileUtil::IsDirectoryEmpty(
+bool DraggedFileUtil::IsDirectoryEmpty(
FileSystemOperationContext* context,
const FileSystemURL& url) {
std::string filesystem_id;
@@ -337,7 +298,7 @@ bool IsolatedFileUtil::IsDirectoryEmpty(
if (platform_path.empty()) {
// The root directory case.
std::vector<FileInfo> toplevels;
- bool success = IsolatedContext::GetInstance()->GetRegisteredFileInfo(
+ bool success = IsolatedContext::GetInstance()->GetDraggedFileInfo(
filesystem_id, &toplevels);
DCHECK(success);
return toplevels.empty();
@@ -345,46 +306,7 @@ bool IsolatedFileUtil::IsDirectoryEmpty(
return NativeFileUtil::IsDirectoryEmpty(platform_path);
}
-PlatformFileError IsolatedFileUtil::CopyOrMoveFile(
- FileSystemOperationContext* context,
- const FileSystemURL& src_url,
- const FileSystemURL& dest_url,
- bool copy) {
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
-
-PlatformFileError IsolatedFileUtil::CopyInForeignFile(
- FileSystemOperationContext* context,
- const FilePath& src_file_path,
- const FileSystemURL& dest_url) {
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
-
-PlatformFileError IsolatedFileUtil::DeleteFile(
- FileSystemOperationContext* context,
- const FileSystemURL& url) {
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
-
-PlatformFileError IsolatedFileUtil::DeleteSingleDirectory(
- FileSystemOperationContext* context,
- const FileSystemURL& url) {
- return base::PLATFORM_FILE_ERROR_SECURITY;
-}
-
-scoped_refptr<webkit_blob::ShareableFileReference>
-IsolatedFileUtil::CreateSnapshotFile(
- FileSystemOperationContext* context,
- const FileSystemURL& url,
- base::PlatformFileError* result,
- base::PlatformFileInfo* file_info,
- FilePath* platform_path) {
- DCHECK(result);
- *result = GetFileInfo(context, url, file_info, platform_path);
- return NULL;
-}
-
-bool IsolatedFileUtil::GetPlatformPath(const FileSystemURL& url,
+bool DraggedFileUtil::GetPlatformPath(const FileSystemURL& url,
FilePath* platform_path) const {
DCHECK(platform_path);
std::string filesystem_id;

Powered by Google App Engine
This is Rietveld 408576698