From 8307d05d7590ab932e350ea1ce2d8259bec20f70 Mon Sep 17 00:00:00 2001 From: Janusz Majnert Date: Fri, 20 Nov 2020 18:11:04 +0000 Subject: [PATCH] Avoid reinitializing IdentifiabilityStudySettings in single process Don't initialize the process-global IdentifiabilityStudySettings from the renderer if in single-process mode. This makes it possible to run debug chromium in single-process. Bug: 1128395 Change-Id: I06b0fefd00d4bae48e090378526fbdafcfc8990c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2551127 Reviewed-by: Asanka Herath Reviewed-by: Yaron Friedman Commit-Queue: Asanka Herath Cr-Commit-Position: refs/heads/master@{#829714} --- AUTHORS | 1 + chrome/renderer/chrome_content_renderer_client.cc | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/AUTHORS b/AUTHORS index 681d467274c5f6..29011ff1d498d9 100644 --- a/AUTHORS +++ b/AUTHORS @@ -442,6 +442,7 @@ James Wei James Willcox Jan Rucka Jan Sauer +Janusz Majnert Janwar Dinata Jared Shumway Jared Sohn diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index 7dbbe8742ca4f6..2284b46bc69069 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc @@ -440,18 +440,19 @@ void ChromeContentRendererClient::RenderThreadStarted() { WebString::FromASCII(scheme)); } - // This doesn't work in single-process mode. if (!base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kSingleProcess)) { + // This doesn't work in single-process mode. ThreadProfiler::SetMainThreadTaskRunner( base::ThreadTaskRunnerHandle::Get()); mojo::PendingRemote collector; thread->BindHostReceiver(collector.InitWithNewPipeAndPassReceiver()); ThreadProfiler::SetCollectorForChildProcess(std::move(collector)); - } - blink::IdentifiabilityStudySettings::SetGlobalProvider( - std::make_unique()); + // This is superfluous in single-process mode and triggers a DCHECK + blink::IdentifiabilityStudySettings::SetGlobalProvider( + std::make_unique()); + } } void ChromeContentRendererClient::ExposeInterfacesToBrowser(