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, |