Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(695)

Unified Diff: chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.cc

Issue 2817643002: Make CloudPolicyValidator memory management clearer (Closed)
Patch Set: Cleaner memory management in CloudPolicyValidator Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.cc
diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.cc b/chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.cc
index 882f8e6408e460e7025cd77aab356d9fa6023662..b07010370f8dbf6e89aba37fe805cf34bd42d9e6 100644
--- a/chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.cc
+++ b/chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.cc
@@ -71,7 +71,8 @@ void DeviceCloudPolicyStoreChromeOS::Store(
CloudPolicyValidatorBase::TIMESTAMP_FULLY_VALIDATED,
CloudPolicyValidatorBase::DM_TOKEN_REQUIRED,
CloudPolicyValidatorBase::DEVICE_ID_REQUIRED);
- validator.release()->StartValidation(
+ DeviceCloudPolicyValidator::StartValidation(
+ std::move(validator),
base::Bind(&DeviceCloudPolicyStoreChromeOS::OnPolicyToStoreValidated,
weak_factory_.GetWeakPtr()));
}
@@ -94,7 +95,8 @@ void DeviceCloudPolicyStoreChromeOS::InstallInitialPolicy(
std::unique_ptr<DeviceCloudPolicyValidator> validator(
CreateValidator(policy));
validator->ValidateInitialKey(install_attributes_->GetDomain());
- validator.release()->StartValidation(
+ DeviceCloudPolicyValidator::StartValidation(
+ std::move(validator),
base::Bind(&DeviceCloudPolicyStoreChromeOS::OnPolicyToStoreValidated,
weak_factory_.GetWeakPtr()));
}
@@ -113,8 +115,7 @@ DeviceCloudPolicyStoreChromeOS::CreateValidator(
const em::PolicyFetchResponse& policy) {
std::unique_ptr<DeviceCloudPolicyValidator> validator(
DeviceCloudPolicyValidator::Create(
- std::unique_ptr<em::PolicyFetchResponse>(
- new em::PolicyFetchResponse(policy)),
+ base::MakeUnique<em::PolicyFetchResponse>(policy),
background_task_runner_));
validator->ValidateDomain(install_attributes_->GetDomain());
validator->ValidatePolicyType(dm_protocol::kChromeDevicePolicyType);

Powered by Google App Engine
This is Rietveld 408576698