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 26f0154c794f4d63b2d42bf95d513efdf0d1c89a..62c47157c58bb21614bbcac59d5027771b86c885 100644 |
--- a/webkit/plugins/ppapi/ppb_file_io_impl.cc |
+++ b/webkit/plugins/ppapi/ppb_file_io_impl.cc |
@@ -201,13 +201,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_factory_.GetWeakPtr()))) |
return PP_ERROR_FAILED; |
} else { |
if (!base::FileUtilProxy::Write( |
- plugin_delegate->GetFileThreadMessageLoopProxy(), |
- file_, offset, buffer, bytes_to_write, |
- callback_factory_.NewCallback(&PPB_FileIO_Impl::WriteCallback))) |
+ plugin_delegate->GetFileThreadMessageLoopProxy(), file_, offset, |
+ buffer, bytes_to_write, |
+ base::Bind(&PPB_FileIO_Impl::WriteCallback, |
+ weak_factory_.GetWeakPtr()))) |
return PP_ERROR_FAILED; |
} |
@@ -292,7 +294,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_factory_.GetWeakPtr()))) |
return PP_ERROR_FAILED; |
RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL); |