Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(601)

Unified Diff: webkit/browser/chromeos/fileapi/remote_file_system_operation.h

Issue 16413007: Make FileSystemOperation NOT self-destruct (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix browser_tests Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/browser/chromeos/fileapi/remote_file_system_operation.h
diff --git a/webkit/browser/chromeos/fileapi/remote_file_system_operation.h b/webkit/browser/chromeos/fileapi/remote_file_system_operation.h
index e89fb717fc8840dee655c94014e42267f9e33218..5d8d93b04ca8edc35096e327d05b7472af00c0ce 100644
--- a/webkit/browser/chromeos/fileapi/remote_file_system_operation.h
+++ b/webkit/browser/chromeos/fileapi/remote_file_system_operation.h
@@ -5,6 +5,7 @@
#ifndef WEBKIT_BROWSER_CHROMEOS_FILEAPI_REMOTE_FILE_SYSTEM_OPERATION_H_
#define WEBKIT_BROWSER_CHROMEOS_FILEAPI_REMOTE_FILE_SYSTEM_OPERATION_H_
+#include "base/memory/weak_ptr.h"
#include "webkit/browser/fileapi/file_system_operation.h"
#include "webkit/browser/fileapi/file_writer_delegate.h"
#include "webkit/browser/fileapi/remote_file_system_proxy.h"
@@ -21,7 +22,9 @@ class LocalFileSystemOperation;
namespace chromeos {
// FileSystemOperation implementation for local file systems.
-class RemoteFileSystemOperation : public fileapi::FileSystemOperation {
+class RemoteFileSystemOperation
+ : public fileapi::FileSystemOperation,
+ public base::SupportsWeakPtr<RemoteFileSystemOperation> {
public:
typedef fileapi::FileWriterDelegate FileWriterDelegate;
virtual ~RemoteFileSystemOperation();
@@ -92,25 +95,12 @@ class RemoteFileSystemOperation : public fileapi::FileSystemOperation {
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<fileapi::DirectoryEntry>& entries,
- bool has_more);
- void DidWrite(base::PlatformFileError result,
+ void DidWrite(const WriteCallback& write_callback,
+ base::PlatformFileError result,
int64 bytes,
FileWriterDelegate::WriteProgressStatus write_status);
void DidFinishFileOperation(const StatusCallback& callback,
base::PlatformFileError rv);
- 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);
void DidOpenFile(
const fileapi::FileSystemURL& url,
const OpenFileCallback& callback,
@@ -118,13 +108,11 @@ class RemoteFileSystemOperation : public fileapi::FileSystemOperation {
base::PlatformFile file,
base::ProcessHandle peer_handle);
-
scoped_refptr<fileapi::RemoteFileSystemProxyInterface> remote_proxy_;
// A flag to make sure we call operation only once per instance.
OperationType pending_operation_;
scoped_ptr<fileapi::FileWriterDelegate> file_writer_delegate_;
- WriteCallback write_callback_;
StatusCallback cancel_callback_;
DISALLOW_COPY_AND_ASSIGN(RemoteFileSystemOperation);
« no previous file with comments | « content/browser/fileapi/fileapi_message_filter.cc ('k') | webkit/browser/chromeos/fileapi/remote_file_system_operation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698