Index: webkit/fileapi/file_system_file_util.cc |
diff --git a/webkit/fileapi/file_system_file_util.cc b/webkit/fileapi/file_system_file_util.cc |
index c6b4fac820716680e300edb90ade2774b03d2c58..467c38e0e4ced6cf32034603a4ebc7d758364560 100644 |
--- a/webkit/fileapi/file_system_file_util.cc |
+++ b/webkit/fileapi/file_system_file_util.cc |
@@ -520,21 +520,28 @@ class FileSystemFileEnumerator |
~FileSystemFileEnumerator() {} |
- virtual FilePath Next(); |
- virtual bool IsDirectory(); |
+ virtual FilePath Next() OVERRIDE; |
+ virtual int64 Size() OVERRIDE; |
+ virtual bool IsDirectory() OVERRIDE; |
private: |
file_util::FileEnumerator file_enum_; |
+ file_util::FileEnumerator::FindInfo file_util_info_; |
}; |
FilePath FileSystemFileEnumerator::Next() { |
- return file_enum_.Next(); |
+ FilePath rv = file_enum_.Next(); |
+ if (!rv.empty()) |
+ file_enum_.GetFindInfo(&file_util_info_); |
+ return rv; |
+} |
+ |
+int64 FileSystemFileEnumerator::Size() { |
+ return file_util::FileEnumerator::GetFilesize(file_util_info_); |
} |
bool FileSystemFileEnumerator::IsDirectory() { |
- file_util::FileEnumerator::FindInfo file_util_info; |
- file_enum_.GetFindInfo(&file_util_info); |
- return file_util::FileEnumerator::IsDirectory(file_util_info); |
+ return file_util::FileEnumerator::IsDirectory(file_util_info_); |
} |
FileSystemFileUtil::AbstractFileEnumerator* |