Index: base/file_util_proxy.cc |
diff --git a/base/file_util_proxy.cc b/base/file_util_proxy.cc |
index bd9807b50867e952d13b75e5cf0d878d15b5ef52..2d4db8f9ec6c67e497c4727039cf5bc36560aee7 100644 |
--- a/base/file_util_proxy.cc |
+++ b/base/file_util_proxy.cc |
@@ -167,12 +167,12 @@ class RelayCreateTemporary : public MessageLoopRelay { |
RelayCreateTemporary( |
scoped_refptr<base::MessageLoopProxy> message_loop_proxy, |
int additional_file_flags, |
- base::FileUtilProxy::CreateTemporaryCallback* callback) |
+ const base::FileUtilProxy::CreateTemporaryCallback& callback) |
: message_loop_proxy_(message_loop_proxy), |
additional_file_flags_(additional_file_flags), |
callback_(callback), |
file_handle_(base::kInvalidPlatformFileValue) { |
- DCHECK(callback); |
+ DCHECK_EQ(false, callback.is_null()); |
} |
protected: |
@@ -199,15 +199,14 @@ class RelayCreateTemporary : public MessageLoopRelay { |
} |
virtual void RunCallback() { |
- callback_->Run(error_code(), base::PassPlatformFile(&file_handle_), |
- file_path_); |
- delete callback_; |
+ callback_.Run(error_code(), base::PassPlatformFile(&file_handle_), |
+ file_path_); |
} |
private: |
scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; |
int additional_file_flags_; |
- base::FileUtilProxy::CreateTemporaryCallback* callback_; |
+ base::FileUtilProxy::CreateTemporaryCallback callback_; |
base::PlatformFile file_handle_; |
FilePath file_path_; |
}; |
@@ -747,7 +746,7 @@ bool FileUtilProxy::CreateOrOpen( |
bool FileUtilProxy::CreateTemporary( |
scoped_refptr<MessageLoopProxy> message_loop_proxy, |
int additional_file_flags, |
- CreateTemporaryCallback* callback) { |
+ const CreateTemporaryCallback& callback) { |
return Start(FROM_HERE, message_loop_proxy, |
new RelayCreateTemporary(message_loop_proxy, |
additional_file_flags, |