diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-29 07:10:05 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-29 07:10:05 +0000 |
commit | 25b6979911b3fbcc4e6ee95a47db88c4d5a5930f (patch) | |
tree | b60353dc6c32a5571ee865025e10713fb1c1c2f9 /webkit/fileapi/file_system_mount_point_provider.h | |
parent | 3de8e61f52c73ab6435bb96abbacd862ad68c8ac (diff) | |
download | chromium_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.h | 6 |
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, |