Index: ios/chrome/browser/metrics/ios_chrome_metrics_service_client.cc |
diff --git a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.cc b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.cc |
index cb480c2716d2aa9eee7840b8854d79adf9305a8b..7223da6884c2a39472100fc7dab5a28949860b09 100644 |
--- a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.cc |
+++ b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.cc |
@@ -14,6 +14,7 @@ |
#include "base/command_line.h" |
#include "base/files/file_path.h" |
#include "base/logging.h" |
+#include "base/memory/ptr_util.h" |
#include "base/metrics/histogram.h" |
#include "base/process/process_metrics.h" |
#include "base/rand_util.h" |
@@ -91,12 +92,13 @@ IOSChromeMetricsServiceClient::~IOSChromeMetricsServiceClient() { |
} |
// static |
-scoped_ptr<IOSChromeMetricsServiceClient> IOSChromeMetricsServiceClient::Create( |
+std::unique_ptr<IOSChromeMetricsServiceClient> |
+IOSChromeMetricsServiceClient::Create( |
metrics::MetricsStateManager* state_manager, |
PrefService* local_state) { |
// Perform two-phase initialization so that |client->metrics_service_| only |
// receives pointers to fully constructed objects. |
- scoped_ptr<IOSChromeMetricsServiceClient> client( |
+ std::unique_ptr<IOSChromeMetricsServiceClient> client( |
new IOSChromeMetricsServiceClient(state_manager)); |
client->Initialize(); |
@@ -174,10 +176,10 @@ void IOSChromeMetricsServiceClient::CollectFinalMetricsForLog( |
} |
} |
-scoped_ptr<metrics::MetricsLogUploader> |
+std::unique_ptr<metrics::MetricsLogUploader> |
IOSChromeMetricsServiceClient::CreateUploader( |
const base::Callback<void(int)>& on_upload_complete) { |
- return scoped_ptr<metrics::MetricsLogUploader>( |
+ return std::unique_ptr<metrics::MetricsLogUploader>( |
new metrics::NetMetricsLogUploader( |
GetApplicationContext()->GetSystemURLRequestContext(), |
metrics::kDefaultMetricsServerUrl, metrics::kDefaultMetricsMimeType, |
@@ -214,51 +216,52 @@ void IOSChromeMetricsServiceClient::Initialize() { |
// Register metrics providers. |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new metrics::NetworkMetricsProvider( |
- web::WebThread::GetBlockingPool()))); |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ new metrics::NetworkMetricsProvider( |
+ web::WebThread::GetBlockingPool()))); |
// Currently, we configure OmniboxMetricsProvider to not log events to UMA |
// if there is a single incognito session visible. In the future, it may |
// be worth revisiting this to still log events from non-incognito sessions. |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new OmniboxMetricsProvider( |
+ std::unique_ptr<metrics::MetricsProvider>(new OmniboxMetricsProvider( |
base::Bind(&::IsOffTheRecordSessionActive)))); |
stability_metrics_provider_ = new IOSChromeStabilityMetricsProvider( |
GetApplicationContext()->GetLocalState()); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(stability_metrics_provider_)); |
+ std::unique_ptr<metrics::MetricsProvider>(stability_metrics_provider_)); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new metrics::ScreenInfoMetricsProvider)); |
drive_metrics_provider_ = new metrics::DriveMetricsProvider( |
web::WebThread::GetTaskRunnerForThread(web::WebThread::FILE), |
ios::FILE_LOCAL_STATE); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(drive_metrics_provider_)); |
+ std::unique_ptr<metrics::MetricsProvider>(drive_metrics_provider_)); |
profiler_metrics_provider_ = |
new metrics::ProfilerMetricsProvider(base::Bind(&IsCellularLogicEnabled)); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(profiler_metrics_provider_)); |
+ std::unique_ptr<metrics::MetricsProvider>(profiler_metrics_provider_)); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new metrics::CallStackProfileMetricsProvider)); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
- SigninStatusMetricsProvider::CreateInstance(make_scoped_ptr( |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ SigninStatusMetricsProvider::CreateInstance(base::WrapUnique( |
new IOSChromeSigninStatusMetricsProviderDelegate)))); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new MobileSessionShutdownMetricsProvider(metrics_service_.get()))); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new sync_driver::DeviceCountMetricsProvider( |
base::Bind(&IOSChromeSyncClient::GetDeviceInfoTrackers)))); |
} |
@@ -308,7 +311,7 @@ void IOSChromeMetricsServiceClient::CollectFinalHistograms() { |
// shared between the iOS port's usage and |
// ChromeMetricsServiceClient::CollectFinalHistograms()'s usage of |
// MetricsMemoryDetails. |
- scoped_ptr<base::ProcessMetrics> process_metrics( |
+ std::unique_ptr<base::ProcessMetrics> process_metrics( |
base::ProcessMetrics::CreateProcessMetrics( |
base::GetCurrentProcessHandle())); |
UMA_HISTOGRAM_MEMORY_KB("Memory.Browser", |