summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/file_system_mount_point_provider.h
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-29 07:10:05 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-29 07:10:05 +0000
commit25b6979911b3fbcc4e6ee95a47db88c4d5a5930f (patch)
treeb60353dc6c32a5571ee865025e10713fb1c1c2f9 /webkit/fileapi/file_system_mount_point_provider.h
parent3de8e61f52c73ab6435bb96abbacd862ad68c8ac (diff)
downloadchromium_src-25b6979911b3fbcc4e6ee95a47db88c4d5a5930f.zip
chromium_src-25b6979911b3fbcc4e6ee95a47db88c4d5a5930f.tar.gz
chromium_src-25b6979911b3fbcc4e6ee95a47db88c4d5a5930f.tar.bz2
Introduce AsyncFileUtil and deprecate FileSystemFileUtilProxy
In LocalFileSystemOperation we used to use a synchronous implementation (implemented as FileSystemFileUtil) to perform subtasks (e.g. file_util::Copy type operation), but it's not always natural to have synchronous implementation depending on filesystem types. For example async interface works much better if we need to talk to a remote server or a device. This patch introduces an async version of FileUtil, AsyncFileUtil, and replaces FileSystemFileUtil+Proxy implementation with it. After this patch, each filesystem can choose either: - implement synchronous FileSystemFileUtil and use it with AsyncFileUtilAdapter, or - directly implement asynchronous AsyncFileUtil BUG=154835 TEST=existing tests Review URL: https://codereview.chromium.org/12035049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179299 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_mount_point_provider.h')
-rw-r--r--webkit/fileapi/file_system_mount_point_provider.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/webkit/fileapi/file_system_mount_point_provider.h b/webkit/fileapi/file_system_mount_point_provider.h
index 24c00fe..7d45844 100644
--- a/webkit/fileapi/file_system_mount_point_provider.h
+++ b/webkit/fileapi/file_system_mount_point_provider.h
@@ -21,6 +21,7 @@ class FileStreamReader;
namespace fileapi {
+class AsyncFileUtil;
class FileSystemURL;
class FileStreamWriter;
class FileSystemContext;
@@ -67,8 +68,13 @@ class WEBKIT_STORAGE_EXPORT FileSystemMountPointProvider {
virtual bool IsRestrictedFileName(const FilePath& filename) const = 0;
// Returns the specialized FileSystemFileUtil for this mount point.
+ // It is ok to return NULL if the filesystem doesn't support synchronous
+ // version of FileUtil.
virtual FileSystemFileUtil* GetFileUtil(FileSystemType type) = 0;
+ // Returns the specialized AsyncFileUtil for this mount point.
+ virtual AsyncFileUtil* GetAsyncFileUtil(FileSystemType type) = 0;
+
// Returns file permission policy we should apply for the given |url|.
virtual FilePermissionPolicy GetPermissionPolicy(
const FileSystemURL& url,