Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1153)

Unified Diff: webkit/plugins/ppapi/ppb_file_io_impl.cc

Issue 8231004: Remaining cleanup (base::Bind): Replacing FileUtilProxy calls with new callback (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: got it building Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/plugins/ppapi/ppb_file_io_impl.cc
diff --git a/webkit/plugins/ppapi/ppb_file_io_impl.cc b/webkit/plugins/ppapi/ppb_file_io_impl.cc
index 213071e441db0d776170fedcb1cb9ccd401ba5b2..a826ee4876b83437aba621fc27309229880d1639 100644
--- a/webkit/plugins/ppapi/ppb_file_io_impl.cc
+++ b/webkit/plugins/ppapi/ppb_file_io_impl.cc
@@ -5,6 +5,7 @@
#include "webkit/plugins/ppapi/ppb_file_io_impl.h"
#include "base/bind.h"
+#include "base/bind_helpers.h"
#include "base/callback.h"
#include "base/file_util.h"
#include "base/file_util_proxy.h"
@@ -28,6 +29,9 @@
#include "webkit/plugins/ppapi/resource_helper.h"
#include "webkit/plugins/ppapi/resource_tracker.h"
+using base::FileUtilProxy;
+using base::PlatformFileError;
+
using ppapi::PPTimeToTime;
using ppapi::TimeToPPTime;
using ppapi::thunk::EnterResourceNoLock;
@@ -51,7 +55,6 @@ PPB_FileIO_Impl::CallbackEntry::~CallbackEntry() {
PPB_FileIO_Impl::PPB_FileIO_Impl(PP_Instance instance)
: Resource(instance),
- ALLOW_THIS_IN_INITIALIZER_LIST(callback_factory_(this)),
file_(base::kInvalidPlatformFileValue),
file_system_type_(PP_FILESYSTEMTYPE_INVALID),
pending_op_(OPERATION_NONE),
@@ -130,9 +133,10 @@ int32_t PPB_FileIO_Impl::Query(PP_FileInfo* info,
if (!plugin_delegate)
return PP_ERROR_FAILED;
- if (!base::FileUtilProxy::GetFileInfoFromPlatformFile(
+ if (!FileUtilProxy::GetFileInfoFromPlatformFile(
plugin_delegate->GetFileThreadMessageLoopProxy(), file_,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::QueryInfoCallback)))
+ base::Bind(&PPB_FileIO_Impl::QueryInfoCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL);
@@ -150,11 +154,14 @@ int32_t PPB_FileIO_Impl::Touch(PP_Time last_access_time,
if (!plugin_delegate)
return PP_ERROR_FAILED;
- if (!base::FileUtilProxy::Touch(
+ if (!FileUtilProxy::PostFileTaskAndReplyStatus<bool, PlatformFileError>(
plugin_delegate->GetFileThreadMessageLoopProxy(),
- file_, PPTimeToTime(last_access_time),
- PPTimeToTime(last_modified_time),
- callback_factory_.NewCallback(&PPB_FileIO_Impl::StatusCallback)))
+ FROM_HERE,
+ Bind(&base::TouchPlatformFile, file_,
+ PPTimeToTime(last_access_time),
+ PPTimeToTime(last_modified_time)),
+ Bind(&PPB_FileIO_Impl::StatusCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL);
@@ -173,10 +180,11 @@ int32_t PPB_FileIO_Impl::Read(int64_t offset,
if (!plugin_delegate)
return PP_ERROR_FAILED;
- if (!base::FileUtilProxy::Read(
+ if (!FileUtilProxy::Read(
plugin_delegate->GetFileThreadMessageLoopProxy(),
file_, offset, bytes_to_read,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::ReadCallback)))
+ base::Bind(&PPB_FileIO_Impl::ReadCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
RegisterCallback(OPERATION_READ, callback, buffer);
@@ -198,13 +206,15 @@ int32_t PPB_FileIO_Impl::Write(int64_t offset,
if (quota_file_io_.get()) {
if (!quota_file_io_->Write(
offset, buffer, bytes_to_write,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::WriteCallback)))
+ base::Bind(&PPB_FileIO_Impl::WriteCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
} else {
- if (!base::FileUtilProxy::Write(
+ if (!FileUtilProxy::Write(
plugin_delegate->GetFileThreadMessageLoopProxy(),
file_, offset, buffer, bytes_to_write,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::WriteCallback)))
+ base::Bind(&PPB_FileIO_Impl::WriteCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
}
@@ -225,13 +235,16 @@ int32_t PPB_FileIO_Impl::SetLength(int64_t length,
if (quota_file_io_.get()) {
if (!quota_file_io_->SetLength(
length,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::StatusCallback)))
+ base::Bind(&PPB_FileIO_Impl::StatusCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
} else {
- if (!base::FileUtilProxy::Truncate(
+ if (!FileUtilProxy::PostFileTaskAndReplyStatus<bool, PlatformFileError>(
plugin_delegate->GetFileThreadMessageLoopProxy(),
- file_, length,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::StatusCallback)))
+ FROM_HERE,
+ base::Bind(&base::TruncatePlatformFile, file_, length),
+ base::Bind(&PPB_FileIO_Impl::StatusCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
}
@@ -248,9 +261,12 @@ int32_t PPB_FileIO_Impl::Flush(PP_CompletionCallback callback) {
if (!plugin_delegate)
return PP_ERROR_FAILED;
- if (!base::FileUtilProxy::Flush(
- plugin_delegate->GetFileThreadMessageLoopProxy(), file_,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::StatusCallback)))
+ if (!FileUtilProxy::PostFileTaskAndReplyStatus<bool, PlatformFileError>(
+ plugin_delegate->GetFileThreadMessageLoopProxy(),
+ FROM_HERE,
+ base::Bind(&base::FlushPlatformFile, file_),
+ base::Bind(&PPB_FileIO_Impl::StatusCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL);
@@ -260,8 +276,11 @@ int32_t PPB_FileIO_Impl::Flush(PP_CompletionCallback callback) {
void PPB_FileIO_Impl::Close() {
PluginDelegate* plugin_delegate = ResourceHelper::GetPluginDelegate(this);
if (file_ != base::kInvalidPlatformFileValue && plugin_delegate) {
- base::FileUtilProxy::Close(
- plugin_delegate->GetFileThreadMessageLoopProxy(), file_, NULL);
+
+ plugin_delegate->GetFileThreadMessageLoopProxy()->PostTask(
+ FROM_HERE,
+ base::IgnoreReturn(base::Callback<bool(void)>(
+ base::Bind(&base::ClosePlatformFile, file_))));
file_ = base::kInvalidPlatformFileValue;
quota_file_io_.reset();
}
@@ -289,7 +308,8 @@ int32_t PPB_FileIO_Impl::WillWrite(int64_t offset,
if (!quota_file_io_->WillWrite(
offset, bytes_to_write,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::WillWriteCallback)))
+ base::Bind(&PPB_FileIO_Impl::WillWriteCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL);
@@ -307,7 +327,8 @@ int32_t PPB_FileIO_Impl::WillSetLength(int64_t length,
if (!quota_file_io_->WillSetLength(
length,
- callback_factory_.NewCallback(&PPB_FileIO_Impl::StatusCallback)))
+ base::Bind(&PPB_FileIO_Impl::StatusCallback,
+ weak_ptr_factory_.GetWeakPtr())))
return PP_ERROR_FAILED;
RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL);

Powered by Google App Engine
This is Rietveld 408576698