| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "webkit/plugins/ppapi/ppb_file_io_impl.h" | 5 #include "webkit/plugins/ppapi/ppb_file_io_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/file_util_proxy.h" | 10 #include "base/file_util_proxy.h" |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 if (rv != PP_OK) | 194 if (rv != PP_OK) |
| 195 return rv; | 195 return rv; |
| 196 | 196 |
| 197 PluginDelegate* plugin_delegate = ResourceHelper::GetPluginDelegate(this); | 197 PluginDelegate* plugin_delegate = ResourceHelper::GetPluginDelegate(this); |
| 198 if (!plugin_delegate) | 198 if (!plugin_delegate) |
| 199 return PP_ERROR_FAILED; | 199 return PP_ERROR_FAILED; |
| 200 | 200 |
| 201 if (quota_file_io_.get()) { | 201 if (quota_file_io_.get()) { |
| 202 if (!quota_file_io_->Write( | 202 if (!quota_file_io_->Write( |
| 203 offset, buffer, bytes_to_write, | 203 offset, buffer, bytes_to_write, |
| 204 callback_factory_.NewCallback(&PPB_FileIO_Impl::WriteCallback))) | 204 base::Bind(&PPB_FileIO_Impl::WriteCallback, |
| 205 weak_factory_.GetWeakPtr()))) |
| 205 return PP_ERROR_FAILED; | 206 return PP_ERROR_FAILED; |
| 206 } else { | 207 } else { |
| 207 if (!base::FileUtilProxy::Write( | 208 if (!base::FileUtilProxy::Write( |
| 208 plugin_delegate->GetFileThreadMessageLoopProxy(), | 209 plugin_delegate->GetFileThreadMessageLoopProxy(), file_, offset, |
| 209 file_, offset, buffer, bytes_to_write, | 210 buffer, bytes_to_write, |
| 210 callback_factory_.NewCallback(&PPB_FileIO_Impl::WriteCallback))) | 211 base::Bind(&PPB_FileIO_Impl::WriteCallback, |
| 212 weak_factory_.GetWeakPtr()))) |
| 211 return PP_ERROR_FAILED; | 213 return PP_ERROR_FAILED; |
| 212 } | 214 } |
| 213 | 215 |
| 214 RegisterCallback(OPERATION_WRITE, callback, NULL); | 216 RegisterCallback(OPERATION_WRITE, callback, NULL); |
| 215 return PP_OK_COMPLETIONPENDING; | 217 return PP_OK_COMPLETIONPENDING; |
| 216 } | 218 } |
| 217 | 219 |
| 218 int32_t PPB_FileIO_Impl::SetLength(int64_t length, | 220 int32_t PPB_FileIO_Impl::SetLength(int64_t length, |
| 219 PP_CompletionCallback callback) { | 221 PP_CompletionCallback callback) { |
| 220 int32_t rv = CommonCallValidation(true, OPERATION_EXCLUSIVE, callback); | 222 int32_t rv = CommonCallValidation(true, OPERATION_EXCLUSIVE, callback); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 PP_CompletionCallback callback) { | 287 PP_CompletionCallback callback) { |
| 286 int32_t rv = CommonCallValidation(true, OPERATION_EXCLUSIVE, callback); | 288 int32_t rv = CommonCallValidation(true, OPERATION_EXCLUSIVE, callback); |
| 287 if (rv != PP_OK) | 289 if (rv != PP_OK) |
| 288 return rv; | 290 return rv; |
| 289 | 291 |
| 290 if (!quota_file_io_.get()) | 292 if (!quota_file_io_.get()) |
| 291 return PP_OK; | 293 return PP_OK; |
| 292 | 294 |
| 293 if (!quota_file_io_->WillWrite( | 295 if (!quota_file_io_->WillWrite( |
| 294 offset, bytes_to_write, | 296 offset, bytes_to_write, |
| 295 callback_factory_.NewCallback(&PPB_FileIO_Impl::WillWriteCallback))) | 297 base::Bind(&PPB_FileIO_Impl::WillWriteCallback, |
| 298 weak_factory_.GetWeakPtr()))) |
| 296 return PP_ERROR_FAILED; | 299 return PP_ERROR_FAILED; |
| 297 | 300 |
| 298 RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL); | 301 RegisterCallback(OPERATION_EXCLUSIVE, callback, NULL); |
| 299 return PP_OK_COMPLETIONPENDING; | 302 return PP_OK_COMPLETIONPENDING; |
| 300 } | 303 } |
| 301 | 304 |
| 302 int32_t PPB_FileIO_Impl::WillSetLength(int64_t length, | 305 int32_t PPB_FileIO_Impl::WillSetLength(int64_t length, |
| 303 PP_CompletionCallback callback) { | 306 PP_CompletionCallback callback) { |
| 304 int32_t rv = CommonCallValidation(true, OPERATION_EXCLUSIVE, callback); | 307 int32_t rv = CommonCallValidation(true, OPERATION_EXCLUSIVE, callback); |
| 305 if (rv != PP_OK) | 308 if (rv != PP_OK) |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 474 if (error_code != base::PLATFORM_FILE_OK) { | 477 if (error_code != base::PLATFORM_FILE_OK) { |
| 475 RunAndRemoveFirstPendingCallback( | 478 RunAndRemoveFirstPendingCallback( |
| 476 PlatformFileErrorToPepperError(error_code)); | 479 PlatformFileErrorToPepperError(error_code)); |
| 477 } else { | 480 } else { |
| 478 RunAndRemoveFirstPendingCallback(bytes_written); | 481 RunAndRemoveFirstPendingCallback(bytes_written); |
| 479 } | 482 } |
| 480 } | 483 } |
| 481 | 484 |
| 482 } // namespace ppapi | 485 } // namespace ppapi |
| 483 } // namespace webkit | 486 } // namespace webkit |
| OLD | NEW |