OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/fileapi/device_media_async_file_util.h" | 5 #include "chrome/browser/media_galleries/fileapi/device_media_async_file_util.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
10 #include "base/task_runner_util.h" | 10 #include "base/task_runner_util.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 } | 72 } |
73 | 73 |
74 void DeviceMediaAsyncFileUtil::CreateOrOpen( | 74 void DeviceMediaAsyncFileUtil::CreateOrOpen( |
75 scoped_ptr<FileSystemOperationContext> context, | 75 scoped_ptr<FileSystemOperationContext> context, |
76 const FileSystemURL& url, | 76 const FileSystemURL& url, |
77 int file_flags, | 77 int file_flags, |
78 const CreateOrOpenCallback& callback) { | 78 const CreateOrOpenCallback& callback) { |
79 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 79 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
80 NOTIMPLEMENTED(); | 80 NOTIMPLEMENTED(); |
81 base::PlatformFile invalid_file = base::kInvalidPlatformFileValue; | 81 base::PlatformFile invalid_file = base::kInvalidPlatformFileValue; |
82 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY, | 82 callback.Run(base::File::FILE_ERROR_SECURITY, |
83 base::PassPlatformFile(&invalid_file), | 83 base::PassPlatformFile(&invalid_file), |
84 base::Closure()); | 84 base::Closure()); |
85 } | 85 } |
86 | 86 |
87 void DeviceMediaAsyncFileUtil::EnsureFileExists( | 87 void DeviceMediaAsyncFileUtil::EnsureFileExists( |
88 scoped_ptr<FileSystemOperationContext> context, | 88 scoped_ptr<FileSystemOperationContext> context, |
89 const FileSystemURL& url, | 89 const FileSystemURL& url, |
90 const EnsureFileExistsCallback& callback) { | 90 const EnsureFileExistsCallback& callback) { |
91 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 91 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
92 NOTIMPLEMENTED(); | 92 NOTIMPLEMENTED(); |
93 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY, false); | 93 callback.Run(base::File::FILE_ERROR_SECURITY, false); |
94 } | 94 } |
95 | 95 |
96 void DeviceMediaAsyncFileUtil::CreateDirectory( | 96 void DeviceMediaAsyncFileUtil::CreateDirectory( |
97 scoped_ptr<FileSystemOperationContext> context, | 97 scoped_ptr<FileSystemOperationContext> context, |
98 const FileSystemURL& url, | 98 const FileSystemURL& url, |
99 bool exclusive, | 99 bool exclusive, |
100 bool recursive, | 100 bool recursive, |
101 const StatusCallback& callback) { | 101 const StatusCallback& callback) { |
102 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 102 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
103 NOTIMPLEMENTED(); | 103 NOTIMPLEMENTED(); |
104 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 104 callback.Run(base::File::FILE_ERROR_SECURITY); |
105 } | 105 } |
106 | 106 |
107 void DeviceMediaAsyncFileUtil::GetFileInfo( | 107 void DeviceMediaAsyncFileUtil::GetFileInfo( |
108 scoped_ptr<FileSystemOperationContext> context, | 108 scoped_ptr<FileSystemOperationContext> context, |
109 const FileSystemURL& url, | 109 const FileSystemURL& url, |
110 const GetFileInfoCallback& callback) { | 110 const GetFileInfoCallback& callback) { |
111 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 111 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
112 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); | 112 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); |
113 if (!delegate) { | 113 if (!delegate) { |
114 OnGetFileInfoError(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND); | 114 OnGetFileInfoError(callback, base::File::FILE_ERROR_NOT_FOUND); |
115 return; | 115 return; |
116 } | 116 } |
117 delegate->GetFileInfo( | 117 delegate->GetFileInfo( |
118 url.path(), | 118 url.path(), |
119 base::Bind(&DeviceMediaAsyncFileUtil::OnDidGetFileInfo, | 119 base::Bind(&DeviceMediaAsyncFileUtil::OnDidGetFileInfo, |
120 weak_ptr_factory_.GetWeakPtr(), | 120 weak_ptr_factory_.GetWeakPtr(), |
121 callback), | 121 callback), |
122 base::Bind(&DeviceMediaAsyncFileUtil::OnGetFileInfoError, | 122 base::Bind(&DeviceMediaAsyncFileUtil::OnGetFileInfoError, |
123 weak_ptr_factory_.GetWeakPtr(), | 123 weak_ptr_factory_.GetWeakPtr(), |
124 callback)); | 124 callback)); |
125 } | 125 } |
126 | 126 |
127 void DeviceMediaAsyncFileUtil::ReadDirectory( | 127 void DeviceMediaAsyncFileUtil::ReadDirectory( |
128 scoped_ptr<FileSystemOperationContext> context, | 128 scoped_ptr<FileSystemOperationContext> context, |
129 const FileSystemURL& url, | 129 const FileSystemURL& url, |
130 const ReadDirectoryCallback& callback) { | 130 const ReadDirectoryCallback& callback) { |
131 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 131 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
132 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); | 132 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); |
133 if (!delegate) { | 133 if (!delegate) { |
134 OnReadDirectoryError(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND); | 134 OnReadDirectoryError(callback, base::File::FILE_ERROR_NOT_FOUND); |
135 return; | 135 return; |
136 } | 136 } |
137 delegate->ReadDirectory( | 137 delegate->ReadDirectory( |
138 url.path(), | 138 url.path(), |
139 base::Bind(&DeviceMediaAsyncFileUtil::OnDidReadDirectory, | 139 base::Bind(&DeviceMediaAsyncFileUtil::OnDidReadDirectory, |
140 weak_ptr_factory_.GetWeakPtr(), | 140 weak_ptr_factory_.GetWeakPtr(), |
141 callback), | 141 callback), |
142 base::Bind(&DeviceMediaAsyncFileUtil::OnReadDirectoryError, | 142 base::Bind(&DeviceMediaAsyncFileUtil::OnReadDirectoryError, |
143 weak_ptr_factory_.GetWeakPtr(), | 143 weak_ptr_factory_.GetWeakPtr(), |
144 callback)); | 144 callback)); |
145 } | 145 } |
146 | 146 |
147 void DeviceMediaAsyncFileUtil::Touch( | 147 void DeviceMediaAsyncFileUtil::Touch( |
148 scoped_ptr<FileSystemOperationContext> context, | 148 scoped_ptr<FileSystemOperationContext> context, |
149 const FileSystemURL& url, | 149 const FileSystemURL& url, |
150 const base::Time& last_access_time, | 150 const base::Time& last_access_time, |
151 const base::Time& last_modified_time, | 151 const base::Time& last_modified_time, |
152 const StatusCallback& callback) { | 152 const StatusCallback& callback) { |
153 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 153 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
154 NOTIMPLEMENTED(); | 154 NOTIMPLEMENTED(); |
155 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 155 callback.Run(base::File::FILE_ERROR_SECURITY); |
156 } | 156 } |
157 | 157 |
158 void DeviceMediaAsyncFileUtil::Truncate( | 158 void DeviceMediaAsyncFileUtil::Truncate( |
159 scoped_ptr<FileSystemOperationContext> context, | 159 scoped_ptr<FileSystemOperationContext> context, |
160 const FileSystemURL& url, | 160 const FileSystemURL& url, |
161 int64 length, | 161 int64 length, |
162 const StatusCallback& callback) { | 162 const StatusCallback& callback) { |
163 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 163 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
164 NOTIMPLEMENTED(); | 164 NOTIMPLEMENTED(); |
165 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 165 callback.Run(base::File::FILE_ERROR_SECURITY); |
166 } | 166 } |
167 | 167 |
168 void DeviceMediaAsyncFileUtil::CopyFileLocal( | 168 void DeviceMediaAsyncFileUtil::CopyFileLocal( |
169 scoped_ptr<FileSystemOperationContext> context, | 169 scoped_ptr<FileSystemOperationContext> context, |
170 const FileSystemURL& src_url, | 170 const FileSystemURL& src_url, |
171 const FileSystemURL& dest_url, | 171 const FileSystemURL& dest_url, |
172 CopyOrMoveOption option, | 172 CopyOrMoveOption option, |
173 const CopyFileProgressCallback& progress_callback, | 173 const CopyFileProgressCallback& progress_callback, |
174 const StatusCallback& callback) { | 174 const StatusCallback& callback) { |
175 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 175 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
176 NOTIMPLEMENTED(); | 176 NOTIMPLEMENTED(); |
177 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 177 callback.Run(base::File::FILE_ERROR_SECURITY); |
178 } | 178 } |
179 | 179 |
180 void DeviceMediaAsyncFileUtil::MoveFileLocal( | 180 void DeviceMediaAsyncFileUtil::MoveFileLocal( |
181 scoped_ptr<FileSystemOperationContext> context, | 181 scoped_ptr<FileSystemOperationContext> context, |
182 const FileSystemURL& src_url, | 182 const FileSystemURL& src_url, |
183 const FileSystemURL& dest_url, | 183 const FileSystemURL& dest_url, |
184 CopyOrMoveOption option, | 184 CopyOrMoveOption option, |
185 const StatusCallback& callback) { | 185 const StatusCallback& callback) { |
186 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 186 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
187 NOTIMPLEMENTED(); | 187 NOTIMPLEMENTED(); |
188 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 188 callback.Run(base::File::FILE_ERROR_SECURITY); |
189 } | 189 } |
190 | 190 |
191 void DeviceMediaAsyncFileUtil::CopyInForeignFile( | 191 void DeviceMediaAsyncFileUtil::CopyInForeignFile( |
192 scoped_ptr<FileSystemOperationContext> context, | 192 scoped_ptr<FileSystemOperationContext> context, |
193 const base::FilePath& src_file_path, | 193 const base::FilePath& src_file_path, |
194 const FileSystemURL& dest_url, | 194 const FileSystemURL& dest_url, |
195 const StatusCallback& callback) { | 195 const StatusCallback& callback) { |
196 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 196 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
197 NOTIMPLEMENTED(); | 197 NOTIMPLEMENTED(); |
198 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 198 callback.Run(base::File::FILE_ERROR_SECURITY); |
199 } | 199 } |
200 | 200 |
201 void DeviceMediaAsyncFileUtil::DeleteFile( | 201 void DeviceMediaAsyncFileUtil::DeleteFile( |
202 scoped_ptr<FileSystemOperationContext> context, | 202 scoped_ptr<FileSystemOperationContext> context, |
203 const FileSystemURL& url, | 203 const FileSystemURL& url, |
204 const StatusCallback& callback) { | 204 const StatusCallback& callback) { |
205 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 205 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
206 NOTIMPLEMENTED(); | 206 NOTIMPLEMENTED(); |
207 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 207 callback.Run(base::File::FILE_ERROR_SECURITY); |
208 } | 208 } |
209 | 209 |
210 void DeviceMediaAsyncFileUtil::DeleteDirectory( | 210 void DeviceMediaAsyncFileUtil::DeleteDirectory( |
211 scoped_ptr<FileSystemOperationContext> context, | 211 scoped_ptr<FileSystemOperationContext> context, |
212 const FileSystemURL& url, | 212 const FileSystemURL& url, |
213 const StatusCallback& callback) { | 213 const StatusCallback& callback) { |
214 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 214 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
215 NOTIMPLEMENTED(); | 215 NOTIMPLEMENTED(); |
216 callback.Run(base::PLATFORM_FILE_ERROR_SECURITY); | 216 callback.Run(base::File::FILE_ERROR_SECURITY); |
217 } | 217 } |
218 | 218 |
219 void DeviceMediaAsyncFileUtil::DeleteRecursively( | 219 void DeviceMediaAsyncFileUtil::DeleteRecursively( |
220 scoped_ptr<FileSystemOperationContext> context, | 220 scoped_ptr<FileSystemOperationContext> context, |
221 const FileSystemURL& url, | 221 const FileSystemURL& url, |
222 const StatusCallback& callback) { | 222 const StatusCallback& callback) { |
223 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 223 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
224 callback.Run(base::PLATFORM_FILE_ERROR_INVALID_OPERATION); | 224 callback.Run(base::File::FILE_ERROR_INVALID_OPERATION); |
225 } | 225 } |
226 | 226 |
227 void DeviceMediaAsyncFileUtil::CreateSnapshotFile( | 227 void DeviceMediaAsyncFileUtil::CreateSnapshotFile( |
228 scoped_ptr<FileSystemOperationContext> context, | 228 scoped_ptr<FileSystemOperationContext> context, |
229 const FileSystemURL& url, | 229 const FileSystemURL& url, |
230 const CreateSnapshotFileCallback& callback) { | 230 const CreateSnapshotFileCallback& callback) { |
231 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 231 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
232 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); | 232 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); |
233 if (!delegate) { | 233 if (!delegate) { |
234 OnCreateSnapshotFileError(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND); | 234 OnCreateSnapshotFileError(callback, base::File::FILE_ERROR_NOT_FOUND); |
235 return; | 235 return; |
236 } | 236 } |
237 | 237 |
238 scoped_refptr<base::SequencedTaskRunner> task_runner = context->task_runner(); | 238 scoped_refptr<base::SequencedTaskRunner> task_runner = context->task_runner(); |
239 | 239 |
240 if (delegate->IsStreaming()) { | 240 if (delegate->IsStreaming()) { |
241 GetFileInfo( | 241 GetFileInfo( |
242 context.Pass(), | 242 context.Pass(), |
243 url, | 243 url, |
244 base::Bind(&DeviceMediaAsyncFileUtil::GetHeaderBytesForMIMESniffing, | 244 base::Bind(&DeviceMediaAsyncFileUtil::GetHeaderBytesForMIMESniffing, |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 } | 278 } |
279 | 279 |
280 DeviceMediaAsyncFileUtil::DeviceMediaAsyncFileUtil( | 280 DeviceMediaAsyncFileUtil::DeviceMediaAsyncFileUtil( |
281 const base::FilePath& profile_path) | 281 const base::FilePath& profile_path) |
282 : profile_path_(profile_path), | 282 : profile_path_(profile_path), |
283 weak_ptr_factory_(this) { | 283 weak_ptr_factory_(this) { |
284 } | 284 } |
285 | 285 |
286 void DeviceMediaAsyncFileUtil::OnDidGetFileInfo( | 286 void DeviceMediaAsyncFileUtil::OnDidGetFileInfo( |
287 const AsyncFileUtil::GetFileInfoCallback& callback, | 287 const AsyncFileUtil::GetFileInfoCallback& callback, |
288 const base::PlatformFileInfo& file_info) { | 288 const base::File::Info& file_info) { |
289 callback.Run(base::PLATFORM_FILE_OK, file_info); | 289 callback.Run(base::File::FILE_OK, file_info); |
290 } | 290 } |
291 | 291 |
292 void DeviceMediaAsyncFileUtil::OnGetFileInfoError( | 292 void DeviceMediaAsyncFileUtil::OnGetFileInfoError( |
293 const AsyncFileUtil::GetFileInfoCallback& callback, | 293 const AsyncFileUtil::GetFileInfoCallback& callback, |
294 base::PlatformFileError error) { | 294 base::File::Error error) { |
295 callback.Run(error, base::PlatformFileInfo()); | 295 callback.Run(error, base::File::Info()); |
296 } | 296 } |
297 | 297 |
298 void DeviceMediaAsyncFileUtil::OnDidReadDirectory( | 298 void DeviceMediaAsyncFileUtil::OnDidReadDirectory( |
299 const AsyncFileUtil::ReadDirectoryCallback& callback, | 299 const AsyncFileUtil::ReadDirectoryCallback& callback, |
300 const AsyncFileUtil::EntryList& file_list, | 300 const AsyncFileUtil::EntryList& file_list, |
301 bool has_more) { | 301 bool has_more) { |
302 callback.Run(base::PLATFORM_FILE_OK, file_list, has_more); | 302 callback.Run(base::File::FILE_OK, file_list, has_more); |
303 } | 303 } |
304 | 304 |
305 void DeviceMediaAsyncFileUtil::OnReadDirectoryError( | 305 void DeviceMediaAsyncFileUtil::OnReadDirectoryError( |
306 const AsyncFileUtil::ReadDirectoryCallback& callback, | 306 const AsyncFileUtil::ReadDirectoryCallback& callback, |
307 base::PlatformFileError error) { | 307 base::File::Error error) { |
308 callback.Run(error, AsyncFileUtil::EntryList(), false /*no more*/); | 308 callback.Run(error, AsyncFileUtil::EntryList(), false /*no more*/); |
309 } | 309 } |
310 | 310 |
311 void DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile( | 311 void DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile( |
312 const AsyncFileUtil::CreateSnapshotFileCallback& callback, | 312 const AsyncFileUtil::CreateSnapshotFileCallback& callback, |
313 base::SequencedTaskRunner* media_task_runner, | 313 base::SequencedTaskRunner* media_task_runner, |
314 const base::PlatformFileInfo& file_info, | 314 const base::File::Info& file_info, |
315 const base::FilePath& platform_path) { | 315 const base::FilePath& platform_path) { |
316 base::PostTaskAndReplyWithResult( | 316 base::PostTaskAndReplyWithResult( |
317 media_task_runner, | 317 media_task_runner, |
318 FROM_HERE, | 318 FROM_HERE, |
319 base::Bind(&NativeMediaFileUtil::IsMediaFile, platform_path), | 319 base::Bind(&NativeMediaFileUtil::IsMediaFile, platform_path), |
320 base::Bind(&DeviceMediaAsyncFileUtil::OnDidCheckMedia, | 320 base::Bind(&DeviceMediaAsyncFileUtil::OnDidCheckMedia, |
321 weak_ptr_factory_.GetWeakPtr(), | 321 weak_ptr_factory_.GetWeakPtr(), |
322 callback, | 322 callback, |
323 file_info, | 323 file_info, |
324 ShareableFileReference::GetOrCreate( | 324 ShareableFileReference::GetOrCreate( |
325 platform_path, | 325 platform_path, |
326 ShareableFileReference::DELETE_ON_FINAL_RELEASE, | 326 ShareableFileReference::DELETE_ON_FINAL_RELEASE, |
327 media_task_runner))); | 327 media_task_runner))); |
328 } | 328 } |
329 | 329 |
330 void DeviceMediaAsyncFileUtil::OnDidCheckMedia( | 330 void DeviceMediaAsyncFileUtil::OnDidCheckMedia( |
331 const AsyncFileUtil::CreateSnapshotFileCallback& callback, | 331 const AsyncFileUtil::CreateSnapshotFileCallback& callback, |
332 const base::PlatformFileInfo& file_info, | 332 const base::File::Info& file_info, |
333 scoped_refptr<webkit_blob::ShareableFileReference> platform_file, | 333 scoped_refptr<webkit_blob::ShareableFileReference> platform_file, |
334 base::PlatformFileError error) { | 334 base::File::Error error) { |
335 base::FilePath platform_path(platform_file.get()->path()); | 335 base::FilePath platform_path(platform_file.get()->path()); |
336 if (error != base::PLATFORM_FILE_OK) | 336 if (error != base::File::FILE_OK) |
337 platform_file = NULL; | 337 platform_file = NULL; |
338 callback.Run(error, file_info, platform_path, platform_file); | 338 callback.Run(error, file_info, platform_path, platform_file); |
339 } | 339 } |
340 | 340 |
341 void DeviceMediaAsyncFileUtil::GetHeaderBytesForMIMESniffing( | 341 void DeviceMediaAsyncFileUtil::GetHeaderBytesForMIMESniffing( |
342 const fileapi::FileSystemURL& url, | 342 const fileapi::FileSystemURL& url, |
343 base::SequencedTaskRunner* media_task_runner, | 343 base::SequencedTaskRunner* media_task_runner, |
344 const AsyncFileUtil::CreateSnapshotFileCallback& callback, | 344 const AsyncFileUtil::CreateSnapshotFileCallback& callback, |
345 base::PlatformFileError error, | 345 base::File::Error error, |
346 const base::PlatformFileInfo& file_info) { | 346 const base::File::Info& file_info) { |
347 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); | 347 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); |
348 if (!delegate) { | 348 if (!delegate) { |
349 OnCreateSnapshotFileError(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND); | 349 OnCreateSnapshotFileError(callback, base::File::FILE_ERROR_NOT_FOUND); |
350 return; | 350 return; |
351 } | 351 } |
352 | 352 |
353 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(net::kMaxBytesToSniff)); | 353 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(net::kMaxBytesToSniff)); |
354 delegate->ReadBytes( | 354 delegate->ReadBytes( |
355 url.path(), | 355 url.path(), |
356 buffer, | 356 buffer, |
357 0, | 357 0, |
358 net::kMaxBytesToSniff, | 358 net::kMaxBytesToSniff, |
359 base::Bind(&DeviceMediaAsyncFileUtil::FinishStreamingSnapshotFile, | 359 base::Bind(&DeviceMediaAsyncFileUtil::FinishStreamingSnapshotFile, |
360 weak_ptr_factory_.GetWeakPtr(), url, | 360 weak_ptr_factory_.GetWeakPtr(), url, |
361 make_scoped_refptr(media_task_runner), callback, file_info, | 361 make_scoped_refptr(media_task_runner), callback, file_info, |
362 buffer), | 362 buffer), |
363 base::Bind(&DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError, | 363 base::Bind(&DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError, |
364 weak_ptr_factory_.GetWeakPtr(), callback)); | 364 weak_ptr_factory_.GetWeakPtr(), callback)); |
365 } | 365 } |
366 | 366 |
367 void DeviceMediaAsyncFileUtil::FinishStreamingSnapshotFile( | 367 void DeviceMediaAsyncFileUtil::FinishStreamingSnapshotFile( |
368 const fileapi::FileSystemURL& url, | 368 const fileapi::FileSystemURL& url, |
369 base::SequencedTaskRunner* media_task_runner, | 369 base::SequencedTaskRunner* media_task_runner, |
370 const AsyncFileUtil::CreateSnapshotFileCallback& callback, | 370 const AsyncFileUtil::CreateSnapshotFileCallback& callback, |
371 const base::PlatformFileInfo& file_info, | 371 const base::File::Info& file_info, |
372 net::IOBuffer* buffer, | 372 net::IOBuffer* buffer, |
373 int buffer_size) { | 373 int buffer_size) { |
374 base::PlatformFileError error = | 374 base::File::Error error = |
375 NativeMediaFileUtil::BufferIsMediaHeader(buffer, buffer_size); | 375 NativeMediaFileUtil::BufferIsMediaHeader(buffer, buffer_size); |
376 if (error != base::PLATFORM_FILE_OK) { | 376 if (error != base::File::FILE_OK) { |
377 OnCreateSnapshotFileError(callback, error); | 377 OnCreateSnapshotFileError(callback, error); |
378 return; | 378 return; |
379 } | 379 } |
380 callback.Run(base::PLATFORM_FILE_OK, file_info, base::FilePath(), | 380 callback.Run(base::File::FILE_OK, file_info, base::FilePath(), |
381 scoped_refptr<ShareableFileReference>()); | 381 scoped_refptr<ShareableFileReference>()); |
382 } | 382 } |
383 | 383 |
384 void DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError( | 384 void DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError( |
385 const AsyncFileUtil::CreateSnapshotFileCallback& callback, | 385 const AsyncFileUtil::CreateSnapshotFileCallback& callback, |
386 base::PlatformFileError error) { | 386 base::File::Error error) { |
387 callback.Run(error, base::PlatformFileInfo(), base::FilePath(), | 387 callback.Run(error, base::File::Info(), base::FilePath(), |
388 scoped_refptr<ShareableFileReference>()); | 388 scoped_refptr<ShareableFileReference>()); |
389 } | 389 } |
390 | 390 |
391 void DeviceMediaAsyncFileUtil::OnSnapshotFileCreatedRunTask( | 391 void DeviceMediaAsyncFileUtil::OnSnapshotFileCreatedRunTask( |
392 scoped_ptr<FileSystemOperationContext> context, | 392 scoped_ptr<FileSystemOperationContext> context, |
393 const AsyncFileUtil::CreateSnapshotFileCallback& callback, | 393 const AsyncFileUtil::CreateSnapshotFileCallback& callback, |
394 const FileSystemURL& url, | 394 const FileSystemURL& url, |
395 base::FilePath* snapshot_file_path) { | 395 base::FilePath* snapshot_file_path) { |
396 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); | 396 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO)); |
397 if (!snapshot_file_path || snapshot_file_path->empty()) { | 397 if (!snapshot_file_path || snapshot_file_path->empty()) { |
398 OnCreateSnapshotFileError(callback, base::PLATFORM_FILE_ERROR_FAILED); | 398 OnCreateSnapshotFileError(callback, base::File::FILE_ERROR_FAILED); |
399 return; | 399 return; |
400 } | 400 } |
401 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); | 401 MTPDeviceAsyncDelegate* delegate = GetMTPDeviceDelegate(url); |
402 if (!delegate) { | 402 if (!delegate) { |
403 OnCreateSnapshotFileError(callback, base::PLATFORM_FILE_ERROR_NOT_FOUND); | 403 OnCreateSnapshotFileError(callback, base::File::FILE_ERROR_NOT_FOUND); |
404 return; | 404 return; |
405 } | 405 } |
406 delegate->CreateSnapshotFile( | 406 delegate->CreateSnapshotFile( |
407 url.path(), // device file path | 407 url.path(), // device file path |
408 *snapshot_file_path, | 408 *snapshot_file_path, |
409 base::Bind(&DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile, | 409 base::Bind(&DeviceMediaAsyncFileUtil::OnDidCreateSnapshotFile, |
410 weak_ptr_factory_.GetWeakPtr(), | 410 weak_ptr_factory_.GetWeakPtr(), |
411 callback, | 411 callback, |
412 make_scoped_refptr(context->task_runner())), | 412 make_scoped_refptr(context->task_runner())), |
413 base::Bind(&DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError, | 413 base::Bind(&DeviceMediaAsyncFileUtil::OnCreateSnapshotFileError, |
414 weak_ptr_factory_.GetWeakPtr(), | 414 weak_ptr_factory_.GetWeakPtr(), |
415 callback)); | 415 callback)); |
416 } | 416 } |
OLD | NEW |