From b36e951d5c2f645775bbd1372fe1e33f6e08a009 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 11 Dec 2019 06:06:34 +0000 Subject: [PATCH] extra/chromium to 79.0.3945.79-1 --- extra/chromium/PKGBUILD | 42 ++++----- .../add-missing-include-for-unique_ptr.patch | 30 ------- extra/chromium/chromium-system-hb.patch | 19 ++++ extra/chromium/chromium-widevine.patch | 33 +++---- ..._util-make-DohUpgradeEntry-non-const.patch | 86 ------------------- ...fix-shutdown-crash-in-ProfileManager.patch | 45 ---------- ...ude-algorithm-to-use-std-lower_bound.patch | 49 +++++++++++ .../launch_manager.h-uses-std-vector.patch | 36 ++++++++ 8 files changed, 138 insertions(+), 202 deletions(-) delete mode 100644 extra/chromium/add-missing-include-for-unique_ptr.patch create mode 100644 extra/chromium/chromium-system-hb.patch delete mode 100644 extra/chromium/dns_util-make-DohUpgradeEntry-non-const.patch delete mode 100644 extra/chromium/fix-shutdown-crash-in-ProfileManager.patch create mode 100644 extra/chromium/include-algorithm-to-use-std-lower_bound.patch create mode 100644 extra/chromium/launch_manager.h-uses-std-vector.patch diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index ba8aa8a15..acd97467e 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -13,9 +13,10 @@ buildarch=12 highmem=1 +noautobuild=1 pkgname=chromium -pkgver=78.0.3904.108 +pkgver=79.0.3945.79 pkgrel=1 _launcher_ver=6 pkgdesc="A web browser built for speed, simplicity, and security" @@ -29,31 +30,31 @@ makedepends=('python' 'python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' 'pipewire' 'clang' 'lld' 'gn' 'java-runtime-headless' 'distcc-clang') optdepends=('pipewire: WebRTC desktop sharing under Wayland' 'kdialog: needed for file dialogs in KDE' - 'gnome-keyring: for storing passwords in GNOME keyring' - 'kwallet: for storing passwords in KWallet') + 'org.freedesktop.secrets: password storage backend on GNOME / Xfce' + 'kwallet: for storing passwords in KWallet on KDE desktops') install=chromium.install source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz - add-missing-include-for-unique_ptr.patch - dns_util-make-DohUpgradeEntry-non-const.patch - fix-shutdown-crash-in-ProfileManager.patch + launch_manager.h-uses-std-vector.patch + include-algorithm-to-use-std-lower_bound.patch icu65.patch chromium-system-icu.patch chromium-system-zlib.patch + chromium-system-hb.patch fix-spammy-unique-font-matching-log.patch chromium-widevine.patch chromium-skia-harmony.patch 0001-crashpad-include-limits.patch) -sha256sums=('f9c53839f306d2973de27723360024f7904101d426b9e7e9cdb56e8bcc775b0e' +sha256sums=('e1a7362d396b0f72e6ad8c1d53cae67db201e0eeaa2a96dbe9214d080925bcf3' '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1' - '49052e8aa630c4aa57bf46823edc32b7b309493275163c3bb3f9fd390c73356e' - '69694ab12a5ced389916c0c5e8c7bdc191544f576b134ddfb2fe9d4ed9ec4494' - '4f81612c28957987f7344d8ce2b95a4a63136a8319c9751819436b11c62df057' + 'bd0fae907c451252e91c4cbf1ad301716bc9f8a4644ecc60e9590a64197477d3' + '1f906676563e866e2b59719679e76e0b2f7f082f48ef0593e86da0351a586c73' '1de9bdbfed482295dda45c7d4e323cee55a34e42f66b892da1c1a778682b7a41' 'e73cc2ee8d3ea35aab18c478d76fdfc68ca4463e1e10306fa1e738c03b3f26b5' 'eb67eda4945a89c3b90473fa8dc20637511ca4dcb58879a8ed6bf403700ca9c8' + 'c0ad3fa426cb8fc1a237ddc6309a6b2dd4055bbe41dd07f50071ee61f969b81a' '6fbffe59b886195b92c9a55137cef83021c16593f49714acb20023633e3ebb19' - 'd081f2ef8793544685aad35dea75a7e6264a2cb987ff3541e6377f4a3650a28b' + '709e2fddba3c1f2ed4deb3a239fc0479bfa50c46e054e7f32db4fb1365fed070' '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1' 'df99f49ad58b70c9a3e1827d7e80b62e4363419334ed83373cf55b79c17b6f10') @@ -115,14 +116,9 @@ prepare() { third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ third_party/libxml/chromium/libxml_utils.cc - # Missing include in third_party/blink/public/platform/web_rtc_rtp_source.h - patch -Np1 -i ../add-missing-include-for-unique_ptr.patch - - # https://crbug.com/957519#c23 - patch -Np1 -i ../dns_util-make-DohUpgradeEntry-non-const.patch - - # https://crbug.com/1005244 - patch -Np1 -i ../fix-shutdown-crash-in-ProfileManager.patch + # https://crbug.com/819294 + patch -Np1 -i ../launch_manager.h-uses-std-vector.patch + patch -Np1 -i ../include-algorithm-to-use-std-lower_bound.patch # https://crbug.com/1014272 patch -Np1 -i ../icu65.patch @@ -130,11 +126,13 @@ prepare() { # Fixes from Gentoo patch -Np1 -i ../chromium-system-icu.patch patch -Np1 -i ../chromium-system-zlib.patch + patch -Np1 -i ../chromium-system-hb.patch # https://crbug.com/1005508 patch -Np1 -i ../fix-spammy-unique-font-matching-log.patch - # Load Widevine CDM if available + # Load bundled Widevine CDM if available (see chromium-widevine in the AUR) + # M79 is supposed to download it as a component but it doesn't seem to work patch -Np1 -i ../chromium-widevine.patch # https://crbug.com/skia/6663#c10 @@ -206,6 +204,10 @@ build() { "google_default_client_secret=\"${_google_default_client_secret}\"" ) + if [[ -n ${_system_libs[icu]+set} ]]; then + _flags+=('icu_use_data_file=false') + fi + if check_option strip y; then _flags+=('symbol_level=0') fi diff --git a/extra/chromium/add-missing-include-for-unique_ptr.patch b/extra/chromium/add-missing-include-for-unique_ptr.patch deleted file mode 100644 index 113e08f4a..000000000 --- a/extra/chromium/add-missing-include-for-unique_ptr.patch +++ /dev/null @@ -1,30 +0,0 @@ -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/extra/chromium/chromium-system-hb.patch b/extra/chromium/chromium-system-hb.patch new file mode 100644 index 000000000..83e062177 --- /dev/null +++ b/extra/chromium/chromium-system-hb.patch @@ -0,0 +1,19 @@ +diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc +index a218d63..6a5bdae 100644 +--- a/components/paint_preview/common/subset_font.cc ++++ b/components/paint_preview/common/subset_font.cc +@@ -10,11 +10,12 @@ + #include "base/bind.h" + #include "base/callback.h" + #include "base/macros.h" +-#include "third_party/harfbuzz-ng/src/src/hb-subset.h" +-#include "third_party/harfbuzz-ng/src/src/hb.h" + #include "third_party/skia/include/core/SkStream.h" + #include "third_party/skia/include/core/SkTypeface.h" + ++#include ++#include ++ + namespace paint_preview { + + namespace { diff --git a/extra/chromium/chromium-widevine.patch b/extra/chromium/chromium-widevine.patch index 1a1a3f228..32f0ae2fb 100644 --- a/extra/chromium/chromium-widevine.patch +++ b/extra/chromium/chromium-widevine.patch @@ -1,22 +1,13 @@ -diff -upr chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc chromium-71.0.3578.80/chrome/common/chrome_content_client.cc ---- chromium-71.0.3578.80.orig/chrome/common/chrome_content_client.cc 2018-12-03 20:16:43.000000000 +0000 -+++ chromium-71.0.3578.80/chrome/common/chrome_content_client.cc 2018-12-04 21:34:28.658206942 +0000 -@@ -99,7 +99,7 @@ - // Registers Widevine CDM if Widevine is enabled, the Widevine CDM is - // bundled and not a component. When the Widevine CDM is a component, it is - // registered in widevine_cdm_component_installer.cc. --#if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) -+#if BUILDFLAG(ENABLE_WIDEVINE) && !BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) - #define REGISTER_BUNDLED_WIDEVINE_CDM - #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck - // TODO(crbug.com/663554): Needed for WIDEVINE_CDM_VERSION_STRING. Support -diff -upr chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h ---- chromium-71.0.3578.80.orig/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-03 20:18:01.000000000 +0000 -+++ chromium-71.0.3578.80/third_party/widevine/cdm/widevine_cdm_version.h 2018-12-04 21:37:45.635374949 +0000 -@@ -12,4 +12,6 @@ - // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available - // as a string, e.g., "1.0.123.456"). +diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn +index ed0e2f5208b..5b431a030d5 100644 +--- a/third_party/widevine/cdm/BUILD.gn ++++ b/third_party/widevine/cdm/BUILD.gn +@@ -14,7 +14,7 @@ buildflag_header("buildflags") { -+#define WIDEVINE_CDM_VERSION_STRING "unknown" -+ - #endif // WIDEVINE_CDM_VERSION_H_ + flags = [ + "ENABLE_WIDEVINE=$enable_widevine", +- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm", ++ "BUNDLE_WIDEVINE_CDM=true", + "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component", + ] + } diff --git a/extra/chromium/dns_util-make-DohUpgradeEntry-non-const.patch b/extra/chromium/dns_util-make-DohUpgradeEntry-non-const.patch deleted file mode 100644 index 2d655e1ab..000000000 --- a/extra/chromium/dns_util-make-DohUpgradeEntry-non-const.patch +++ /dev/null @@ -1,86 +0,0 @@ -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/extra/chromium/fix-shutdown-crash-in-ProfileManager.patch b/extra/chromium/fix-shutdown-crash-in-ProfileManager.patch deleted file mode 100644 index 01074eca5..000000000 --- a/extra/chromium/fix-shutdown-crash-in-ProfileManager.patch +++ /dev/null @@ -1,45 +0,0 @@ -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/extra/chromium/include-algorithm-to-use-std-lower_bound.patch b/extra/chromium/include-algorithm-to-use-std-lower_bound.patch new file mode 100644 index 000000000..dc376321f --- /dev/null +++ b/extra/chromium/include-algorithm-to-use-std-lower_bound.patch @@ -0,0 +1,49 @@ +From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 25 Oct 2019 15:07:09 +0000 +Subject: [PATCH] IWYU: include algorithm to use std::lower_bound in + ui/gfx/font.cc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix GCC build because of missing include: +../../ui/gfx/font.cc: In function ‘gfx::Font::Weight gfx::FontWeightFromInt(int)’: +../../ui/gfx/font.cc:114:8: error: no matching function for call to ‘lower_bound(const gfx::Font::Weight*, const gfx::Font::Weight*, int&, gfx::FontWeightFromInt(int)::)’ + }); + ^ +In file included from /usr/include/c++/8/bits/char_traits.h:39, + from /usr/include/c++/8/string:40, + from ../../ui/gfx/font.h:8, + from ../../ui/gfx/font.cc:5: +/usr/include/c++/8/bits/stl_algobase.h:984:5: note: candidate: ‘template _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&)’ + lower_bound(_ForwardIterator __first, _ForwardIterator __last, + ^~~~~~~~~~~ +/usr/include/c++/8/bits/stl_algobase.h:984:5: note: template argument deduction/substitution failed: +../../ui/gfx/font.cc:114:8: note: candidate expects 3 arguments, 4 provided + }); + ^ + +Bug: 819294 +Change-Id: Ic59dcf3a06bdd54d1d426c08a61624873a0ff30c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879909 +Commit-Queue: Alexei Svitkine +Reviewed-by: Alexei Svitkine +Cr-Commit-Position: refs/heads/master@{#709472} +--- + ui/gfx/font.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ui/gfx/font.cc b/ui/gfx/font.cc +index 21367fd7297..92b159e13d1 100644 +--- a/ui/gfx/font.cc ++++ b/ui/gfx/font.cc +@@ -4,6 +4,8 @@ + + #include "ui/gfx/font.h" + ++#include ++ + #include "base/strings/utf_string_conversions.h" + #include "build/build_config.h" + #include "ui/gfx/platform_font.h" diff --git a/extra/chromium/launch_manager.h-uses-std-vector.patch b/extra/chromium/launch_manager.h-uses-std-vector.patch new file mode 100644 index 000000000..72abe9b9c --- /dev/null +++ b/extra/chromium/launch_manager.h-uses-std-vector.patch @@ -0,0 +1,36 @@ +From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 25 Oct 2019 09:27:53 +0000 +Subject: [PATCH] IWYU: launch_manager.h uses std::vector +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add #include for using std::vector. This fixes GCC build. + +./../chrome/browser/apps/launch_service/launch_manager.h:46:15: error: ‘vector’ in namespace ‘std’ does not name a template type + static std::vector GetLaunchFilesFromCommandLine( + ^~~~~~ + +Bug: 819294 +Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289 +Reviewed-by: Alexey Baskakov +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#709411} +--- + chrome/browser/apps/launch_service/launch_manager.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chrome/browser/apps/launch_service/launch_manager.h b/chrome/browser/apps/launch_service/launch_manager.h +index 00aeb9d9c2a..76570ead0f9 100644 +--- a/chrome/browser/apps/launch_service/launch_manager.h ++++ b/chrome/browser/apps/launch_service/launch_manager.h +@@ -6,6 +6,7 @@ + #define CHROME_BROWSER_APPS_LAUNCH_SERVICE_LAUNCH_MANAGER_H_ + + #include ++#include + + #include "base/macros.h" +