diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 06:49:56 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 06:49:56 +0000 |
commit | d9543896f8112191cc1e7cd56c0f53e768710940 (patch) | |
tree | 8e420b56a9283b3ba4bacf000d70824dc58fa4f6 /webkit/fileapi/local_file_system_operation.h | |
parent | ec8e6cf2037c07e8af073245cfb030857a0a616c (diff) | |
download | chromium_src-d9543896f8112191cc1e7cd56c0f53e768710940.zip chromium_src-d9543896f8112191cc1e7cd56c0f53e768710940.tar.gz chromium_src-d9543896f8112191cc1e7cd56c0f53e768710940.tar.bz2 |
Make LocalFileSystemOperation::Write queueable
Split Write into two: GetWriteClosure and closure.Run();
Also making CopyInForeignFile non-virtual (as it's not a override)
BUG=148897
TEST=existing tests
Review URL: https://chromiumcodereview.appspot.com/11087054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161518 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/local_file_system_operation.h')
-rw-r--r-- | webkit/fileapi/local_file_system_operation.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/webkit/fileapi/local_file_system_operation.h b/webkit/fileapi/local_file_system_operation.h index f33f3a1..804e240 100644 --- a/webkit/fileapi/local_file_system_operation.h +++ b/webkit/fileapi/local_file_system_operation.h @@ -43,9 +43,6 @@ class FILEAPI_EXPORT LocalFileSystemOperation virtual void Copy(const FileSystemURL& src_url, const FileSystemURL& dest_url, const StatusCallback& callback) OVERRIDE; - virtual void CopyInForeignFile(const FilePath& src_local_disk_path, - const FileSystemURL& dest_url, - const StatusCallback& callback); virtual void Move(const FileSystemURL& src_url, const FileSystemURL& dest_url, const StatusCallback& callback) OVERRIDE; @@ -81,6 +78,10 @@ class FILEAPI_EXPORT LocalFileSystemOperation const FileSystemURL& path, const SnapshotFileCallback& callback) OVERRIDE; + void CopyInForeignFile(const FilePath& src_local_disk_path, + const FileSystemURL& dest_url, + const StatusCallback& callback); + // Synchronously gets the platform path for the given |url|. void SyncGetPlatformPath(const FileSystemURL& url, FilePath* platform_path); @@ -107,6 +108,8 @@ class FILEAPI_EXPORT LocalFileSystemOperation friend class FileSystemQuotaTest; friend class LocalFileSystemTestOriginHelper; + friend class SyncableFileSystemOperation; + LocalFileSystemOperation( FileSystemContext* file_system_context, scoped_ptr<FileSystemOperationContext> operation_context); @@ -145,6 +148,17 @@ class FILEAPI_EXPORT LocalFileSystemOperation quota::QuotaStatusCode status, int64 usage, int64 quota); + // returns a closure which actually perform the write operation. + base::Closure GetWriteClosure( + const net::URLRequestContext* url_request_context, + const FileSystemURL& url, + const GURL& blob_url, + int64 offset, + const WriteCallback& callback); + void DidFailWrite( + const WriteCallback& callback, + base::PlatformFileError result); + // The 'body' methods that perform the actual work (i.e. posting the // file task on proxy_) after the quota check. void DoCreateFile(const FileSystemURL& url, |