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

Unified Diff: chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc

Issue 1870003002: Convert //chrome/browser/safe_browsing from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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/safe_browsing/incident_reporting/incident_reporting_service.cc
diff --git a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc b/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
index 49f2f77adfa41aee5ccd178af23d246110bd2f0b..955d4f443379c4fd4df160d55e1f594735fb1dd8 100644
--- a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
+++ b/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
@@ -6,12 +6,14 @@
#include <math.h>
#include <stddef.h>
+
#include <algorithm>
#include <utility>
#include <vector>
#include "base/feature_list.h"
#include "base/macros.h"
+#include "base/memory/ptr_util.h"
#include "base/metrics/field_trial.h"
#include "base/metrics/histogram.h"
#include "base/process/process_info.h"
@@ -150,14 +152,14 @@ struct IncidentReportingService::ProfileContext {
// The incidents collected for this profile pending creation and/or upload.
// Will contain null values for pruned incidents.
- std::vector<scoped_ptr<Incident>> incidents;
+ std::vector<std::unique_ptr<Incident>> incidents;
// The incidents data of which should be cleared.
- std::vector<scoped_ptr<Incident>> incidents_to_clear;
+ std::vector<std::unique_ptr<Incident>> incidents_to_clear;
// State storage for this profile; null until PROFILE_ADDED notification is
// received.
- scoped_ptr<StateStore> state_store;
+ std::unique_ptr<StateStore> state_store;
// False until PROFILE_ADDED notification is received.
bool added;
@@ -171,14 +173,14 @@ class IncidentReportingService::UploadContext {
typedef std::map<ProfileContext*, std::vector<PersistentIncidentState>>
PersistentIncidentStateCollection;
- explicit UploadContext(scoped_ptr<ClientIncidentReport> report);
+ explicit UploadContext(std::unique_ptr<ClientIncidentReport> report);
~UploadContext();
// The report being uploaded.
- scoped_ptr<ClientIncidentReport> report;
+ std::unique_ptr<ClientIncidentReport> report;
// The uploader in use. This is NULL until the CSD killswitch is checked.
- scoped_ptr<IncidentReportUploader> uploader;
+ std::unique_ptr<IncidentReportUploader> uploader;
// A mapping of profile contexts to the data to be persisted upon successful
// upload.
@@ -197,19 +199,19 @@ class IncidentReportingService::Receiver : public IncidentReceiver {
// IncidentReceiver methods:
void AddIncidentForProfile(Profile* profile,
- scoped_ptr<Incident> incident) override;
- void AddIncidentForProcess(scoped_ptr<Incident> incident) override;
- void ClearIncidentForProcess(scoped_ptr<Incident> incident) override;
+ std::unique_ptr<Incident> incident) override;
+ void AddIncidentForProcess(std::unique_ptr<Incident> incident) override;
+ void ClearIncidentForProcess(std::unique_ptr<Incident> incident) override;
private:
static void AddIncidentOnMainThread(
const base::WeakPtr<IncidentReportingService>& service,
Profile* profile,
- scoped_ptr<Incident> incident);
+ std::unique_ptr<Incident> incident);
static void ClearIncidentOnMainThread(
const base::WeakPtr<IncidentReportingService>& service,
Profile* profile,
- scoped_ptr<Incident> incident);
+ std::unique_ptr<Incident> incident);
base::WeakPtr<IncidentReportingService> service_;
scoped_refptr<base::SingleThreadTaskRunner> thread_runner_;
@@ -228,14 +230,14 @@ IncidentReportingService::Receiver::~Receiver() {
void IncidentReportingService::Receiver::AddIncidentForProfile(
Profile* profile,
- scoped_ptr<Incident> incident) {
+ std::unique_ptr<Incident> incident) {
DCHECK(thread_runner_->BelongsToCurrentThread());
DCHECK(profile);
AddIncidentOnMainThread(service_, profile, std::move(incident));
}
void IncidentReportingService::Receiver::AddIncidentForProcess(
- scoped_ptr<Incident> incident) {
+ std::unique_ptr<Incident> incident) {
if (thread_runner_->BelongsToCurrentThread()) {
AddIncidentOnMainThread(service_, nullptr, std::move(incident));
} else {
@@ -247,7 +249,7 @@ void IncidentReportingService::Receiver::AddIncidentForProcess(
}
void IncidentReportingService::Receiver::ClearIncidentForProcess(
- scoped_ptr<Incident> incident) {
+ std::unique_ptr<Incident> incident) {
if (thread_runner_->BelongsToCurrentThread()) {
ClearIncidentOnMainThread(service_, nullptr, std::move(incident));
} else {
@@ -271,7 +273,7 @@ bool IncidentReportingService::HasIncidentsToUpload() const {
void IncidentReportingService::Receiver::AddIncidentOnMainThread(
const base::WeakPtr<IncidentReportingService>& service,
Profile* profile,
- scoped_ptr<Incident> incident) {
+ std::unique_ptr<Incident> incident) {
if (service)
service->AddIncident(profile, std::move(incident));
else
@@ -280,9 +282,9 @@ void IncidentReportingService::Receiver::AddIncidentOnMainThread(
// static
void IncidentReportingService::Receiver::ClearIncidentOnMainThread(
- const base::WeakPtr<IncidentReportingService>& service,
- Profile* profile,
- scoped_ptr<Incident> incident) {
+ const base::WeakPtr<IncidentReportingService>& service,
+ Profile* profile,
+ std::unique_ptr<Incident> incident) {
if (service)
service->ClearIncident(profile, std::move(incident));
}
@@ -302,7 +304,7 @@ bool IncidentReportingService::ProfileContext::HasIncidents() const {
}
IncidentReportingService::UploadContext::UploadContext(
- scoped_ptr<ClientIncidentReport> report)
+ std::unique_ptr<ClientIncidentReport> report)
: report(std::move(report)) {}
IncidentReportingService::UploadContext::~UploadContext() {
@@ -385,17 +387,19 @@ IncidentReportingService::~IncidentReportingService() {
STLDeleteValues(&profiles_);
}
-scoped_ptr<IncidentReceiver> IncidentReportingService::GetIncidentReceiver() {
- return make_scoped_ptr(new Receiver(receiver_weak_ptr_factory_.GetWeakPtr()));
+std::unique_ptr<IncidentReceiver>
+IncidentReportingService::GetIncidentReceiver() {
+ return base::WrapUnique(
+ new Receiver(receiver_weak_ptr_factory_.GetWeakPtr()));
}
-scoped_ptr<TrackedPreferenceValidationDelegate>
+std::unique_ptr<TrackedPreferenceValidationDelegate>
IncidentReportingService::CreatePreferenceValidationDelegate(Profile* profile) {
DCHECK(thread_checker_.CalledOnValidThread());
if (profile->IsOffTheRecord())
- return scoped_ptr<TrackedPreferenceValidationDelegate>();
- return scoped_ptr<TrackedPreferenceValidationDelegate>(
+ return std::unique_ptr<TrackedPreferenceValidationDelegate>();
+ return std::unique_ptr<TrackedPreferenceValidationDelegate>(
new PreferenceValidationDelegate(profile, GetIncidentReceiver()));
}
@@ -555,7 +559,8 @@ void IncidentReportingService::OnProfileAdded(Profile* profile) {
BeginDownloadCollection();
}
-scoped_ptr<LastDownloadFinder> IncidentReportingService::CreateDownloadFinder(
+std::unique_ptr<LastDownloadFinder>
+IncidentReportingService::CreateDownloadFinder(
const LastDownloadFinder::LastDownloadCallback& callback) {
return LastDownloadFinder::Create(
base::Bind(&DownloadMetadataManager::GetDownloadDetails,
@@ -563,7 +568,8 @@ scoped_ptr<LastDownloadFinder> IncidentReportingService::CreateDownloadFinder(
callback);
}
-scoped_ptr<IncidentReportUploader> IncidentReportingService::StartReportUpload(
+std::unique_ptr<IncidentReportUploader>
+IncidentReportingService::StartReportUpload(
const IncidentReportUploader::OnResultCallback& callback,
const scoped_refptr<net::URLRequestContextGetter>& request_context_getter,
const ClientIncidentReport& report) {
@@ -599,7 +605,7 @@ void IncidentReportingService::OnProfileDestroyed(Profile* profile) {
return;
// Take ownership of the context.
- scoped_ptr<ProfileContext> context(it->second);
+ std::unique_ptr<ProfileContext> context(it->second);
it->second = nullptr;
// TODO(grt): Persist incidents for upload on future profile load.
@@ -641,7 +647,7 @@ Profile* IncidentReportingService::FindEligibleProfile() const {
}
void IncidentReportingService::AddIncident(Profile* profile,
- scoped_ptr<Incident> incident) {
+ std::unique_ptr<Incident> incident) {
DCHECK(thread_checker_.CalledOnValidThread());
// Ignore incidents from off-the-record profiles.
@@ -683,8 +689,9 @@ void IncidentReportingService::AddIncident(Profile* profile,
BeginReportProcessing();
}
-void IncidentReportingService::ClearIncident(Profile* profile,
- scoped_ptr<Incident> incident) {
+void IncidentReportingService::ClearIncident(
+ Profile* profile,
+ std::unique_ptr<Incident> incident) {
ProfileContext* context = GetOrCreateProfileContext(profile);
context->incidents_to_clear.push_back(std::move(incident));
// Begin processing to handle cleared incidents following collation.
@@ -758,11 +765,10 @@ void IncidentReportingService::BeginEnvironmentCollection() {
new ClientIncidentReport_EnvironmentData();
environment_collection_pending_ =
environment_collection_task_runner_->PostTaskAndReply(
- FROM_HERE,
- base::Bind(collect_environment_data_fn_, environment_data),
+ FROM_HERE, base::Bind(collect_environment_data_fn_, environment_data),
base::Bind(&IncidentReportingService::OnEnvironmentDataCollected,
weak_ptr_factory_.GetWeakPtr(),
- base::Passed(make_scoped_ptr(environment_data))));
+ base::Passed(base::WrapUnique(environment_data))));
// Posting the task will fail if the runner has been shut down. This should
// never happen since the blocking pool is shut down after this service.
@@ -781,7 +787,7 @@ void IncidentReportingService::CancelEnvironmentCollection() {
}
void IncidentReportingService::OnEnvironmentDataCollected(
- scoped_ptr<ClientIncidentReport_EnvironmentData> environment_data) {
+ std::unique_ptr<ClientIncidentReport_EnvironmentData> environment_data) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(environment_collection_pending_);
DCHECK(report_ && !report_->has_environment());
@@ -855,8 +861,8 @@ void IncidentReportingService::CancelDownloadCollection() {
}
void IncidentReportingService::OnLastDownloadFound(
- scoped_ptr<ClientIncidentReport_DownloadDetails> last_binary_download,
- scoped_ptr<ClientIncidentReport_NonBinaryDownloadDetails>
+ std::unique_ptr<ClientIncidentReport_DownloadDetails> last_binary_download,
+ std::unique_ptr<ClientIncidentReport_NonBinaryDownloadDetails>
last_non_binary_download) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(report_);
@@ -889,7 +895,7 @@ void IncidentReportingService::ProcessIncidentsIfCollectionComplete() {
}
// Take ownership of the report and clear things for future reports.
- scoped_ptr<ClientIncidentReport> report(std::move(report_));
+ std::unique_ptr<ClientIncidentReport> report(std::move(report_));
first_incident_time_ = base::Time();
last_incident_time_ = base::TimeTicks();
@@ -1018,7 +1024,7 @@ void IncidentReportingService::ProcessIncidentsIfCollectionComplete() {
// Perform final synchronous collection tasks for the report.
DoExtensionCollection(report->mutable_extension_data());
- scoped_ptr<UploadContext> context(new UploadContext(std::move(report)));
+ std::unique_ptr<UploadContext> context(new UploadContext(std::move(report)));
context->profiles_to_state.swap(profiles_to_state);
if (!database_manager_.get()) {
// No database manager during testing. Take ownership of the context and
@@ -1061,12 +1067,11 @@ void IncidentReportingService::OnKillSwitchResult(UploadContext* context,
if (!context->uploader) {
OnReportUploadResult(context,
IncidentReportUploader::UPLOAD_INVALID_REQUEST,
- scoped_ptr<ClientIncidentResponse>());
+ std::unique_ptr<ClientIncidentResponse>());
}
} else {
- OnReportUploadResult(context,
- IncidentReportUploader::UPLOAD_SUPPRESSED,
- scoped_ptr<ClientIncidentResponse>());
+ OnReportUploadResult(context, IncidentReportUploader::UPLOAD_SUPPRESSED,
+ std::unique_ptr<ClientIncidentResponse>());
}
}
@@ -1083,7 +1088,7 @@ void IncidentReportingService::HandleResponse(const UploadContext& context) {
void IncidentReportingService::OnReportUploadResult(
UploadContext* context,
IncidentReportUploader::Result result,
- scoped_ptr<ClientIncidentResponse> response) {
+ std::unique_ptr<ClientIncidentResponse> response) {
DCHECK(thread_checker_.CalledOnValidThread());
UMA_HISTOGRAM_ENUMERATION(
@@ -1091,12 +1096,13 @@ void IncidentReportingService::OnReportUploadResult(
// The upload is no longer outstanding, so take ownership of the context (from
// the collection of outstanding uploads) in this scope.
- auto it = std::find_if(uploads_.begin(), uploads_.end(),
- [context] (const scoped_ptr<UploadContext>& value) {
- return value.get() == context;
- });
+ auto it =
+ std::find_if(uploads_.begin(), uploads_.end(),
+ [context](const std::unique_ptr<UploadContext>& value) {
+ return value.get() == context;
+ });
DCHECK(it != uploads_.end());
- scoped_ptr<UploadContext> upload(std::move(*it));
+ std::unique_ptr<UploadContext> upload(std::move(*it));
uploads_.erase(it);
if (result == IncidentReportUploader::UPLOAD_SUCCESS)

Powered by Google App Engine
This is Rietveld 408576698