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 0842a5e7fba1a3a0b146fe3297dbe5ad8959cb90..de020d1ab52e4af1e1183b56ae6056e2ccd7a329 100644 |
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc |
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc |
@@ -281,8 +281,11 @@ void GetExecutableVersionDetails(base::string16* product_name, |
} |
#endif // OS_WIN |
-ukm::UkmService* BindableGetUkmService() { |
- return g_browser_process->ukm_service(); |
+ukm::UkmService* BindableGetUkmService( |
+ base::WeakPtr<ChromeMetricsServiceClient> weak_ptr) { |
+ if (!weak_ptr) |
+ return nullptr; |
+ return weak_ptr->GetUkmService(); |
} |
} // namespace |
@@ -938,7 +941,8 @@ void ChromeMetricsServiceClient::RegisterForNotifications() { |
void ChromeMetricsServiceClient::RegisterForProfileEvents(Profile* profile) { |
// Register chrome://ukm handler |
content::URLDataSource::Add( |
- profile, new ukm::debug::DebugPage(base::Bind(&BindableGetUkmService))); |
+ profile, new ukm::debug::DebugPage(base::Bind( |
+ &BindableGetUkmService, weak_ptr_factory_.GetWeakPtr()))); |
#if defined(OS_CHROMEOS) |
// Ignore the signin profile for sync disables / history deletion. |
if (chromeos::ProfileHelper::IsSigninProfile(profile)) |