Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: trunk/src/net/base/directory_lister.cc

Issue 14824006: Revert 198820 "Move FileEnumerator to its own file, do some refa..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « trunk/src/net/base/directory_lister.h ('k') | trunk/src/net/base/directory_lister_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/net/base/directory_lister.cc
===================================================================
--- trunk/src/net/base/directory_lister.cc (revision 198849)
+++ trunk/src/net/base/directory_lister.cc (working copy)
@@ -9,7 +9,6 @@
#include "base/bind.h"
#include "base/file_util.h"
-#include "base/files/file_enumerator.h"
#include "base/i18n/file_util_icu.h"
#include "base/message_loop.h"
#include "base/threading/thread_restrictions.h"
@@ -32,35 +31,47 @@
bool CompareAlphaDirsFirst(const DirectoryLister::DirectoryListerData& a,
const DirectoryLister::DirectoryListerData& b) {
// Parent directory before all else.
- if (IsDotDot(a.info.GetName()))
+ if (IsDotDot(file_util::FileEnumerator::GetFilename(a.info)))
return true;
- if (IsDotDot(b.info.GetName()))
+ if (IsDotDot(file_util::FileEnumerator::GetFilename(b.info)))
return false;
// Directories before regular files.
- bool a_is_directory = a.info.IsDirectory();
- bool b_is_directory = b.info.IsDirectory();
+ bool a_is_directory = file_util::FileEnumerator::IsDirectory(a.info);
+ bool b_is_directory = file_util::FileEnumerator::IsDirectory(b.info);
if (a_is_directory != b_is_directory)
return a_is_directory;
- return file_util::LocaleAwareCompareFilenames(a.info.GetName(),
- b.info.GetName());
+ return file_util::LocaleAwareCompareFilenames(
+ file_util::FileEnumerator::GetFilename(a.info),
+ file_util::FileEnumerator::GetFilename(b.info));
}
bool CompareDate(const DirectoryLister::DirectoryListerData& a,
const DirectoryLister::DirectoryListerData& b) {
// Parent directory before all else.
- if (IsDotDot(a.info.GetName()))
+ if (IsDotDot(file_util::FileEnumerator::GetFilename(a.info)))
return true;
- if (IsDotDot(b.info.GetName()))
+ if (IsDotDot(file_util::FileEnumerator::GetFilename(b.info)))
return false;
// Directories before regular files.
- bool a_is_directory = a.info.IsDirectory();
- bool b_is_directory = b.info.IsDirectory();
+ bool a_is_directory = file_util::FileEnumerator::IsDirectory(a.info);
+ bool b_is_directory = file_util::FileEnumerator::IsDirectory(b.info);
if (a_is_directory != b_is_directory)
return a_is_directory;
- return a.info.GetLastModifiedTime() > b.info.GetLastModifiedTime();
+#if defined(OS_POSIX)
+ return a.info.stat.st_mtime > b.info.stat.st_mtime;
+#elif defined(OS_WIN)
+ if (a.info.ftLastWriteTime.dwHighDateTime ==
+ b.info.ftLastWriteTime.dwHighDateTime) {
+ return a.info.ftLastWriteTime.dwLowDateTime >
+ b.info.ftLastWriteTime.dwLowDateTime;
+ } else {
+ return a.info.ftLastWriteTime.dwHighDateTime >
+ b.info.ftLastWriteTime.dwHighDateTime;
+ }
+#endif
}
// Comparator for sorting find result by paths. This uses the locale-aware
@@ -150,17 +161,18 @@
return;
}
- int types = base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES;
+ int types = file_util::FileEnumerator::FILES |
+ file_util::FileEnumerator::DIRECTORIES;
if (!recursive_)
- types |= base::FileEnumerator::INCLUDE_DOT_DOT;
+ types |= file_util::FileEnumerator::INCLUDE_DOT_DOT;
- base::FileEnumerator file_enum(dir_, recursive_, types);
+ file_util::FileEnumerator file_enum(dir_, recursive_, types);
base::FilePath path;
std::vector<DirectoryListerData> file_data;
while (lister_ && !(path = file_enum.Next()).empty()) {
DirectoryListerData data;
- data.info = file_enum.GetInfo();
+ file_enum.GetFindInfo(&data.info);
data.path = path;
file_data.push_back(data);
« no previous file with comments | « trunk/src/net/base/directory_lister.h ('k') | trunk/src/net/base/directory_lister_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698