Chromium Code Reviews| Index: webkit/fileapi/obfuscated_file_system_file_util.cc |
| diff --git a/webkit/fileapi/obfuscated_file_system_file_util.cc b/webkit/fileapi/obfuscated_file_system_file_util.cc |
| index b28dc92ce200025c9ed23403b2f27f5f8856728c..8c13fa32fab292ab7dca32ceb1b74378fd4849ec 100644 |
| --- a/webkit/fileapi/obfuscated_file_system_file_util.cc |
| +++ b/webkit/fileapi/obfuscated_file_system_file_util.cc |
| @@ -178,20 +178,8 @@ PlatformFileError ObfuscatedFileSystemFileUtil::GetFileInfo( |
| NOTREACHED(); |
| return base::PLATFORM_FILE_ERROR_FAILED; |
| } |
| - if (local_info.is_directory()) { |
| - file_info->is_directory = true; |
| - file_info->is_symbolic_link = false; |
| - file_info->last_modified = local_info.modification_time; |
| - *platform_file_path = FilePath(); |
| - // We don't fill in ctime or atime. |
| - return base::PLATFORM_FILE_OK; |
| - } |
| - if (local_info.data_path.empty()) |
| - return base::PLATFORM_FILE_ERROR_INVALID_OPERATION; |
| - FilePath data_path = DataPathToLocalPath(context->src_origin_url(), |
| - context->src_type(), local_info.data_path); |
| - return underlying_file_util_->GetFileInfo( |
| - context, data_path, file_info, platform_file_path); |
| + return GetPlatformFileInfo(context, file_id, local_info, |
| + file_info, platform_file_path); |
| } |
| PlatformFileError ObfuscatedFileSystemFileUtil::ReadDirectory( |
| @@ -232,9 +220,21 @@ PlatformFileError ObfuscatedFileSystemFileUtil::ReadDirectory( |
| NOTREACHED(); |
| return base::PLATFORM_FILE_ERROR_FAILED; |
| } |
| + |
| + base::PlatformFileInfo platform_file_info; |
| + FilePath file_path; |
| + if (GetPlatformFileInfo(context, file_id, file_info, |
| + &platform_file_info, &file_path) != |
| + base::PLATFORM_FILE_OK) { |
| + NOTREACHED(); |
| + return base::PLATFORM_FILE_ERROR_FAILED; |
| + } |
| + |
| base::FileUtilProxy::Entry entry; |
| entry.name = file_info.name; |
| entry.is_directory = file_info.is_directory(); |
| + entry.size = entry.is_directory ? 0 : platform_file_info.size; |
| + entry.last_modified_time = platform_file_info.last_modified; |
| entries->push_back(entry); |
| } |
| return base::PLATFORM_FILE_OK; |
| @@ -721,6 +721,32 @@ ObfuscatedFileSystemFileUtil::CreateFileEnumerator( |
| return new ObfuscatedFileSystemFileEnumerator(db, root_path); |
| } |
| +PlatformFileError ObfuscatedFileSystemFileUtil::GetPlatformFileInfo( |
|
kinuko
2011/07/13 07:56:51
This naming may be confusing as it could be return
tzik
2011/07/13 08:30:44
Done.
|
| + FileSystemOperationContext* context, |
| + FileId file_id, |
| + const FileInfo& local_info, |
| + base::PlatformFileInfo* file_info, |
| + FilePath* platform_file_path) { |
| + FileSystemDirectoryDatabase* db = GetDirectoryDatabase( |
|
kinuko
2011/07/13 07:56:51
Can we pass this pointer as a parameter? (Actuall
tzik
2011/07/13 08:30:44
Done.
|
| + context->src_origin_url(), context->src_type(), false); |
| + if (!db) |
| + return base::PLATFORM_FILE_ERROR_NOT_FOUND; |
| + if (local_info.is_directory()) { |
| + file_info->is_directory = true; |
| + file_info->is_symbolic_link = false; |
| + file_info->last_modified = local_info.modification_time; |
| + *platform_file_path = FilePath(); |
| + // We don't fill in ctime or atime. |
| + return base::PLATFORM_FILE_OK; |
| + } |
| + if (local_info.data_path.empty()) |
| + return base::PLATFORM_FILE_ERROR_INVALID_OPERATION; |
| + FilePath data_path = DataPathToLocalPath(context->src_origin_url(), |
| + context->src_type(), local_info.data_path); |
| + return underlying_file_util_->GetFileInfo( |
| + context, data_path, file_info, platform_file_path); |
| +} |
| + |
| PlatformFileError ObfuscatedFileSystemFileUtil::CreateFile( |
| FileSystemOperationContext* context, |
| const GURL& origin_url, FileSystemType type, const FilePath& source_path, |