Index: webkit/fileapi/file_system_file_util_proxy.cc |
diff --git a/webkit/fileapi/file_system_file_util_proxy.cc b/webkit/fileapi/file_system_file_util_proxy.cc |
index 1906258d0726dfa3b22281ef5829597bf44f8c56..137265738c8048ac4f1174b67153d26360213ee5 100644 |
--- a/webkit/fileapi/file_system_file_util_proxy.cc |
+++ b/webkit/fileapi/file_system_file_util_proxy.cc |
@@ -79,7 +79,7 @@ class RelayCreateOrOpen : public MessageLoopRelay { |
scoped_refptr<base::MessageLoopProxy> message_loop_proxy, |
const FilePath& file_path, |
int file_flags, |
- fileapi::FileSystemFileUtilProxy::CreateOrOpenCallback* callback) |
+ const fileapi::FileSystemFileUtilProxy::CreateOrOpenCallback& callback) |
: MessageLoopRelay(context), |
message_loop_proxy_(message_loop_proxy), |
file_path_(file_path), |
@@ -87,7 +87,7 @@ class RelayCreateOrOpen : public MessageLoopRelay { |
callback_(callback), |
file_handle_(base::kInvalidPlatformFileValue), |
created_(false) { |
- DCHECK(callback); |
+ DCHECK_EQ(false, callback.is_null()); |
} |
protected: |
@@ -103,16 +103,15 @@ class RelayCreateOrOpen : public MessageLoopRelay { |
} |
virtual void RunCallback() { |
- callback_->Run(error_code(), base::PassPlatformFile(&file_handle_), |
- created_); |
- delete callback_; |
+ callback_.Run(error_code(), base::PassPlatformFile(&file_handle_), |
+ created_); |
} |
private: |
scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; |
FilePath file_path_; |
int file_flags_; |
- fileapi::FileSystemFileUtilProxy::CreateOrOpenCallback* callback_; |
+ fileapi::FileSystemFileUtilProxy::CreateOrOpenCallback callback_; |
base::PlatformFile file_handle_; |
bool created_; |
}; |
@@ -432,7 +431,7 @@ bool FileSystemFileUtilProxy::CreateOrOpen( |
const FileSystemOperationContext& context, |
scoped_refptr<MessageLoopProxy> message_loop_proxy, |
const FilePath& file_path, int file_flags, |
- CreateOrOpenCallback* callback) { |
+ const CreateOrOpenCallback& callback) { |
return Start(FROM_HERE, message_loop_proxy, new RelayCreateOrOpen(context, |
message_loop_proxy, file_path, file_flags, callback)); |
} |