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 e19ce1815bba6ba8dc91f98a9dfa264b32f44e6a..0010731548c66c028c4740df4148398ec7770479 100644 |
--- a/chrome/browser/media_galleries/linux/mtp_device_task_helper.cc |
+++ b/chrome/browser/media_galleries/linux/mtp_device_task_helper.cc |
@@ -136,6 +136,22 @@ void MTPDeviceTaskHelper::ReadBytes( |
weak_ptr_factory_.GetWeakPtr(), request)); |
} |
+void MTPDeviceTaskHelper::CopyFileFromLocal( |
+ const std::string& storage_name, |
+ const uint32 source_file_descriptor, |
+ const uint32 parent_id, |
+ const std::string& file_name, |
+ const CopyFileFromLocalSuccessCallback& success_callback, |
+ const ErrorCallback& error_callback) { |
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
+ |
+ GetMediaTransferProtocolManager()->CopyFileFromLocal( |
+ device_handle_, source_file_descriptor, parent_id, file_name, |
+ base::Bind(&MTPDeviceTaskHelper::OnCopyFileFromLocal, |
+ weak_ptr_factory_.GetWeakPtr(), success_callback, |
+ error_callback)); |
+} |
+ |
void MTPDeviceTaskHelper::CloseStorage() const { |
DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
if (device_handle_.empty()) |
@@ -266,6 +282,22 @@ void MTPDeviceTaskHelper::OnDidReadBytes( |
file_info, data.length())); |
} |
+void MTPDeviceTaskHelper::OnCopyFileFromLocal( |
+ const CopyFileFromLocalSuccessCallback& success_callback, |
+ const ErrorCallback& error_callback, |
+ const bool error) const { |
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
+ if (error) { |
+ content::BrowserThread::PostTask( |
+ content::BrowserThread::IO, FROM_HERE, |
+ base::Bind(error_callback, base::File::FILE_ERROR_FAILED)); |
+ return; |
+ } |
+ |
+ content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, |
+ base::Bind(success_callback)); |
+} |
+ |
void MTPDeviceTaskHelper::HandleDeviceError( |
const ErrorCallback& error_callback, |
base::File::Error error) const { |