Index: content/browser/renderer_host/render_process_host_impl.cc |
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc |
index fdc5ec12ab659d872618bbccdfbd6107dd210d88..371e24421c99ae1834a9855b08011af838ad868d 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.cc |
+++ b/content/browser/renderer_host/render_process_host_impl.cc |
@@ -670,7 +670,8 @@ void RenderProcessHostImpl::EarlyZygoteLaunch() { |
RenderProcessHostImpl::RenderProcessHostImpl( |
BrowserContext* browser_context, |
StoragePartitionImpl* storage_partition_impl, |
- bool is_for_guests_only) |
+ bool is_for_guests_only, |
+ int child_process_param_id) |
: fast_shutdown_started_(false), |
deleting_soon_(false), |
#ifndef NDEBUG |
@@ -684,6 +685,7 @@ RenderProcessHostImpl::RenderProcessHostImpl( |
visible_widgets_(0), |
is_process_backgrounded_(false), |
id_(ChildProcessHostImpl::GenerateChildProcessUniqueId()), |
+ child_process_param_id_(child_process_param_id), |
browser_context_(browser_context), |
storage_partition_impl_(storage_partition_impl), |
sudden_termination_allowed_(true), |
@@ -912,10 +914,12 @@ bool RenderProcessHostImpl::Init() { |
// Spawn the child process asynchronously to avoid blocking the UI thread. |
// As long as there's no renderer prefix, we can use the zygote process |
// at this stage. |
+ constexpr bool terminate_on_shutdown = true; |
child_process_launcher_.reset(new ChildProcessLauncher( |
base::MakeUnique<RendererSandboxedProcessLauncherDelegate>(), |
std::move(cmd_line), GetID(), this, std::move(pending_connection_), |
- base::Bind(&RenderProcessHostImpl::OnMojoError, id_))); |
+ base::Bind(&RenderProcessHostImpl::OnMojoError, id_), |
+ terminate_on_shutdown, child_process_param_id_)); |
channel_->Pause(); |
fast_shutdown_started_ = false; |