Index: chrome/browser/media_galleries/linux/mtp_device_task_helper.cc |
diff --git a/chrome/browser/media_galleries/linux/mtp_device_task_helper.cc b/chrome/browser/media_galleries/linux/mtp_device_task_helper.cc |
index a1546c747c32e48671d8b9c5d656744ca45ab27d..a1ca0fef70258e41d584924f6912af35f3f0274c 100644 |
--- a/chrome/browser/media_galleries/linux/mtp_device_task_helper.cc |
+++ b/chrome/browser/media_galleries/linux/mtp_device_task_helper.cc |
@@ -109,20 +109,23 @@ void MTPDeviceTaskHelper::WriteDataIntoSnapshotFile( |
} |
void MTPDeviceTaskHelper::ReadBytes( |
- const MTPDeviceAsyncDelegate::ReadBytesRequest& request) { |
+ const std::string& device_file_relative_path, |
+ net::IOBuffer* buf, int64 offset, int buf_len, |
+ const ReadBytesSuccessCallback& success_callback, |
+ const ErrorCallback& error_callback) { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
if (device_handle_.empty()) { |
- return HandleDeviceError(request.error_callback, |
- base::File::FILE_ERROR_FAILED); |
+ return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED); |
} |
GetMediaTransferProtocolManager()->ReadFileChunkByPath( |
device_handle_, |
- request.device_file_relative_path, |
- base::checked_cast<uint32>(request.offset), |
- base::checked_cast<uint32>(request.buf_len), |
+ device_file_relative_path, |
+ base::checked_cast<uint32>(offset), |
+ base::checked_cast<uint32>(buf_len), |
base::Bind(&MTPDeviceTaskHelper::OnDidReadBytes, |
- weak_ptr_factory_.GetWeakPtr(), request)); |
+ weak_ptr_factory_.GetWeakPtr(), make_scoped_refptr(buf), |
+ buf_len, success_callback, error_callback)); |
} |
void MTPDeviceTaskHelper::CloseStorage() const { |
@@ -196,22 +199,22 @@ void MTPDeviceTaskHelper::OnDidReadDirectoryByPath( |
} |
void MTPDeviceTaskHelper::OnDidReadBytes( |
- const MTPDeviceAsyncDelegate::ReadBytesRequest& request, |
+ net::IOBuffer* buf, int buf_len, |
+ const ReadBytesSuccessCallback& success_callback, |
+ const ErrorCallback& error_callback, |
const std::string& data, |
bool error) const { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
if (error) { |
- return HandleDeviceError(request.error_callback, |
- base::File::FILE_ERROR_FAILED); |
+ return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED); |
} |
- CHECK_LE(base::checked_cast<int>(data.length()), request.buf_len); |
- std::copy(data.begin(), data.end(), request.buf->data()); |
+ CHECK_LE(base::checked_cast<int>(data.length()), buf_len); |
+ std::copy(data.begin(), data.end(), buf->data()); |
content::BrowserThread::PostTask(content::BrowserThread::IO, |
FROM_HERE, |
- base::Bind(request.success_callback, |
- data.length())); |
+ base::Bind(success_callback, data.length())); |
} |
void MTPDeviceTaskHelper::HandleDeviceError( |