From 3cfe2934615689fdabbd43e05c456a7ecb6d4be5 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 5 Jan 2024 21:13:31 +0100 Subject: [PATCH] added patches to fix crash on shutdown and spammy unique font matching console message [release 78.0.3904.70-2mamba;Fri Nov 01 2019] --- chromium-65.0.3325.162-math-h.patch | 29 ----- ...x-PrefHashStore-build-error-upstream.patch | 20 ---- chromium-66.0.3359.139-gcc-7.3.0-std.patch | 20 ---- chromium-67.0.3396.87-widevine-r2.patch | 39 ------- ...-clang_stackrealign-no-longer-needed.patch | 88 -------------- ...3626.119-blink-fix_zero_length_array.patch | 19 --- ...-72.0.3626.119-webrtc-missing-header.patch | 10 -- ....0.3683.103-color_utils_use_std_sqrt.patch | 48 -------- ...sume-unique_ptr-has-ostream-operator.patch | 36 ------ chromium-77.0.3865.90-system-icu.patch | 20 ++++ ..._util-make-DohUpgradeEntry-non-const.patch | 86 ++++++++++++++ ...fix-shutdown-crash-in-profilemanager.patch | 45 ++++++++ ...4.70-fix-spammy-unique-font-matching.patch | 13 +++ chromium-78.0.3904.70-system-zlib.patch | 13 +++ ...-78.0.3904.70-webrtc-missing-include.patch | 30 +++++ chromium.spec | 109 ++++++------------ 16 files changed, 243 insertions(+), 382 deletions(-) delete mode 100644 chromium-65.0.3325.162-math-h.patch delete mode 100644 chromium-66.0.3359.139-fix-PrefHashStore-build-error-upstream.patch delete mode 100644 chromium-66.0.3359.139-gcc-7.3.0-std.patch delete mode 100644 chromium-67.0.3396.87-widevine-r2.patch delete mode 100644 chromium-67.0.3396.99-x86-clang_stackrealign-no-longer-needed.patch delete mode 100644 chromium-72.0.3626.119-blink-fix_zero_length_array.patch delete mode 100644 chromium-72.0.3626.119-webrtc-missing-header.patch delete mode 100644 chromium-73.0.3683.103-color_utils_use_std_sqrt.patch delete mode 100644 chromium-75.0.3770.142-libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch create mode 100644 chromium-77.0.3865.90-system-icu.patch create mode 100644 chromium-78.0.3904.70-dns_util-make-DohUpgradeEntry-non-const.patch create mode 100644 chromium-78.0.3904.70-fix-shutdown-crash-in-profilemanager.patch create mode 100644 chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch create mode 100644 chromium-78.0.3904.70-system-zlib.patch create mode 100644 chromium-78.0.3904.70-webrtc-missing-include.patch diff --git a/chromium-65.0.3325.162-math-h.patch b/chromium-65.0.3325.162-math-h.patch deleted file mode 100644 index 6c7c747..0000000 --- a/chromium-65.0.3325.162-math-h.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001 -From: Tom Anderson -Date: Sat, 27 Jan 2018 20:03:37 +0000 -Subject: [PATCH] Fix build with glibc 2.27 - -BUG=806340 -TBR=hamelphi@chromium.org - -Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e -Reviewed-on: https://chromium-review.googlesource.com/890059 -Reviewed-by: Thomas Anderson -Reviewed-by: Philippe Hamel -Commit-Queue: Thomas Anderson -Cr-Commit-Position: refs/heads/master@{#532249} ---- - -diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc -index 54d4dbd..ceedd8f 100644 ---- a/components/assist_ranker/ranker_example_util.cc -+++ b/components/assist_ranker/ranker_example_util.cc -@@ -2,6 +2,8 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include -+ - #include "components/assist_ranker/ranker_example_util.h" - #include "base/bit_cast.h" - #include "base/format_macros.h" diff --git a/chromium-66.0.3359.139-fix-PrefHashStore-build-error-upstream.patch b/chromium-66.0.3359.139-fix-PrefHashStore-build-error-upstream.patch deleted file mode 100644 index 2d7076c..0000000 --- a/chromium-66.0.3359.139-fix-PrefHashStore-build-error-upstream.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- chromium-66.0.3359.139/services/preferences/tracked/pref_hash_filter.cc.orig 2018-05-03 12:59:06.555426796 +0200 -+++ chromium-66.0.3359.139/services/preferences/tracked/pref_hash_filter.cc 2018-05-03 12:59:12.175451151 +0200 -@@ -21,7 +21,6 @@ - #include "components/prefs/pref_store.h" - #include "services/preferences/public/cpp/tracked/pref_names.h" - #include "services/preferences/tracked/dictionary_hash_store_contents.h" --#include "services/preferences/tracked/pref_hash_store.h" - #include "services/preferences/tracked/pref_hash_store_transaction.h" - #include "services/preferences/tracked/tracked_atomic_preference.h" - #include "services/preferences/tracked/tracked_split_preference.h" ---- chromium-66.0.3359.139/services/preferences/tracked/pref_hash_filter.h.orig 2018-05-03 13:13:08.676001497 +0200 -+++ chromium-66.0.3359.139/services/preferences/tracked/pref_hash_filter.h 2018-05-03 13:13:17.883040095 +0200 -@@ -20,6 +20,7 @@ - #include "base/optional.h" - #include "services/preferences/public/mojom/preferences.mojom.h" - #include "services/preferences/tracked/hash_store_contents.h" -+#include "services/preferences/tracked/pref_hash_store.h" - #include "services/preferences/tracked/interceptable_pref_filter.h" - #include "services/preferences/tracked/tracked_preference.h" - diff --git a/chromium-66.0.3359.139-gcc-7.3.0-std.patch b/chromium-66.0.3359.139-gcc-7.3.0-std.patch deleted file mode 100644 index 29a8d4e..0000000 --- a/chromium-66.0.3359.139-gcc-7.3.0-std.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- chromium-66.0.3359.139/device/fido/device_response_converter.cc.orig 2018-05-04 16:57:53.234808857 +0200 -+++ chromium-66.0.3359.139/device/fido/device_response_converter.cc 2018-05-04 17:02:30.469935529 +0200 -@@ -121,7 +121,7 @@ - response.SetNumCredentials(it->second.GetUnsigned()); - } - -- return response; -+ return std::move(response); - } - - base::Optional ReadCTAPGetInfoResponse( -@@ -241,7 +241,7 @@ - response.SetPinProtocols(std::move(supported_pin_protocols)); - } - -- return response; -+ return std::move(response); - } - - } // namespace device diff --git a/chromium-67.0.3396.87-widevine-r2.patch b/chromium-67.0.3396.87-widevine-r2.patch deleted file mode 100644 index 5527f7f..0000000 --- a/chromium-67.0.3396.87-widevine-r2.patch +++ /dev/null @@ -1,39 +0,0 @@ -Minimal patch to get chromium to compile with widevine support. - -Exactly the same as -r1, but we now need to patch -ninja to pretty please not terminate our build. - -caveat emptor: it's in no way clear that building chromium this -way is safer, from a security perspective, than whatever Google -Chrome does. - -Upstream appears to be cooking up a code-signing trust-chain -which may protect users against malicious cdm blobs; I doubt -we benefit from these using this kludge. Ideally, someone -would look into this more carefully than I have ... tbh as -soon as I got my "stories" back, I pretty much lost interest :) - --gmt - --- ---- a/third_party/widevine/cdm/stub/widevine_cdm_version.h -+++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h -@@ -10,6 +10,7 @@ - - #include "third_party/widevine/cdm/widevine_cdm_common.h" - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - #define WIDEVINE_CDM_AVAILABLE - - #endif // WIDEVINE_CDM_VERSION_H_ ---- a/third_party/widevine/cdm/BUILD.gn -+++ b/third_party/widevine/cdm/BUILD.gn -@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev - # Internal Cast builds set enable_widevine=true to bring in Widevine support. - # TODO(xhwang): Support component updated CDM on other platforms and remove this - # assert. --assert(!enable_widevine || is_win || is_mac || is_chromecast, -+assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, - "Component updated CDM only supported on Windows and Mac for now.") - - widevine_arch = current_cpu diff --git a/chromium-67.0.3396.99-x86-clang_stackrealign-no-longer-needed.patch b/chromium-67.0.3396.99-x86-clang_stackrealign-no-longer-needed.patch deleted file mode 100644 index ddd33c5..0000000 --- a/chromium-67.0.3396.99-x86-clang_stackrealign-no-longer-needed.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index fcc00ee..0c1b861 100644 ---- a/build/config/BUILDCONFIG.gn -+++ b/build/config/BUILDCONFIG.gn - -@@ -522,7 +522,6 @@ - "//build/config/compiler:afdo", - "//build/config/compiler:afdo_optimize_size", - "//build/config/compiler:compiler", -- "//build/config/compiler:clang_stackrealign", - "//build/config/compiler:compiler_arm_fpu", - "//build/config/compiler:compiler_arm_thumb", - "//build/config/compiler:chromium_code", - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index a703551..71f8f18 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn - -@@ -1079,20 +1079,6 @@ - asmflags = cflags - } - --# This is separate from :compiler_codegen (and not even a sub-config there) --# so that some targets can remove it from the list with: --# configs -= [ "//build/config/compiler:clang_stackrealign" ] --# See https://crbug.com/556393 for details of where it must be avoided. --config("clang_stackrealign") { -- if (is_clang && current_cpu == "x86" && is_linux) { -- cflags = [ -- # Align the stack on 16-byte boundaries, http://crbug.com/418554. -- "-mstack-alignment=16", -- "-mstackrealign", -- ] -- } --} -- - config("clang_revision") { - if (is_clang && clang_base_path == default_clang_base_path) { - update_args = [ - -diff --git a/components/crash/content/app/BUILD.gn b/components/crash/content/app/BUILD.gn -index d4fa4c3..ec55236 100644 ---- a/components/crash/content/app/BUILD.gn -+++ b/components/crash/content/app/BUILD.gn - -@@ -76,11 +76,6 @@ - "//third_party/breakpad:client", - "//third_party/crashpad/crashpad/snapshot", - ] -- -- # Clang's -mstackrealign doesn't work well with -- # linux_syscall_support.h hand written asm syscalls. -- # See https://crbug.com/556393 -- configs -= [ "//build/config/compiler:clang_stackrealign" ] - } - - if (is_win) { - -diff --git a/third_party/breakpad/BUILD.gn b/third_party/breakpad/BUILD.gn -index 01ea9fc..95b71bc 100644 ---- a/third_party/breakpad/BUILD.gn -+++ b/third_party/breakpad/BUILD.gn - -@@ -623,11 +623,6 @@ - cflags = [ "-marm" ] - } - -- # Clang's -mstackrealign doesn't work well with -- # linux_syscall_support.h hand written asm syscalls. -- # See https://crbug.com/556393 -- configs -= [ "//build/config/compiler:clang_stackrealign" ] -- - if (is_android) { - sources += [ "breakpad/src/common/android/breakpad_getcontext.S" ] - } -@@ -737,11 +732,6 @@ - extra_dist_files = [ "$root_out_dir/linux_dumper_unittest_helper" ] - } - -- # Clang's -mstackrealign doesn't work well with -- # linux_syscall_support.h hand written asm syscalls. -- # See https://crbug.com/556393 -- configs -= [ "//build/config/compiler:clang_stackrealign" ] -- - # Add the breakpad unittest config at the end to override all configs. - configs += [ ":breakpad_unittest_config" ] - } \ No newline at end of file diff --git a/chromium-72.0.3626.119-blink-fix_zero_length_array.patch b/chromium-72.0.3626.119-blink-fix_zero_length_array.patch deleted file mode 100644 index 23dde5d..0000000 --- a/chromium-72.0.3626.119-blink-fix_zero_length_array.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/text/character_property_data.h b/third_party/blink/renderer/platform/text/character_property_data.h -index 28fb6a9..bb4dbd7 100644 ---- a/third_party/blink/renderer/platform/text/character_property_data.h -+++ b/third_party/blink/renderer/platform/text/character_property_data.h -@@ -244,10 +244,12 @@ static const UChar32 kIsHangulRanges[] = { - 0xD7B0, 0xD7FF, - // Halfwidth Hangul Jamo - // https://www.unicode.org/charts/nameslist/c_FF00.html -- 0xFFA0, 0xFFDC, -+ 0xFFA0, 0xFFDB, - }; - --static const UChar32 kIsHangulArray[] = {}; -+static const UChar32 kIsHangulArray[] = { -+ 0xFFDC, -+}; - - #if !defined(USING_SYSTEM_ICU) - // Freezed trie tree, see character_property_data_generator.cc. diff --git a/chromium-72.0.3626.119-webrtc-missing-header.patch b/chromium-72.0.3626.119-webrtc-missing-header.patch deleted file mode 100644 index 335a7b8..0000000 --- a/chromium-72.0.3626.119-webrtc-missing-header.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc.orig 2019-01-20 10:57:09.166224517 +0000 -+++ third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc 2019-01-20 06:01:05.901545307 +0000 -@@ -14,6 +14,7 @@ - #include - #include - -+#include - #include - #include - #include diff --git a/chromium-73.0.3683.103-color_utils_use_std_sqrt.patch b/chromium-73.0.3683.103-color_utils_use_std_sqrt.patch deleted file mode 100644 index 0f3dbf6..0000000 --- a/chromium-73.0.3683.103-color_utils_use_std_sqrt.patch +++ /dev/null @@ -1,48 +0,0 @@ -From a5ba6f9bb7665040045dc0f8087407096630ad7b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 8 Feb 2019 02:57:28 +0000 -Subject: [PATCH] color_utils: Use std::sqrt() instead of std::sqrtf() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes the build with libstdc++: - - ../../ui/gfx/color_utils.cc: In function ‘SkColor color_utils::SetDarkestColorForTesting(SkColor)’: - ../../ui/gfx/color_utils.cc:434:12: error: ‘sqrtf’ is not a member of ‘std’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - ../../ui/gfx/color_utils.cc:434:12: note: suggested alternative: ‘sqrt’ - std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - ^~~~~ - sqrt - -sqrtf() is not formally part of C++14 as far as I can see even though libc++ -has it in . Additionally, we're only dealing with floats in all parts -of the expression above, so using the float sqrt() overload should be -harmless anyway. - -Bug: 819294 -Change-Id: If6c7bf31819df97a761e6963def6d6506154c34d -Reviewed-on: https://chromium-review.googlesource.com/c/1458193 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Peter Kasting -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#630140} ---- - ui/gfx/color_utils.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ui/gfx/color_utils.cc b/ui/gfx/color_utils.cc -index c868cd54bac3f..92ba1407d594f 100644 ---- a/ui/gfx/color_utils.cc -+++ b/ui/gfx/color_utils.cc -@@ -431,7 +431,7 @@ SkColor SetDarkestColorForTesting(SkColor color) { - // GetContrastRatio(kWhiteLuminance, g_luminance_midpoint). The formula below - // can be verified by plugging it into how GetContrastRatio() operates. - g_luminance_midpoint = -- std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; -+ std::sqrt((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f; - - return previous_darkest_color; - } diff --git a/chromium-75.0.3770.142-libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch b/chromium-75.0.3770.142-libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch deleted file mode 100644 index 2a2cad0..0000000 --- a/chromium-75.0.3770.142-libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch +++ /dev/null @@ -1,36 +0,0 @@ -From aeed4d1f15ce84a17ea0bc219e258dc4982b2368 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 26 Apr 2019 20:07:05 +0000 -Subject: [PATCH] libstdc++: do not assume unique_ptr has ostream operator -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -CompositorFrameReportingController is using DCHECK_NE to compare -several unique_ptr. This is valid in libc++, but on libstdc++ unique_ptr -does not have an ostream operator. - -Change-Id: I9f23ef17f02b9e107694ba493f6f8f3caf5cac4d -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584292 -Reviewed-by: Sunny Sachanandani -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#654570} ---- - cc/scheduler/compositor_frame_reporting_controller.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cc/scheduler/compositor_frame_reporting_controller.cc b/cc/scheduler/compositor_frame_reporting_controller.cc -index f1587ed158..1b17021fd2 100644 ---- a/cc/scheduler/compositor_frame_reporting_controller.cc -+++ b/cc/scheduler/compositor_frame_reporting_controller.cc -@@ -31,8 +31,8 @@ void CompositorFrameReportingController::WillBeginImplFrame() { - - void CompositorFrameReportingController::WillBeginMainFrame() { - DCHECK(reporters_[PipelineStage::kBeginImplFrame]); -- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame], -- reporters_[PipelineStage::kBeginImplFrame]); -+ DCHECK(reporters_[PipelineStage::kBeginMainFrame] != -+ reporters_[PipelineStage::kBeginImplFrame]); - reporters_[PipelineStage::kBeginImplFrame]->StartStage( - "SendBeginMainFrameToCommit"); - AdvanceReporterStage(PipelineStage::kBeginImplFrame, diff --git a/chromium-77.0.3865.90-system-icu.patch b/chromium-77.0.3865.90-system-icu.patch new file mode 100644 index 0000000..1f848d7 --- /dev/null +++ b/chromium-77.0.3865.90-system-icu.patch @@ -0,0 +1,20 @@ +diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn +index 4450e40..9ca36dd 100644 +--- a/build/linux/unbundle/icu.gn ++++ b/build/linux/unbundle/icu.gn +@@ -96,6 +96,7 @@ shim_headers("icui18n_shim") { + "unicode/fpositer.h", + "unicode/gender.h", + "unicode/gregocal.h", ++ "unicode/listformatter.h", + "unicode/measfmt.h", + "unicode/measunit.h", + "unicode/measure.h", +@@ -178,7 +179,6 @@ shim_headers("icuuc_shim") { + "unicode/icudataver.h", + "unicode/icuplug.h", + "unicode/idna.h", +- "unicode/listformatter.h", + "unicode/localpointer.h", + "unicode/locdspnm.h", + "unicode/locid.h", diff --git a/chromium-78.0.3904.70-dns_util-make-DohUpgradeEntry-non-const.patch b/chromium-78.0.3904.70-dns_util-make-DohUpgradeEntry-non-const.patch new file mode 100644 index 0000000..2d655e1 --- /dev/null +++ b/chromium-78.0.3904.70-dns_util-make-DohUpgradeEntry-non-const.patch @@ -0,0 +1,86 @@ +From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Mon, 16 Sep 2019 17:05:42 +0000 +Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with + std::vector<> + +This fixes the build with libstdc++ (with most other standard libraries +other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH +during automatic mode"): + +../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type" + static_assert(is_same::type, _Tp>::value, + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector >' requested here + alignas(T) char storage_[sizeof(T)]; + ^ +../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor > >' requested here + upgradable_servers({ + ^ +../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector >'; no viable 'begin' function available + for (const auto& upgrade_entry : upgradable_servers) { + ^ ~~~~~~~~~~~~~~~~~~ + +The C++ standard forbids containers of const elements. Callers of +GetDohUpgradeList() use it in a safe way anyway, and most of +DohUpgradeEntry's members are const. + +Bug: 957519 +Change-Id: I826a51823edb1184c0fae27105101e2894efe568 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636 +Auto-Submit: Raphael Kubo da Costa +Commit-Queue: Eric Orth +Reviewed-by: Eric Orth +Cr-Commit-Position: refs/heads/master@{#696834} +--- + net/dns/dns_util.cc | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc +index d83ff7c150..14997c48b2 100644 +--- a/net/dns/dns_util.cc ++++ b/net/dns/dns_util.cc +@@ -139,11 +139,11 @@ struct DohUpgradeEntry { + const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config; + }; + +-const std::vector& GetDohUpgradeList() { ++const std::vector& GetDohUpgradeList() { + // The provider names in these entries should be kept in sync with the + // DohProviderId histogram suffix list in + // tools/metrics/histograms/histograms.xml. +- static const base::NoDestructor> ++ static const base::NoDestructor> + upgradable_servers({ + DohUpgradeEntry( + "CleanBrowsingAdult", +@@ -222,8 +222,7 @@ const std::vector& GetDohUpgradeList() { + std::vector GetDohUpgradeEntriesFromNameservers( + const std::vector& dns_servers, + const std::vector& excluded_providers) { +- const std::vector& upgradable_servers = +- GetDohUpgradeList(); ++ const std::vector& upgradable_servers = GetDohUpgradeList(); + std::vector entries; + + for (const auto& server : dns_servers) { +@@ -417,8 +416,7 @@ std::vector + GetDohUpgradeServersFromDotHostname( + const std::string& dot_server, + const std::vector& excluded_providers) { +- const std::vector& upgradable_servers = +- GetDohUpgradeList(); ++ const std::vector& upgradable_servers = GetDohUpgradeList(); + std::vector doh_servers; + + if (dot_server.empty()) +@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers( + + std::string GetDohProviderIdForHistogramFromDohConfig( + const DnsConfig::DnsOverHttpsServerConfig& doh_server) { +- const std::vector& upgradable_servers = +- GetDohUpgradeList(); ++ const std::vector& upgradable_servers = GetDohUpgradeList(); + for (const auto& upgrade_entry : upgradable_servers) { + if (doh_server.server_template == + upgrade_entry.dns_over_https_config.server_template) { diff --git a/chromium-78.0.3904.70-fix-shutdown-crash-in-profilemanager.patch b/chromium-78.0.3904.70-fix-shutdown-crash-in-profilemanager.patch new file mode 100644 index 0000000..01074ec --- /dev/null +++ b/chromium-78.0.3904.70-fix-shutdown-crash-in-profilemanager.patch @@ -0,0 +1,45 @@ +From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001 +From: Evan Stade +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 +Reviewed-by: David Roger +Commit-Queue: Evan Stade +Cr-Commit-Position: refs/heads/master@{#706467} +--- + chrome/browser/profiles/profile_manager.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h +index b60df76d59..7d02af7f8f 100644 +--- a/chrome/browser/profiles/profile_manager.h ++++ b/chrome/browser/profiles/profile_manager.h +@@ -410,6 +410,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 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 +@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver, + // Controls whether to initialize some services. Only disabled for testing. + bool do_final_services_init_ = true; + +- base::ObserverList 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.0.3904.70-fix-spammy-unique-font-matching.patch b/chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch new file mode 100644 index 0000000..9321a98 --- /dev/null +++ b/chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch @@ -0,0 +1,13 @@ +diff --git a/content/child/child_process_sandbox_support_impl_linux.cc b/content/child/child_process_sandbox_support_impl_linux.cc +index 0a57543eb5..fe2ee491a2 100644 +--- a/content/child/child_process_sandbox_support_impl_linux.cc ++++ b/content/child/child_process_sandbox_support_impl_linux.cc +@@ -78,8 +78,6 @@ void WebSandboxSupportLinux::MatchFontByPostscriptNameOrFullFontName( + std::string family_name; + if (!font_loader_->MatchFontByPostscriptNameOrFullFontName(font_unique_name, + &font_identity)) { +- LOG(ERROR) << "FontService unique font name matching request did not " +- "receive a response."; + return; + } + diff --git a/chromium-78.0.3904.70-system-zlib.patch b/chromium-78.0.3904.70-system-zlib.patch new file mode 100644 index 0000000..951a2ad --- /dev/null +++ b/chromium-78.0.3904.70-system-zlib.patch @@ -0,0 +1,13 @@ +diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn +index 3bc618a..e0ddf6d 100644 +--- a/third_party/perfetto/gn/BUILD.gn ++++ b/third_party/perfetto/gn/BUILD.gn +@@ -244,7 +244,7 @@ if (enable_perfetto_trace_processor || perfetto_build_standalone || + "//buildtools:zlib", + ] + } else { +- public_configs = [ "//third_party/zlib:zlib_config" ] ++ public_configs = [ "//third_party/zlib:system_zlib" ] + public_deps = [ + "//third_party/zlib", + ] diff --git a/chromium-78.0.3904.70-webrtc-missing-include.patch b/chromium-78.0.3904.70-webrtc-missing-include.patch new file mode 100644 index 0000000..113e08f --- /dev/null +++ b/chromium-78.0.3904.70-webrtc-missing-include.patch @@ -0,0 +1,30 @@ +From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001 +From: David Landell +Date: Fri, 13 Sep 2019 12:24:13 +0000 +Subject: [PATCH] Add missing include for unique_ptr +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803137 +Reviewed-by: Henrik Boström +Commit-Queue: Henrik Boström +Cr-Commit-Position: refs/heads/master@{#696355} +--- + third_party/blink/public/platform/web_rtc_rtp_source.h | 2 ++ + 1 file changed, 2 insertions(+) + +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 959440f7a5..c3fd5421aa 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 ++ + #include "base/optional.h" + #include "third_party/blink/public/platform/web_common.h" + diff --git a/chromium.spec b/chromium.spec index 5e9b828..75c676f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1,7 +1,7 @@ Name: chromium Epoch: 3 -Version: 76.0.3809.132 -Release: 1mamba +Version: 78.0.3904.70 +Release: 2mamba Summary: An open-source browser project that aims to build a safer, faster, and more stable way to experience the web Group: Graphical Desktop/Applications/Internet Vendor: openmamba @@ -44,16 +44,13 @@ Patch25: chromium-55.0.2883.75-ffmpeg-3.2.2.patch Patch26: chromium-55.0.2883.75-upstream-buildfix.patch Patch27: chromium-59.0.3071.86-blink-gcc-6.2.patch Patch28: chromium-72.0.3626.119-widevine.patch -Patch29: chromium-65.0.3325.162-math-h.patch -Patch30: chromium-66.0.3359.139-fix-PrefHashStore-build-error-upstream.patch -Patch31: chromium-66.0.3359.139-gcc-7.3.0-std.patch -Patch32: chromium-67.0.3396.87-widevine-r2.patch -Patch33: chromium-67.0.3396.99-x86-clang_stackrealign-no-longer-needed.patch -Patch34: chromium-72.0.3626.119-webrtc-missing-header.patch -Patch35: chromium-72.0.3626.119-blink-fix_zero_length_array.patch -Patch36: chromium-73.0.3683.103-color_utils_use_std_sqrt.patch -Patch37: chromium-75.0.3770.142-libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch Patch38: chromium-76.0.3809.100-x86-openh264-add-fPIC.patch +Patch41: chromium-77.0.3865.90-system-icu.patch +Patch44: chromium-78.0.3904.70-system-zlib.patch +Patch45: chromium-78.0.3904.70-webrtc-missing-include.patch +Patch46: chromium-78.0.3904.70-dns_util-make-DohUpgradeEntry-non-const.patch +Patch47: chromium-78.0.3904.70-fix-shutdown-crash-in-profilemanager.patch +Patch48: chromium-78.0.3904.70-fix-spammy-unique-font-matching.patch License: BSD ## AUTOBUILDREQ-BEGIN BuildRequires: libGConf-devel @@ -110,50 +107,6 @@ BuildRequires: libpulseaudio-devel BuildRequires: libxshmfence-devel BuildRequires: libkeyutils-devel BuildRequires: libgnutls-devel -%if "%cross_target_cpu" == "i586" -BuildRequires: libGConf-devel.i586 -BuildRequires: glibc-multilib-devel -BuildRequires: libalsa-devel.i586 -BuildRequires: libatk-devel.i586 -BuildRequires: libbzip2-devel.i586 -BuildRequires: libcairo-devel.i586 -BuildRequires: libcups-devel.i586 -BuildRequires: libdbus-devel.i586 -#BuildRequires: libevent-devel.i586 -BuildRequires: libexpat-devel.i586 -BuildRequires: libflac-devel.i586 -BuildRequires: libfontconfig-devel.i586 -#BuildRequires: libfreetype-devel.i586 -BuildRequires: libgcrypt-devel.i586 -BuildRequires: libgdk-pixbuf-devel.i586 -BuildRequires: libglib-devel.i586 -BuildRequires: libgtk2-devel.i586 -BuildRequires: libnspr-devel.i586 -BuildRequires: libnss-devel.i586 -BuildRequires: libpango-devel.i586 -#BuildRequires: libpng-devel.i586 -#BuildRequires: libspeex-devel.i586 -#BuildRequires: libstdc++6-devel.i586 -BuildRequires: libX11-devel.i586 -BuildRequires: libXcomposite-devel.i586 -BuildRequires: libXext-devel.i586 -BuildRequires: libXfixes-devel.i586 -BuildRequires: libxml2-devel.i586 -BuildRequires: libXrender-devel.i586 -BuildRequires: libXScrnSaver-devel.i586 -BuildRequires: libxslt-devel.i586 -BuildRequires: libudev-devel.i586 -BuildRequires: libnss.i586 -BuildRequires: libXcursor-devel.i586 -BuildRequires: libXdamage-devel.i586 -BuildRequires: libXtst-devel.i586 -BuildRequires: libkrb5-devel.i586 -BuildRequires: libXi-devel.i586 -BuildRequires: libe2fs-devel.i586 -BuildRequires: libgnutls-devel.i586 -BuildRequires: libgpg-error-devel.i586 -BuildRequires: libcap-devel.i586 -%endif BuildRequires: libsnappy-devel BuildRequires: ninja BuildRequires: libXcursor-devel @@ -185,23 +138,19 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. %prep -%setup -q -#-D -T -#:<< _EOF +%setup -q -D -T +:<< _EOF %patch19 -p1 %patch28 -p1 -#%patch29 -p1 -#%patch30 -p1 -#%patch31 -p1 -#%patch32 -p1 -#%patch33 -p1 -#%patch34 -p0 -#%patch35 -p1 -#%patch36 -p1 -#%patch37 -p1 %ifarch %{ix86} %patch38 -p1 %endif +%patch41 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -p1 # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ @@ -232,14 +181,14 @@ declare -rgA _system_libs=( [flac]=flac [fontconfig]=fontconfig [freetype]=libfreetype - [harfbuzz-ng]=harfbuzz-icu + [harfbuzz-ng]=harfbuzz [icu]=icu [libdrm]= [libjpeg]=libjpeg #[libpng]=libpng - [libvpx]=libvpx + #[libvpx]=libvpx [libwebp]=libwebp - [libxml]=libxml2 # https://bugs.gentoo.org/show_bug.cgi?id=616818 + [libxml]=libxml2 [libxslt]=libxslt [opus]=opus [re2]=re2 @@ -273,14 +222,15 @@ sed -i \ build/config/compiler/BUILD.gn %build +#:<< _EOF export CC=clang export CXX=clang++ export AR=ar export NM=nm # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) -CFLAGS+=' -Wno-builtin-macro-redefined' -CXXFLAGS+=' -Wno-builtin-macro-redefined' +CFLAGS+=' -Wno-builtin-macro-redefined -Wno-unknown-warning-option' +CXXFLAGS+=' -Wno-builtin-macro-redefined -Wno-unknown-warning-option' CPPFLAGS+=' -D__DATE__= -D__TIME__= -D__TIMESTAMP__=' %ifarch arm @@ -304,7 +254,6 @@ chromium_conf=( 'ffmpeg_branding="Chrome"' 'proprietary_codecs=true' 'rtc_use_pipewire=true' - 'rtc_link_pipewire=true' 'link_pulseaudio=true' 'use_gnome_keyring=false' 'use_sysroot=false' @@ -324,6 +273,8 @@ chromium_conf=( %endif ) +# 'rtc_link_pipewire=true' + # 'is_clang=true' # 'is_cfi=false' # 'use_lld=false' @@ -469,6 +420,18 @@ fi #%{_mandir}/man1/chromium.1* %changelog +* Fri Nov 01 2019 Silvan Calarco 78.0.3904.70-2mamba +- added patches to fix crash on shutdown and spammy unique font matching console message + +* Fri Nov 01 2019 Automatic Build System 78.0.3904.70-1mamba +- automatic version update by autodist + +* Thu Oct 17 2019 Automatic Build System 77.0.3865.120-1mamba +- automatic version update by autodist + +* Fri Oct 04 2019 Automatic Build System 77.0.3865.90-1mamba +- automatic version update by autodist + * Sun Sep 08 2019 Automatic Build System 76.0.3809.132-1mamba - automatic version update by autodist