Index: webkit/browser/fileapi/file_system_operation_impl.h |
diff --git a/webkit/browser/fileapi/file_system_operation_impl.h b/webkit/browser/fileapi/file_system_operation_impl.h |
index ae6abb0b166fe2f47857ce6455ba56b2c533de04..ceae60435483063e74f5529bff4f06b21f364482 100644 |
--- a/webkit/browser/fileapi/file_system_operation_impl.h |
+++ b/webkit/browser/fileapi/file_system_operation_impl.h |
@@ -1,206 +1,5 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_IMPL_H_ |
-#define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_IMPL_H_ |
- |
-#include <vector> |
- |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "webkit/browser/fileapi/file_system_operation.h" |
-#include "webkit/browser/fileapi/file_system_operation_context.h" |
-#include "webkit/browser/fileapi/file_system_url.h" |
-#include "webkit/browser/fileapi/file_writer_delegate.h" |
-#include "webkit/browser/storage_browser_export.h" |
-#include "webkit/common/blob/scoped_file.h" |
-#include "webkit/common/quota/quota_types.h" |
- |
-namespace storage { |
- |
-class AsyncFileUtil; |
-class FileSystemContext; |
-class RecursiveOperationDelegate; |
- |
-// The default implementation of FileSystemOperation for file systems. |
-class STORAGE_EXPORT FileSystemOperationImpl |
- : public NON_EXPORTED_BASE(FileSystemOperation) { |
- public: |
- virtual ~FileSystemOperationImpl(); |
- |
- // FileSystemOperation overrides. |
- virtual void CreateFile(const FileSystemURL& url, |
- bool exclusive, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void CreateDirectory(const FileSystemURL& url, |
- bool exclusive, |
- bool recursive, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void Copy(const FileSystemURL& src_url, |
- const FileSystemURL& dest_url, |
- CopyOrMoveOption option, |
- const CopyProgressCallback& progress_callback, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void Move(const FileSystemURL& src_url, |
- const FileSystemURL& dest_url, |
- CopyOrMoveOption option, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void DirectoryExists(const FileSystemURL& url, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void FileExists(const FileSystemURL& url, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void GetMetadata(const FileSystemURL& url, |
- const GetMetadataCallback& callback) OVERRIDE; |
- virtual void ReadDirectory(const FileSystemURL& url, |
- const ReadDirectoryCallback& callback) OVERRIDE; |
- virtual void Remove(const FileSystemURL& url, bool recursive, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void Write(const FileSystemURL& url, |
- scoped_ptr<FileWriterDelegate> writer_delegate, |
- scoped_ptr<net::URLRequest> blob_request, |
- const WriteCallback& callback) OVERRIDE; |
- virtual void Truncate(const FileSystemURL& url, int64 length, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void TouchFile(const FileSystemURL& url, |
- const base::Time& last_access_time, |
- const base::Time& last_modified_time, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void OpenFile(const FileSystemURL& url, |
- int file_flags, |
- const OpenFileCallback& callback) OVERRIDE; |
- virtual void Cancel(const StatusCallback& cancel_callback) OVERRIDE; |
- virtual void CreateSnapshotFile( |
- const FileSystemURL& path, |
- const SnapshotFileCallback& callback) OVERRIDE; |
- virtual void CopyInForeignFile(const base::FilePath& src_local_disk_path, |
- const FileSystemURL& dest_url, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void RemoveFile(const FileSystemURL& url, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void RemoveDirectory(const FileSystemURL& url, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void CopyFileLocal(const FileSystemURL& src_url, |
- const FileSystemURL& dest_url, |
- CopyOrMoveOption option, |
- const CopyFileProgressCallback& progress_callback, |
- const StatusCallback& callback) OVERRIDE; |
- virtual void MoveFileLocal(const FileSystemURL& src_url, |
- const FileSystemURL& dest_url, |
- CopyOrMoveOption option, |
- const StatusCallback& callback) OVERRIDE; |
- virtual base::File::Error SyncGetPlatformPath( |
- const FileSystemURL& url, |
- base::FilePath* platform_path) OVERRIDE; |
- |
- FileSystemContext* file_system_context() const { |
- return file_system_context_.get(); |
- } |
- |
- private: |
- friend class FileSystemOperation; |
- |
- FileSystemOperationImpl( |
- const FileSystemURL& url, |
- FileSystemContext* file_system_context, |
- scoped_ptr<FileSystemOperationContext> operation_context); |
- |
- // Queries the quota and usage and then runs the given |task|. |
- // If an error occurs during the quota query it runs |error_callback| instead. |
- void GetUsageAndQuotaThenRunTask( |
- const FileSystemURL& url, |
- const base::Closure& task, |
- const base::Closure& error_callback); |
- |
- // Called after the quota info is obtained from the quota manager |
- // (which is triggered by GetUsageAndQuotaThenRunTask). |
- // Sets the quota info in the operation_context_ and then runs the given |
- // |task| if the returned quota status is successful, otherwise runs |
- // |error_callback|. |
- void DidGetUsageAndQuotaAndRunTask(const base::Closure& task, |
- const base::Closure& error_callback, |
- storage::QuotaStatusCode status, |
- int64 usage, |
- int64 quota); |
- |
- // 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, |
- const StatusCallback& callback, bool exclusive); |
- void DoCreateDirectory(const FileSystemURL& url, |
- const StatusCallback& callback, |
- bool exclusive, |
- bool recursive); |
- void DoCopyFileLocal(const FileSystemURL& src, |
- const FileSystemURL& dest, |
- CopyOrMoveOption option, |
- const CopyFileProgressCallback& progress_callback, |
- const StatusCallback& callback); |
- void DoMoveFileLocal(const FileSystemURL& src, |
- const FileSystemURL& dest, |
- CopyOrMoveOption option, |
- const StatusCallback& callback); |
- void DoCopyInForeignFile(const base::FilePath& src_local_disk_file_path, |
- const FileSystemURL& dest, |
- const StatusCallback& callback); |
- void DoTruncate(const FileSystemURL& url, |
- const StatusCallback& callback, int64 length); |
- void DoOpenFile(const FileSystemURL& url, |
- const OpenFileCallback& callback, int file_flags); |
- |
- // Callback for CreateFile for |exclusive|=true cases. |
- void DidEnsureFileExistsExclusive(const StatusCallback& callback, |
- base::File::Error rv, |
- bool created); |
- |
- // Callback for CreateFile for |exclusive|=false cases. |
- void DidEnsureFileExistsNonExclusive(const StatusCallback& callback, |
- base::File::Error rv, |
- bool created); |
- |
- void DidFinishOperation(const StatusCallback& callback, |
- base::File::Error rv); |
- void DidDirectoryExists(const StatusCallback& callback, |
- base::File::Error rv, |
- const base::File::Info& file_info); |
- void DidFileExists(const StatusCallback& callback, |
- base::File::Error rv, |
- const base::File::Info& file_info); |
- void DidDeleteRecursively(const FileSystemURL& url, |
- const StatusCallback& callback, |
- base::File::Error rv); |
- void DidWrite(const FileSystemURL& url, |
- const WriteCallback& callback, |
- base::File::Error rv, |
- int64 bytes, |
- FileWriterDelegate::WriteProgressStatus write_status); |
- void DidOpenFile(const OpenFileCallback& callback, |
- base::File file, |
- const base::Closure& on_close_callback); |
- |
- // Used only for internal assertions. |
- // Returns false if there's another inflight pending operation. |
- bool SetPendingOperationType(OperationType type); |
- |
- scoped_refptr<FileSystemContext> file_system_context_; |
- |
- scoped_ptr<FileSystemOperationContext> operation_context_; |
- AsyncFileUtil* async_file_util_; // Not owned. |
- |
- scoped_ptr<FileWriterDelegate> file_writer_delegate_; |
- scoped_ptr<RecursiveOperationDelegate> recursive_operation_delegate_; |
- |
- StatusCallback cancel_callback_; |
- |
- // A flag to make sure we call operation only once per instance. |
- OperationType pending_operation_; |
- |
- base::WeakPtrFactory<FileSystemOperationImpl> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(FileSystemOperationImpl); |
-}; |
- |
-} // namespace storage |
- |
-#endif // WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_IMPL_H_ |
+#include "storage/browser/fileapi/file_system_operation_impl.h" |