commit 4bf784fbc93076ae282772e2e810c8a1e9175c51
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Thu Jul 11 17:06:38 2019 -0400
apply upstream fix to resolve issue where it is dangerous to post a task with a
RenderProcessHost pointer because the RenderProcessHost can go away before the task is run
(causing a segfault).
chromium-75.0.3770.100-git00281713.patch | 34 ++++++++++++++++++++++++++++++++
chromium-freeworld.spec | 11 ++++++++++-
2 files changed, 44 insertions(+), 1 deletion(-)
---
diff --git a/chromium-75.0.3770.100-git00281713.patch
b/chromium-75.0.3770.100-git00281713.patch
new file mode 100644
index 0000000..4356435
--- /dev/null
+++ b/chromium-75.0.3770.100-git00281713.patch
@@ -0,0 +1,34 @@
+diff -up
chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713
chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc
+---
chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc.git00281713 2019-07-02
09:10:38.951369854 -0400
++++
chromium-75.0.3770.100/chrome/browser/performance_manager/chrome_content_browser_client_performance_manager_part.cc 2019-07-02
09:11:59.864642942 -0400
+@@ -12,13 +12,19 @@
+ #include "chrome/browser/performance_manager/graph/process_node_impl.h"
+ #include "chrome/browser/performance_manager/performance_manager.h"
+ #include "chrome/browser/performance_manager/render_process_user_data.h"
++#include "content/public/browser/render_process_host.h"
+ #include
"services/resource_coordinator/public/mojom/coordination_unit.mojom.h"
+
+ namespace {
+
+ void BindProcessNode(
+- content::RenderProcessHost* render_process_host,
++ int render_process_host_id,
+ resource_coordinator::mojom::ProcessCoordinationUnitRequest request) {
++ content::RenderProcessHost* render_process_host =
++ content::RenderProcessHost::FromID(render_process_host_id);
++ if (!render_process_host)
++ return;
++
+ performance_manager::RenderProcessUserData* user_data =
+ performance_manager::RenderProcessUserData::GetForRenderProcessHost(
+ render_process_host);
+@@ -47,8 +53,7 @@ void ChromeContentBrowserClientPerforman
+ blink::AssociatedInterfaceRegistry* associated_registry,
+ content::RenderProcessHost* render_process_host) {
+ registry->AddInterface(
+- base::BindRepeating(&BindProcessNode,
+- base::Unretained(render_process_host)),
++ base::BindRepeating(&BindProcessNode, render_process_host->GetID()),
+ base::SequencedTaskRunnerHandle::Get());
+
+ // Ideally this would strictly be a "CreateForRenderProcess", but when a
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 3af12a1..c2e552c 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -165,7 +165,7 @@ Name: chromium%{chromium_channel}%{?freeworld:-freeworld}
Name: chromium%{chromium_channel}
%endif
Version: %{majorversion}.0.3770.100
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: A WebKit (Blink) powered web browser
Url:
http://www.chromium.org/Home
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and
(MPLv1.1 or GPLv2 or LGPLv2)
@@ -340,6 +340,9 @@ Patch145: chromium-75.0.3770.80-grpc-gettid-fix.patch
# fix v8 compile with gcc
#
https://chromium.googlesource.com/v8/v8/+/3b8c624bda58d05aea80dd9626cd550...
Patch146: chromium-75.0.3770.100-fix-v8-gcc.patch
+#
https://chromium.googlesource.com/chromium/src/+/00281713519dbd84b90d2996...
+Patch147: chromium-75.0.3770.100-git00281713.patch
+
# Use chromium-latest.py to generate clean tarball from released build tarballs, found
here:
#
http://build.chromium.org/buildbot/official/
@@ -924,6 +927,7 @@ udev.
%patch144 -p1 -b .pure-virtual-fix
%patch145 -p1 -b .gettid-fix
%patch146 -p1 -b .fix-v8-gcc
+%patch147 -p1 -b .git00281713
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@@ -1922,6 +1926,11 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%changelog
+* Tue Jul 2 2019 Tom Callaway <spot(a)fedoraproject.org> - 75.0.3770.100-3
+- apply upstream fix to resolve issue where it is dangerous to post a
+ task with a RenderProcessHost pointer because the RenderProcessHost
+ can go away before the task is run (causing a segfault).
+
* Tue Jun 25 2019 Tom Callaway <spot(a)fedoraproject.org> - 75.0.3770.100-2
- fix v8 compile with gcc