Commit 725f14c3 authored by Austin Sullivan's avatar Austin Sullivan Committed by Chromium LUCI CQ

Make AsyncFileUtilAdapter take a unique_ptr

Currently takes a raw ptr. The reasoning for such is not strong:
"This doesn't take std::unique_ptr<> just to save extra base::WrapUnique"

Bug: N/A
Change-Id: I5144706466787d7ee23210d61c2f855065e391ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2627132Reviewed-by: default avatarVictor Costan <pwnall@chromium.org>
Reviewed-by: default avatarAustin Tankiang <austinct@chromium.org>
Commit-Queue: Austin Sullivan <asully@chromium.org>
Cr-Commit-Position: refs/heads/master@{#843319}
parent 30030867
......@@ -204,7 +204,8 @@ class DeleteOperation {
} // namespace
DriveFsAsyncFileUtil::DriveFsAsyncFileUtil(Profile* profile)
: AsyncFileUtilAdapter(new DriveFsFileUtil), profile_(profile) {}
: AsyncFileUtilAdapter(std::make_unique<DriveFsFileUtil>()),
profile_(profile) {}
DriveFsAsyncFileUtil::~DriveFsAsyncFileUtil() = default;
......
......@@ -99,7 +99,8 @@ class DeleteRecursivelyOperation {
} // namespace
SmbFsAsyncFileUtil::SmbFsAsyncFileUtil(Profile* profile)
: AsyncFileUtilAdapter(new storage::LocalFileUtil), profile_(profile) {
: AsyncFileUtilAdapter(std::make_unique<storage::LocalFileUtil>()),
profile_(profile) {
DCHECK(profile_);
}
......
......@@ -162,8 +162,9 @@ void RunCreateOrOpenCallback(FileSystemOperationContext* context,
} // namespace
AsyncFileUtilAdapter::AsyncFileUtilAdapter(FileSystemFileUtil* sync_file_util)
: sync_file_util_(sync_file_util) {
AsyncFileUtilAdapter::AsyncFileUtilAdapter(
std::unique_ptr<FileSystemFileUtil> sync_file_util)
: sync_file_util_(std::move(sync_file_util)) {
DCHECK(sync_file_util_.get());
}
......
......@@ -31,11 +31,8 @@ class FileSystemFileUtil;
class COMPONENT_EXPORT(STORAGE_BROWSER) AsyncFileUtilAdapter
: public AsyncFileUtil {
public:
// Creates a new AsyncFileUtil for |sync_file_util|. This takes the
// ownership of |sync_file_util|. (This doesn't take std::unique_ptr<> just
// to save extra base::WrapUnique; in all use cases a new fresh FileUtil is
// created only for this adapter.)
explicit AsyncFileUtilAdapter(FileSystemFileUtil* sync_file_util);
explicit AsyncFileUtilAdapter(
std::unique_ptr<FileSystemFileUtil> sync_file_util);
~AsyncFileUtilAdapter() override;
......
......@@ -38,12 +38,12 @@ IsolatedFileSystemBackend::IsolatedFileSystemBackend(
bool use_for_type_platform_app)
: use_for_type_native_local_(use_for_type_native_local),
use_for_type_platform_app_(use_for_type_platform_app),
isolated_file_util_(
std::make_unique<AsyncFileUtilAdapter>(new LocalFileUtil())),
dragged_file_util_(
std::make_unique<AsyncFileUtilAdapter>(new DraggedFileUtil())),
transient_file_util_(
std::make_unique<AsyncFileUtilAdapter>(new TransientFileUtil())) {}
isolated_file_util_(std::make_unique<AsyncFileUtilAdapter>(
std::make_unique<LocalFileUtil>())),
dragged_file_util_(std::make_unique<AsyncFileUtilAdapter>(
std::make_unique<DraggedFileUtil>())),
transient_file_util_(std::make_unique<AsyncFileUtilAdapter>(
std::make_unique<TransientFileUtil>())) {}
IsolatedFileSystemBackend::~IsolatedFileSystemBackend() = default;
......
......@@ -23,7 +23,7 @@
namespace storage {
AsyncFileUtil* AsyncFileUtil::CreateForLocalFileSystem() {
return new AsyncFileUtilAdapter(new LocalFileUtil());
return new AsyncFileUtilAdapter(std::make_unique<LocalFileUtil>());
}
class LocalFileUtil::LocalFileEnumerator
......
......@@ -103,11 +103,13 @@ PluginPrivateFileSystemBackend::PluginPrivateFileSystemBackend(
base_path_(profile_path.Append(kFileSystemDirectory)
.Append(kPluginPrivateDirectory)),
plugin_map_(new FileSystemIDToPluginMap(file_task_runner)) {
file_util_ = std::make_unique<AsyncFileUtilAdapter>(new ObfuscatedFileUtil(
special_storage_policy, base_path_, env_override,
base::BindRepeating(&FileSystemIDToPluginMap::GetPluginIDForURL,
base::Owned(plugin_map_)),
std::set<std::string>(), nullptr, file_system_options.is_incognito()));
file_util_ = std::make_unique<AsyncFileUtilAdapter>(
std::make_unique<ObfuscatedFileUtil>(
special_storage_policy, base_path_, env_override,
base::BindRepeating(&FileSystemIDToPluginMap::GetPluginIDForURL,
base::Owned(plugin_map_)),
std::set<std::string>(), nullptr,
file_system_options.is_incognito()));
}
PluginPrivateFileSystemBackend::~PluginPrivateFileSystemBackend() {
......
......@@ -188,13 +188,14 @@ SandboxFileSystemBackendDelegate::SandboxFileSystemBackendDelegate(
: file_task_runner_(file_task_runner),
quota_manager_proxy_(quota_manager_proxy),
sandbox_file_util_(std::make_unique<AsyncFileUtilAdapter>(
new ObfuscatedFileUtil(special_storage_policy,
profile_path.Append(kFileSystemDirectory),
env_override,
base::BindRepeating(&GetTypeStringForURL),
GetKnownTypeStrings(),
this,
file_system_options.is_incognito()))),
std::make_unique<ObfuscatedFileUtil>(
special_storage_policy,
profile_path.Append(kFileSystemDirectory),
env_override,
base::BindRepeating(&GetTypeStringForURL),
GetKnownTypeStrings(),
this,
file_system_options.is_incognito()))),
file_system_usage_cache_(std::make_unique<FileSystemUsageCache>(
file_system_options.is_incognito())),
quota_observer_(
......
......@@ -118,8 +118,8 @@ TestFileSystemBackend::TestFileSystemBackend(
const base::FilePath& base_path)
: base_path_(base_path),
task_runner_(task_runner),
file_util_(
std::make_unique<AsyncFileUtilAdapter>(new TestFileUtil(base_path))),
file_util_(std::make_unique<AsyncFileUtilAdapter>(
std::make_unique<TestFileUtil>(base_path))),
quota_util_(std::make_unique<QuotaUtil>()),
require_copy_or_move_validator_(false) {
update_observers_ =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment