Index: chrome/browser/metrics/chrome_metrics_service_client.cc |
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc |
index 19fc1f8133aeb13984c2b0b19c130e2690b742ac..3f9353b534adfb57c91ccefe43e971a69957e3ed 100644 |
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc |
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc |
@@ -13,6 +13,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/path_service.h" |
#include "base/rand_util.h" |
@@ -146,12 +147,12 @@ void RegisterInstallerFileMetricsPreferences(PrefRegistrySimple* registry) { |
void RegisterInstallerFileMetricsProvider( |
metrics::MetricsService* metrics_service) { |
#if defined(OS_WIN) |
- scoped_ptr<metrics::FileMetricsProvider> file_metrics( |
- new metrics::FileMetricsProvider( |
- content::BrowserThread::GetBlockingPool() |
- ->GetTaskRunnerWithShutdownBehavior( |
- base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN), |
- g_browser_process->local_state())); |
+ std::unique_ptr<metrics::FileMetricsProvider> file_metrics( |
+ new metrics::FileMetricsProvider( |
+ content::BrowserThread::GetBlockingPool() |
+ ->GetTaskRunnerWithShutdownBehavior( |
+ base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN), |
+ g_browser_process->local_state())); |
base::FilePath program_dir; |
base::PathService::Get(base::DIR_EXE, &program_dir); |
file_metrics->RegisterFile( |
@@ -195,12 +196,12 @@ ChromeMetricsServiceClient::~ChromeMetricsServiceClient() { |
} |
// static |
-scoped_ptr<ChromeMetricsServiceClient> ChromeMetricsServiceClient::Create( |
+std::unique_ptr<ChromeMetricsServiceClient> ChromeMetricsServiceClient::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<ChromeMetricsServiceClient> client( |
+ std::unique_ptr<ChromeMetricsServiceClient> client( |
new ChromeMetricsServiceClient(state_manager)); |
client->Initialize(); |
@@ -299,14 +300,13 @@ void ChromeMetricsServiceClient::CollectFinalMetricsForLog( |
} |
} |
-scoped_ptr<metrics::MetricsLogUploader> |
+std::unique_ptr<metrics::MetricsLogUploader> |
ChromeMetricsServiceClient::CreateUploader( |
const base::Callback<void(int)>& on_upload_complete) { |
- return scoped_ptr<metrics::MetricsLogUploader>( |
+ return std::unique_ptr<metrics::MetricsLogUploader>( |
new metrics::NetMetricsLogUploader( |
g_browser_process->system_request_context(), |
- metrics::kDefaultMetricsServerUrl, |
- metrics::kDefaultMetricsMimeType, |
+ metrics::kDefaultMetricsServerUrl, metrics::kDefaultMetricsMimeType, |
on_upload_complete)); |
} |
@@ -360,31 +360,35 @@ void ChromeMetricsServiceClient::Initialize() { |
// Gets access to persistent metrics shared by sub-processes. |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new SubprocessMetricsProvider())); |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ new SubprocessMetricsProvider())); |
// Register metrics providers. |
#if defined(ENABLE_EXTENSIONS) |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new ExtensionsMetricsProvider(metrics_state_manager_))); |
#endif |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new metrics::NetworkMetricsProvider( |
- content::BrowserThread::GetBlockingPool()))); |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ new metrics::NetworkMetricsProvider( |
+ content::BrowserThread::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(&chrome::IsOffTheRecordSessionActive)))); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new ChromeStabilityMetricsProvider( |
- g_browser_process->local_state()))); |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ new ChromeStabilityMetricsProvider( |
+ g_browser_process->local_state()))); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(new metrics::GPUMetricsProvider)); |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ new metrics::GPUMetricsProvider)); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new metrics::ScreenInfoMetricsProvider)); |
RegisterInstallerFileMetricsProvider(metrics_service_.get()); |
@@ -394,30 +398,31 @@ void ChromeMetricsServiceClient::Initialize() { |
content::BrowserThread::FILE), |
chrome::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)); |
#if BUILDFLAG(ANDROID_JAVA_UI) |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new AndroidMetricsProvider(g_browser_process->local_state()))); |
#endif // BUILDFLAG(ANDROID_JAVA_UI) |
#if defined(OS_WIN) |
google_update_metrics_provider_ = new GoogleUpdateMetricsProviderWin; |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(google_update_metrics_provider_)); |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ google_update_metrics_provider_)); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new browser_watcher::WatcherMetricsProviderWin( |
chrome::kBrowserExitCodesRegistryPath, |
content::BrowserThread::GetBlockingPool()))); |
@@ -427,7 +432,7 @@ void ChromeMetricsServiceClient::Initialize() { |
plugin_metrics_provider_ = |
new PluginMetricsProvider(g_browser_process->local_state()); |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(plugin_metrics_provider_)); |
+ std::unique_ptr<metrics::MetricsProvider>(plugin_metrics_provider_)); |
#endif // defined(ENABLE_PLUGINS) |
#if defined(OS_CHROMEOS) |
@@ -435,23 +440,23 @@ void ChromeMetricsServiceClient::Initialize() { |
new ChromeOSMetricsProvider; |
chromeos_metrics_provider_ = chromeos_metrics_provider; |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(chromeos_metrics_provider)); |
+ std::unique_ptr<metrics::MetricsProvider>(chromeos_metrics_provider)); |
SigninStatusMetricsProviderChromeOS* signin_metrics_provider_cros = |
new SigninStatusMetricsProviderChromeOS; |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>(signin_metrics_provider_cros)); |
+ std::unique_ptr<metrics::MetricsProvider>(signin_metrics_provider_cros)); |
#endif // defined(OS_CHROMEOS) |
#if !defined(OS_CHROMEOS) |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
- SigninStatusMetricsProvider::CreateInstance( |
- make_scoped_ptr(new ChromeSigninStatusMetricsProviderDelegate)))); |
+ std::unique_ptr<metrics::MetricsProvider>( |
+ SigninStatusMetricsProvider::CreateInstance(base::WrapUnique( |
+ new ChromeSigninStatusMetricsProviderDelegate)))); |
#endif // !defined(OS_CHROMEOS) |
metrics_service_->RegisterMetricsProvider( |
- scoped_ptr<metrics::MetricsProvider>( |
+ std::unique_ptr<metrics::MetricsProvider>( |
new sync_driver::DeviceCountMetricsProvider(base::Bind( |
&browser_sync::ChromeSyncClient::GetDeviceInfoTrackers)))); |