Index: ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm |
diff --git a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm |
index 43fee09cca472b15b7f37dd14a2cf8a56941fd5d..fd2314ac0d5af7b33335ba33921200bd56800650 100644 |
--- a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm |
+++ b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm |
@@ -41,6 +41,7 @@ |
#include "components/signin/core/browser/signin_status_metrics_provider.h" |
#include "components/sync/device_info/device_count_metrics_provider.h" |
#include "components/translate/core/browser/translate_ranker_metrics_provider.h" |
+#include "components/ukm/ukm_service.h" |
#include "components/variations/variations_associated_data.h" |
#include "components/version_info/version_info.h" |
#include "ios/chrome/browser/application_context.h" |
@@ -91,12 +92,17 @@ void IOSChromeMetricsServiceClient::RegisterPrefs( |
metrics::MetricsService::RegisterPrefs(registry); |
metrics::StabilityMetricsHelper::RegisterPrefs(registry); |
metrics::RegisterMetricsReportingStatePrefs(registry); |
+ ukm::UkmService::RegisterPrefs(registry); |
} |
metrics::MetricsService* IOSChromeMetricsServiceClient::GetMetricsService() { |
return metrics_service_.get(); |
} |
+metrics::MetricsService* IOSChromeMetricsServiceClient::GetMetricsService() { |
+ return ukm_service_.get(); |
+} |
+ |
void IOSChromeMetricsServiceClient::SetMetricsClientId( |
const std::string& client_id) { |
crash_keys::SetMetricsClientIdFromGUID(client_id); |
@@ -182,8 +188,12 @@ void IOSChromeMetricsServiceClient::WebStateDidStopLoading( |
} |
void IOSChromeMetricsServiceClient::Initialize() { |
+ PrefService* local_state = GetApplicationContext()->GetLocalState(); |
metrics_service_ = base::MakeUnique<metrics::MetricsService>( |
- metrics_state_manager_, this, GetApplicationContext()->GetLocalState()); |
+ metrics_state_manager_, this, local_state); |
+ |
+ if (base::FeatureList::IsEnabled(kUkmFeature)) |
+ ukm_service_.reset(new ukm::UkmService(local_state, this)); |
// Register metrics providers. |
metrics_service_->RegisterMetricsProvider( |