extra/chromium to 89.0.4389.72-1

This commit is contained in:
Kevin Mihelich 2021-03-03 01:25:53 +00:00
parent 815c199370
commit 4f89b28173
9 changed files with 132 additions and 141 deletions

View file

@ -1,4 +1,4 @@
From 430359d58fc5caabc175539baf6eedc22b861f6c Mon Sep 17 00:00:00 2001
From a40b0536ccad1ad803335d536c7da85ed7337bc2 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Wed, 30 Jan 2019 14:18:00 -0700
Subject: [PATCH 1/4] crashpad: include limits
@ -21,5 +21,5 @@ index 8464a5a27b2d..c184eccf327b 100644
#include <limits>
--
2.30.0
2.30.1

View file

@ -1,4 +1,4 @@
From e4b34d9e3fe304bac9ad5a77f35d92f61df3566a Mon Sep 17 00:00:00 2001
From cf6949dbe773eb33d47cc12b301c42993b815bb2 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Tue, 2 Feb 2021 13:58:21 -0700
Subject: [PATCH 2/4] Fix sandbox 'Aw snap' for sycalls 403 and 407
@ -12,7 +12,7 @@ Subject: [PATCH 2/4] Fix sandbox 'Aw snap' for sycalls 403 and 407
5 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
index 3c67b1247869..e6e989d7b49e 100644
index e00e3125993e..87d3ecfba99b 100644
--- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
@@ -157,7 +157,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
@ -102,5 +102,5 @@ index ddbf97f3d8b5..fa01b3bbc668 100644
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_
--
2.30.0
2.30.1

View file

@ -1,4 +1,4 @@
From 27dece2e33694494d4d864d5b3458380f1650f0c Mon Sep 17 00:00:00 2001
From e2f3f5ae47ea73d6fe17730850aa5205603a0936 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Tue, 2 Feb 2021 13:58:59 -0700
Subject: [PATCH 3/4] Run blink bindings generation single threaded
@ -21,5 +21,5 @@ index dd6c7397b204..518ab2cbedd5 100644
rebase_path(web_idl_database, root_build_dir),
"--root_src_dir",
--
2.30.0
2.30.1

View file

@ -1,4 +1,4 @@
From 5ab1a6250ee653209eaa2fca5985ecb2e0a42b92 Mon Sep 17 00:00:00 2001
From 7ac71f13aab1545df4175967cfe93d43d6f3860a Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Thu, 18 Feb 2021 19:35:58 -0700
Subject: [PATCH 4/4] widevine support for arm
@ -8,10 +8,10 @@ Subject: [PATCH 4/4] widevine support for arm
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/third_party/widevine/cdm/widevine.gni b/third_party/widevine/cdm/widevine.gni
index 007131a84cdb..e640b40f895e 100644
index 7020f2e42be8..af268d2c5dbc 100644
--- a/third_party/widevine/cdm/widevine.gni
+++ b/third_party/widevine/cdm/widevine.gni
@@ -24,7 +24,7 @@ if (is_ash && !is_chromeos_device) {
@@ -24,7 +24,7 @@ if (is_chromeos_ash && !is_chromeos_device) {
# supported via Android MediaDrm API.
library_widevine_cdm_available =
(is_chromeos && (target_cpu == "x64" || target_cpu == "arm")) ||
@ -21,5 +21,5 @@ index 007131a84cdb..e640b40f895e 100644
(is_win && (target_cpu == "x86" || target_cpu == "x64"))
--
2.30.0
2.30.1

View file

@ -15,43 +15,45 @@ buildarch=12
highmem=1
pkgname=chromium
pkgver=88.0.4324.182
pkgrel=1.1
pkgver=89.0.4389.72
pkgrel=1
_launcher_ver=7
_gcc_patchset=3
_gcc_patchset=6
pkgdesc="A web browser built for speed, simplicity, and security"
arch=('x86_64')
url="https://www.chromium.org/Home"
license=('BSD')
depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils'
'ttf-liberation' 'systemd' 'dbus' 'libpulse' 'pciutils' 'libva'
'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('python' 'python2' 'gperf' 'mesa' 'ninja' 'nodejs' 'git' 'libva'
'libpipewire02' 'clang' 'lld' 'gn' 'java-runtime-headless'
'python2-setuptools')
optdepends=('libpipewire02: WebRTC desktop sharing under Wayland'
'libva: hardware-accelerated video decode [experimental]'
makedepends=('python' 'gn' 'ninja' 'clang' 'lld' 'gperf' 'nodejs' 'pipewire'
'java-runtime-headless' 'python2' 'python2-setuptools')
optdepends=('pipewire: WebRTC desktop sharing under Wayland'
'kdialog: needed for file dialogs in KDE'
'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
'kwallet: for storing passwords in KWallet on KDE desktops')
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
add-dependency-on-opus-in-webcodecs.patch
add-ctime-for-std-time.patch
chromium-glibc-2.33.patch
subpixel-anti-aliasing-in-FreeType-2.8.1.patch
use-oauth2-client-switches-as-default.patch
0001-crashpad-include-limits.patch
0002-Fix-sandbox-Aw-snap-for-sycalls-403-and-407.patch
0003-Run-blink-bindings-generation-single-threaded.patch
0004-widevine-support-for-arm.patch)
sha256sums=('30411fc3ec2d33df4c5cad41f21affa3823c80f7dbd394f6d68f9a1e81015b81'
sha256sums=('946a0b65aad10e0f77a539103892099b7238310c733f25b41d58b76f6ac0bc4f'
'86859c11cfc8ba106a3826479c0bc759324a62150b271dd35d1a0f96e890f52f'
'e5a60a4c9d0544d3321cc241b4c7bd4adb0a885f090c6c6c21581eac8e3b4ba9'
'359d2847e775d8cf6f4e0b12c94c8f2718f0fd562427859c596ce1c3711dbd8e'
'b86b11de8db438c47f0a84c7956740f648d21035f4ee46bfbd50c3348d369121'
'102e0c976c0d7fd1fbe2f2978ec621499a97b62457b3fde4daf84f026d1a53a7'
'2fccecdcd4509d4c36af873988ca9dbcba7fdb95122894a9fdf502c33a1d7a4b'
'1e2913e21c491d546e05f9b4edf5a6c7a22d89ed0b36ef692ca6272bcd5faec6'
'f8aae5f0e113c4dcef3faa2b4eea1330f17d7f2e2d4bb36db7ce68b7a62b17fc'
'a781337de6dab318205631c5d91f38bbc69710d8aebaf8bc211e2a4890e984d3'
'57e3fd6f2ed8059380f92efebf078fec4b06c1dc9b9f1f1320a287cfe672bf0e'
'c5af942a5edfe9e0b8d1c8f4811305d8f969696fb84ca6acfbe805877234a789')
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
'112671743908fa9e69e30eb4ddc9539f76f2cc28a3b038df6b610e5b210a77d1'
'4088c25d6441d360b5743f7ba9ec2dd3d5e94d38fb3b9ab11da99dd5f1110193'
'65bd227911918365bd7a5e6ba16fe00cd2896e21b7e8e07bced43191fdf4dee0'
'7561ed8f32704d7a70ad7de1e84d5bd0fca28288a2a770ef91e140332b8df8d2')
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
# Keys are the names in the above script; values are the dependencies in Arch
@ -82,10 +84,11 @@ depends+=(${_system_libs[@]})
# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys.
#
# Starting with Chromium 89 (2021-03-02) the OAuth2 credentials have been left
# out: https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
# - Arch Linux ARM has obtained permission to use the Arch Linux keys.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
_google_default_client_id=413772536636.apps.googleusercontent.com
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
prepare() {
cd "$srcdir/$pkgname-$pkgver"
@ -112,17 +115,20 @@ prepare() {
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/*.cc
# Use the --oauth2-client-id= and --oauth2-client-secret= switches for
# setting GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET at
# runtime -- this allows signing into Chromium without baked-in values
patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
# https://crbug.com/1164975
patch -Np1 -i ../chromium-glibc-2.33.patch
# Upstream fixes
patch -Np1 -d third_party/skia <../subpixel-anti-aliasing-in-FreeType-2.8.1.patch
patch -Np1 -i ../add-dependency-on-opus-in-webcodecs.patch
patch -Np1 -i ../add-ctime-for-std-time.patch
# Fixes for building with libstdc++ instead of libc++
patch -Np1 -i ../patches/chromium-87-openscreen-include.patch
patch -Np1 -i ../patches/chromium-88-CompositorFrameReporter-dcheck.patch
patch -Np1 -i ../patches/chromium-88-ideographicSpaceCharacter.patch
patch -Np1 -i ../patches/chromium-88-AXTreeFormatter-include.patch
patch -Np1 -i ../patches/chromium-89-quiche-dcheck.patch
# Force script incompatible with Python 3 to use /usr/bin/python2
sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py
@ -143,7 +149,7 @@ prepare() {
-delete
done
python2 build/linux/unbundle/replace_gn_files.py \
./build/linux/unbundle/replace_gn_files.py \
--system-libraries "${!_system_libs[@]}"
}
@ -176,6 +182,7 @@ build() {
'ffmpeg_branding="Chrome"'
'proprietary_codecs=true'
'rtc_use_pipewire=true'
'rtc_pipewire_version="0.3"' # will be the default in Chromium 90
'link_pulseaudio=true'
'use_gnome_keyring=false'
'use_gold=false'
@ -183,11 +190,8 @@ build() {
'use_custom_libcxx=false'
'enable_hangout_services_extension=true'
'enable_widevine=true'
'use_vaapi=true'
'enable_nacl=false'
"google_api_key=\"${_google_api_key}\""
"google_default_client_id=\"${_google_default_client_id}\""
"google_default_client_secret=\"${_google_default_client_secret}\""
"google_api_key=\"$_google_api_key\""
)
if [[ -n ${_system_libs[icu]+set} ]]; then
@ -207,7 +211,7 @@ build() {
CFLAGS+=' -Wno-unknown-warning-option'
CXXFLAGS+=' -Wno-unknown-warning-option'
gn gen out/Release --args="${_flags[*]}" --script-executable=python2
gn gen out/Release --args="${_flags[*]}"
ninja -C out/Release chrome chrome_sandbox chromedriver
}

View file

@ -0,0 +1,27 @@
From c06ddc4935bf1394812c011ce5d93898ccc8a53a Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Tue, 9 Feb 2021 19:22:57 +0000
Subject: [PATCH] IWYU: add ctime for std::time
Bug: None
Change-Id: I8bdae43209984242b9f5e538d74ece4409b65e3c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2679610
Reviewed-by: Katie Dektar <katie@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#852287}
---
ui/accessibility/ax_tree_serializer.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/ui/accessibility/ax_tree_serializer.h b/ui/accessibility/ax_tree_serializer.h
index ddbbdcdc25c53..1790e3b791967 100644
--- a/ui/accessibility/ax_tree_serializer.h
+++ b/ui/accessibility/ax_tree_serializer.h
@@ -8,6 +8,7 @@
#include <stddef.h>
#include <stdint.h>
+#include <ctime>
#include <ostream>
#include <unordered_map>
#include <unordered_set>

View file

@ -0,0 +1,43 @@
From b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Wed, 27 Jan 2021 20:31:51 +0000
Subject: [PATCH] add dependency on opus in webcodecs
webcodecs uses opus, but dependency is missing. With unbundled
opus library build fails, because include path is incomplete.
Bug: 1169758
Change-Id: I01369364327461196a81002479636cf45017669a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2644623
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#847754}
---
third_party/blink/renderer/modules/webcodecs/BUILD.gn | 1 +
third_party/blink/renderer/modules/webcodecs/DEPS | 1 +
2 files changed, 2 insertions(+)
diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
index fdf4ca0fafc72..01a7bf809ffca 100644
--- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn
+++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn
@@ -65,6 +65,7 @@ blink_modules_sources("webcodecs") {
"//media/mojo/clients",
"//media/mojo/mojom",
"//third_party/libyuv:libyuv",
+ "//third_party/opus",
]
if (media_use_openh264) {
deps += [ "//third_party/openh264:encoder" ]
diff --git a/third_party/blink/renderer/modules/webcodecs/DEPS b/third_party/blink/renderer/modules/webcodecs/DEPS
index b8dd596da8caf..ea1919d12205a 100644
--- a/third_party/blink/renderer/modules/webcodecs/DEPS
+++ b/third_party/blink/renderer/modules/webcodecs/DEPS
@@ -19,6 +19,7 @@ include_rules = [
"+third_party/libyuv",
"+third_party/openh264",
+ "+third_party/opus",
"+ui/gfx/color_space.h",
"+ui/gfx/geometry/rect.h",

View file

@ -1,100 +0,0 @@
From f25787b72c20e97cdeb74e037dc1ff56a88b45c6 Mon Sep 17 00:00:00 2001
From: Ben Wagner <bungeman@google.com>
Date: Tue, 1 Dec 2020 20:22:00 -0500
Subject: [PATCH] Subpixel anti-aliasing in FreeType 2.8.1+
FreeType 2.8.1 and later always provide some form of subpixel
anti-aliasing.
Bug: skia:10950,skia:6663
Change-Id: I666cc942e73b73073cdabf900c25faa10d9aaf0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/339861
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
---
src/ports/SkFontHost_FreeType.cpp | 33 ++++++++++++++++++++-----------
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
index 990eff4f5e..c0aeb792da 100644
--- a/src/ports/SkFontHost_FreeType.cpp
+++ b/src/ports/SkFontHost_FreeType.cpp
@@ -32,6 +32,7 @@
#include "src/utils/SkMatrix22.h"
#include <memory>
+#include <tuple>
#include <ft2build.h>
#include FT_ADVANCES_H
@@ -147,13 +148,16 @@ public:
// *reinterpret_cast<void**>(&procPtr) = dlsym(self, "proc");
// because clang has not implemented DR573. See http://clang.llvm.org/cxx_dr_status.html .
- FT_Int major, minor, patch;
- FT_Library_Version(fLibrary, &major, &minor, &patch);
+ using Version = std::tuple<FT_Int, FT_Int, FT_Int>;
+ Version version;
+ FT_Library_Version(fLibrary, &std::get<0>(version),
+ &std::get<1>(version),
+ &std::get<2>(version));
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070100
fGetVarDesignCoordinates = FT_Get_Var_Design_Coordinates;
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
+ if (Version(2,7,0) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -166,7 +170,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070200
FT_Set_Default_Properties(fLibrary);
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 1))) {
+ if (Version(2,7,1) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -185,7 +189,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080000
fLightHintingIsYOnly = true;
#else
- if (major > 2 || ((major == 2 && minor > 8) || (major == 2 && minor == 8 && patch >= 0))) {
+ if (Version(2,8,0) <= version) {
fLightHintingIsYOnly = true;
}
#endif
@@ -194,7 +198,7 @@ public:
#if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080100
fGetVarAxisFlags = FT_Get_Var_Axis_Flags;
#elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
- if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
+ if (Version(2,7,0) <= version) {
//The FreeType library is already loaded, so symbols are available in process.
void* self = dlopen(nullptr, RTLD_LAZY);
if (self) {
@@ -204,11 +208,18 @@ public:
}
#endif
- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
- // The default has changed over time, so this doesn't mean the same thing to all users.
- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
- fIsLCDSupported = true;
- fLCDExtra = 2; //Using a filter adds one full pixel to each side.
+ fIsLCDSupported =
+ // Subpixel anti-aliasing may be unfiltered until the LCD filter is set.
+ // Newer versions may still need this, so this test with side effects must come first.
+ // The default has changed over time, so this doesn't mean the same thing to all users.
+ (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) ||
+
+ // In 2.8.1 and later FreeType always provides some form of subpixel anti-aliasing.
+ ((SK_FREETYPE_MINIMUM_RUNTIME_VERSION) >= 0x02080100) ||
+ (Version(2,8,1) <= version);
+
+ if (fIsLCDSupported) {
+ fLCDExtra = 2; // Using a filter may require up to one full pixel to each side.
}
}
~FreeTypeLibrary() {

View file

@ -0,0 +1,17 @@
diff -upr chromium-89.0.4389.58.orig/google_apis/google_api_keys.cc chromium-89.0.4389.58/google_apis/google_api_keys.cc
--- chromium-89.0.4389.58.orig/google_apis/google_api_keys.cc 2021-02-24 22:37:18.494007649 +0000
+++ chromium-89.0.4389.58/google_apis/google_api_keys.cc 2021-02-24 22:35:00.865777600 +0000
@@ -154,11 +154,11 @@ class APIKeyCache {
std::string default_client_id = CalculateKeyValue(
GOOGLE_DEFAULT_CLIENT_ID,
- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr,
+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID,
std::string(), environment.get(), command_line, gaia_config);
std::string default_client_secret = CalculateKeyValue(
GOOGLE_DEFAULT_CLIENT_SECRET,
- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr,
+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientSecret,
std::string(), environment.get(), command_line, gaia_config);
// We currently only allow overriding the baked-in values for the