summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authortzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-02 15:00:48 +0000
committertzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-02 15:00:48 +0000
commit747e4e29fbe097e0969a6578d6a6d2bf5e3acc84 (patch)
tree6b6448ebc1777cd29f2d04456a50499b4362251f /webkit
parenta704b43862c3fa26e6c218b5c6d8f42ad05f3264 (diff)
downloadchromium_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.cc47
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