| 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",
|
|
|