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

Side by Side Diff: chrome/browser/media_galleries/win/mtp_device_delegate_impl_win.cc

Issue 442383002: Move storage-related files from webkit/ to new top-level directory storage/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 months 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 | Annotate | Revision Log
OLDNEW
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 // MTPDeviceDelegateImplWin implementation. 5 // MTPDeviceDelegateImplWin implementation.
6 6
7 #include "chrome/browser/media_galleries/win/mtp_device_delegate_impl_win.h" 7 #include "chrome/browser/media_galleries/win/mtp_device_delegate_impl_win.h"
8 8
9 #include <portabledevice.h> 9 #include <portabledevice.h>
10 10
(...skipping 11 matching lines...) Expand all
22 #include "base/task_runner_util.h" 22 #include "base/task_runner_util.h"
23 #include "base/threading/thread_restrictions.h" 23 #include "base/threading/thread_restrictions.h"
24 #include "chrome/browser/media_galleries/fileapi/media_file_system_backend.h" 24 #include "chrome/browser/media_galleries/fileapi/media_file_system_backend.h"
25 #include "chrome/browser/media_galleries/win/mtp_device_object_entry.h" 25 #include "chrome/browser/media_galleries/win/mtp_device_object_entry.h"
26 #include "chrome/browser/media_galleries/win/mtp_device_object_enumerator.h" 26 #include "chrome/browser/media_galleries/win/mtp_device_object_enumerator.h"
27 #include "chrome/browser/media_galleries/win/mtp_device_operations_util.h" 27 #include "chrome/browser/media_galleries/win/mtp_device_operations_util.h"
28 #include "chrome/browser/media_galleries/win/portable_device_map_service.h" 28 #include "chrome/browser/media_galleries/win/portable_device_map_service.h"
29 #include "chrome/browser/media_galleries/win/snapshot_file_details.h" 29 #include "chrome/browser/media_galleries/win/snapshot_file_details.h"
30 #include "components/storage_monitor/storage_monitor.h" 30 #include "components/storage_monitor/storage_monitor.h"
31 #include "content/public/browser/browser_thread.h" 31 #include "content/public/browser/browser_thread.h"
32 #include "webkit/common/fileapi/file_system_util.h" 32 #include "storage/common/fileapi/file_system_util.h"
33 33
34 namespace { 34 namespace {
35 35
36 // Gets the details of the MTP partition storage specified by the 36 // Gets the details of the MTP partition storage specified by the
37 // |storage_path| on the UI thread. Returns true if the storage details are 37 // |storage_path| on the UI thread. Returns true if the storage details are
38 // valid and returns false otherwise. 38 // valid and returns false otherwise.
39 bool GetStorageInfoOnUIThread(const base::string16& storage_path, 39 bool GetStorageInfoOnUIThread(const base::string16& storage_path,
40 base::string16* pnp_device_id, 40 base::string16* pnp_device_id,
41 base::string16* storage_object_id) { 41 base::string16* storage_object_id) {
42 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 42 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 file_info); 173 file_info);
174 } 174 }
175 175
176 // Reads the |root| directory file entries on a blocking pool thread. On 176 // Reads the |root| directory file entries on a blocking pool thread. On
177 // success, |error| is set to base::File::FILE_OK and |entries| contains the 177 // success, |error| is set to base::File::FILE_OK and |entries| contains the
178 // directory file entries. On failure, |error| is set to platform file error 178 // directory file entries. On failure, |error| is set to platform file error
179 // and |entries| is not set. 179 // and |entries| is not set.
180 base::File::Error ReadDirectoryOnBlockingPoolThread( 180 base::File::Error ReadDirectoryOnBlockingPoolThread(
181 const MTPDeviceDelegateImplWin::StorageDeviceInfo& device_info, 181 const MTPDeviceDelegateImplWin::StorageDeviceInfo& device_info,
182 const base::FilePath& root, 182 const base::FilePath& root,
183 fileapi::AsyncFileUtil::EntryList* entries) { 183 storage::AsyncFileUtil::EntryList* entries) {
184 base::ThreadRestrictions::AssertIOAllowed(); 184 base::ThreadRestrictions::AssertIOAllowed();
185 DCHECK(!root.empty()); 185 DCHECK(!root.empty());
186 DCHECK(entries); 186 DCHECK(entries);
187 base::File::Info file_info; 187 base::File::Info file_info;
188 base::File::Error error = GetFileInfoOnBlockingPoolThread(device_info, root, 188 base::File::Error error = GetFileInfoOnBlockingPoolThread(device_info, root,
189 &file_info); 189 &file_info);
190 if (error != base::File::FILE_OK) 190 if (error != base::File::FILE_OK)
191 return error; 191 return error;
192 192
193 if (!file_info.is_directory) 193 if (!file_info.is_directory)
194 return base::File::FILE_ERROR_NOT_A_DIRECTORY; 194 return base::File::FILE_ERROR_NOT_A_DIRECTORY;
195 195
196 base::FilePath current; 196 base::FilePath current;
197 scoped_ptr<MTPDeviceObjectEnumerator> file_enum = 197 scoped_ptr<MTPDeviceObjectEnumerator> file_enum =
198 CreateFileEnumeratorOnBlockingPoolThread(device_info, root); 198 CreateFileEnumeratorOnBlockingPoolThread(device_info, root);
199 if (!file_enum) 199 if (!file_enum)
200 return error; 200 return error;
201 201
202 while (!(current = file_enum->Next()).empty()) { 202 while (!(current = file_enum->Next()).empty()) {
203 fileapi::DirectoryEntry entry; 203 storage::DirectoryEntry entry;
204 entry.is_directory = file_enum->IsDirectory(); 204 entry.is_directory = file_enum->IsDirectory();
205 entry.name = fileapi::VirtualPath::BaseName(current).value(); 205 entry.name = storage::VirtualPath::BaseName(current).value();
206 entry.size = file_enum->Size(); 206 entry.size = file_enum->Size();
207 entry.last_modified_time = file_enum->LastModifiedTime(); 207 entry.last_modified_time = file_enum->LastModifiedTime();
208 entries->push_back(entry); 208 entries->push_back(entry);
209 } 209 }
210 return error; 210 return error;
211 } 211 }
212 212
213 // Gets the device file stream object on a blocking pool thread. 213 // Gets the device file stream object on a blocking pool thread.
214 // |device_info| contains the device storage partition details. 214 // |device_info| contains the device storage partition details.
215 // On success, returns base::File::FILE_OK and file stream details are set in 215 // On success, returns base::File::FILE_OK and file stream details are set in
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 error_callback, 395 error_callback,
396 base::Owned(file_info)))); 396 base::Owned(file_info))));
397 } 397 }
398 398
399 void MTPDeviceDelegateImplWin::ReadDirectory( 399 void MTPDeviceDelegateImplWin::ReadDirectory(
400 const base::FilePath& root, 400 const base::FilePath& root,
401 const ReadDirectorySuccessCallback& success_callback, 401 const ReadDirectorySuccessCallback& success_callback,
402 const ErrorCallback& error_callback) { 402 const ErrorCallback& error_callback) {
403 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); 403 DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
404 DCHECK(!root.empty()); 404 DCHECK(!root.empty());
405 fileapi::AsyncFileUtil::EntryList* entries = 405 storage::AsyncFileUtil::EntryList* entries =
406 new fileapi::AsyncFileUtil::EntryList; 406 new storage::AsyncFileUtil::EntryList;
407 EnsureInitAndRunTask( 407 EnsureInitAndRunTask(
408 PendingTaskInfo(FROM_HERE, 408 PendingTaskInfo(FROM_HERE,
409 base::Bind(&ReadDirectoryOnBlockingPoolThread, 409 base::Bind(&ReadDirectoryOnBlockingPoolThread,
410 storage_device_info_, 410 storage_device_info_,
411 root, 411 root,
412 base::Unretained(entries)), 412 base::Unretained(entries)),
413 base::Bind(&MTPDeviceDelegateImplWin::OnDidReadDirectory, 413 base::Bind(&MTPDeviceDelegateImplWin::OnDidReadDirectory,
414 weak_ptr_factory_.GetWeakPtr(), 414 weak_ptr_factory_.GetWeakPtr(),
415 success_callback, 415 success_callback,
416 error_callback, 416 error_callback,
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 success_callback.Run(*file_info); 539 success_callback.Run(*file_info);
540 else 540 else
541 error_callback.Run(error); 541 error_callback.Run(error);
542 task_in_progress_ = false; 542 task_in_progress_ = false;
543 ProcessNextPendingRequest(); 543 ProcessNextPendingRequest();
544 } 544 }
545 545
546 void MTPDeviceDelegateImplWin::OnDidReadDirectory( 546 void MTPDeviceDelegateImplWin::OnDidReadDirectory(
547 const ReadDirectorySuccessCallback& success_callback, 547 const ReadDirectorySuccessCallback& success_callback,
548 const ErrorCallback& error_callback, 548 const ErrorCallback& error_callback,
549 fileapi::AsyncFileUtil::EntryList* file_list, 549 storage::AsyncFileUtil::EntryList* file_list,
550 base::File::Error error) { 550 base::File::Error error) {
551 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); 551 DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
552 DCHECK(file_list); 552 DCHECK(file_list);
553 if (error == base::File::FILE_OK) 553 if (error == base::File::FILE_OK)
554 success_callback.Run(*file_list, false /*no more entries*/); 554 success_callback.Run(*file_list, false /*no more entries*/);
555 else 555 else
556 error_callback.Run(error); 556 error_callback.Run(error);
557 task_in_progress_ = false; 557 task_in_progress_ = false;
558 ProcessNextPendingRequest(); 558 ProcessNextPendingRequest();
559 } 559 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 current_snapshot_details_->file_info(), 614 current_snapshot_details_->file_info(),
615 current_snapshot_details_->request_info().snapshot_file_path); 615 current_snapshot_details_->request_info().snapshot_file_path);
616 } else { 616 } else {
617 current_snapshot_details_->request_info().error_callback.Run( 617 current_snapshot_details_->request_info().error_callback.Run(
618 base::File::FILE_ERROR_FAILED); 618 base::File::FILE_ERROR_FAILED);
619 } 619 }
620 task_in_progress_ = false; 620 task_in_progress_ = false;
621 current_snapshot_details_.reset(); 621 current_snapshot_details_.reset();
622 ProcessNextPendingRequest(); 622 ProcessNextPendingRequest();
623 } 623 }
OLDNEW
« no previous file with comments | « chrome/browser/media_galleries/win/mtp_device_delegate_impl_win.h ('k') | chrome/browser/net/sqlite_channel_id_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698