commit 5d755bc2f71af8bed245840799ff57636a192074
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Wed Oct 23 13:09:01 2019 -0400
fix issue in my manual patch, apply other gentoo 78 fixes
chromium-78-gcc-noexcept.patch | 32 ++++++++++++++++
chromium-78-include.patch | 40 ++++++++++++++++++++
chromium-78-pm-crash.patch | 43 ++++++++++++++++++++++
chromium-78-protobuf-export.patch | 13 +++++++
...78.0.3904.70-gcc-DohUpgradeEntry-nonconst.patch | 10 +++--
chromium.spec | 12 ++++++
6 files changed, 146 insertions(+), 4 deletions(-)
---
diff --git a/chromium-78-gcc-noexcept.patch b/chromium-78-gcc-noexcept.patch
new file mode 100644
index 0000000..8ddb53f
--- /dev/null
+++ b/chromium-78-gcc-noexcept.patch
@@ -0,0 +1,32 @@
+From d16cda8fc3476cc534a756873cc8aa2692a57054 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena(a)lge.com>
+Date: Thu, 22 Aug 2019 13:13:36 +0200
+Subject: [PATCH] GCC: declare noexcept move constructor/assign operators of
V8StackTraceId
+
+blink::BlinkCloneableMessage declares default implementation of
+move operator/assign operator that requires v8_inspector::V8StackTraceId
+to declare its move constructor/assign operator too.
+
+Bug: chromium:819294
+Change-Id: Iaf626ee8245efcba372a17cdf2de448e691d41d6
+Reviewed-on:
https://chromium-review.googlesource.com/c/v8/v8/+/1796062
+Commit-Queue: José Dapena Paz <jose.dapena(a)lge.com>
+Reviewed-by: Yang Guo <yangguo(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#63799}
+---
+
+diff --git a/v8/include/v8-inspector.h b/v8/include/v8-inspector.h
+index ce5b777..ed4cdec 100644
+--- a/v8/include/v8-inspector.h
++++ b/v8/include/v8-inspector.h
+@@ -231,7 +231,10 @@ struct V8_EXPORT V8StackTraceId {
+ std::pair<int64_t, int64_t> debugger_id;
+
+ V8StackTraceId();
++ V8StackTraceId(const V8StackTraceId&) = default;
+ V8StackTraceId(uintptr_t id, const std::pair<int64_t, int64_t> debugger_id);
++ V8StackTraceId& operator=(const V8StackTraceId&) = default;
++ V8StackTraceId& operator=(V8StackTraceId&&) noexcept = default;
+ ~V8StackTraceId() = default;
+
+ bool IsInvalid() const;
diff --git a/chromium-78-include.patch b/chromium-78-include.patch
new file mode 100644
index 0000000..3db38ea
--- /dev/null
+++ b/chromium-78-include.patch
@@ -0,0 +1,40 @@
+From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001
+From: David Landell <landell(a)vewd.com>
+Date: Fri, 13 Sep 2019 12:24:13 +0000
+Subject: [PATCH] Add missing include for unique_ptr
+
+Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/1803137
+Reviewed-by: Henrik Boström <hbos(a)chromium.org>
+Commit-Queue: Henrik Boström <hbos(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#696355}
+---
+
+diff --git a/third_party/blink/public/platform/web_rtc_rtp_source.h
b/third_party/blink/public/platform/web_rtc_rtp_source.h
+index 959440f..c3fd542 100644
+--- a/third_party/blink/public/platform/web_rtc_rtp_source.h
++++ b/third_party/blink/public/platform/web_rtc_rtp_source.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
+ #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
+
++#include <memory>
++
+ #include "base/optional.h"
+ #include "third_party/blink/public/platform/web_common.h"
+
+Missing include due to reverting ProfileManagerObserver
+---
+
+diff --git a/chrome/browser/web_applications/extensions/bookmark_app_util.cc
b/chrome/browser/web_applications/extensions/bookmark_app_util.cc
+index ee4b70a..b31e5f5 100644
+--- a/chrome/browser/web_applications/extensions/bookmark_app_util.cc
++++ b/chrome/browser/web_applications/extensions/bookmark_app_util.cc
+@@ -7,6 +7,7 @@
+ #include "base/strings/string_piece.h"
+ #include "base/values.h"
+ #include "chrome/browser/extensions/extension_service.h"
++#include "chrome/browser/profiles/profile.h"
+ #include "chrome/browser/web_applications/components/app_registrar.h"
+ #include "chrome/browser/web_applications/components/web_app_provider_base.h"
+ #include "chrome/common/chrome_features.h"
diff --git a/chromium-78-pm-crash.patch b/chromium-78-pm-crash.patch
new file mode 100644
index 0000000..ada2661
--- /dev/null
+++ b/chromium-78-pm-crash.patch
@@ -0,0 +1,43 @@
+From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
+From: Evan Stade <estade(a)chromium.org>
+Date: Wed, 16 Oct 2019 16:01:32 +0000
+Subject: [PATCH] Fix shutdown crash in ProfileManager.
+
+OnProfileMarkedForPermanentDeletion should move from
+ProfileManagerObserver to ProfileObserver, which would also
+fix this bug. However, changing the order of members is the
+quickest and most cherry-pick-able way to avoid the crash.
+
+Bug: 1005244
+Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/1863518
+Auto-Submit: Evan Stade <estade(a)chromium.org>
+Reviewed-by: David Roger <droger(a)chromium.org>
+Commit-Queue: Evan Stade <estade(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#706467}
+---
+
+diff --git a/chrome/browser/profiles/profile_manager.h
b/chrome/browser/profiles/profile_manager.h
+index b60df76d..7d02af7 100644
+--- a/chrome/browser/profiles/profile_manager.h
++++ b/chrome/browser/profiles/profile_manager.h
+@@ -409,6 +409,10 @@ class ProfileManager : public content::NotificationObserver,
+ const base::FilePath& profile_dir);
+ #endif // !defined(OS_ANDROID)
+
++ // Destroy after |profile_info_cache_| since Profile destruction may trigger
++ // some observers to unregister themselves.
++ base::ObserverList<ProfileManagerObserver> observers_;
++
+ // Object to cache various information about profiles. Contains information
+ // about every profile which has been created for this instance of Chrome,
+ // if it has not been explicitly deleted. It must be destroyed after
+@@ -450,8 +454,6 @@ class ProfileManager : public content::NotificationObserver,
+ // Controls whether to initialize some services. Only disabled for testing.
+ bool do_final_services_init_ = true;
+
+- base::ObserverList<ProfileManagerObserver> observers_;
+-
+ // TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc
+ // should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for
+ // consistency with surrounding code in the same file but that wasn't trivial
diff --git a/chromium-78-protobuf-export.patch b/chromium-78-protobuf-export.patch
new file mode 100644
index 0000000..ddb9e80
--- /dev/null
+++ b/chromium-78-protobuf-export.patch
@@ -0,0 +1,13 @@
+diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h
b/third_party/protobuf/src/google/protobuf/repeated_field.h
+index b5b193c..4434854 100644
+--- a/third_party/protobuf/src/google/protobuf/repeated_field.h
++++ b/third_party/protobuf/src/google/protobuf/repeated_field.h
+@@ -804,7 +804,7 @@ class StringTypeHandler {
+ // RepeatedPtrField is like RepeatedField, but used for repeated strings or
+ // Messages.
+ template <typename Element>
+-class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
++class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
+ public:
+ RepeatedPtrField();
+ explicit RepeatedPtrField(Arena* arena);
diff --git a/chromium-78.0.3904.70-gcc-DohUpgradeEntry-nonconst.patch
b/chromium-78.0.3904.70-gcc-DohUpgradeEntry-nonconst.patch
index 6ffe580..cb436ec 100644
--- a/chromium-78.0.3904.70-gcc-DohUpgradeEntry-nonconst.patch
+++ b/chromium-78.0.3904.70-gcc-DohUpgradeEntry-nonconst.patch
@@ -1,7 +1,7 @@
diff -up chromium-78.0.3904.70/net/dns/dns_util.cc.gcc-DohUpgradeEntry-nonconst
chromium-78.0.3904.70/net/dns/dns_util.cc
---- chromium-78.0.3904.70/net/dns/dns_util.cc.gcc-DohUpgradeEntry-nonconst 2019-10-23
11:21:55.805646136 -0400
-+++ chromium-78.0.3904.70/net/dns/dns_util.cc 2019-10-23 11:23:52.693140706 -0400
-@@ -139,11 +139,11 @@ struct DohUpgradeEntry {
+--- chromium-78.0.3904.70/net/dns/dns_util.cc.gcc-DohUpgradeEntry-nonconst 2019-10-21
15:06:38.000000000 -0400
++++ chromium-78.0.3904.70/net/dns/dns_util.cc 2019-10-23 12:55:27.886546918 -0400
+@@ -139,12 +139,12 @@ struct DohUpgradeEntry {
const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
};
@@ -11,10 +11,12 @@ diff -up
chromium-78.0.3904.70/net/dns/dns_util.cc.gcc-DohUpgradeEntry-nonconst
// DohProviderId histogram suffix list in
// tools/metrics/histograms/histograms.xml.
- static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
+- upgradable_servers({
+ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
- upgradable_servers({
++ upgradable_servers(std::initializer_list<DohUpgradeEntry>{
DohUpgradeEntry(
"CleanBrowsingAdult",
+ {"185.228.168.10", "185.228.169.11",
"2a0d:2a00:1::1",
@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>
std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
const std::vector<IPEndPoint>& dns_servers,
diff --git a/chromium.spec b/chromium.spec
index bfa6fe8..764e85d 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -222,6 +222,14 @@
Patch59: chromium-78.0.3904.70-gcc-mark-CheckOpResult-constexpr.patch
Patch60: chromium-78.0.3904.70-gcc-sizet-fix.patch
#
https://chromium.googlesource.com/chromium/src/+/f4c3c329588b78af63aad8b4...
Patch61: chromium-78.0.3904.70-gcc-DohUpgradeEntry-nonconst.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
+Patch62: chromium-78-gcc-noexcept.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
+Patch63: chromium-78-pm-crash.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
+Patch64: chromium-78-protobuf-export.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
+Patch65: chromium-78-include.patch
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -747,6 +755,10 @@ udev.
%patch59 -p1 -b .gcc-mark-CheckOpResult-constexpr
%patch60 -p1 -b .gcc-sizet
%patch61 -p1 -b .gcc-DohUpgradeEntry-nonconst
+%patch62 -p1 -b .gcc-v8-noexcept
+%patch63 -p1 -b .pm-crash
+%patch64 -p1 -b .protobuf-export
+%patch65 -p1 -b .missing-includes
# Fedora branded user agent
%if 0%{?fedora}