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

Side by Side Diff: chrome/browser/chromeos/drive/file_system.cc

Issue 546303003: Remove implicit conversions from scoped_refptr to T* in c/b/chromeos/drive (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chromeos/drive/file_system.h" 5 #include "chrome/browser/chromeos/drive/file_system.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "chrome/browser/chromeos/drive/change_list_loader.h" 10 #include "chrome/browser/chromeos/drive/change_list_loader.h"
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 279
280 void FileSystem::Reset(const FileOperationCallback& callback) { 280 void FileSystem::Reset(const FileOperationCallback& callback) {
281 // Discard the current loader and operation objects and renew them. This is to 281 // Discard the current loader and operation objects and renew them. This is to
282 // avoid that changes initiated before the metadata reset is applied after the 282 // avoid that changes initiated before the metadata reset is applied after the
283 // reset, which may cause an inconsistent state. 283 // reset, which may cause an inconsistent state.
284 // TODO(kinaba): callbacks held in the subcomponents are discarded. We might 284 // TODO(kinaba): callbacks held in the subcomponents are discarded. We might
285 // want to have a way to abort and flush callbacks in in-flight operations. 285 // want to have a way to abort and flush callbacks in in-flight operations.
286 ResetComponents(); 286 ResetComponents();
287 287
288 base::PostTaskAndReplyWithResult( 288 base::PostTaskAndReplyWithResult(
289 blocking_task_runner_, 289 blocking_task_runner_.get(),
290 FROM_HERE, 290 FROM_HERE,
291 base::Bind(&ResetOnBlockingPool, resource_metadata_, cache_), 291 base::Bind(&ResetOnBlockingPool, resource_metadata_, cache_),
292 callback); 292 callback);
293 } 293 }
294 294
295 void FileSystem::ResetComponents() { 295 void FileSystem::ResetComponents() {
296 file_system::OperationDelegate* delegate = this; 296 file_system::OperationDelegate* delegate = this;
297 297
298 about_resource_loader_.reset(new internal::AboutResourceLoader(scheduler_)); 298 about_resource_loader_.reset(new internal::AboutResourceLoader(scheduler_));
299 loader_controller_.reset(new internal::LoaderController); 299 loader_controller_.reset(new internal::LoaderController);
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 truncate_operation_->Truncate(file_path, length, callback); 503 truncate_operation_->Truncate(file_path, length, callback);
504 } 504 }
505 505
506 void FileSystem::Pin(const base::FilePath& file_path, 506 void FileSystem::Pin(const base::FilePath& file_path,
507 const FileOperationCallback& callback) { 507 const FileOperationCallback& callback) {
508 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 508 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
509 DCHECK(!callback.is_null()); 509 DCHECK(!callback.is_null());
510 510
511 std::string* local_id = new std::string; 511 std::string* local_id = new std::string;
512 base::PostTaskAndReplyWithResult( 512 base::PostTaskAndReplyWithResult(
513 blocking_task_runner_, 513 blocking_task_runner_.get(),
514 FROM_HERE, 514 FROM_HERE,
515 base::Bind(&PinInternal, resource_metadata_, cache_, file_path, local_id), 515 base::Bind(&PinInternal, resource_metadata_, cache_, file_path, local_id),
516 base::Bind(&FileSystem::FinishPin, 516 base::Bind(&FileSystem::FinishPin,
517 weak_ptr_factory_.GetWeakPtr(), 517 weak_ptr_factory_.GetWeakPtr(),
518 callback, 518 callback,
519 base::Owned(local_id))); 519 base::Owned(local_id)));
520 } 520 }
521 521
522 void FileSystem::FinishPin(const FileOperationCallback& callback, 522 void FileSystem::FinishPin(const FileOperationCallback& callback,
523 const std::string* local_id, 523 const std::string* local_id,
524 FileError error) { 524 FileError error) {
525 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 525 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
526 DCHECK(!callback.is_null()); 526 DCHECK(!callback.is_null());
527 527
528 if (error == FILE_ERROR_OK) 528 if (error == FILE_ERROR_OK)
529 sync_client_->AddFetchTask(*local_id); 529 sync_client_->AddFetchTask(*local_id);
530 callback.Run(error); 530 callback.Run(error);
531 } 531 }
532 532
533 void FileSystem::Unpin(const base::FilePath& file_path, 533 void FileSystem::Unpin(const base::FilePath& file_path,
534 const FileOperationCallback& callback) { 534 const FileOperationCallback& callback) {
535 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 535 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
536 DCHECK(!callback.is_null()); 536 DCHECK(!callback.is_null());
537 537
538 std::string* local_id = new std::string; 538 std::string* local_id = new std::string;
539 base::PostTaskAndReplyWithResult( 539 base::PostTaskAndReplyWithResult(
540 blocking_task_runner_, 540 blocking_task_runner_.get(),
541 FROM_HERE, 541 FROM_HERE,
542 base::Bind(&UnpinInternal, 542 base::Bind(
543 resource_metadata_, 543 &UnpinInternal, resource_metadata_, cache_, file_path, local_id),
544 cache_,
545 file_path,
546 local_id),
547 base::Bind(&FileSystem::FinishUnpin, 544 base::Bind(&FileSystem::FinishUnpin,
548 weak_ptr_factory_.GetWeakPtr(), 545 weak_ptr_factory_.GetWeakPtr(),
549 callback, 546 callback,
550 base::Owned(local_id))); 547 base::Owned(local_id)));
551 } 548 }
552 549
553 void FileSystem::FinishUnpin(const FileOperationCallback& callback, 550 void FileSystem::FinishUnpin(const FileOperationCallback& callback,
554 const std::string* local_id, 551 const std::string* local_id,
555 FileError error) { 552 FileError error) {
556 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 553 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 FileError error) { 618 FileError error) {
622 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 619 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
623 DCHECK(!callback.is_null()); 620 DCHECK(!callback.is_null());
624 621
625 DVLOG_IF(1, error != FILE_ERROR_OK) << "ReadDirectory failed. " 622 DVLOG_IF(1, error != FILE_ERROR_OK) << "ReadDirectory failed. "
626 << FileErrorToString(error); 623 << FileErrorToString(error);
627 624
628 scoped_ptr<ResourceEntry> entry(new ResourceEntry); 625 scoped_ptr<ResourceEntry> entry(new ResourceEntry);
629 ResourceEntry* entry_ptr = entry.get(); 626 ResourceEntry* entry_ptr = entry.get();
630 base::PostTaskAndReplyWithResult( 627 base::PostTaskAndReplyWithResult(
631 blocking_task_runner_, 628 blocking_task_runner_.get(),
632 FROM_HERE, 629 FROM_HERE,
633 base::Bind(&GetLocallyStoredResourceEntry, 630 base::Bind(&GetLocallyStoredResourceEntry,
634 resource_metadata_, 631 resource_metadata_,
635 cache_, 632 cache_,
636 file_path, 633 file_path,
637 entry_ptr), 634 entry_ptr),
638 base::Bind(&RunGetResourceEntryCallback, callback, base::Passed(&entry))); 635 base::Bind(&RunGetResourceEntryCallback, callback, base::Passed(&entry)));
639 } 636 }
640 637
641 void FileSystem::ReadDirectory( 638 void FileSystem::ReadDirectory(
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 } 792 }
796 793
797 void FileSystem::OnEntryUpdatedByOperation(const std::string& local_id) { 794 void FileSystem::OnEntryUpdatedByOperation(const std::string& local_id) {
798 sync_client_->AddUpdateTask(ClientContext(USER_INITIATED), local_id); 795 sync_client_->AddUpdateTask(ClientContext(USER_INITIATED), local_id);
799 } 796 }
800 797
801 void FileSystem::OnDriveSyncError(file_system::DriveSyncErrorType type, 798 void FileSystem::OnDriveSyncError(file_system::DriveSyncErrorType type,
802 const std::string& local_id) { 799 const std::string& local_id) {
803 base::FilePath* file_path = new base::FilePath; 800 base::FilePath* file_path = new base::FilePath;
804 base::PostTaskAndReplyWithResult( 801 base::PostTaskAndReplyWithResult(
805 blocking_task_runner_, 802 blocking_task_runner_.get(),
806 FROM_HERE, 803 FROM_HERE,
807 base::Bind(&internal::ResourceMetadata::GetFilePath, 804 base::Bind(&internal::ResourceMetadata::GetFilePath,
808 base::Unretained(resource_metadata_), 805 base::Unretained(resource_metadata_),
809 local_id, 806 local_id,
810 file_path), 807 file_path),
811 base::Bind(&FileSystem::OnDriveSyncErrorAfterGetFilePath, 808 base::Bind(&FileSystem::OnDriveSyncErrorAfterGetFilePath,
812 weak_ptr_factory_.GetWeakPtr(), 809 weak_ptr_factory_.GetWeakPtr(),
813 type, 810 type,
814 base::Owned(file_path))); 811 base::Owned(file_path)));
815 } 812 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
867 864
868 FileSystemMetadata metadata; 865 FileSystemMetadata metadata;
869 metadata.refreshing = change_list_loader_->IsRefreshing(); 866 metadata.refreshing = change_list_loader_->IsRefreshing();
870 867
871 // Metadata related to delta update. 868 // Metadata related to delta update.
872 metadata.last_update_check_time = last_update_check_time_; 869 metadata.last_update_check_time = last_update_check_time_;
873 metadata.last_update_check_error = last_update_check_error_; 870 metadata.last_update_check_error = last_update_check_error_;
874 871
875 int64* largest_changestamp = new int64(0); 872 int64* largest_changestamp = new int64(0);
876 base::PostTaskAndReplyWithResult( 873 base::PostTaskAndReplyWithResult(
877 blocking_task_runner_, 874 blocking_task_runner_.get(),
878 FROM_HERE, 875 FROM_HERE,
879 base::Bind(&internal::ResourceMetadata::GetLargestChangestamp, 876 base::Bind(&internal::ResourceMetadata::GetLargestChangestamp,
880 base::Unretained(resource_metadata_), largest_changestamp), 877 base::Unretained(resource_metadata_),
881 base::Bind(&OnGetLargestChangestamp, metadata, callback, 878 largest_changestamp),
879 base::Bind(&OnGetLargestChangestamp,
880 metadata,
881 callback,
882 base::Owned(largest_changestamp))); 882 base::Owned(largest_changestamp)));
883 } 883 }
884 884
885 void FileSystem::MarkCacheFileAsMounted( 885 void FileSystem::MarkCacheFileAsMounted(
886 const base::FilePath& drive_file_path, 886 const base::FilePath& drive_file_path,
887 const MarkMountedCallback& callback) { 887 const MarkMountedCallback& callback) {
888 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 888 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
889 DCHECK(!callback.is_null()); 889 DCHECK(!callback.is_null());
890 890
891 base::FilePath* cache_file_path = new base::FilePath; 891 base::FilePath* cache_file_path = new base::FilePath;
892 base::PostTaskAndReplyWithResult( 892 base::PostTaskAndReplyWithResult(
893 blocking_task_runner_, 893 blocking_task_runner_.get(),
894 FROM_HERE, 894 FROM_HERE,
895 base::Bind(&MarkCacheFileAsMountedInternal, 895 base::Bind(&MarkCacheFileAsMountedInternal,
896 resource_metadata_, 896 resource_metadata_,
897 cache_, 897 cache_,
898 drive_file_path, 898 drive_file_path,
899 cache_file_path), 899 cache_file_path),
900 base::Bind(&RunMarkMountedCallback, 900 base::Bind(
901 callback, 901 &RunMarkMountedCallback, callback, base::Owned(cache_file_path)));
902 base::Owned(cache_file_path)));
903 } 902 }
904 903
905 void FileSystem::MarkCacheFileAsUnmounted( 904 void FileSystem::MarkCacheFileAsUnmounted(
906 const base::FilePath& cache_file_path, 905 const base::FilePath& cache_file_path,
907 const FileOperationCallback& callback) { 906 const FileOperationCallback& callback) {
908 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 907 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
909 DCHECK(!callback.is_null()); 908 DCHECK(!callback.is_null());
910 909
911 if (!cache_->IsUnderFileCacheDirectory(cache_file_path)) { 910 if (!cache_->IsUnderFileCacheDirectory(cache_file_path)) {
912 callback.Run(FILE_ERROR_FAILED); 911 callback.Run(FILE_ERROR_FAILED);
913 return; 912 return;
914 } 913 }
915 914
916 base::PostTaskAndReplyWithResult( 915 base::PostTaskAndReplyWithResult(
917 blocking_task_runner_, 916 blocking_task_runner_.get(),
918 FROM_HERE, 917 FROM_HERE,
919 base::Bind(&internal::FileCache::MarkAsUnmounted, 918 base::Bind(&internal::FileCache::MarkAsUnmounted,
920 base::Unretained(cache_), 919 base::Unretained(cache_),
921 cache_file_path), 920 cache_file_path),
922 callback); 921 callback);
923 } 922 }
924 923
925 void FileSystem::AddPermission(const base::FilePath& drive_file_path, 924 void FileSystem::AddPermission(const base::FilePath& drive_file_path,
926 const std::string& email, 925 const std::string& email,
927 google_apis::drive::PermissionRole role, 926 google_apis::drive::PermissionRole role,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
976 open_file_operation_->OpenFile(file_path, open_mode, mime_type, callback); 975 open_file_operation_->OpenFile(file_path, open_mode, mime_type, callback);
977 } 976 }
978 977
979 void FileSystem::GetPathFromResourceId(const std::string& resource_id, 978 void FileSystem::GetPathFromResourceId(const std::string& resource_id,
980 const GetFilePathCallback& callback) { 979 const GetFilePathCallback& callback) {
981 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 980 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
982 DCHECK(!callback.is_null()); 981 DCHECK(!callback.is_null());
983 982
984 base::FilePath* const file_path = new base::FilePath(); 983 base::FilePath* const file_path = new base::FilePath();
985 base::PostTaskAndReplyWithResult( 984 base::PostTaskAndReplyWithResult(
986 blocking_task_runner_, 985 blocking_task_runner_.get(),
987 FROM_HERE, 986 FROM_HERE,
988 base::Bind(&GetPathFromResourceIdOnBlockingPool, 987 base::Bind(&GetPathFromResourceIdOnBlockingPool,
989 resource_metadata_, 988 resource_metadata_,
990 resource_id, 989 resource_id,
991 file_path), 990 file_path),
992 base::Bind(&GetPathFromResourceIdAfterGetPath, 991 base::Bind(&GetPathFromResourceIdAfterGetPath,
993 base::Owned(file_path), 992 base::Owned(file_path),
994 callback)); 993 callback));
995 } 994 }
996 } // namespace drive 995 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/directory_loader.cc ('k') | chrome/browser/chromeos/drive/file_system/copy_operation.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698