Fix dangling ptr in RenderProcessHostTaskProvider (fixes #3758)

This commit is contained in:
Marshall Greenblatt 2024-09-30 12:17:33 -04:00
parent ac71a0e9f2
commit abfc029a01
2 changed files with 33 additions and 0 deletions

View File

@ -756,5 +756,11 @@ patches = [
# win: Add missing <limits> include for cef_sandbox build.
# https://chromium-review.googlesource.com/c/chromium/src/+/5891459
'name': 'win_base_pa_oom_5891459'
},
{
# Fix dangling RenderProcessHost ptr in RenderProcessHostTaskProvider.
# https://github.com/chromiumembedded/cef/issues/3758
# https://chromium-review.googlesource.com/c/chromium/src/+/5894650
'name': 'chrome_browser_task_manager_5894650'
}
]

View File

@ -0,0 +1,27 @@
diff --git chrome/browser/task_manager/providers/render_process_host_task_provider.cc chrome/browser/task_manager/providers/render_process_host_task_provider.cc
index 11b05cbfc6077..45a5b11158a21 100644
--- chrome/browser/task_manager/providers/render_process_host_task_provider.cc
+++ chrome/browser/task_manager/providers/render_process_host_task_provider.cc
@@ -110,18 +110,14 @@ void RenderProcessHostTaskProvider::OnRenderProcessHostCreated(
void RenderProcessHostTaskProvider::RenderProcessExited(
content::RenderProcessHost* host,
const content::ChildProcessTerminationInfo& info) {
- if (is_updating_) {
- DeleteTask(host->GetID());
- host_observation_.RemoveObservation(host);
- }
+ DeleteTask(host->GetID());
+ host_observation_.RemoveObservation(host);
}
void RenderProcessHostTaskProvider::RenderProcessHostDestroyed(
content::RenderProcessHost* host) {
- if (is_updating_) {
- DeleteTask(host->GetID());
- host_observation_.RemoveObservation(host);
- }
+ DeleteTask(host->GetID());
+ host_observation_.RemoveObservation(host);
}
} // namespace task_manager