Index: webkit/chromeos/fileapi/cros_mount_point_provider.cc |
diff --git a/webkit/chromeos/fileapi/cros_mount_point_provider.cc b/webkit/chromeos/fileapi/cros_mount_point_provider.cc |
index 7f130026618ac6c886c57b0d83791c0348e49d4d..c16a6f1b2bc407b56922e253954f55b20dc87bcd 100644 |
--- a/webkit/chromeos/fileapi/cros_mount_point_provider.cc |
+++ b/webkit/chromeos/fileapi/cros_mount_point_provider.cc |
@@ -30,6 +30,8 @@ |
#include "webkit/fileapi/local_file_system_operation.h" |
#include "webkit/glue/webkit_glue.h" |
+using fileapi::FileSystemURL; |
+ |
namespace { |
const char kChromeUIScheme[] = "chrome"; |
@@ -39,7 +41,7 @@ const char kChromeUIScheme[] = "chrome"; |
namespace chromeos { |
// static |
-bool CrosMountPointProvider::CanHandleURL(const fileapi::FileSystemURL& url) { |
+bool CrosMountPointProvider::CanHandleURL(const FileSystemURL& url) { |
if (!url.is_valid()) |
return false; |
return url.type() == fileapi::kFileSystemTypeNativeLocal || |
@@ -73,7 +75,7 @@ void CrosMountPointProvider::ValidateFileSystemRoot( |
} |
base::FilePath CrosMountPointProvider::GetFileSystemRootPathOnFileThread( |
- const fileapi::FileSystemURL& url, |
+ const FileSystemURL& url, |
bool create) { |
DCHECK(fileapi::IsolatedContext::IsIsolatedType(url.mount_type())); |
if (!url.is_valid()) |
@@ -227,20 +229,14 @@ fileapi::FilePermissionPolicy CrosMountPointProvider::GetPermissionPolicy( |
} |
fileapi::FileSystemOperation* CrosMountPointProvider::CreateFileSystemOperation( |
- const fileapi::FileSystemURL& url, |
+ const FileSystemURL& url, |
fileapi::FileSystemContext* context, |
base::PlatformFileError* error_code) const { |
DCHECK(url.is_valid()); |
- if (url.type() == fileapi::kFileSystemTypeDrive) { |
- fileapi::RemoteFileSystemProxyInterface* remote_proxy = |
- GetRemoteProxy(url.filesystem_id()); |
- if (!remote_proxy) { |
- *error_code = base::PLATFORM_FILE_ERROR_NOT_FOUND; |
- return NULL; |
- } |
+ fileapi::RemoteFileSystemProxyInterface* remote_proxy = GetRemoteProxy(url); |
+ if (remote_proxy) |
return new chromeos::RemoteFileSystemOperation(remote_proxy); |
- } |
DCHECK(url.type() == fileapi::kFileSystemTypeNativeLocal || |
url.type() == fileapi::kFileSystemTypeRestrictedNativeLocal); |
@@ -251,7 +247,7 @@ fileapi::FileSystemOperation* CrosMountPointProvider::CreateFileSystemOperation( |
} |
webkit_blob::FileStreamReader* CrosMountPointProvider::CreateFileStreamReader( |
- const fileapi::FileSystemURL& url, |
+ const FileSystemURL& url, |
int64 offset, |
const base::Time& expected_modification_time, |
fileapi::FileSystemContext* context) const { |
@@ -263,18 +259,14 @@ webkit_blob::FileStreamReader* CrosMountPointProvider::CreateFileStreamReader( |
} |
fileapi::FileStreamWriter* CrosMountPointProvider::CreateFileStreamWriter( |
- const fileapi::FileSystemURL& url, |
+ const FileSystemURL& url, |
int64 offset, |
fileapi::FileSystemContext* context) const { |
DCHECK(url.is_valid()); |
- if (url.type() == fileapi::kFileSystemTypeDrive) { |
- fileapi::RemoteFileSystemProxyInterface* remote_proxy = |
- GetRemoteProxy(url.filesystem_id()); |
- if (!remote_proxy) |
- return NULL; |
+ fileapi::RemoteFileSystemProxyInterface* remote_proxy = GetRemoteProxy(url); |
+ if (remote_proxy) |
return new fileapi::RemoteFileStreamWriter(remote_proxy, url, offset); |
- } |
if (url.type() == fileapi::kFileSystemTypeRestrictedNativeLocal) |
return NULL; |
@@ -285,18 +277,18 @@ fileapi::FileStreamWriter* CrosMountPointProvider::CreateFileStreamWriter( |
bool CrosMountPointProvider::GetVirtualPath( |
const base::FilePath& filesystem_path, |
- base::FilePath* virtual_path) { |
+ base::FilePath* virtual_path) const { |
return mount_points_->GetVirtualPath(filesystem_path, virtual_path) || |
system_mount_points_->GetVirtualPath(filesystem_path, virtual_path); |
} |
fileapi::RemoteFileSystemProxyInterface* CrosMountPointProvider::GetRemoteProxy( |
- const std::string& mount_name) const { |
+ const fileapi::FileSystemURL& url) const { |
fileapi::RemoteFileSystemProxyInterface* proxy = |
- mount_points_->GetRemoteFileSystemProxy(mount_name); |
+ mount_points_->GetRemoteFileSystemProxyForPath(url.path()); |
if (proxy) |
return proxy; |
- return system_mount_points_->GetRemoteFileSystemProxy(mount_name); |
+ return system_mount_points_->GetRemoteFileSystemProxyForPath(url.path()); |
} |
} // namespace chromeos |