From 7bf4a8ef5ab46f4fe636fecce9cb0b86e2f5efe7 Mon Sep 17 00:00:00 2001 From: "jhawkins@chromium.org" Date: Mon, 17 Oct 2011 19:29:29 +0000 Subject: base::Bind: Convert FileUtilProxy::CreateTemporaryCallback. BUG=none TEST=none R=csilv@chromium.org Review URL: http://codereview.chromium.org/8315011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105881 0039d316-1c4b-4281-b951-d872f2087c98 --- base/file_util_proxy.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'base/file_util_proxy.cc') diff --git a/base/file_util_proxy.cc b/base/file_util_proxy.cc index bd9807b..2d4db8f 100644 --- a/base/file_util_proxy.cc +++ b/base/file_util_proxy.cc @@ -167,12 +167,12 @@ class RelayCreateTemporary : public MessageLoopRelay { RelayCreateTemporary( scoped_refptr 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 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 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, -- cgit v1.1