Chromium Code Reviews| 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 d0b57827b615d6622e0fe690aab81652d27f13a7..6700412943c17ad1e7a7d5dfe0850a7b0bdd37ed 100644 |
| --- a/webkit/chromeos/fileapi/cros_mount_point_provider.cc |
| +++ b/webkit/chromeos/fileapi/cros_mount_point_provider.cc |
| @@ -20,6 +20,7 @@ |
| #include "webkit/fileapi/file_system_file_stream_reader.h" |
| #include "webkit/fileapi/file_system_operation.h" |
| #include "webkit/fileapi/file_system_util.h" |
| +#include "webkit/fileapi/local_file_stream_writer.h" |
| #include "webkit/glue/webkit_glue.h" |
| namespace { |
| @@ -268,10 +269,17 @@ fileapi::FileStreamWriter* CrosMountPointProvider::CreateFileStreamWriter( |
| const GURL& url, |
| int64 offset, |
| fileapi::FileSystemContext* context) const { |
| - // TODO(kinaba,kinuko,benchan,satorux): return a writer for remote or local |
| - // file system depending on the mount point location. |
| - NOTIMPLEMENTED(); |
| - return NULL; |
| + FilePath virtual_path; |
| + if (!fileapi::CrackFileSystemURL(url, NULL, NULL, &virtual_path)) |
| + return NULL; |
| + const MountPoint* mount_point = GetMountPoint(virtual_path); |
|
kinaba
2012/06/12 06:39:32
We need to exit earlier for NULL return:
if (!moun
|
| + if (mount_point && mount_point->location == REMOTE) { |
| + // TODO(kinaba): return a gdata writer for remote file system. |
| + return NULL; |
| + } |
| + FilePath root_path = mount_point->local_root_path; |
| + return new fileapi::LocalFileStreamWriter( |
| + root_path.Append(virtual_path), offset); |
| } |
| bool CrosMountPointProvider::GetVirtualPath(const FilePath& filesystem_path, |