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

Side by Side Diff: chrome/browser/media_galleries/linux/mtp_device_task_helper.cc

Issue 1492403002: Remove kuint32max. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: http security header file Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/media_galleries/linux/mtp_device_task_helper.h" 5 #include "chrome/browser/media_galleries/linux/mtp_device_task_helper.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits>
8 9
9 #include "base/logging.h" 10 #include "base/logging.h"
10 #include "chrome/browser/media_galleries/linux/mtp_device_object_enumerator.h" 11 #include "chrome/browser/media_galleries/linux/mtp_device_object_enumerator.h"
11 #include "chrome/browser/media_galleries/linux/mtp_read_file_worker.h" 12 #include "chrome/browser/media_galleries/linux/mtp_read_file_worker.h"
12 #include "chrome/browser/media_galleries/linux/snapshot_file_details.h" 13 #include "chrome/browser/media_galleries/linux/snapshot_file_details.h"
13 #include "components/storage_monitor/storage_monitor.h" 14 #include "components/storage_monitor/storage_monitor.h"
14 #include "content/public/browser/browser_thread.h" 15 #include "content/public/browser/browser_thread.h"
15 #include "device/media_transfer_protocol/media_transfer_protocol_manager.h" 16 #include "device/media_transfer_protocol/media_transfer_protocol_manager.h"
16 #include "net/base/io_buffer.h" 17 #include "net/base/io_buffer.h"
17 #include "storage/browser/fileapi/async_file_util.h" 18 #include "storage/browser/fileapi/async_file_util.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 } 70 }
70 71
71 const std::string mode = 72 const std::string mode =
72 read_only ? mtpd::kReadOnlyMode : mtpd::kReadWriteMode; 73 read_only ? mtpd::kReadOnlyMode : mtpd::kReadWriteMode;
73 GetMediaTransferProtocolManager()->OpenStorage( 74 GetMediaTransferProtocolManager()->OpenStorage(
74 storage_name, mode, base::Bind(&MTPDeviceTaskHelper::OnDidOpenStorage, 75 storage_name, mode, base::Bind(&MTPDeviceTaskHelper::OnDidOpenStorage,
75 weak_ptr_factory_.GetWeakPtr(), callback)); 76 weak_ptr_factory_.GetWeakPtr(), callback));
76 } 77 }
77 78
78 void MTPDeviceTaskHelper::GetFileInfo( 79 void MTPDeviceTaskHelper::GetFileInfo(
79 uint32 file_id, 80 uint32_t file_id,
80 const GetFileInfoSuccessCallback& success_callback, 81 const GetFileInfoSuccessCallback& success_callback,
81 const ErrorCallback& error_callback) { 82 const ErrorCallback& error_callback) {
82 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 83 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
83 if (device_handle_.empty()) 84 if (device_handle_.empty())
84 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED); 85 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED);
85 86
86 GetMediaTransferProtocolManager()->GetFileInfo( 87 GetMediaTransferProtocolManager()->GetFileInfo(
87 device_handle_, file_id, 88 device_handle_, file_id,
88 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfo, 89 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfo,
89 weak_ptr_factory_.GetWeakPtr(), 90 weak_ptr_factory_.GetWeakPtr(),
90 success_callback, 91 success_callback,
91 error_callback)); 92 error_callback));
92 } 93 }
93 94
94 void MTPDeviceTaskHelper::CreateDirectory( 95 void MTPDeviceTaskHelper::CreateDirectory(
95 const uint32 parent_id, 96 const uint32_t parent_id,
96 const std::string& directory_name, 97 const std::string& directory_name,
97 const CreateDirectorySuccessCallback& success_callback, 98 const CreateDirectorySuccessCallback& success_callback,
98 const ErrorCallback& error_callback) { 99 const ErrorCallback& error_callback) {
99 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 100 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
100 if (device_handle_.empty()) 101 if (device_handle_.empty())
101 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED); 102 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED);
102 103
103 GetMediaTransferProtocolManager()->CreateDirectory( 104 GetMediaTransferProtocolManager()->CreateDirectory(
104 device_handle_, parent_id, directory_name, 105 device_handle_, parent_id, directory_name,
105 base::Bind(&MTPDeviceTaskHelper::OnCreateDirectory, 106 base::Bind(&MTPDeviceTaskHelper::OnCreateDirectory,
106 weak_ptr_factory_.GetWeakPtr(), success_callback, 107 weak_ptr_factory_.GetWeakPtr(), success_callback,
107 error_callback)); 108 error_callback));
108 } 109 }
109 110
110 void MTPDeviceTaskHelper::ReadDirectory( 111 void MTPDeviceTaskHelper::ReadDirectory(
111 const uint32 directory_id, 112 const uint32_t directory_id,
112 const size_t max_size, 113 const size_t max_size,
113 const ReadDirectorySuccessCallback& success_callback, 114 const ReadDirectorySuccessCallback& success_callback,
114 const ErrorCallback& error_callback) { 115 const ErrorCallback& error_callback) {
115 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 116 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
116 if (device_handle_.empty()) 117 if (device_handle_.empty())
117 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED); 118 return HandleDeviceError(error_callback, base::File::FILE_ERROR_FAILED);
118 119
119 GetMediaTransferProtocolManager()->ReadDirectory( 120 GetMediaTransferProtocolManager()->ReadDirectory(
120 device_handle_, directory_id, max_size, 121 device_handle_, directory_id, max_size,
121 base::Bind(&MTPDeviceTaskHelper::OnDidReadDirectory, 122 base::Bind(&MTPDeviceTaskHelper::OnDidReadDirectory,
(...skipping 24 matching lines...) Expand all
146 base::File::FILE_ERROR_FAILED); 147 base::File::FILE_ERROR_FAILED);
147 } 148 }
148 149
149 GetMediaTransferProtocolManager()->GetFileInfo( 150 GetMediaTransferProtocolManager()->GetFileInfo(
150 device_handle_, request.file_id, 151 device_handle_, request.file_id,
151 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfoToReadBytes, 152 base::Bind(&MTPDeviceTaskHelper::OnGetFileInfoToReadBytes,
152 weak_ptr_factory_.GetWeakPtr(), request)); 153 weak_ptr_factory_.GetWeakPtr(), request));
153 } 154 }
154 155
155 void MTPDeviceTaskHelper::RenameObject( 156 void MTPDeviceTaskHelper::RenameObject(
156 const uint32 object_id, 157 const uint32_t object_id,
157 const std::string& new_name, 158 const std::string& new_name,
158 const RenameObjectSuccessCallback& success_callback, 159 const RenameObjectSuccessCallback& success_callback,
159 const ErrorCallback& error_callback) { 160 const ErrorCallback& error_callback) {
160 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 161 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
161 162
162 GetMediaTransferProtocolManager()->RenameObject( 163 GetMediaTransferProtocolManager()->RenameObject(
163 device_handle_, object_id, new_name, 164 device_handle_, object_id, new_name,
164 base::Bind(&MTPDeviceTaskHelper::OnRenameObject, 165 base::Bind(&MTPDeviceTaskHelper::OnRenameObject,
165 weak_ptr_factory_.GetWeakPtr(), success_callback, 166 weak_ptr_factory_.GetWeakPtr(), success_callback,
166 error_callback)); 167 error_callback));
167 } 168 }
168 169
169 MTPDeviceTaskHelper::MTPEntry::MTPEntry() : file_id(0) {} 170 MTPDeviceTaskHelper::MTPEntry::MTPEntry() : file_id(0) {}
170 171
171 // TODO(yawano) storage_name is not used, delete it. 172 // TODO(yawano) storage_name is not used, delete it.
172 void MTPDeviceTaskHelper::CopyFileFromLocal( 173 void MTPDeviceTaskHelper::CopyFileFromLocal(
173 const std::string& storage_name, 174 const std::string& storage_name,
174 const int source_file_descriptor, 175 const int source_file_descriptor,
175 const uint32 parent_id, 176 const uint32_t parent_id,
176 const std::string& file_name, 177 const std::string& file_name,
177 const CopyFileFromLocalSuccessCallback& success_callback, 178 const CopyFileFromLocalSuccessCallback& success_callback,
178 const ErrorCallback& error_callback) { 179 const ErrorCallback& error_callback) {
179 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 180 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
180 181
181 GetMediaTransferProtocolManager()->CopyFileFromLocal( 182 GetMediaTransferProtocolManager()->CopyFileFromLocal(
182 device_handle_, source_file_descriptor, parent_id, file_name, 183 device_handle_, source_file_descriptor, parent_id, file_name,
183 base::Bind(&MTPDeviceTaskHelper::OnCopyFileFromLocal, 184 base::Bind(&MTPDeviceTaskHelper::OnCopyFileFromLocal,
184 weak_ptr_factory_.GetWeakPtr(), success_callback, 185 weak_ptr_factory_.GetWeakPtr(), success_callback,
185 error_callback)); 186 error_callback));
186 } 187 }
187 188
188 void MTPDeviceTaskHelper::DeleteObject( 189 void MTPDeviceTaskHelper::DeleteObject(
189 const uint32 object_id, 190 const uint32_t object_id,
190 const DeleteObjectSuccessCallback& success_callback, 191 const DeleteObjectSuccessCallback& success_callback,
191 const ErrorCallback& error_callback) { 192 const ErrorCallback& error_callback) {
192 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 193 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
193 194
194 GetMediaTransferProtocolManager()->DeleteObject( 195 GetMediaTransferProtocolManager()->DeleteObject(
195 device_handle_, object_id, 196 device_handle_, object_id,
196 base::Bind(&MTPDeviceTaskHelper::OnDeleteObject, 197 base::Bind(&MTPDeviceTaskHelper::OnDeleteObject,
197 weak_ptr_factory_.GetWeakPtr(), success_callback, 198 weak_ptr_factory_.GetWeakPtr(), success_callback,
198 error_callback)); 199 error_callback));
199 } 200 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 DCHECK_GE(request.offset, 0); 290 DCHECK_GE(request.offset, 0);
290 if (error) { 291 if (error) {
291 return HandleDeviceError(request.error_callback, 292 return HandleDeviceError(request.error_callback,
292 base::File::FILE_ERROR_FAILED); 293 base::File::FILE_ERROR_FAILED);
293 } 294 }
294 295
295 base::File::Info file_info = FileInfoFromMTPFileEntry(file_entry); 296 base::File::Info file_info = FileInfoFromMTPFileEntry(file_entry);
296 if (file_info.is_directory) { 297 if (file_info.is_directory) {
297 return HandleDeviceError(request.error_callback, 298 return HandleDeviceError(request.error_callback,
298 base::File::FILE_ERROR_NOT_A_FILE); 299 base::File::FILE_ERROR_NOT_A_FILE);
299 } else if (file_info.size < 0 || file_info.size > kuint32max || 300 } else if (file_info.size < 0 ||
301 file_info.size > std::numeric_limits<uint32_t>::max() ||
300 request.offset > file_info.size) { 302 request.offset > file_info.size) {
301 return HandleDeviceError(request.error_callback, 303 return HandleDeviceError(request.error_callback,
302 base::File::FILE_ERROR_FAILED); 304 base::File::FILE_ERROR_FAILED);
303 } else if (request.offset == file_info.size) { 305 } else if (request.offset == file_info.size) {
304 content::BrowserThread::PostTask(content::BrowserThread::IO, 306 content::BrowserThread::PostTask(content::BrowserThread::IO,
305 FROM_HERE, 307 FROM_HERE,
306 base::Bind(request.success_callback, 308 base::Bind(request.success_callback,
307 file_info, 0u)); 309 file_info, 0u));
308 return; 310 return;
309 } 311 }
310 312
311 uint32 bytes_to_read = std::min( 313 uint32_t bytes_to_read =
312 base::checked_cast<uint32>(request.buf_len), 314 std::min(base::checked_cast<uint32_t>(request.buf_len),
313 base::saturated_cast<uint32>(file_info.size - request.offset)); 315 base::saturated_cast<uint32_t>(file_info.size - request.offset));
314 316
315 GetMediaTransferProtocolManager()->ReadFileChunk( 317 GetMediaTransferProtocolManager()->ReadFileChunk(
316 device_handle_, 318 device_handle_, request.file_id,
317 request.file_id, 319 base::checked_cast<uint32_t>(request.offset), bytes_to_read,
318 base::checked_cast<uint32>(request.offset),
319 bytes_to_read,
320 base::Bind(&MTPDeviceTaskHelper::OnDidReadBytes, 320 base::Bind(&MTPDeviceTaskHelper::OnDidReadBytes,
321 weak_ptr_factory_.GetWeakPtr(), request, file_info)); 321 weak_ptr_factory_.GetWeakPtr(), request, file_info));
322 } 322 }
323 323
324 void MTPDeviceTaskHelper::OnDidReadBytes( 324 void MTPDeviceTaskHelper::OnDidReadBytes(
325 const MTPDeviceAsyncDelegate::ReadBytesRequest& request, 325 const MTPDeviceAsyncDelegate::ReadBytesRequest& request,
326 const base::File::Info& file_info, 326 const base::File::Info& file_info,
327 const std::string& data, 327 const std::string& data,
328 bool error) const { 328 bool error) const {
329 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 329 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 } 390 }
391 391
392 void MTPDeviceTaskHelper::HandleDeviceError( 392 void MTPDeviceTaskHelper::HandleDeviceError(
393 const ErrorCallback& error_callback, 393 const ErrorCallback& error_callback,
394 base::File::Error error) const { 394 base::File::Error error) const {
395 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 395 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
396 content::BrowserThread::PostTask(content::BrowserThread::IO, 396 content::BrowserThread::PostTask(content::BrowserThread::IO,
397 FROM_HERE, 397 FROM_HERE,
398 base::Bind(error_callback, error)); 398 base::Bind(error_callback, error));
399 } 399 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698