Adding FileUtilProxy::Entry::{size,last_modified_time},
 and FileEnumerator::{GetFilesize,GetLastModifiedTime}.

BUG=89134
TEST=None


Review URL: http://codereview.chromium.org/7355013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92975 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: f1ddaa4a69d5e6d17d1fc9a1062c26be4712d4fd
diff --git a/base/file_util.h b/base/file_util.h
index 03c2396..6d786c2 100644
--- a/base/file_util.h
+++ b/base/file_util.h
@@ -469,6 +469,8 @@
   static bool IsDirectory(const FindInfo& info);
 
   static FilePath GetFilename(const FindInfo& find_info);
+  static int64 GetFilesize(const FindInfo& find_info);
+  static base::Time GetLastModifiedTime(const FindInfo& find_info);
 
  private:
   // Returns true if the given path should be skipped in enumeration.
diff --git a/base/file_util_posix.cc b/base/file_util_posix.cc
index 2e7c91e..5c9fb14 100644
--- a/base/file_util_posix.cc
+++ b/base/file_util_posix.cc
@@ -735,6 +735,16 @@
   return FilePath(find_info.filename);
 }
 
+// static
+int64 FileEnumerator::GetFilesize(const FindInfo& find_info) {
+  return find_info.stat.st_size;
+}
+
+// static
+base::Time FileEnumerator::GetLastModifiedTime(const FindInfo& find_info) {
+  return base::Time::FromTimeT(find_info.stat.st_mtime);
+}
+
 bool FileEnumerator::ReadDirectory(std::vector<DirectoryEntryInfo>* entries,
                                    const FilePath& source, bool show_links) {
   base::ThreadRestrictions::AssertIOAllowed();
diff --git a/base/file_util_proxy.cc b/base/file_util_proxy.cc
index cff76bd..9b9ed88 100644
--- a/base/file_util_proxy.cc
+++ b/base/file_util_proxy.cc
@@ -451,6 +451,9 @@
       // This will just give the entry's name instead of entire path
       // if we use current.value().
       entry.name = file_util::FileEnumerator::GetFilename(info).value();
+      entry.size = file_util::FileEnumerator::GetFilesize(info);
+      entry.last_modified_time =
+          file_util::FileEnumerator::GetLastModifiedTime(info);
       entries_.push_back(entry);
     }
   }
diff --git a/base/file_util_proxy.h b/base/file_util_proxy.h
index 72591c2..42b9cca 100644
--- a/base/file_util_proxy.h
+++ b/base/file_util_proxy.h
@@ -27,6 +27,8 @@
   struct Entry {
     FilePath::StringType name;
     bool is_directory;
+    int64 size;
+    base::Time last_modified_time;
   };
 
   // This callback is used by methods that report only an error code.  It is