#include "chrome/updater/util/posix_util.h"
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <optional>
#include <string>
#include <vector>
#include "base/files/file.h"
#include "base/files/file_enumerator.h"
#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/threading/scoped_blocking_call.h"
#include "chrome/updater/updater_branding.h"
#include "chrome/updater/util/util.h"
#if BUILDFLAG(IS_LINUX)
#include "chrome/updater/util/linux_util.h"
#endif
#if BUILDFLAG(IS_MAC)
#include "chrome/updater/util/mac_util.h"
#endif
namespace updater {
namespace {
bool AdvanceEnumeratorWithStat(base::FileEnumerator* traversal,
base::FilePath* out_next_path,
base::stat_wrapper_t* out_next_stat) { … }
}
bool DeleteFolder(const std::optional<base::FilePath>& installed_path) { … }
bool DeleteCandidateInstallFolder(UpdaterScope scope) { … }
bool CopyDir(const base::FilePath& from_path,
const base::FilePath& to_path,
bool world_readable) { … }
bool WrongUser(UpdaterScope scope) { … }
bool EulaAccepted(const std::vector<std::string>& app_ids) { … }
}