fix issue in my manual patch, apply other gentoo 78 fixes

This commit is contained in:
Tom Callaway 2019-10-23 13:09:01 -04:00
parent dd5dd20f91
commit 5d755bc2f7
6 changed files with 146 additions and 4 deletions

View File

@ -0,0 +1,32 @@
From d16cda8fc3476cc534a756873cc8aa2692a57054 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@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@lge.com>
Reviewed-by: Yang Guo <yangguo@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;

40
chromium-78-include.patch Normal file
View File

@ -0,0 +1,40 @@
From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001
From: David Landell <landell@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@chromium.org>
Commit-Queue: Henrik Boström <hbos@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"

View File

@ -0,0 +1,43 @@
From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
From: Evan Stade <estade@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@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Commit-Queue: Evan Stade <estade@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

View File

@ -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);

View File

@ -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,

View File

@ -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/+/f4c3c329588b78af63aad8b401da767242b86709
Patch61: chromium-78.0.3904.70-gcc-DohUpgradeEntry-nonconst.patch
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-78-gcc-noexcept.patch
Patch62: chromium-78-gcc-noexcept.patch
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-78-pm-crash.patch
Patch63: chromium-78-pm-crash.patch
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-78-protobuf-export.patch
Patch64: chromium-78-protobuf-export.patch
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-78-include.patch
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}