| Index: webkit/browser/fileapi/local_file_system_operation.h
|
| diff --git a/webkit/browser/fileapi/local_file_system_operation.h b/webkit/browser/fileapi/local_file_system_operation.h
|
| index 35ab32b6806207a8c148b7732bfc8114a692fc35..afb96b36ca8e5edd35adad9df2758d4878ef4790 100644
|
| --- a/webkit/browser/fileapi/local_file_system_operation.h
|
| +++ b/webkit/browser/fileapi/local_file_system_operation.h
|
| @@ -9,7 +9,9 @@
|
|
|
| #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/common/blob/scoped_file.h"
|
| @@ -32,7 +34,8 @@ class RecursiveOperationDelegate;
|
|
|
| // FileSystemOperation implementation for local file systems.
|
| class WEBKIT_STORAGE_EXPORT LocalFileSystemOperation
|
| - : public NON_EXPORTED_BASE(FileSystemOperation) {
|
| + : public NON_EXPORTED_BASE(FileSystemOperation),
|
| + public base::SupportsWeakPtr<LocalFileSystemOperation> {
|
| public:
|
| // NOTE: This constructor should not be called outside MountPointProviders;
|
| // instead please consider using
|
| @@ -165,10 +168,6 @@ class WEBKIT_STORAGE_EXPORT LocalFileSystemOperation
|
| return file_system_context_.get();
|
| }
|
|
|
| - FileSystemOperationContext* operation_context() const {
|
| - return operation_context_.get();
|
| - }
|
| -
|
| private:
|
| friend class sync_file_system::SyncableFileSystemOperation;
|
|
|
| @@ -233,14 +232,8 @@ class WEBKIT_STORAGE_EXPORT LocalFileSystemOperation
|
| base::PlatformFileError rv,
|
| bool created);
|
|
|
| - // Generic callback that translates platform errors to WebKit error codes.
|
| - void DidFinishFileOperation(const StatusCallback& callback,
|
| - base::PlatformFileError rv);
|
| -
|
| - // Generic callback when we delegated the operation.
|
| - void DidFinishDelegatedOperation(const StatusCallback& callback,
|
| - base::PlatformFileError rv);
|
| -
|
| + void DidFinishOperation(const StatusCallback& callback,
|
| + base::PlatformFileError rv);
|
| void DidDirectoryExists(const StatusCallback& callback,
|
| base::PlatformFileError rv,
|
| const base::PlatformFileInfo& file_info,
|
| @@ -249,30 +242,15 @@ class WEBKIT_STORAGE_EXPORT LocalFileSystemOperation
|
| base::PlatformFileError rv,
|
| const base::PlatformFileInfo& file_info,
|
| const base::FilePath& unused);
|
| - void DidGetMetadata(const GetMetadataCallback& callback,
|
| - base::PlatformFileError rv,
|
| - const base::PlatformFileInfo& file_info,
|
| - const base::FilePath& platform_path);
|
| - void DidReadDirectory(const ReadDirectoryCallback& callback,
|
| - base::PlatformFileError rv,
|
| - const std::vector<DirectoryEntry>& entries,
|
| - bool has_more);
|
| void DidWrite(const FileSystemURL& url,
|
| + const WriteCallback& callback,
|
| base::PlatformFileError rv,
|
| int64 bytes,
|
| FileWriterDelegate::WriteProgressStatus write_status);
|
| - void DidTouchFile(const StatusCallback& callback,
|
| - base::PlatformFileError rv);
|
| void DidOpenFile(const OpenFileCallback& callback,
|
| base::PlatformFileError rv,
|
| base::PassPlatformFile file,
|
| bool created);
|
| - void DidCreateSnapshotFile(
|
| - const SnapshotFileCallback& callback,
|
| - base::PlatformFileError result,
|
| - const base::PlatformFileInfo& file_info,
|
| - const base::FilePath& platform_path,
|
| - const scoped_refptr<webkit_blob::ShareableFileReference>& file_ref);
|
|
|
| // Used only for internal assertions.
|
| // Returns false if there's another inflight pending operation.
|
| @@ -283,17 +261,9 @@ class WEBKIT_STORAGE_EXPORT LocalFileSystemOperation
|
| scoped_ptr<FileSystemOperationContext> operation_context_;
|
| AsyncFileUtil* async_file_util_; // Not owned.
|
|
|
| - // These are all used only by Write().
|
| - friend class FileWriterDelegate;
|
| scoped_ptr<FileWriterDelegate> file_writer_delegate_;
|
| -
|
| scoped_ptr<RecursiveOperationDelegate> recursive_operation_delegate_;
|
|
|
| - // write_callback is kept in this class for so that we can dispatch it when
|
| - // the operation is cancelled. calcel_callback is kept for canceling a
|
| - // Truncate() operation. We can't actually stop Truncate in another thread;
|
| - // after it resumed from the working thread, cancellation takes place.
|
| - WriteCallback write_callback_;
|
| StatusCallback cancel_callback_;
|
|
|
| // Used only by OpenFile, in order to clone the file handle back to the
|
| @@ -303,10 +273,6 @@ class WEBKIT_STORAGE_EXPORT LocalFileSystemOperation
|
| // A flag to make sure we call operation only once per instance.
|
| OperationType pending_operation_;
|
|
|
| - // LocalFileSystemOperation instance is usually deleted upon completion but
|
| - // could be deleted while it has inflight callbacks when Cancel is called.
|
| - base::WeakPtrFactory<LocalFileSystemOperation> weak_factory_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(LocalFileSystemOperation);
|
| };
|
|
|
|
|