diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-08 04:53:36 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-08 04:53:36 +0000 |
commit | 25a4c1ccaee2b032ee368d733b79ac814efd7c37 (patch) | |
tree | 589cd0233167acf4a3fe7bdaf50cea24ad505b7b /chrome/installer/setup/uninstall.cc | |
parent | aff39ac8a8ea09920b9180ebc09d72c15832f3ad (diff) | |
download | chromium_src-25a4c1ccaee2b032ee368d733b79ac814efd7c37.zip chromium_src-25a4c1ccaee2b032ee368d733b79ac814efd7c37.tar.gz chromium_src-25a4c1ccaee2b032ee368d733b79ac814efd7c37.tar.bz2 |
Move FileEnumerator to its own file, do some refactoring.
It creates a class FileInfo to contain the details rather than using a platform-specific typedef. This allows the accessors GetName, GetSize, etc. to be moved directly to this class (previously they were static helpers on the FileEnumerator class) which makes a bunch of code much cleaner. It also gives reasonable getting and initialization which the previous version lacked.
BUG=175002
Reland of 198820 and 298824
Original review = https://codereview.chromium.org/13165005
R=rvargas@chromium.org
Review URL: https://codereview.chromium.org/16392011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205019 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/setup/uninstall.cc')
-rw-r--r-- | chrome/installer/setup/uninstall.cc | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc index 3ecfdc6..ac558b4 100644 --- a/chrome/installer/setup/uninstall.cc +++ b/chrome/installer/setup/uninstall.cc @@ -11,6 +11,7 @@ #include <vector> #include "base/file_util.h" +#include "base/files/file_enumerator.h" #include "base/path_service.h" #include "base/process_util.h" #include "base/string16.h" @@ -253,11 +254,10 @@ void CheckShouldRemoveSetupAndArchive( // Returns false in case of an error. bool RemoveInstallerFiles(const base::FilePath& installer_directory, bool remove_setup) { - using file_util::FileEnumerator; - FileEnumerator file_enumerator( + base::FileEnumerator file_enumerator( installer_directory, false, - FileEnumerator::FILES | FileEnumerator::DIRECTORIES); + base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); bool success = true; base::FilePath setup_exe_base_name(installer::kSetupExe); @@ -573,9 +573,8 @@ DeleteResult DeleteChromeFilesAndFolders(const InstallerState& installer_state, // directory. For parents of the installer directory, we will later recurse // and delete all the children (that are not also parents/children of the // installer directory). - using file_util::FileEnumerator; - FileEnumerator file_enumerator( - target_path, true, FileEnumerator::FILES | FileEnumerator::DIRECTORIES); + base::FileEnumerator file_enumerator(target_path, true, + base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); while (true) { base::FilePath to_delete(file_enumerator.Next()); if (to_delete.empty()) @@ -596,9 +595,8 @@ DeleteResult DeleteChromeFilesAndFolders(const InstallerState& installer_state, // We don't try killing Chrome processes for Chrome Frame builds since // that is unlikely to help. Instead, schedule files for deletion and // return a value that will trigger a reboot prompt. - FileEnumerator::FindInfo find_info; - file_enumerator.GetFindInfo(&find_info); - if (FileEnumerator::IsDirectory(find_info)) + base::FileEnumerator::FileInfo find_info = file_enumerator.GetInfo(); + if (find_info.IsDirectory()) ScheduleDirectoryForDeletion(to_delete.value().c_str()); else ScheduleFileSystemEntityForDeletion(to_delete.value().c_str()); |