X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fchromeos%2Fdrive%2Ffile_system.cc;h=c452eb8fcbf3777291854bd135d1d15ad137e301;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=eb3069ea63e7ca31076874978a8a28d4fcbbb6e1;hpb=b1be5ca53587d23e7aeb77b26861fdc0a181ffd8;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/chromeos/drive/file_system.cc b/src/chrome/browser/chromeos/drive/file_system.cc index eb3069e..c452eb8 100644 --- a/src/chrome/browser/chromeos/drive/file_system.cc +++ b/src/chrome/browser/chromeos/drive/file_system.cc @@ -11,6 +11,7 @@ #include "chrome/browser/chromeos/drive/directory_loader.h" #include "chrome/browser/chromeos/drive/drive.pb.h" #include "chrome/browser/chromeos/drive/file_cache.h" +#include "chrome/browser/chromeos/drive/file_change.h" #include "chrome/browser/chromeos/drive/file_system/copy_operation.h" #include "chrome/browser/chromeos/drive/file_system/create_directory_operation.h" #include "chrome/browser/chromeos/drive/file_system/create_file_operation.h" @@ -292,7 +293,7 @@ void FileSystem::Reset(const FileOperationCallback& callback) { } void FileSystem::ResetComponents() { - file_system::OperationObserver* observer = this; + file_system::OperationDelegate* delegate = this; about_resource_loader_.reset(new internal::AboutResourceLoader(scheduler_)); loader_controller_.reset(new internal::LoaderController); @@ -314,7 +315,7 @@ void FileSystem::ResetComponents() { directory_loader_->AddObserver(this); sync_client_.reset(new internal::SyncClient(blocking_task_runner_.get(), - observer, + delegate, scheduler_, resource_metadata_, cache_, @@ -322,47 +323,45 @@ void FileSystem::ResetComponents() { temporary_file_directory_)); copy_operation_.reset( - new file_system::CopyOperation( - blocking_task_runner_.get(), - observer, - scheduler_, - resource_metadata_, - cache_, - drive_service_->GetResourceIdCanonicalizer())); + new file_system::CopyOperation(blocking_task_runner_.get(), + delegate, + scheduler_, + resource_metadata_, + cache_)); create_directory_operation_.reset(new file_system::CreateDirectoryOperation( - blocking_task_runner_.get(), observer, resource_metadata_)); + blocking_task_runner_.get(), delegate, resource_metadata_)); create_file_operation_.reset( new file_system::CreateFileOperation(blocking_task_runner_.get(), - observer, + delegate, resource_metadata_)); move_operation_.reset( new file_system::MoveOperation(blocking_task_runner_.get(), - observer, + delegate, resource_metadata_)); open_file_operation_.reset( new file_system::OpenFileOperation(blocking_task_runner_.get(), - observer, + delegate, scheduler_, resource_metadata_, cache_, temporary_file_directory_)); remove_operation_.reset( new file_system::RemoveOperation(blocking_task_runner_.get(), - observer, + delegate, resource_metadata_, cache_)); touch_operation_.reset(new file_system::TouchOperation( - blocking_task_runner_.get(), observer, resource_metadata_)); + blocking_task_runner_.get(), delegate, resource_metadata_)); truncate_operation_.reset( new file_system::TruncateOperation(blocking_task_runner_.get(), - observer, + delegate, scheduler_, resource_metadata_, cache_, temporary_file_directory_)); download_operation_.reset( new file_system::DownloadOperation(blocking_task_runner_.get(), - observer, + delegate, scheduler_, resource_metadata_, cache_, @@ -373,7 +372,7 @@ void FileSystem::ResetComponents() { get_file_for_saving_operation_.reset( new file_system::GetFileForSavingOperation(logger_, blocking_task_runner_.get(), - observer, + delegate, scheduler_, resource_metadata_, cache_, @@ -788,9 +787,11 @@ void FileSystem::SearchMetadata(const std::string& query, callback); } -void FileSystem::OnDirectoryChangedByOperation( - const base::FilePath& directory_path) { - OnDirectoryChanged(directory_path); +void FileSystem::OnFileChangedByOperation(const FileChange& changed_files) { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + + FOR_EACH_OBSERVER( + FileSystemObserver, observers_, OnFileChanged(changed_files)); } void FileSystem::OnEntryUpdatedByOperation(const std::string& local_id) { @@ -824,11 +825,23 @@ void FileSystem::OnDriveSyncErrorAfterGetFilePath( OnDriveSyncError(type, *file_path)); } -void FileSystem::OnDirectoryChanged(const base::FilePath& directory_path) { +bool FileSystem::WaitForSyncComplete(const std::string& local_id, + const FileOperationCallback& callback) { + return sync_client_->WaitForUpdateTaskToComplete(local_id, callback); +} + +void FileSystem::OnDirectoryReloaded(const base::FilePath& directory_path) { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + + FOR_EACH_OBSERVER( + FileSystemObserver, observers_, OnDirectoryChanged(directory_path)); +} + +void FileSystem::OnFileChanged(const FileChange& changed_files) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - FOR_EACH_OBSERVER(FileSystemObserver, observers_, - OnDirectoryChanged(directory_path)); + FOR_EACH_OBSERVER( + FileSystemObserver, observers_, OnFileChanged(changed_files)); } void FileSystem::OnLoadFromServerComplete() {