summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/local_file_system_operation.h
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 06:49:56 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 06:49:56 +0000
commitd9543896f8112191cc1e7cd56c0f53e768710940 (patch)
tree8e420b56a9283b3ba4bacf000d70824dc58fa4f6 /webkit/fileapi/local_file_system_operation.h
parentec8e6cf2037c07e8af073245cfb030857a0a616c (diff)
downloadchromium_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.h20
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,