diff options
author | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-02 15:00:48 +0000 |
---|---|---|
committer | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-02 15:00:48 +0000 |
commit | 747e4e29fbe097e0969a6578d6a6d2bf5e3acc84 (patch) | |
tree | 6b6448ebc1777cd29f2d04456a50499b4362251f /webkit | |
parent | a704b43862c3fa26e6c218b5c6d8f42ad05f3264 (diff) | |
download | chromium_src-747e4e29fbe097e0969a6578d6a6d2bf5e3acc84.zip chromium_src-747e4e29fbe097e0969a6578d6a6d2bf5e3acc84.tar.gz chromium_src-747e4e29fbe097e0969a6578d6a6d2bf5e3acc84.tar.bz2 |
Use RelayFileTask instead of CopyOrMoveHelper
BUG=114732
TEST='existing tests'
Review URL: http://codereview.chromium.org/9570061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124639 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/fileapi/file_system_file_util_proxy.cc | 47 |
1 files changed, 13 insertions, 34 deletions
diff --git a/webkit/fileapi/file_system_file_util_proxy.cc b/webkit/fileapi/file_system_file_util_proxy.cc index a26bb39..9682a0b 100644 --- a/webkit/fileapi/file_system_file_util_proxy.cc +++ b/webkit/fileapi/file_system_file_util_proxy.cc @@ -23,28 +23,6 @@ namespace { typedef fileapi::FileSystemFileUtilProxy Proxy; -class CopyOrMoveHelper { - public: - CopyOrMoveHelper(CrossFileUtilHelper* helper) - : helper_(helper), - error_(base::PLATFORM_FILE_OK) {} - ~CopyOrMoveHelper() {} - - void RunWork() { - error_ = helper_->DoWork(); - } - - void Reply(const Proxy::StatusCallback& callback) { - if (!callback.is_null()) - callback.Run(error_); - } - - private: - scoped_ptr<CrossFileUtilHelper> helper_; - base::PlatformFileError error_; - DISALLOW_COPY_AND_ASSIGN(CopyOrMoveHelper); -}; - class EnsureFileExistsHelper { public: EnsureFileExistsHelper() : error_(base::PLATFORM_FILE_OK), created_(false) {} @@ -153,14 +131,15 @@ bool FileSystemFileUtilProxy::Copy( const FileSystemPath& src_path, const FileSystemPath& dest_path, const StatusCallback& callback) { - CopyOrMoveHelper* helper = new CopyOrMoveHelper( + CrossFileUtilHelper* helper = new CrossFileUtilHelper( context, src_util, dest_util, src_path, dest_path, - CrossFileUtilHelper::OPERATION_COPY)); - return message_loop_proxy->PostTaskAndReply( - FROM_HERE, - Bind(&CopyOrMoveHelper::RunWork, Unretained(helper)), - Bind(&CopyOrMoveHelper::Reply, Owned(helper), callback)); + CrossFileUtilHelper::OPERATION_COPY); + + return base::FileUtilProxy::RelayFileTask( + message_loop_proxy, FROM_HERE, + Bind(&CrossFileUtilHelper::DoWork, Owned(helper)), + callback); } // static @@ -172,14 +151,14 @@ bool FileSystemFileUtilProxy::Move( const FileSystemPath& src_path, const FileSystemPath& dest_path, const StatusCallback& callback) { - CopyOrMoveHelper* helper = new CopyOrMoveHelper( + CrossFileUtilHelper* helper = new CrossFileUtilHelper( context, src_util, dest_util, src_path, dest_path, - CrossFileUtilHelper::OPERATION_MOVE)); - return message_loop_proxy->PostTaskAndReply( - FROM_HERE, - Bind(&CopyOrMoveHelper::RunWork, Unretained(helper)), - Bind(&CopyOrMoveHelper::Reply, Owned(helper), callback)); + CrossFileUtilHelper::OPERATION_MOVE); + return base::FileUtilProxy::RelayFileTask( + message_loop_proxy, FROM_HERE, + Bind(&CrossFileUtilHelper::DoWork, Owned(helper)), + callback); } // static |