Change the type of file_type parameter to int, as the parameter actually takes or-ed bitmasks,
to remove static_cast<> in the callers.

BUG=139130
TEST=try bots

Review URL: https://chromiumcodereview.appspot.com/10855002

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


CrOS-Libchrome-Original-Commit: 84c3f1642184211bcf188e8f9ed763603af57511
diff --git a/base/file_util.cc b/base/file_util.cc
index d536475..abc7557 100644
--- a/base/file_util.cc
+++ b/base/file_util.cc
@@ -170,8 +170,7 @@
 
 bool IsDirectoryEmpty(const FilePath& dir_path) {
   FileEnumerator files(dir_path, false,
-      static_cast<FileEnumerator::FileType>(
-          FileEnumerator::FILES | FileEnumerator::DIRECTORIES));
+      FileEnumerator::FILES | FileEnumerator::DIRECTORIES);
   if (files.Next().value().empty())
     return true;
   return false;
diff --git a/base/file_util.h b/base/file_util.h
index a868112..911ee0d 100644
--- a/base/file_util.h
+++ b/base/file_util.h
@@ -523,8 +523,8 @@
   // files in one directory will be returned before any files in a
   // subdirectory.
   //
-  // |file_type| specifies whether the enumerator should match files,
-  // directories, or both.
+  // |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".
@@ -537,10 +537,10 @@
   // TODO(erikkay): Fix the pattern matching to work at all levels.
   FileEnumerator(const FilePath& root_path,
                  bool recursive,
-                 FileType file_type);
+                 int file_type);
   FileEnumerator(const FilePath& root_path,
                  bool recursive,
-                 FileType file_type,
+                 int file_type,
                  const FilePath::StringType& pattern);
   ~FileEnumerator();
 
@@ -587,7 +587,7 @@
 
   FilePath root_path_;
   bool recursive_;
-  FileType file_type_;
+  int file_type_;
   FilePath::StringType pattern_;  // Empty when we want to find everything.
 
   // A stack that keeps track of which subdirectories we still need to
diff --git a/base/file_util_posix.cc b/base/file_util_posix.cc
index 6100e10..ed60e06 100644
--- a/base/file_util_posix.cc
+++ b/base/file_util_posix.cc
@@ -227,9 +227,9 @@
   bool success = true;
   std::stack<std::string> directories;
   directories.push(path.value());
-  FileEnumerator traversal(path, true, static_cast<FileEnumerator::FileType>(
-        FileEnumerator::FILES | FileEnumerator::DIRECTORIES |
-        FileEnumerator::SHOW_SYM_LINKS));
+  FileEnumerator traversal(path, true,
+      FileEnumerator::FILES | FileEnumerator::DIRECTORIES |
+      FileEnumerator::SHOW_SYM_LINKS);
   for (FilePath current = traversal.Next(); success && !current.empty();
        current = traversal.Next()) {
     FileEnumerator::FindInfo info;
@@ -315,12 +315,9 @@
     return false;
 
   bool success = true;
-  FileEnumerator::FileType traverse_type =
-      static_cast<FileEnumerator::FileType>(FileEnumerator::FILES |
-      FileEnumerator::SHOW_SYM_LINKS);
+  int traverse_type = FileEnumerator::FILES | FileEnumerator::SHOW_SYM_LINKS;
   if (recursive)
-    traverse_type = static_cast<FileEnumerator::FileType>(
-        traverse_type | FileEnumerator::DIRECTORIES);
+    traverse_type |= FileEnumerator::DIRECTORIES;
   FileEnumerator traversal(from_path, recursive, traverse_type);
 
   // We have to mimic windows behavior here. |to_path| may not exist yet,
@@ -743,7 +740,7 @@
 
 FileEnumerator::FileEnumerator(const FilePath& root_path,
                                bool recursive,
-                               FileType file_type)
+                               int file_type)
     : current_directory_entry_(0),
       root_path_(root_path),
       recursive_(recursive),
@@ -755,7 +752,7 @@
 
 FileEnumerator::FileEnumerator(const FilePath& root_path,
                                bool recursive,
-                               FileType file_type,
+                               int file_type,
                                const FilePath::StringType& pattern)
     : current_directory_entry_(0),
       root_path_(root_path),
diff --git a/base/file_util_unittest.cc b/base/file_util_unittest.cc
index b471f88..5a99983 100644
--- a/base/file_util_unittest.cc
+++ b/base/file_util_unittest.cc
@@ -130,10 +130,8 @@
 
 const wchar_t bogus_content[] = L"I'm cannon fodder.";
 
-const file_util::FileEnumerator::FileType FILES_AND_DIRECTORIES =
-    static_cast<file_util::FileEnumerator::FileType>(
-        file_util::FileEnumerator::FILES |
-        file_util::FileEnumerator::DIRECTORIES);
+const int FILES_AND_DIRECTORIES =
+    file_util::FileEnumerator::FILES | file_util::FileEnumerator::DIRECTORIES;
 
 // file_util winds up using autoreleased objects on the Mac, so this needs
 // to be a PlatformTest
@@ -1867,8 +1865,7 @@
 
   // Test an empty directory, non-recursively, including "..".
   file_util::FileEnumerator f0_dotdot(temp_dir_.path(), false,
-      static_cast<file_util::FileEnumerator::FileType>(
-          FILES_AND_DIRECTORIES | file_util::FileEnumerator::INCLUDE_DOT_DOT));
+      FILES_AND_DIRECTORIES | file_util::FileEnumerator::INCLUDE_DOT_DOT);
   EXPECT_EQ(temp_dir_.path().Append(FILE_PATH_LITERAL("..")).value(),
             f0_dotdot.Next().value());
   EXPECT_EQ(FILE_PATH_LITERAL(""),
@@ -1923,11 +1920,9 @@
   EXPECT_EQ(c2_non_recursive.size(), 2);
 
   // Only enumerate directories, non-recursively, including "..".
-  file_util::FileEnumerator f2_dotdot(
-      temp_dir_.path(), false,
-      static_cast<file_util::FileEnumerator::FileType>(
-          file_util::FileEnumerator::DIRECTORIES |
-          file_util::FileEnumerator::INCLUDE_DOT_DOT));
+  file_util::FileEnumerator f2_dotdot(temp_dir_.path(), false,
+      file_util::FileEnumerator::DIRECTORIES |
+      file_util::FileEnumerator::INCLUDE_DOT_DOT);
   FindResultCollector c2_dotdot(f2_dotdot);
   EXPECT_TRUE(c2_dotdot.HasFile(dir1));
   EXPECT_TRUE(c2_dotdot.HasFile(dir2));
diff --git a/base/test/test_file_util_posix.cc b/base/test/test_file_util_posix.cc
index 67c450f..5ebf335 100644
--- a/base/test/test_file_util_posix.cc
+++ b/base/test/test_file_util_posix.cc
@@ -101,9 +101,8 @@
     return false;
 
   bool success = true;
-  FileEnumerator::FileType traverse_type =
-      static_cast<FileEnumerator::FileType>(FileEnumerator::FILES |
-      FileEnumerator::SHOW_SYM_LINKS | FileEnumerator::DIRECTORIES);
+  int traverse_type = FileEnumerator::FILES |
+      FileEnumerator::SHOW_SYM_LINKS | FileEnumerator::DIRECTORIES;
   FileEnumerator traversal(source_dir, true, traverse_type);
 
   // dest_dir may not exist yet, start the loop with dest_dir