| 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))
|
|
|