From 51a0fe19a462799af4493a02b62324c61d47763a Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Thu, 15 Apr 2021 02:51:28 +0000 Subject: [PATCH] extra/chromium to 90.0.4430.72-1 --- .../0001-crashpad-include-limits.patch | 2 +- ...dbox-Aw-snap-for-sycalls-403-and-407.patch | 8 +- ...-bindings-generation-single-threaded.patch | 6 +- .../0004-widevine-support-for-arm.patch | 14 +-- extra/chromium/PKGBUILD | 33 +++---- ...lang-nomerge-attribute-to-CheckError.patch | 62 +++++++++++++ .../add-dependency-on-opus-in-webcodecs.patch | 43 ---------- extra/chromium/chromium-fix-libva-redef.patch | 86 ------------------- 8 files changed, 91 insertions(+), 163 deletions(-) create mode 100644 extra/chromium/add-clang-nomerge-attribute-to-CheckError.patch delete mode 100644 extra/chromium/add-dependency-on-opus-in-webcodecs.patch delete mode 100644 extra/chromium/chromium-fix-libva-redef.patch diff --git a/extra/chromium/0001-crashpad-include-limits.patch b/extra/chromium/0001-crashpad-include-limits.patch index 6c7f77754..59c9858dd 100644 --- a/extra/chromium/0001-crashpad-include-limits.patch +++ b/extra/chromium/0001-crashpad-include-limits.patch @@ -1,4 +1,4 @@ -From a40b0536ccad1ad803335d536c7da85ed7337bc2 Mon Sep 17 00:00:00 2001 +From df38c5f97c31af595c1262333be167cdacb1ea3e Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 30 Jan 2019 14:18:00 -0700 Subject: [PATCH 1/4] crashpad: include limits diff --git a/extra/chromium/0002-Fix-sandbox-Aw-snap-for-sycalls-403-and-407.patch b/extra/chromium/0002-Fix-sandbox-Aw-snap-for-sycalls-403-and-407.patch index 945f9d86b..c4ecdd592 100644 --- a/extra/chromium/0002-Fix-sandbox-Aw-snap-for-sycalls-403-and-407.patch +++ b/extra/chromium/0002-Fix-sandbox-Aw-snap-for-sycalls-403-and-407.patch @@ -1,4 +1,4 @@ -From cf6949dbe773eb33d47cc12b301c42993b815bb2 Mon Sep 17 00:00:00 2001 +From 9776f3f02a40570e72a7fe650a94ef156b4fb872 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 2 Feb 2021 13:58:21 -0700 Subject: [PATCH 2/4] Fix sandbox 'Aw snap' for sycalls 403 and 407 @@ -12,10 +12,10 @@ 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 e00e3125993e..87d3ecfba99b 100644 +index 5242bde81fbf..bef4cf1d24e0 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, +@@ -159,7 +159,14 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, return Allow(); #endif @@ -49,7 +49,7 @@ index 4bbfc7e53b6f..540149b67d95 100644 default: return Allow(); diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index d9d18822f670..0db8745cb578 100644 +index f40d436edfbd..c712b00f6179 100644 --- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +++ b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc @@ -39,6 +39,12 @@ bool SyscallSets::IsAllowedGettime(int sysno) { diff --git a/extra/chromium/0003-Run-blink-bindings-generation-single-threaded.patch b/extra/chromium/0003-Run-blink-bindings-generation-single-threaded.patch index 41233e7df..54d4ab4aa 100644 --- a/extra/chromium/0003-Run-blink-bindings-generation-single-threaded.patch +++ b/extra/chromium/0003-Run-blink-bindings-generation-single-threaded.patch @@ -1,4 +1,4 @@ -From e2f3f5ae47ea73d6fe17730850aa5205603a0936 Mon Sep 17 00:00:00 2001 +From c2c53f8f86eaf1fa5803b0c67e6fab3cc7722775 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 2 Feb 2021 13:58:59 -0700 Subject: [PATCH 3/4] Run blink bindings generation single threaded @@ -9,10 +9,10 @@ When not single threaded this process will eat all the RAM. 1 file changed, 1 insertion(+) diff --git a/third_party/blink/renderer/bindings/BUILD.gn b/third_party/blink/renderer/bindings/BUILD.gn -index dd6c7397b204..518ab2cbedd5 100644 +index 61c9e7f59da7..a33c9e4144df 100644 --- a/third_party/blink/renderer/bindings/BUILD.gn +++ b/third_party/blink/renderer/bindings/BUILD.gn -@@ -188,6 +188,7 @@ template("generate_bindings") { +@@ -178,6 +178,7 @@ template("generate_bindings") { outputs = invoker.outputs args = [ diff --git a/extra/chromium/0004-widevine-support-for-arm.patch b/extra/chromium/0004-widevine-support-for-arm.patch index 1a41de63f..58d0c96ba 100644 --- a/extra/chromium/0004-widevine-support-for-arm.patch +++ b/extra/chromium/0004-widevine-support-for-arm.patch @@ -1,4 +1,4 @@ -From 7ac71f13aab1545df4175967cfe93d43d6f3860a Mon Sep 17 00:00:00 2001 +From 04731899673828f9b3e266be2a7d9e3fad205759 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Thu, 18 Feb 2021 19:35:58 -0700 Subject: [PATCH 4/4] widevine support for arm @@ -8,15 +8,15 @@ 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 7020f2e42be8..af268d2c5dbc 100644 +index 5b7734b8aa3d..85ad813f7ac4 100644 --- a/third_party/widevine/cdm/widevine.gni +++ b/third_party/widevine/cdm/widevine.gni -@@ -24,7 +24,7 @@ if (is_chromeos_ash && !is_chromeos_device) { - # supported via Android MediaDrm API. +@@ -26,7 +26,7 @@ if (is_chromeos_ash && !is_chromeos_device) { library_widevine_cdm_available = - (is_chromeos && (target_cpu == "x64" || target_cpu == "arm")) || -- (is_linux && (target_cpu == "x86" || target_cpu == "x64")) || -+ (is_linux && (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm")) || + (is_chromeos_ash && (target_cpu == "x64" || target_cpu == "arm")) || + ((is_linux || is_chromeos_lacros) && +- (target_cpu == "x86" || target_cpu == "x64")) || ++ (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm"))) || (is_mac && (target_cpu == "x64" || target_cpu == "arm64")) || (is_win && (target_cpu == "x86" || target_cpu == "x64")) diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index b275beb62..b8781a026 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -15,10 +15,10 @@ buildarch=12 highmem=1 pkgname=chromium -pkgver=89.0.4389.128 +pkgver=90.0.4430.72 pkgrel=1 _launcher_ver=7 -_gcc_patchset=7 +_gcc_patchset=6 pkgdesc="A web browser built for speed, simplicity, and security" arch=('x86_64') url="https://www.chromium.org/Home" @@ -35,25 +35,23 @@ optdepends=('pipewire: WebRTC desktop sharing under Wayland' 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-clang-nomerge-attribute-to-CheckError.patch chromium-glibc-2.33.patch - chromium-fix-libva-redef.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=('1a75ea6aeb98f2d3b6feae1fbf5692679e93d5b7631bc7c762dd873499deda5b' +sha256sums=('a5cc88ca8fffac21ec4d1646980f698dfb6f388a225dd7a2c5a3d252a4098943' '86859c11cfc8ba106a3826479c0bc759324a62150b271dd35d1a0f96e890f52f' - 'f8b1558f6c87b33423da854d42f0f69d47885a96d6bf6ce7f26373e93d47442f' - 'b86b11de8db438c47f0a84c7956740f648d21035f4ee46bfbd50c3348d369121' + '3eb9580ea35a96789e02815270498226fa33726f4210a5ee36f3868af2ffae1f' + '5e22afcb91b5402bc09e80630c5323d61013c3fccb0bbd9b23d1e79a400b00d0' '2fccecdcd4509d4c36af873988ca9dbcba7fdb95122894a9fdf502c33a1d7a4b' - 'de9eb3612d44616a500c2eccdffac814eb90ad9a868cc1030d17fc6783d544e2' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711' - '112671743908fa9e69e30eb4ddc9539f76f2cc28a3b038df6b610e5b210a77d1' - '4088c25d6441d360b5743f7ba9ec2dd3d5e94d38fb3b9ab11da99dd5f1110193' - '65bd227911918365bd7a5e6ba16fe00cd2896e21b7e8e07bced43191fdf4dee0' - '7561ed8f32704d7a70ad7de1e84d5bd0fca28288a2a770ef91e140332b8df8d2') + '2a83f4ffbd8d9c491d5c8017ecdf26d565e320c33051004b181b3aeac0f0273f' + '027e12f4386905f9beeca6f43c254bb8a2f576de6cde301e98cdcc09816b01e4' + 'd6c8f2a3ba83b77f377b0dcfbe7318051eb3f59f4edb22d0a61e5555fc97e87a' + '4a661182f7dd5439100fedb256be62168ce4e79582d4410fe76c5688c929e297') # 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 @@ -123,15 +121,12 @@ prepare() { # https://crbug.com/1164975 patch -Np1 -i ../chromium-glibc-2.33.patch - # https://github.com/kiss-community/repo-community/issues/246 - patch -Np1 -i ../chromium-fix-libva-redef.patch - - # Upstream fixes - patch -Np1 -i ../add-dependency-on-opus-in-webcodecs.patch + # Revert addition of [[clang::nomerge]] attribute; not supported by clang 11 + patch -Rp1 -d base <../add-clang-nomerge-attribute-to-CheckError.patch # Fixes for building with libstdc++ instead of libc++ - patch -Np1 -i ../patches/chromium-89-quiche-dcheck.patch - patch -Np1 -i ../patches/chromium-89-AXTreeSerializer-include.patch + patch -Np1 -i ../patches/chromium-90-quantization_utils-include.patch + patch -Np1 -i ../patches/chromium-90-TokenizedOutput-include.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 diff --git a/extra/chromium/add-clang-nomerge-attribute-to-CheckError.patch b/extra/chromium/add-clang-nomerge-attribute-to-CheckError.patch new file mode 100644 index 000000000..5dc0834de --- /dev/null +++ b/extra/chromium/add-clang-nomerge-attribute-to-CheckError.patch @@ -0,0 +1,62 @@ +From 209bf5cdfc095516ba9e391dd52ce16a74114ae6 Mon Sep 17 00:00:00 2001 +From: Zequan Wu +Date: Wed, 10 Feb 2021 03:26:00 +0000 +Subject: [PATCH] Reland "Add [[clang::nomerge]] attribute to ~CheckError()." + +This is a reland of 8860253376c38c090d585bda4b20b801e3aa3ce3 + +Original change's description: +> Add [[clang::nomerge]] attribute to ~CheckError(). +> +> To disable merging multiple ~CheckError() destructor for accurate crash logs. +> +> Bug: 1153188 +> Change-Id: If6d153661667a63f13b645f6d284eb3d5ea3a300 +> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2611331 +> Commit-Queue: Nico Weber +> Auto-Submit: Zequan Wu +> Reviewed-by: Nico Weber +> Cr-Commit-Position: refs/heads/master@{#844989} + +Bug: 1153188 +Change-Id: I303c5ff9fb88f7a30663400622b327a910d0b108 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2686331 +Reviewed-by: Nico Weber +Commit-Queue: Nico Weber +Commit-Queue: Zequan Wu +Cr-Commit-Position: refs/heads/master@{#852453} +GitOrigin-RevId: 9909f146b28d56c9c0411329a056ed959b33f76a +--- + check.h | 2 +- + compiler_specific.h | 7 +++++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/check.h b/check.h +index c94ab68db..17048e455 100644 +--- a/check.h ++++ b/check.h +@@ -85,7 +85,7 @@ class BASE_EXPORT CheckError { + // Stream for adding optional details to the error message. + std::ostream& stream(); + +- ~CheckError(); ++ NOMERGE ~CheckError(); + + CheckError(const CheckError& other) = delete; + CheckError& operator=(const CheckError& other) = delete; +diff --git a/compiler_specific.h b/compiler_specific.h +index fa961b0ce..14a5d6870 100644 +--- a/compiler_specific.h ++++ b/compiler_specific.h +@@ -332,4 +332,11 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { + + #endif // defined(__clang_analyzer__) + ++// Use nomerge attribute to disable optimization of merging multiple same calls. ++#if defined(__clang__) && __has_attribute(nomerge) && !defined(OS_CHROMEOS) ++#define NOMERGE [[clang::nomerge]] ++#else ++#define NOMERGE ++#endif ++ + #endif // BASE_COMPILER_SPECIFIC_H_ diff --git a/extra/chromium/add-dependency-on-opus-in-webcodecs.patch b/extra/chromium/add-dependency-on-opus-in-webcodecs.patch deleted file mode 100644 index 12e1116fa..000000000 --- a/extra/chromium/add-dependency-on-opus-in-webcodecs.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -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 -Commit-Queue: Dale Curtis -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", diff --git a/extra/chromium/chromium-fix-libva-redef.patch b/extra/chromium/chromium-fix-libva-redef.patch deleted file mode 100644 index 693b493bb..000000000 --- a/extra/chromium/chromium-fix-libva-redef.patch +++ /dev/null @@ -1,86 +0,0 @@ ---- a/third_party/libva_protected_content/va_protected_content.h -+++ b/third_party/libva_protected_content/va_protected_content.h -@@ -132,19 +132,6 @@ - #define VA_PC_SAMPLE_TYPE_FULLSAMPLE 0x00000001 - #define VA_PC_SAMPLE_TYPE_SUBSAMPLE 0x00000002 - --/** \brief TeeExec Function Codes. */ --typedef enum _VA_TEE_EXEC_FUNCTION_ID { -- VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH_NONE = 0x0, -- -- // 0x40000000~0x400000FFF reserved for TEE Exec GPU function -- VA_TEE_EXEC_GPU_FUNCID_ENCRYPTION_BLT = 0x40000000, -- VA_TEE_EXEC_GPU_FUNCID_DECRYPTION_BLT = 0x40000001, -- -- // 0x40001000~0x400001FFF reserved for TEE Exec TEE function -- VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH = 0x40001000, -- --} VA_TEE_EXEC_FUNCTION_ID; -- - /** \brief values for the encryption return status. */ - typedef enum { - /** \brief Indicate encryption operation is successful.*/ -@@ -159,63 +146,6 @@ - VA_ENCRYPTION_STATUS_UNSUPPORT - } VAEncryptionStatus; - --/** \brief structure for encrypted segment info. */ --typedef struct _VAEncryptionSegmentInfo { -- /** \brief The offset relative to the start of the bitstream input in -- * bytes of the start of the segment*/ -- uint32_t segment_start_offset; -- /** \brief The length of the segments in bytes*/ -- uint32_t segment_length; -- /** \brief The length in bytes of the remainder of an incomplete block -- * from a previous segment*/ -- uint32_t partial_aes_block_size; -- /** \brief The length in bytes of the initial clear data */ -- uint32_t init_byte_length; -- /** \brief This will be AES 128 counter for secure decode and secure -- * encode when numSegments equals 1 */ -- uint8_t aes_cbc_iv_or_ctr[16]; -- /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; --} VAEncryptionSegmentInfo; -- --/** \brief encryption parameters, corresponding to -- * #VAEncryptionParameterBufferType*/ --typedef struct _VAEncryptionParameters { -- /** \brief Encryption type, attribute values. */ -- uint32_t encryption_type; -- /** \brief The number of sengments */ -- uint32_t num_segments; -- /** \brief Pointer of segments */ -- VAEncryptionSegmentInfo* segment_info; -- /** \brief The status report index for CENC workload. -- * The value is to indicate CENC workload and needs to be -- * different for each CENC workload */ -- uint32_t status_report_index; -- /** \brief CENC counter length */ -- uint32_t size_of_length; -- /** \brief Wrapped decrypt blob (Snd)kb */ -- uint8_t wrapped_decrypt_blob[16]; -- /** \brief Wrapped Key blob info (Sne)kb */ -- uint8_t wrapped_encrypt_blob[16]; -- /** \brief Indicates the number of 16-byte BLOCKS that are encrypted in any -- * given encrypted region of segments. -- * If this value is zero: -- * 1. All bytes in encrypted region of segments are encrypted, i.e. the -- * CENC or CBC1 scheme is being used -- * 2. blocks_stripe_clear must also be zero. -- * If this value is non-zero, blocks_stripe_clear must also be non-zero. */ -- uint32_t blocks_stripe_encrypted; -- /** \brief Indicates the number of 16-byte BLOCKS that are clear in any given -- * encrypted region of segments, as defined by the CENS and CBCS schemes in -- * the common encryption spec. -- * If this value is zero, all bytes in encrypted region of segments are -- * encrypted, i.e. the CENC or CBC1 scheme is being used. -- */ -- uint32_t blocks_stripe_clear; -- /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; --} VAEncryptionParameters; -- - /** \brief structure for VA_TEE_EXEC_GPU_FUNCID_ENCRYPTION_BLT */ - typedef struct _VA_PROTECTED_BLT_PARAMS { - uint8_t* src_resource; // The source resource which contains the clear data.