| OLD | NEW |
| 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/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/message_loop/message_loop_proxy.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 entry->file_specific_info().file_md5(), callback); | 376 entry->file_specific_info().file_md5(), callback); |
| 377 } | 377 } |
| 378 | 378 |
| 379 void FileSystem::GetFileByPath(const base::FilePath& file_path, | 379 void FileSystem::GetFileByPath(const base::FilePath& file_path, |
| 380 const GetFileCallback& callback) { | 380 const GetFileCallback& callback) { |
| 381 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 381 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 382 DCHECK(!callback.is_null()); | 382 DCHECK(!callback.is_null()); |
| 383 | 383 |
| 384 operations_.EnsureFileDownloaded( | 384 operations_.EnsureFileDownloaded( |
| 385 file_path, | 385 file_path, |
| 386 DriveClientContext(USER_INITIATED), | 386 ClientContext(USER_INITIATED), |
| 387 GetFileContentInitializedCallback(), | 387 GetFileContentInitializedCallback(), |
| 388 google_apis::GetContentCallback(), | 388 google_apis::GetContentCallback(), |
| 389 callback); | 389 callback); |
| 390 } | 390 } |
| 391 | 391 |
| 392 void FileSystem::GetFileByResourceId( | 392 void FileSystem::GetFileByResourceId( |
| 393 const std::string& resource_id, | 393 const std::string& resource_id, |
| 394 const DriveClientContext& context, | 394 const ClientContext& context, |
| 395 const GetFileCallback& get_file_callback, | 395 const GetFileCallback& get_file_callback, |
| 396 const google_apis::GetContentCallback& get_content_callback) { | 396 const google_apis::GetContentCallback& get_content_callback) { |
| 397 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 397 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 398 DCHECK(!resource_id.empty()); | 398 DCHECK(!resource_id.empty()); |
| 399 DCHECK(!get_file_callback.is_null()); | 399 DCHECK(!get_file_callback.is_null()); |
| 400 | 400 |
| 401 resource_metadata_->GetResourceEntryByIdOnUIThread( | 401 resource_metadata_->GetResourceEntryByIdOnUIThread( |
| 402 resource_id, | 402 resource_id, |
| 403 base::Bind(&FileSystem::GetFileByResourceIdAfterGetEntry, | 403 base::Bind(&FileSystem::GetFileByResourceIdAfterGetEntry, |
| 404 weak_ptr_factory_.GetWeakPtr(), | 404 weak_ptr_factory_.GetWeakPtr(), |
| 405 context, | 405 context, |
| 406 get_file_callback, | 406 get_file_callback, |
| 407 get_content_callback)); | 407 get_content_callback)); |
| 408 } | 408 } |
| 409 | 409 |
| 410 void FileSystem::GetFileByResourceIdAfterGetEntry( | 410 void FileSystem::GetFileByResourceIdAfterGetEntry( |
| 411 const DriveClientContext& context, | 411 const ClientContext& context, |
| 412 const GetFileCallback& get_file_callback, | 412 const GetFileCallback& get_file_callback, |
| 413 const google_apis::GetContentCallback& get_content_callback, | 413 const google_apis::GetContentCallback& get_content_callback, |
| 414 FileError error, | 414 FileError error, |
| 415 const base::FilePath& file_path, | 415 const base::FilePath& file_path, |
| 416 scoped_ptr<ResourceEntry> entry) { | 416 scoped_ptr<ResourceEntry> entry) { |
| 417 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 417 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 418 DCHECK(!get_file_callback.is_null()); | 418 DCHECK(!get_file_callback.is_null()); |
| 419 | 419 |
| 420 if (error != FILE_ERROR_OK) { | 420 if (error != FILE_ERROR_OK) { |
| 421 get_file_callback.Run(FILE_ERROR_NOT_FOUND, base::FilePath(), | 421 get_file_callback.Run(FILE_ERROR_NOT_FOUND, base::FilePath(), |
| (...skipping 14 matching lines...) Expand all Loading... |
| 436 const GetFileContentInitializedCallback& initialized_callback, | 436 const GetFileContentInitializedCallback& initialized_callback, |
| 437 const google_apis::GetContentCallback& get_content_callback, | 437 const google_apis::GetContentCallback& get_content_callback, |
| 438 const FileOperationCallback& completion_callback) { | 438 const FileOperationCallback& completion_callback) { |
| 439 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 439 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 440 DCHECK(!initialized_callback.is_null()); | 440 DCHECK(!initialized_callback.is_null()); |
| 441 DCHECK(!get_content_callback.is_null()); | 441 DCHECK(!get_content_callback.is_null()); |
| 442 DCHECK(!completion_callback.is_null()); | 442 DCHECK(!completion_callback.is_null()); |
| 443 | 443 |
| 444 operations_.EnsureFileDownloaded( | 444 operations_.EnsureFileDownloaded( |
| 445 file_path, | 445 file_path, |
| 446 DriveClientContext(USER_INITIATED), | 446 ClientContext(USER_INITIATED), |
| 447 initialized_callback, | 447 initialized_callback, |
| 448 get_content_callback, | 448 get_content_callback, |
| 449 base::Bind(&GetFileCallbackToFileOperationCallbackAdapter, | 449 base::Bind(&GetFileCallbackToFileOperationCallbackAdapter, |
| 450 completion_callback)); | 450 completion_callback)); |
| 451 } | 451 } |
| 452 | 452 |
| 453 void FileSystem::GetResourceEntryByPath( | 453 void FileSystem::GetResourceEntryByPath( |
| 454 const base::FilePath& file_path, | 454 const base::FilePath& file_path, |
| 455 const GetResourceEntryCallback& callback) { | 455 const GetResourceEntryCallback& callback) { |
| 456 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 456 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 663 return; | 663 return; |
| 664 } | 664 } |
| 665 | 665 |
| 666 change_list_loader_->LoadDirectoryFromServer( | 666 change_list_loader_->LoadDirectoryFromServer( |
| 667 entry->resource_id(), | 667 entry->resource_id(), |
| 668 callback); | 668 callback); |
| 669 } | 669 } |
| 670 | 670 |
| 671 void FileSystem::UpdateFileByResourceId( | 671 void FileSystem::UpdateFileByResourceId( |
| 672 const std::string& resource_id, | 672 const std::string& resource_id, |
| 673 const DriveClientContext& context, | 673 const ClientContext& context, |
| 674 const FileOperationCallback& callback) { | 674 const FileOperationCallback& callback) { |
| 675 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 675 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 676 DCHECK(!callback.is_null()); | 676 DCHECK(!callback.is_null()); |
| 677 | 677 |
| 678 operations_.UpdateFileByResourceId(resource_id, context, callback); | 678 operations_.UpdateFileByResourceId(resource_id, context, callback); |
| 679 } | 679 } |
| 680 | 680 |
| 681 void FileSystem::GetAvailableSpace( | 681 void FileSystem::GetAvailableSpace( |
| 682 const GetAvailableSpaceCallback& callback) { | 682 const GetAvailableSpaceCallback& callback) { |
| 683 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 683 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 883 if (open_files_.find(file_path) != open_files_.end()) { | 883 if (open_files_.find(file_path) != open_files_.end()) { |
| 884 base::MessageLoopProxy::current()->PostTask( | 884 base::MessageLoopProxy::current()->PostTask( |
| 885 FROM_HERE, | 885 FROM_HERE, |
| 886 base::Bind(callback, FILE_ERROR_IN_USE, base::FilePath())); | 886 base::Bind(callback, FILE_ERROR_IN_USE, base::FilePath())); |
| 887 return; | 887 return; |
| 888 } | 888 } |
| 889 open_files_.insert(file_path); | 889 open_files_.insert(file_path); |
| 890 | 890 |
| 891 operations_.EnsureFileDownloaded( | 891 operations_.EnsureFileDownloaded( |
| 892 file_path, | 892 file_path, |
| 893 DriveClientContext(USER_INITIATED), | 893 ClientContext(USER_INITIATED), |
| 894 GetFileContentInitializedCallback(), | 894 GetFileContentInitializedCallback(), |
| 895 google_apis::GetContentCallback(), | 895 google_apis::GetContentCallback(), |
| 896 base::Bind(&FileSystem::OpenFileAfterFileDownloaded, | 896 base::Bind(&FileSystem::OpenFileAfterFileDownloaded, |
| 897 weak_ptr_factory_.GetWeakPtr(), | 897 weak_ptr_factory_.GetWeakPtr(), |
| 898 file_path, | 898 file_path, |
| 899 base::Bind(&FileSystem::OnOpenFileFinished, | 899 base::Bind(&FileSystem::OnOpenFileFinished, |
| 900 weak_ptr_factory_.GetWeakPtr(), | 900 weak_ptr_factory_.GetWeakPtr(), |
| 901 file_path, | 901 file_path, |
| 902 callback))); | 902 callback))); |
| 903 } | 903 } |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1132 return; | 1132 return; |
| 1133 } | 1133 } |
| 1134 | 1134 |
| 1135 PlatformFileInfoProto entry_file_info; | 1135 PlatformFileInfoProto entry_file_info; |
| 1136 util::ConvertPlatformFileInfoToResourceEntry(*file_info, &entry_file_info); | 1136 util::ConvertPlatformFileInfoToResourceEntry(*file_info, &entry_file_info); |
| 1137 *entry->mutable_file_info() = entry_file_info; | 1137 *entry->mutable_file_info() = entry_file_info; |
| 1138 callback.Run(FILE_ERROR_OK, entry.Pass()); | 1138 callback.Run(FILE_ERROR_OK, entry.Pass()); |
| 1139 } | 1139 } |
| 1140 | 1140 |
| 1141 } // namespace drive | 1141 } // namespace drive |
| OLD | NEW |