Chromium Code Reviews| Index: chrome/browser/chromeos/drive/fileapi/async_file_util.cc |
| diff --git a/chrome/browser/chromeos/drive/fileapi/async_file_util.cc b/chrome/browser/chromeos/drive/fileapi/async_file_util.cc |
| index f13893fb6f0ca1c5ba0d1ae5caca6f86aeb63b8b..e70dde6e5222e52586cc0a374df52486c39d9164 100644 |
| --- a/chrome/browser/chromeos/drive/fileapi/async_file_util.cc |
| +++ b/chrome/browser/chromeos/drive/fileapi/async_file_util.cc |
| @@ -9,6 +9,7 @@ |
| #include "base/logging.h" |
| #include "base/platform_file.h" |
| #include "base/threading/sequenced_worker_pool.h" |
| +#include "chrome/browser/chromeos/drive/drive_integration_service.h" |
| #include "chrome/browser/chromeos/drive/file_system_util.h" |
| #include "chrome/browser/chromeos/drive/fileapi/fileapi_worker.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -46,7 +47,7 @@ void PostFileSystemCallback( |
| // Runs CreateOrOpenFile callback based on the given |error| and |file|. |
| void RunCreateOrOpenFileCallback( |
| - const AsyncFileUtil::FileSystemGetter& file_system_getter, |
| + const fileapi_internal::FileSystemGetter& file_system_getter, |
| const base::FilePath& file_path, |
| const AsyncFileUtil::CreateOrOpenCallback& callback, |
| base::File::Error error, |
| @@ -114,8 +115,7 @@ void RunCreateSnapshotFileCallback( |
| } // namespace |
| -AsyncFileUtil::AsyncFileUtil(const FileSystemGetter& file_system_getter) |
| - : file_system_getter_(file_system_getter) { |
| +AsyncFileUtil::AsyncFileUtil() { |
| } |
| AsyncFileUtil::~AsyncFileUtil() { |
| @@ -137,13 +137,15 @@ void AsyncFileUtil::CreateOrOpen( |
| return; |
| } |
| + const fileapi_internal::FileSystemGetter getter = |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url); |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + getter, |
| base::Bind(&fileapi_internal::OpenFile, |
| file_path, file_flags, |
| google_apis::CreateRelayCallback( |
| base::Bind(&RunCreateOrOpenFileCallback, |
| - file_system_getter_, file_path, callback))), |
| + getter, file_path, callback))), |
| base::Bind(&RunCreateOrOpenFileCallbackOnError, |
| callback, base::File::FILE_ERROR_FAILED)); |
| } |
| @@ -161,7 +163,7 @@ void AsyncFileUtil::EnsureFileExists( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::CreateFile, |
| file_path, true /* is_exlusive */, |
| google_apis::CreateRelayCallback( |
| @@ -184,7 +186,7 @@ void AsyncFileUtil::CreateDirectory( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::CreateDirectory, |
| file_path, exclusive, recursive, |
| google_apis::CreateRelayCallback(callback)), |
| @@ -204,7 +206,7 @@ void AsyncFileUtil::GetFileInfo( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::GetFileInfo, |
| file_path, google_apis::CreateRelayCallback(callback)), |
| base::Bind(callback, base::File::FILE_ERROR_FAILED, |
| @@ -224,7 +226,7 @@ void AsyncFileUtil::ReadDirectory( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::ReadDirectory, |
| file_path, google_apis::CreateRelayCallback(callback)), |
| base::Bind(callback, base::File::FILE_ERROR_FAILED, |
| @@ -246,7 +248,7 @@ void AsyncFileUtil::Touch( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::TouchFile, |
| file_path, last_access_time, last_modified_time, |
| google_apis::CreateRelayCallback(callback)), |
| @@ -267,7 +269,7 @@ void AsyncFileUtil::Truncate( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::Truncate, |
| file_path, length, google_apis::CreateRelayCallback(callback)), |
| base::Bind(callback, base::File::FILE_ERROR_FAILED)); |
| @@ -289,8 +291,9 @@ void AsyncFileUtil::CopyFileLocal( |
| return; |
| } |
| + // Check that src_url and dest_url are from the same profile. |
|
hashimoto
2014/02/04 05:44:36
What does this comment mean?
New check is introduc
kinaba
2014/02/04 06:10:59
Oops, I meant TODO comment by this. Updated in det
|
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, dest_url), |
| base::Bind( |
| &fileapi_internal::Copy, |
| src_path, dest_path, |
| @@ -314,8 +317,9 @@ void AsyncFileUtil::MoveFileLocal( |
| return; |
| } |
| + // Check that src_url and dest_url are from the same profile. |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, dest_url), |
| base::Bind( |
| &fileapi_internal::Move, |
| src_path, dest_path, |
| @@ -338,7 +342,7 @@ void AsyncFileUtil::CopyInForeignFile( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, dest_url), |
| base::Bind(&fileapi_internal::CopyInForeignFile, |
| src_file_path, dest_path, |
| google_apis::CreateRelayCallback(callback)), |
| @@ -358,7 +362,7 @@ void AsyncFileUtil::DeleteFile( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::Remove, |
| file_path, false /* not recursive */, |
| google_apis::CreateRelayCallback(callback)), |
| @@ -378,7 +382,7 @@ void AsyncFileUtil::DeleteDirectory( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::Remove, |
| file_path, false /* not recursive */, |
| google_apis::CreateRelayCallback(callback)), |
| @@ -398,7 +402,7 @@ void AsyncFileUtil::DeleteRecursively( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::Remove, |
| file_path, true /* recursive */, |
| google_apis::CreateRelayCallback(callback)), |
| @@ -421,7 +425,7 @@ void AsyncFileUtil::CreateSnapshotFile( |
| } |
| PostFileSystemCallback( |
| - file_system_getter_, |
| + base::Bind(&fileapi_internal::GetFileSystemFromUrl, url), |
| base::Bind(&fileapi_internal::CreateSnapshotFile, |
| file_path, |
| google_apis::CreateRelayCallback( |