| Index: base/file_util.h
 | 
| diff --git a/base/file_util.h b/base/file_util.h
 | 
| index 4ffd05babda8018f625cbf237d2101a058604bae..b9bb6eb258585df6ea9335b910839db0f581ffb4 100644
 | 
| --- a/base/file_util.h
 | 
| +++ b/base/file_util.h
 | 
| @@ -20,7 +20,6 @@
 | 
|  #include <stdio.h>
 | 
|  
 | 
|  #include <set>
 | 
| -#include <stack>
 | 
|  #include <string>
 | 
|  #include <vector>
 | 
|  
 | 
| @@ -117,9 +116,9 @@ BASE_EXPORT bool CopyFileUnsafe(const base::FilePath& from_path,
 | 
|  
 | 
|  // Copies the given path, and optionally all subdirectories and their contents
 | 
|  // as well.
 | 
| -// If there are files existing under to_path, always overwrite.
 | 
| -// Returns true if successful, false otherwise.
 | 
| -// Don't use wildcards on the names, it may stop working without notice.
 | 
| +//
 | 
| +// If there are files existing under to_path, always overwrite. Returns true
 | 
| +// if successful, false otherwise. Wildcards on the names are not supported.
 | 
|  //
 | 
|  // If you only need to copy a file use CopyFile, it's faster.
 | 
|  BASE_EXPORT bool CopyDirectory(const base::FilePath& from_path,
 | 
| @@ -422,113 +421,6 @@ class ScopedFDClose {
 | 
|  typedef scoped_ptr_malloc<int, ScopedFDClose> ScopedFD;
 | 
|  #endif  // OS_POSIX
 | 
|  
 | 
| -// A class for enumerating the files in a provided path. The order of the
 | 
| -// results is not guaranteed.
 | 
| -//
 | 
| -// DO NOT USE FROM THE MAIN THREAD of your application unless it is a test
 | 
| -// program where latency does not matter. This class is blocking.
 | 
| -class BASE_EXPORT FileEnumerator {
 | 
| - public:
 | 
| -#if defined(OS_WIN)
 | 
| -  typedef WIN32_FIND_DATA FindInfo;
 | 
| -#elif defined(OS_POSIX)
 | 
| -  typedef struct {
 | 
| -    struct stat stat;
 | 
| -    std::string filename;
 | 
| -  } FindInfo;
 | 
| -#endif
 | 
| -
 | 
| -  enum FileType {
 | 
| -    FILES                 = 1 << 0,
 | 
| -    DIRECTORIES           = 1 << 1,
 | 
| -    INCLUDE_DOT_DOT       = 1 << 2,
 | 
| -#if defined(OS_POSIX)
 | 
| -    SHOW_SYM_LINKS        = 1 << 4,
 | 
| -#endif
 | 
| -  };
 | 
| -
 | 
| -  // |root_path| is the starting directory to search for. It may or may not end
 | 
| -  // in a slash.
 | 
| -  //
 | 
| -  // If |recursive| is true, this will enumerate all matches in any
 | 
| -  // subdirectories matched as well. It does a breadth-first search, so all
 | 
| -  // files in one directory will be returned before any files in a
 | 
| -  // subdirectory.
 | 
| -  //
 | 
| -  // |file_type|, a bit mask of FileType, specifies whether the enumerator
 | 
| -  // should match files, directories, or both.
 | 
| -  //
 | 
| -  // |pattern| is an optional pattern for which files to match. This
 | 
| -  // works like shell globbing. For example, "*.txt" or "Foo???.doc".
 | 
| -  // However, be careful in specifying patterns that aren't cross platform
 | 
| -  // since the underlying code uses OS-specific matching routines.  In general,
 | 
| -  // Windows matching is less featureful than others, so test there first.
 | 
| -  // If unspecified, this will match all files.
 | 
| -  // NOTE: the pattern only matches the contents of root_path, not files in
 | 
| -  // recursive subdirectories.
 | 
| -  // TODO(erikkay): Fix the pattern matching to work at all levels.
 | 
| -  FileEnumerator(const base::FilePath& root_path,
 | 
| -                 bool recursive,
 | 
| -                 int file_type);
 | 
| -  FileEnumerator(const base::FilePath& root_path,
 | 
| -                 bool recursive,
 | 
| -                 int file_type,
 | 
| -                 const base::FilePath::StringType& pattern);
 | 
| -  ~FileEnumerator();
 | 
| -
 | 
| -  // Returns an empty string if there are no more results.
 | 
| -  base::FilePath Next();
 | 
| -
 | 
| -  // Write the file info into |info|.
 | 
| -  void GetFindInfo(FindInfo* info);
 | 
| -
 | 
| -  // Looks inside a FindInfo and determines if it's a directory.
 | 
| -  static bool IsDirectory(const FindInfo& info);
 | 
| -
 | 
| -  static base::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.
 | 
| -  bool ShouldSkip(const base::FilePath& path);
 | 
| -
 | 
| -
 | 
| -#if defined(OS_WIN)
 | 
| -  // True when find_data_ is valid.
 | 
| -  bool has_find_data_;
 | 
| -  WIN32_FIND_DATA find_data_;
 | 
| -  HANDLE find_handle_;
 | 
| -#elif defined(OS_POSIX)
 | 
| -  struct DirectoryEntryInfo {
 | 
| -    base::FilePath filename;
 | 
| -    struct stat stat;
 | 
| -  };
 | 
| -
 | 
| -  // Read the filenames in source into the vector of DirectoryEntryInfo's
 | 
| -  static bool ReadDirectory(std::vector<DirectoryEntryInfo>* entries,
 | 
| -                            const base::FilePath& source, bool show_links);
 | 
| -
 | 
| -  // The files in the current directory
 | 
| -  std::vector<DirectoryEntryInfo> directory_entries_;
 | 
| -
 | 
| -  // The next entry to use from the directory_entries_ vector
 | 
| -  size_t current_directory_entry_;
 | 
| -#endif
 | 
| -
 | 
| -  base::FilePath root_path_;
 | 
| -  bool recursive_;
 | 
| -  int file_type_;
 | 
| -  base::FilePath::StringType pattern_;  // Empty when we want to find
 | 
| -                                        // everything.
 | 
| -
 | 
| -  // A stack that keeps track of which subdirectories we still need to
 | 
| -  // enumerate in the breadth-first search.
 | 
| -  std::stack<base::FilePath> pending_paths_;
 | 
| -
 | 
| -  DISALLOW_COPY_AND_ASSIGN(FileEnumerator);
 | 
| -};
 | 
| -
 | 
|  #if defined(OS_LINUX)
 | 
|  // Broad categories of file systems as returned by statfs() on Linux.
 | 
|  enum FileSystemType {
 | 
| 
 |