From 22ce682b2ae88783c9a243d44beb08037c1d255a Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Sun, 12 Jun 2022 15:24:00 -0400 Subject: [PATCH 001/568] 102.0.5005.115 --- ...mium-101.0.4951.41-fedora-user-agent.patch | 12 ++ ...4951.41-remoting-extra-qualification.patch | 165 ++++++++++++++++++ chromium-102-fenced_frame_utils-include.patch | 25 +++ chromium-102-regex_pattern-array.patch | 14 ++ ...2-swiftshader-template-instantiation.patch | 47 +++++ chromium-102-symbolize-include.patch | 43 +++++ ...61-enable-hardware-accelerated-mjpeg.patch | 62 +++++++ chromium.spec | 71 ++++---- sources | 2 +- 9 files changed, 407 insertions(+), 34 deletions(-) create mode 100644 chromium-101.0.4951.41-fedora-user-agent.patch create mode 100644 chromium-101.0.4951.41-remoting-extra-qualification.patch create mode 100644 chromium-102-fenced_frame_utils-include.patch create mode 100644 chromium-102-regex_pattern-array.patch create mode 100644 chromium-102-swiftshader-template-instantiation.patch create mode 100644 chromium-102-symbolize-include.patch create mode 100644 chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch diff --git a/chromium-101.0.4951.41-fedora-user-agent.patch b/chromium-101.0.4951.41-fedora-user-agent.patch new file mode 100644 index 0000000..a328425 --- /dev/null +++ b/chromium-101.0.4951.41-fedora-user-agent.patch @@ -0,0 +1,12 @@ +diff -up chromium-101.0.4951.41/content/common/user_agent.cc.fedora-user-agent chromium-101.0.4951.41/content/common/user_agent.cc +--- chromium-101.0.4951.41/content/common/user_agent.cc.fedora-user-agent 2022-04-27 20:03:36.913767022 +0000 ++++ chromium-101.0.4951.41/content/common/user_agent.cc 2022-04-27 20:04:30.591942420 +0000 +@@ -34,7 +34,7 @@ std::string GetUserAgentPlatform() { + #elif BUILDFLAG(IS_MAC) + return "Macintosh; "; + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +- return "X11; "; // strange, but that's what Firefox uses ++ return "X11; Fedora; "; // strange, but that's what Firefox uses + #elif BUILDFLAG(IS_ANDROID) + return "Linux; "; + #elif BUILDFLAG(IS_FUCHSIA) diff --git a/chromium-101.0.4951.41-remoting-extra-qualification.patch b/chromium-101.0.4951.41-remoting-extra-qualification.patch new file mode 100644 index 0000000..c21ac38 --- /dev/null +++ b/chromium-101.0.4951.41-remoting-extra-qualification.patch @@ -0,0 +1,165 @@ +diff -up chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h +--- chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-04-27 20:08:44.312318089 +0000 ++++ chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h 2022-04-28 16:11:30.308481321 +0000 +@@ -32,7 +32,7 @@ + namespace mojo { + + template <> +-class mojo::StructTraits { ++class StructTraits { + public: + static bool value(bool value) { return value; } + +@@ -43,7 +43,7 @@ class mojo::StructTraits +-class mojo::StructTraits { ++class StructTraits { + public: + static float value(float value) { return value; } + +@@ -54,7 +54,7 @@ class mojo::StructTraits +-class mojo::StructTraits { ++class StructTraits { + public: + static int32_t value(int32_t value) { return value; } + +@@ -66,7 +66,7 @@ class mojo::StructTraits +-class mojo::StructTraits { ++class StructTraits { + public: + static uint32_t value(uint32_t value) { return value; } + +@@ -78,7 +78,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static bool use_update_notifications( +@@ -103,7 +103,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static bool enable_curtaining( +@@ -200,7 +200,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static int32_t left(const ::webrtc::DesktopRect& rect) { return rect.left(); } +@@ -220,7 +220,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static int32_t width(const ::webrtc::DesktopSize& size) { +@@ -236,7 +236,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } +@@ -475,7 +475,7 @@ struct EnumTraits +-class mojo::StructTraits> { + public: + static int32_t timestamp( +@@ -513,7 +513,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const std::string& mime_type( +@@ -531,7 +531,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static bool pressed(const ::remoting::protocol::KeyEvent& event) { +@@ -567,7 +567,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static absl::optional x( +@@ -656,7 +656,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const ::webrtc::DesktopSize& dimensions( +@@ -674,7 +674,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const std::string& text(const ::remoting::protocol::TextEvent& event) { +@@ -686,7 +686,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { +@@ -763,7 +763,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static ::remoting::protocol::TouchEvent::TouchEventType event_type( +@@ -823,7 +823,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static ::remoting::protocol::TransportRoute::RouteType type( diff --git a/chromium-102-fenced_frame_utils-include.patch b/chromium-102-fenced_frame_utils-include.patch new file mode 100644 index 0000000..61f904b --- /dev/null +++ b/chromium-102-fenced_frame_utils-include.patch @@ -0,0 +1,25 @@ +From 7c135a291184b59a59643ed6a8c40b4405ac0175 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Wed, 27 Apr 2022 16:01:01 +0000 +Subject: [PATCH] IWYU: add cstring for std::strlen in fenced_frame_utils + +--- + third_party/blink/common/fenced_frame/fenced_frame_utils.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc +index 9e2d3ad..68f4823 100644 +--- a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc ++++ b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc +@@ -4,6 +4,8 @@ + + #include "third_party/blink/public/common/fenced_frame/fenced_frame_utils.h" + ++#include ++ + #include "base/guid.h" + #include "base/strings/string_util.h" + +-- +2.35.1 + diff --git a/chromium-102-regex_pattern-array.patch b/chromium-102-regex_pattern-array.patch new file mode 100644 index 0000000..18058b1 --- /dev/null +++ b/chromium-102-regex_pattern-array.patch @@ -0,0 +1,14 @@ +--- a/components/autofill/core/browser/BUILD.gn ++++ b/components/autofill/core/browser/BUILD.gn +@@ -54,6 +54,11 @@ action("regex_patterns_inl_h") { + } + + static_library("browser") { ++ if (is_clang) { ++ cflags = [ ++ "-fbracket-depth=1000", ++ ] ++ } + sources = [ + "address_normalization_manager.cc", + "address_normalization_manager.h", diff --git a/chromium-102-swiftshader-template-instantiation.patch b/chromium-102-swiftshader-template-instantiation.patch new file mode 100644 index 0000000..13584d5 --- /dev/null +++ b/chromium-102-swiftshader-template-instantiation.patch @@ -0,0 +1,47 @@ +From 89c498edff683c68df6be0dd224848f4b4af5ae7 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Mon, 25 Apr 2022 13:25:02 +0200 +Subject: [PATCH] GCC: add explicit template instantiation + +Bug: b/223668065 +Change-Id: I97ea197273f2b46b6a47a9fdfbbfb5065fbd8edd +Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/65268 +Kokoro-Result: kokoro +Reviewed-by: Nicolas Capens +Reviewed-by: Alexis Hétu +Commit-Queue: Alexis Hétu +Tested-by: Alexis Hétu +--- + +diff --git a/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp b/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp +index fe87eee..94cac3b 100644 +--- a/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp ++++ b/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp +@@ -710,6 +710,11 @@ + } + } + ++template void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, ++ const Variable *Var, ++ const Operand *Src, ++ const GPREmitterRegOp &Emitter); ++ + void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr, + const Operand *Src, const GPREmitterAddrOp &Emitter) { + Assembler *Asm = Func->getAssembler(); +diff --git a/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp b/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp +index 9d655a1..f7097d2 100644 +--- a/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp ++++ b/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp +@@ -698,6 +698,11 @@ + } + } + ++template void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, ++ const Variable *Var, ++ const Operand *Src, ++ const GPREmitterRegOp &Emitter); ++ + void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr, + const Operand *Src, const GPREmitterAddrOp &Emitter) { + Assembler *Asm = Func->getAssembler(); diff --git a/chromium-102-symbolize-include.patch b/chromium-102-symbolize-include.patch new file mode 100644 index 0000000..f4ac31d --- /dev/null +++ b/chromium-102-symbolize-include.patch @@ -0,0 +1,43 @@ +From 9dd0503835dc875807ab63efb1f477bffed2a852 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Mon, 25 Apr 2022 23:18:30 +0000 +Subject: [PATCH] IWYU: add utility for std::exchange + +Bug: 957519 +Change-Id: I307d520fdc34d2452018ed32a505e7e519739410 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3604643 +Reviewed-by: Wez +Commit-Queue: Stephan Hartmann +Cr-Commit-Position: refs/heads/main@{#995855} +--- + +diff --git a/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch b/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch +index b7376d8..72900a19 100644 +--- a/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch ++++ b/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch +@@ -118,11 +118,12 @@ + index c6f9ec4360ede..00cfa022219e6 100644 + --- a/base/third_party/symbolize/symbolize.h + +++ b/base/third_party/symbolize/symbolize.h +-@@ -60,6 +60,8 @@ ++@@ -60,6 +60,9 @@ + + #ifdef HAVE_SYMBOLIZE + + +#include +++#include + + + #if defined(__ELF__) // defined by gcc + #if defined(__OpenBSD__) +diff --git a/base/third_party/symbolize/symbolize.h b/base/third_party/symbolize/symbolize.h +index 99029a9..278078f 100644 +--- a/base/third_party/symbolize/symbolize.h ++++ b/base/third_party/symbolize/symbolize.h +@@ -61,6 +61,7 @@ + #ifdef HAVE_SYMBOLIZE + + #include ++#include + + #if defined(__ELF__) // defined by gcc + #if defined(__OpenBSD__) diff --git a/chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch b/chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch new file mode 100644 index 0000000..6873272 --- /dev/null +++ b/chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch @@ -0,0 +1,62 @@ +diff -up chromium-102.0.5005.61/chrome/browser/about_flags.cc.accel-mjpeg chromium-102.0.5005.61/chrome/browser/about_flags.cc +--- chromium-102.0.5005.61/chrome/browser/about_flags.cc.accel-mjpeg 2022-05-19 02:16:44.000000000 +0000 ++++ chromium-102.0.5005.61/chrome/browser/about_flags.cc 2022-06-03 20:09:42.298053196 +0000 +@@ -4308,12 +4308,12 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, + MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, + #endif // ENABLE_VR +-#if BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) + {"disable-accelerated-mjpeg-decode", + flag_descriptions::kAcceleratedMjpegDecodeName, +- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, ++ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, + SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, +-#endif // BUILDFLAG(IS_CHROMEOS_ASH) ++#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) + {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, + flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, + FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, +diff -up chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc.accel-mjpeg chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc +--- chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc.accel-mjpeg 2022-06-03 17:55:53.493268667 +0000 ++++ chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc 2022-06-03 20:22:41.162906775 +0000 +@@ -4029,7 +4029,7 @@ const char kUseAngleGL[] = "OpenGL"; + + // ChromeOS ------------------------------------------------------------------- + +-#if BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) + + const char kAcceleratedMjpegDecodeName[] = + "Hardware-accelerated mjpeg decode for captured frame"; +@@ -4037,6 +4037,10 @@ const char kAcceleratedMjpegDecodeDescri + "Enable hardware-accelerated mjpeg decode for captured frame where " + "available."; + ++#endif ++ ++#if BUILDFLAG(IS_CHROMEOS_ASH) ++ + const char kAllowDisableTouchpadHapticFeedbackName[] = + "Allow disabling touchpad haptic feedback"; + const char kAllowDisableTouchpadHapticFeedbackDescription[] = +diff -up chromium-102.0.5005.61/chrome/browser/flag_descriptions.h.accel-mjpeg chromium-102.0.5005.61/chrome/browser/flag_descriptions.h +--- chromium-102.0.5005.61/chrome/browser/flag_descriptions.h.accel-mjpeg 2022-06-03 17:55:53.494268633 +0000 ++++ chromium-102.0.5005.61/chrome/browser/flag_descriptions.h 2022-06-03 20:23:50.514578649 +0000 +@@ -2303,11 +2303,15 @@ extern const char kUseAngleGL[]; + + // ChromeOS ------------------------------------------------------------------- + +-#if BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) + + extern const char kAcceleratedMjpegDecodeName[]; + extern const char kAcceleratedMjpegDecodeDescription[]; + ++#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) ++ ++#if BUILDFLAG(IS_CHROMEOS_ASH) ++ + extern const char kAllowDisableTouchpadHapticFeedbackName[]; + extern const char kAllowDisableTouchpadHapticFeedbackDescription[]; + diff --git a/chromium.spec b/chromium.spec index a1595a8..e4fd6ff 100644 --- a/chromium.spec +++ b/chromium.spec @@ -7,7 +7,7 @@ # This flag is so I can build things very fast on a giant system. # Enabling this in koji causes aarch64 builds to timeout indefinitely. -%global use_all_cpus 0 +%global use_all_cpus 1 %if %{use_all_cpus} %global numjobs %{_smp_build_ncpus} @@ -215,14 +215,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 100 +%global majorversion 102 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.4896.127 +Version: %{majorversion}.0.5005.115 Release: 1%{?dist} %if %{?freeworld} %if %{?shared} @@ -264,7 +264,7 @@ Patch11: chromium-93.0.4577.63-py3-bootstrap.patch Patch11: chromium-92.0.4515.107-py2-bootstrap.patch %endif # Add "Fedora" to the user agent string -Patch12: chromium-99.0.4844.51-fedora-user-agent.patch +Patch12: chromium-101.0.4951.41-fedora-user-agent.patch # Needs to be submitted.. Patch51: chromium-96.0.4664.45-gcc-remoting-constexpr.patch @@ -279,28 +279,25 @@ Patch57: chromium-96.0.4664.45-missing-cstring.patch # prepare for using system ffmpeg (clean) # http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-100-GLImplementationParts-constexpr.patch -Patch60: chromium-100-GLImplementationParts-constexpr.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-100-InMilliseconds-constexpr.patch -Patch61: chromium-100-InMilliseconds-constexpr.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-100-macro-typo.patch -Patch62: chromium-100-macro-typo.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-100-SCTHashdanceMetadata-move.patch -Patch63: chromium-100-SCTHashdanceMetadata-move.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-102-fenced_frame_utils-include.patch +Patch59: chromium-102-fenced_frame_utils-include.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-102-regex_pattern-array.patch +Patch60: chromium-102-regex_pattern-array.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-102-swiftshader-template-instantiation.patch +Patch61: chromium-102-swiftshader-template-instantiation.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-102-symbolize-include.patch +Patch62: chromium-102-symbolize-include.patch + # Extra CXXFLAGS for aarch64 Patch64: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch # Fix issue where closure_compiler thinks java is only allowed in android builds # https://bugs.chromium.org/p/chromium/issues/detail?id=1192875 Patch65: chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch -# Need for std::tie -Patch66: chromium-100.0.4896.75-missing-include-tuple.patch # Fix missing cstring in remoting code Patch67: chromium-98.0.4758.80-remoting-cstring.patch # Apply fix_textrels hack for i686 (even without lld) Patch68: chromium-84.0.4147.125-i686-fix_textrels.patch -# Need for std::vector -Patch69: chromium-100.0.4896.75-missing-include-vector.patch # Do not download proprietary widevine module in the background (thanks Debian) @@ -327,7 +324,7 @@ Patch86: chromium-94.0.4606.81-clang-format.patch Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch # Fix extra qualification error -Patch97: chromium-100.0.4896.75-remoting-extra-qualification.patch +Patch97: chromium-101.0.4951.41-remoting-extra-qualification.patch # From gentoo Patch98: chromium-94.0.4606.71-InkDropHost-crash.patch # Enable WebRTCPPipeWireCapturer by default @@ -370,7 +367,7 @@ Patch112: chromium-100.0.4896.75-old-xkb.patch # VAAPI # Upstream turned VAAPI on in Linux in 86 -Patch202: chromium-98.0.4758.80-enable-hardware-accelerated-mjpeg.patch +Patch202: chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch Patch203: chromium-86.0.4240.75-vaapi-i686-fpermissive.patch Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch @@ -455,6 +452,7 @@ BuildRequires: libusb-compat-0.1-devel %else BuildRequires: libusb-devel %endif +BuildRequires: libutempter-devel BuildRequires: libXdamage-devel BuildRequires: libXtst-devel BuildRequires: xcb-proto @@ -1002,19 +1000,17 @@ udev. %patch56 -p1 -b .missing-cstdint %patch57 -p1 -b .missing-cstring %patch58 -p1 -b .ffmpeg-deprecations -%patch60 -p1 -b .GLImplementationParts-constexpr -%patch61 -p1 -b .InMilliseconds-constexpr -%patch62 -p1 -b .macro-typo -%patch63 -p1 -b .SCTHashdanceMetadata-move +%patch59 -p1 -b .fenced_frame_utils-include +%patch60 -p1 -b .regex_pattern-array +%patch61 -p1 -b .swiftshader-template-instantiation +%patch62 -p1 -b .symbolize-include %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed -%patch66 -p1 -b .missing-include-tuple %patch67 -p1 -b .remoting-cstring %patch68 -p1 -b .i686-textrels -%patch69 -p1 -b .missing-include-vector %patch79 -p1 -b .widevine-no-download %patch80 -p1 -b .EnumTable-crash -%patch81 -p1 -b .gcc12fix +# %%patch81 -p1 -b .gcc12fix %patch82 -p1 -b .remoting-no-tests %patch84 -p1 -b .remoting-missing-cmath-header %patch86 -p1 -b .clang-format-py3 @@ -1319,8 +1315,8 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/cros_system_api' \ 'third_party/dav1d' \ 'third_party/dawn' \ + 'third_party/dawn/third_party/gn' \ 'third_party/dawn/third_party/khronos' \ - 'third_party/dawn/third_party/tint' \ 'third_party/depot_tools' \ 'third_party/devscripts' \ 'third_party/devtools-frontend' \ @@ -1373,7 +1369,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/jstemplate' \ 'third_party/khronos' \ 'third_party/leveldatabase' \ - 'third_party/libXNVCtrl' \ 'third_party/libaddressinput' \ 'third_party/libaom' \ 'third_party/libaom/source/libaom/third_party/fastfeat' \ @@ -1424,7 +1419,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/node' \ 'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \ 'third_party/one_euro_filter' \ - 'third_party/opencv' \ %if %{freeworld} 'third_party/openh264' \ %endif @@ -1482,6 +1476,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/swiftshader/third_party/marl' \ 'third_party/swiftshader/third_party/subzero' \ 'third_party/swiftshader/third_party/SPIRV-Headers' \ + 'third_party/swiftshader/third_party/SPIRV-Tools' \ 'third_party/tensorflow-text' \ 'third_party/test_fonts' \ 'third_party/tflite' \ @@ -1489,7 +1484,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/tflite/src/third_party/fft2d' \ 'third_party/ukey2' \ 'third_party/usb_ids' \ - 'third_party/usrsctp' \ 'third_party/utf' \ 'third_party/vulkan' \ 'third_party/wayland' \ @@ -1741,9 +1735,9 @@ rm -rf %{buildroot} pushd %{builddir} cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path} %ifarch x86_64 i686 aarch64 - cp -a swiftshader %{buildroot}%{chromium_path} - strip %{buildroot}%{chromium_path}/swiftshader/libEGL.so - strip %{buildroot}%{chromium_path}/swiftshader/libGLESv2.so + # cp -a swiftshader %{buildroot}%{chromium_path} + # strip %{buildroot}%{chromium_path}/swiftshader/libEGL.so + # strip %{buildroot}%{chromium_path}/swiftshader/libGLESv2.so cp -a libvk_swiftshader.so* %{buildroot}%{chromium_path} strip %{buildroot}%{chromium_path}/libvk_swiftshader.so cp -a libvulkan.so* %{buildroot}%{chromium_path} @@ -2035,12 +2029,13 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %endif %{chromium_path}/resources/ %ifarch x86_64 i686 aarch64 -%{chromium_path}/swiftshader/ +# %%{chromium_path}/swiftshader/ %{chromium_path}/libvk_swiftshader.so* %{chromium_path}/libvulkan.so* %{chromium_path}/vk_swiftshader_icd.json %endif %dir %{chromium_path}/locales/ +%lang(af) %{chromium_path}/locales/af.pak* %lang(am) %{chromium_path}/locales/am.pak* %lang(ar) %{chromium_path}/locales/ar.pak* %lang(bg) %{chromium_path}/locales/bg.pak* @@ -2094,6 +2089,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %lang(th) %{chromium_path}/locales/th.pak* %lang(tr) %{chromium_path}/locales/tr.pak* %lang(uk) %{chromium_path}/locales/uk.pak* +%lang(ur) %{chromium_path}/locales/ur.pak* %lang(vi) %{chromium_path}/locales/vi.pak* %lang(zh_CN) %{chromium_path}/locales/zh-CN.pak* %lang(zh_TW) %{chromium_path}/locales/zh-TW.pak* @@ -2160,6 +2156,15 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Fri Jun 10 2022 Tom Callaway - 102.0.5005.115-1 +- update to 102.0.5005.115 + +* Fri Jun 3 2022 Tom Callaway - 102.0.5005.61-1 +- update to 102.0.5005.61 + +* Wed Apr 27 2022 Tom Callaway - 101.0.4951.41-1 +- update to 101.0.4951.41 + * Thu Apr 21 2022 Tom Callaway - 100.0.4896.127-1 - update to 100.0.4896.127 diff --git a/sources b/sources index 8fe62c2..8f49caa 100644 --- a/sources +++ b/sources @@ -21,4 +21,4 @@ SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1d SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (node-v12.22.6-linux-arm64.tar.xz) = 87ce5eb954deb1d0debe6fa02b28a3cc675e12fca1e51d44b123ab294aa39ce0c6b8ac9eae1e7a6e32673ea2c2d480651d9ba7eea73012f0529503eebe9eb34d SHA512 (node-v12.22.6-linux-x64.tar.xz) = e1b55c32343cb2ccc40d888c705414bebf9c46b02083d13731df79b1e79521b7277761f6bcca041e40e3a2e47c67bb8e7848aa2b919a9de5c2ebf62c4a9c7176 -SHA512 (chromium-100.0.4896.127-clean.tar.xz) = 67b38e74d5aa35aef62ebfeb3856c268e6563b74cb6508993a14af3d8c2f2463208760c9cab265c09a8735a80a56d9d585640b14c4cd4f21110eb0e7b8e21250 +SHA512 (chromium-102.0.5005.115-clean.tar.xz) = 43482534f96ced335073a1136f4b292bee8a9a0c31cd4b12675739b15ddb5d5351fea17b9445b36e80bccb37e086578274a5bd643a906e70d05230be136d7fc8 From 1e38bc640f8718b59b9b4b4374fbe4f06fa16be7 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Sun, 12 Jun 2022 15:27:58 -0400 Subject: [PATCH 002/568] use_all_cpus 0 --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index e4fd6ff..1dd6b79 100644 --- a/chromium.spec +++ b/chromium.spec @@ -7,7 +7,7 @@ # This flag is so I can build things very fast on a giant system. # Enabling this in koji causes aarch64 builds to timeout indefinitely. -%global use_all_cpus 1 +%global use_all_cpus 0 %if %{use_all_cpus} %global numjobs %{_smp_build_ncpus} From 6e42b8cf18e052d0eded6821a04806ca08f7e08f Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Sun, 12 Jun 2022 15:47:35 -0400 Subject: [PATCH 003/568] rhel cleanups --- chromium.spec | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/chromium.spec b/chromium.spec index 1dd6b79..75bed7e 100644 --- a/chromium.spec +++ b/chromium.spec @@ -360,9 +360,6 @@ Patch109: chromium-98.0.4758.80-epel7-erase-fix.patch Patch110: chromium-90.0.4430.93-epel8-aarch64-libpng16-symbol-prefixes.patch # Add additional operator== to make el7 happy. Patch111: chromium-99.0.4844.51-el7-extra-operator==.patch -# EPEL7 and EPEL8 do not have a new enough libxkbcommon to support xkb_keymap_key_get_mods_for_level -# and the weak attribute hack that chromium tries doesn't seem to work on gcc -Patch112: chromium-100.0.4896.75-old-xkb.patch # VAAPI @@ -1043,10 +1040,6 @@ udev. %patch110 -p1 -b .el8-aarch64-libpng16-symbol-prefixes %endif -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 -%patch112 -p1 -b .old-xkb -%endif - # Feature specific patches %if %{use_vaapi} %patch202 -p1 -b .accel-mjpeg @@ -1129,12 +1122,12 @@ unzip %{SOURCE113} cp -a /usr/share/fonts/lohit-gurmukhi/Lohit-Gurmukhi.ttf . cp -a /usr/share/fonts/google-noto-cjk/NotoSansCJKjp-Regular.otf . %endif -%if 0%{?fedora} >= 32 +%if 0%{?fedora} >= 32 || 0%{?rhel} >= 9 cp -a /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf /usr/share/fonts/dejavu-sans-fonts/DejaVuSans-Bold.ttf . %else cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf . %endif -%if 0%{?fedora} >= 33 +%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 cp -a /usr/share/fonts/thai-scalable/Garuda.otf . sed -i 's|Garuda.ttf|Garuda.otf|g' ../BUILD.gn %else From ac544348b88d970b00b2b4729414e7a02604874b Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 13 Jun 2022 09:35:28 -0400 Subject: [PATCH 004/568] fix gnome-keyring conditional for epel9 --- chromium.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 75bed7e..154e813 100644 --- a/chromium.spec +++ b/chromium.spec @@ -616,7 +616,8 @@ BuildRequires: re2-devel >= 20160401 BuildRequires: speech-dispatcher-devel BuildRequires: yasm BuildRequires: zlib-devel -%if 0%{?rhel} < 8 +# Technically, this logic probably applies to older rhel too... but whatever. +%if 0%{?fedora} || 0%{?rhel} == 7 || 0%{?rhel} >= 9 BuildRequires: pkgconfig(gnome-keyring-1) %endif # remote desktop needs this From 340fe716d21ac4d14d4bb2544caeb7494505f7f6 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 13 Jun 2022 09:39:48 -0400 Subject: [PATCH 005/568] add BR on git binary --- chromium.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chromium.spec b/chromium.spec index 154e813..d84cc51 100644 --- a/chromium.spec +++ b/chromium.spec @@ -500,6 +500,8 @@ BuildRequires: flac-devel %else BuildRequires: freetype-devel %endif +# One of the python scripts invokes git to look for a hash. So helpful. +BuildRequires: /usr/bin/git BuildRequires: hwdata BuildRequires: kernel-headers BuildRequires: libevent-devel From 5d6968f9db9374f64034c82f23a235560ad43736 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 13 Jun 2022 10:10:16 -0400 Subject: [PATCH 006/568] disable gnome-keyring on epel9 --- chromium.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index d84cc51..3303698 100644 --- a/chromium.spec +++ b/chromium.spec @@ -619,7 +619,8 @@ BuildRequires: speech-dispatcher-devel BuildRequires: yasm BuildRequires: zlib-devel # Technically, this logic probably applies to older rhel too... but whatever. -%if 0%{?fedora} || 0%{?rhel} == 7 || 0%{?rhel} >= 9 +# RHEL 8 and 9 do not have gnome-keyring. Not sure why, but whatever again. +%if 0%{?fedora} || 0%{?rhel} == 7 BuildRequires: pkgconfig(gnome-keyring-1) %endif # remote desktop needs this @@ -1052,7 +1053,7 @@ udev. %patch205 -p1 -b .vaapi-intel-fix %endif -%if 0%{?rhel} == 8 +%if 0%{?rhel} >= 8 %patch300 -p1 -b .disblegnomekeyring %endif From cd477185d58f0d516eaa966e0b7bcc92252aae36 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Tue, 14 Jun 2022 16:40:12 -0400 Subject: [PATCH 007/568] aarch64 v8 gcc cfi fix --- ...02.0.5005.115-v8-aarch64-gcc-cfi-fix.patch | 26 +++++++++++++++++++ chromium.spec | 4 +++ 2 files changed, 30 insertions(+) create mode 100644 chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch diff --git a/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch b/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch new file mode 100644 index 0000000..5c0200a --- /dev/null +++ b/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch @@ -0,0 +1,26 @@ +diff -up chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h +--- chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix 2022-06-14 16:34:21.710049421 -0400 ++++ chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h 2022-06-14 16:35:17.650427761 -0400 +@@ -47,15 +47,17 @@ V8_INLINE Address PointerAuthentication: + #ifdef USE_SIMULATOR + return Simulator::StripPAC(pc, Simulator::kInstructionPointer); + #else ++ // x30 == lr, but use 'x30' instead of 'lr' below, as GCC does not accept ++ // 'lr' in the clobbers list. + asm volatile( +- " mov x16, lr\n" +- " mov lr, %[pc]\n" ++ " mov x16, x30\n" ++ " mov x30, %[pc]\n" + " xpaclri\n" +- " mov %[pc], lr\n" +- " mov lr, x16\n" ++ " mov %[pc], x30\n" ++ " mov x30, x16\n" + : [pc] "+r"(pc) + : +- : "x16", "lr"); ++ : "x16", "x30"); + return pc; + #endif + } diff --git a/chromium.spec b/chromium.spec index 3303698..7feebf1 100644 --- a/chromium.spec +++ b/chromium.spec @@ -288,6 +288,9 @@ Patch61: chromium-102-swiftshader-template-instantiation.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-102-symbolize-include.patch Patch62: chromium-102-symbolize-include.patch +# https://github.com/v8/v8/commit/2ed27bba6a881a152887f3ab1008e989fce617e3 +Patch63: chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch + # Extra CXXFLAGS for aarch64 Patch64: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch # Fix issue where closure_compiler thinks java is only allowed in android builds @@ -1005,6 +1008,7 @@ udev. %patch60 -p1 -b .regex_pattern-array %patch61 -p1 -b .swiftshader-template-instantiation %patch62 -p1 -b .symbolize-include +%patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed %patch67 -p1 -b .remoting-cstring From effc42ab0a1c57618834bcb68f23b843c25a6bbf Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Wed, 15 Jun 2022 09:17:36 -0400 Subject: [PATCH 008/568] el9 aarch64 does not seem to have libva-devel --- chromium.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/chromium.spec b/chromium.spec index 7feebf1..9f7289a 100644 --- a/chromium.spec +++ b/chromium.spec @@ -48,11 +48,18 @@ # We'd like to always have this on... # ... but the libva in EL7 (and EL8) is too old. +# ... and EL9 doesn't ship libva-devel on aarch64? %if 0%{?rhel} == 7 || 0%{?rhel} == 8 %global use_vaapi 0 %else +%if 0%{?rhel} == 9 +%ifarch aarch64 +%global use_vaapi 0 +%endif +%else %global use_vaapi 1 %endif +%endif # Seems like we might need this sometimes # Practically, no. But it's here in case we do. @@ -539,7 +546,9 @@ BuildRequires: libudev-devel Requires: libusbx >= 1.0.21-0.1.git448584a BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a %endif +%if 0%{?use_vaapi} BuildRequires: libva-devel +%endif # We don't use libvpx anymore because Chromium loves to # use bleeding edge revisions here that break other things # ... so we just use the bundled libvpx. From 3ee798bef1728e248ed42f2549f1e942422b1892 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Wed, 15 Jun 2022 09:23:11 -0400 Subject: [PATCH 009/568] fixup conditionals to be less obtuse --- chromium.spec | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/chromium.spec b/chromium.spec index 9f7289a..90881e8 100644 --- a/chromium.spec +++ b/chromium.spec @@ -47,18 +47,16 @@ %endif # We'd like to always have this on... +%global use_vaapi 1 # ... but the libva in EL7 (and EL8) is too old. -# ... and EL9 doesn't ship libva-devel on aarch64? %if 0%{?rhel} == 7 || 0%{?rhel} == 8 %global use_vaapi 0 -%else +%endif +# ... and EL9 doesn't ship libva-devel on aarch64? %if 0%{?rhel} == 9 -%ifarch aarch64 -%global use_vaapi 0 -%endif -%else -%global use_vaapi 1 -%endif + %ifarch aarch64 + %global use_vaapi 0 + %endif %endif # Seems like we might need this sometimes @@ -546,7 +544,7 @@ BuildRequires: libudev-devel Requires: libusbx >= 1.0.21-0.1.git448584a BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a %endif -%if 0%{?use_vaapi} +%if 0%{use_vaapi} BuildRequires: libva-devel %endif # We don't use libvpx anymore because Chromium loves to From 6b11f13d37c55513beb8970a7582815292bde526 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Wed, 15 Jun 2022 11:30:29 -0400 Subject: [PATCH 010/568] Need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC --- chromium-102.0.5005.115-el7-memfd-include.patch | 11 +++++++++++ chromium.spec | 4 ++++ 2 files changed, 15 insertions(+) create mode 100644 chromium-102.0.5005.115-el7-memfd-include.patch diff --git a/chromium-102.0.5005.115-el7-memfd-include.patch b/chromium-102.0.5005.115-el7-memfd-include.patch new file mode 100644 index 0000000..8724909 --- /dev/null +++ b/chromium-102.0.5005.115-el7-memfd-include.patch @@ -0,0 +1,11 @@ +diff -up chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc +--- chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include 2022-06-15 10:52:49.553817031 -0400 ++++ chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc 2022-06-15 10:56:15.775173013 -0400 +@@ -56,6 +56,7 @@ + + #if V8_OS_LINUX + #include // for prctl ++#include // for MFD_CLOEXEC + #endif + + #if defined(V8_OS_FUCHSIA) diff --git a/chromium.spec b/chromium.spec index 90881e8..c51d299 100644 --- a/chromium.spec +++ b/chromium.spec @@ -350,6 +350,9 @@ Patch103: chromium-99.0.4844.51-epel7-old-headers-workarounds.patch # Use old cups (chromium's code workaround breaks on gcc) # Revert: https://github.com/chromium/chromium/commit/c3213f8779ddc427e89d982514185ed5e4c94e91 Patch104: chromium-99.0.4844.51-epel7-old-cups.patch +# Need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC +Patch105: chromium-102.0.5005.115-el7-memfd-include.patch + # Still not wrong, but it seems like only EL needs it Patch106: chromium-77-clang.patch # ARM failures on el8 related to int clashes @@ -1045,6 +1048,7 @@ udev. # %%patch102 -p1 -b .el7-noexcept %patch103 -p1 -b .epel7-header-workarounds %patch104 -p1 -b .el7cups +%patch105 -p1 -b .el7-memfd-include %patch108 -p1 -b .el7-old-libdrm %patch109 -p1 -b .el7-erase-fix %patch111 -p1 -b .el7-extra-operator-equalequal From d3e3951389177be3ed212d2cc19e69776b1bdc64 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Thu, 16 Jun 2022 13:18:05 -0400 Subject: [PATCH 011/568] fix minizip requires for el9 --- chromium.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index c51d299..7d3caea 100644 --- a/chromium.spec +++ b/chromium.spec @@ -228,7 +228,7 @@ Name: chromium%{chromium_channel}%{nsuffix} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.5005.115 -Release: 1%{?dist} +Release: 2%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -898,9 +898,13 @@ Requires: minizip-compat%{_isa} %if %{?rhel} == 7 # Do nothing %else +%if %{?rhel} == 9 +Requires: minizip1.2%{_isa} +%else Requires: minizip%{_isa} %endif %endif +%endif # -common doesn't have chrome-remote-desktop bits # but we need to clean it up if it gets disabled again # NOTE: Check obsoletes version to be sure it matches @@ -2168,6 +2172,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Jun 16 2022 Tom Callaway - 102.0.5005.115-2 +- fix minizip Requires for EL9 + * Fri Jun 10 2022 Tom Callaway - 102.0.5005.115-1 - update to 102.0.5005.115 From 05c57f9975df3c0d11b3fc0927f114061d7620ac Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 24 Jun 2022 17:04:40 -0500 Subject: [PATCH 012/568] clean script fixes --- clean_ffmpeg.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 2055fdc..614c0fe 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -77,6 +77,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/cbrt_tablegen.h \ libavcodec/codec.h \ libavcodec/codec_id.h \ + libavcodec/codec_internal.h \ libavcodec/codec_par.h \ libavcodec/dct.h \ libavcodec/dct32.h \ @@ -92,6 +93,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/get_bits.h \ libavcodec/h263dsp.h \ libavcodec/h264chroma.h \ + libavcodec/hevc.h \ libavcodec/hpeldsp.h \ libavcodec/hwaccels.h \ libavcodec/hwconfig.h \ @@ -140,9 +142,12 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/sbrdsp.h \ libavcodec/sinewin.h \ libavcodec/sinewin_tablegen.h \ + libavcodec/startcode.h \ libavcodec/thread.h \ + libavcodec/threadframe.h \ libavcodec/unary.h \ libavcodec/version.h \ + libavcodec/version_major.h \ libavcodec/videodsp.h \ libavcodec/vlc.h \ libavcodec/vorbisdsp.h \ @@ -167,6 +172,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavformat/srtp.h \ libavformat/options_table.h \ libavformat/version.h \ + libavformat/version_major.h \ libavformat/w64.h \ libavutil/aarch64/cpu.h \ libavutil/x86/asm.h \ @@ -209,6 +215,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavutil/version.h \ libswresample/swresample.h \ libswresample/version.h \ + libswresample/version_major.h \ compat/va_copy.h \ compat/atomics/gcc/stdatomic.h " From 8242b9a105a3ead2db978bbb8f384b3cab19b2bc Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Tue, 28 Jun 2022 19:00:59 -0400 Subject: [PATCH 013/568] 103.0.5060.53 --- chromium-103-FrameLoadRequest-type.patch | 26 ++ chromium-103-SubstringSetMatcher-packed.patch | 70 ++++++ chromium-103-VirtualCursor-std-layout.patch | 231 ++++++++++++++++++ ...5060.53-remoting-extra-qualification.patch | 219 +++++++++++++++++ chromium.spec | 44 ++-- sources | 2 +- 6 files changed, 571 insertions(+), 21 deletions(-) create mode 100644 chromium-103-FrameLoadRequest-type.patch create mode 100644 chromium-103-SubstringSetMatcher-packed.patch create mode 100644 chromium-103-VirtualCursor-std-layout.patch create mode 100644 chromium-103.0.5060.53-remoting-extra-qualification.patch diff --git a/chromium-103-FrameLoadRequest-type.patch b/chromium-103-FrameLoadRequest-type.patch new file mode 100644 index 0000000..cdace4b --- /dev/null +++ b/chromium-103-FrameLoadRequest-type.patch @@ -0,0 +1,26 @@ +From 491bf840da4f76fa3591cc0aa2f4c19cdbe57ec4 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Thu, 12 May 2022 11:58:29 +0000 +Subject: [PATCH] GCC: fix ambiguous references in blink::FrameLoadRequest + +Add namespace to avoid confusion. +--- + third_party/blink/renderer/core/loader/frame_load_request.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h +index 444b25c..a86814d 100644 +--- a/third_party/blink/renderer/core/loader/frame_load_request.h ++++ b/third_party/blink/renderer/core/loader/frame_load_request.h +@@ -179,7 +179,7 @@ struct CORE_EXPORT FrameLoadRequest { + impression_ = impression; + } + +- const absl::optional& Impression() const { return impression_; } ++ const absl::optional& Impression() const { return impression_; } + + bool CanDisplay(const KURL&) const; + +-- +2.35.1 + diff --git a/chromium-103-SubstringSetMatcher-packed.patch b/chromium-103-SubstringSetMatcher-packed.patch new file mode 100644 index 0000000..ae27bfc --- /dev/null +++ b/chromium-103-SubstringSetMatcher-packed.patch @@ -0,0 +1,70 @@ +From 3d274856e792a361336eb4ae1670bc9c1905f0cb Mon Sep 17 00:00:00 2001 +From: Steinar H. Gunderson +Date: Thu, 12 May 2022 16:42:40 +0200 +Subject: [PATCH] Make AhoCorasickNode 4-aligned. + +This should fix an issue where std::vector could allocate unaligned +memory for AhoCorasickNode, and we'd then return a pointer to +inline_edges, where a caller would expect the pointer to be aligned +but it wasn't. + +Change-Id: Id9dff044c61f8e46062c63b8480b18ebc68c4862 +--- + +diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc +index e110047..ef0b750 100644 +--- a/base/substring_set_matcher/substring_set_matcher.cc ++++ b/base/substring_set_matcher/substring_set_matcher.cc +@@ -424,7 +424,12 @@ + edges_.inline_edges[num_edges()] = AhoCorasickEdge{label, node}; + if (label == kFailureNodeLabel) { + // Make sure that kFailureNodeLabel is first. +- std::swap(edges_.inline_edges[0], edges_.inline_edges[num_edges()]); ++ // NOTE: We don't use std::swap here, because GCC ++ // doesn't understand that inline_edges[] is 4-aligned ++ // and gives a warning. ++ AhoCorasickEdge temp = edges_.inline_edges[0]; ++ edges_.inline_edges[0] = edges_.inline_edges[num_edges()]; ++ edges_.inline_edges[num_edges()] = temp; + } + --num_free_edges_; + return; +diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc +index e110047..ef0b750 100644 +--- a/base/substring_set_matcher/substring_set_matcher.h ++++ b/base/substring_set_matcher/substring_set_matcher.h +@@ -154,8 +154,9 @@ + static constexpr uint32_t kEmptyLabel = 0x103; + + // A node in the trie, packed tightly together so that it occupies 12 bytes +- // (both on 32- and 64-bit platforms). +- class AhoCorasickNode { ++ // (both on 32- and 64-bit platforms), but aligned to at least 4 (see the ++ // comment on edges_). ++ class alignas(AhoCorasickEdge) AhoCorasickNode { + public: + AhoCorasickNode(); + ~AhoCorasickNode(); +@@ -178,6 +179,10 @@ + NodeID GetEdgeNoInline(uint32_t label) const; + void SetEdge(uint32_t label, NodeID node); + const AhoCorasickEdge* edges() const { ++ // NOTE: Returning edges_.inline_edges here is fine, because it's ++ // the first thing in the struct (see the comment on edges_). ++ DCHECK_EQ(0u, reinterpret_cast(edges_.inline_edges) % ++ alignof(AhoCorasickEdge)); + return edges_capacity_ == 0 ? edges_.inline_edges : edges_.edges; + } + +@@ -258,6 +263,11 @@ + // in the first slot if it exists (ie., is not equal to kRootID), since we + // need to access that label during every single node we look at during + // traversal. ++ // ++ // NOTE: Keep this the first member in the struct, so that inline_edges gets ++ // 4-aligned (since the class is marked as such, despite being packed. ++ // Otherwise, edges() can return an unaligned pointer marked as aligned ++ // (the unalignedness gets lost). + static constexpr int kNumInlineEdges = 2; + union { + // Out-of-line edge storage, having room for edges_capacity_ elements. diff --git a/chromium-103-VirtualCursor-std-layout.patch b/chromium-103-VirtualCursor-std-layout.patch new file mode 100644 index 0000000..be0502e --- /dev/null +++ b/chromium-103-VirtualCursor-std-layout.patch @@ -0,0 +1,231 @@ +From 144479ad7b4287bee4067f95e4218f614798a865 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sun, 16 Jan 2022 19:15:26 +0000 +Subject: [PATCH] sql: make VirtualCursor standard layout type + +sql::recover::VirtualCursor needs to be a standard layout type, but +has members of type std::unique_ptr. However, std::unique_ptr is not +guaranteed to be standard layout. Compiling with clang combined with +gcc-11 libstdc++ fails because of this. + +Bug: 1189788 +Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c +--- + +diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc +index cc9420e5..f12d8fa 100644 +--- a/sql/recover_module/btree.cc ++++ b/sql/recover_module/btree.cc +@@ -136,16 +136,22 @@ + "Move the destructor to the .cc file if it's non-trival"); + #endif // !DCHECK_IS_ON() + +-LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept +- : page_id_(db_reader->page_id()), +- db_reader_(db_reader), +- cell_count_(ComputeCellCount(db_reader)), +- next_read_index_(0), +- last_record_size_(0) { ++LeafPageDecoder::LeafPageDecoder() noexcept = default; ++ ++void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { ++ page_id_ = db_reader->page_id(); ++ db_reader_ = db_reader; ++ cell_count_ = ComputeCellCount(db_reader); ++ next_read_index_ = 0; ++ last_record_size_ = 0; + DCHECK(IsOnValidPage(db_reader)); + DCHECK(DatabasePageReader::IsValidPageId(page_id_)); + } + ++void LeafPageDecoder::Reset() { ++ db_reader_ = nullptr; ++} ++ + bool LeafPageDecoder::TryAdvance() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(CanAdvance()); +diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h +index eaa087a5..df0e0c9 100644 +--- a/sql/recover_module/btree.h ++++ b/sql/recover_module/btree.h +@@ -101,9 +101,7 @@ + public: + // Creates a decoder for a DatabasePageReader's last read page. + // +- // |db_reader| must have been used to read an inner page of a table B-tree. +- // |db_reader| must outlive this instance. +- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; ++ LeafPageDecoder() noexcept; + ~LeafPageDecoder() noexcept = default; + + LeafPageDecoder(const LeafPageDecoder&) = delete; +@@ -151,6 +149,17 @@ + // read as long as CanAdvance() returns true. + bool TryAdvance(); + ++ // Initialize with DatabasePageReader ++ // |db_reader| must have been used to read an inner page of a table B-tree. ++ // |db_reader| must outlive this instance. ++ void Initialize(DatabasePageReader* db_reader); ++ ++ // Reset internal DatabasePageReader ++ void Reset(); ++ ++ // True if DatabasePageReader is valid ++ bool IsValid() { return (db_reader_ != nullptr); } ++ + // True if the given reader may point to an inner page in a table B-tree. + // + // The last ReadPage() call on |db_reader| must have succeeded. +@@ -164,14 +173,14 @@ + static int ComputeCellCount(DatabasePageReader* db_reader); + + // The number of the B-tree page this reader is reading. +- const int64_t page_id_; ++ int64_t page_id_; + // Used to read the tree page. + // + // Raw pointer usage is acceptable because this instance's owner is expected + // to ensure that the DatabasePageReader outlives this. +- DatabasePageReader* const db_reader_; ++ DatabasePageReader* db_reader_; + // Caches the ComputeCellCount() value for this reader's page. +- const int cell_count_ = ComputeCellCount(db_reader_); ++ int cell_count_; + + // The reader's cursor state. + // +diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc +index 4f827ed..240de499 100644 +--- a/sql/recover_module/cursor.cc ++++ b/sql/recover_module/cursor.cc +@@ -28,7 +28,7 @@ + int VirtualCursor::First() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + inner_decoders_.clear(); +- leaf_decoder_ = nullptr; ++ leaf_decoder_.Reset(); + + AppendPageDecoder(table_->root_page_id()); + return Next(); +@@ -38,18 +38,18 @@ + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + record_reader_.Reset(); + +- while (!inner_decoders_.empty() || leaf_decoder_.get()) { +- if (leaf_decoder_.get()) { +- if (!leaf_decoder_->CanAdvance()) { ++ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { ++ if (leaf_decoder_.IsValid()) { ++ if (!leaf_decoder_.CanAdvance()) { + // The leaf has been exhausted. Remove it from the DFS stack. +- leaf_decoder_ = nullptr; ++ leaf_decoder_.Reset(); + continue; + } +- if (!leaf_decoder_->TryAdvance()) ++ if (!leaf_decoder_.TryAdvance()) + continue; + +- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), +- leaf_decoder_->last_record_offset())) { ++ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), ++ leaf_decoder_.last_record_offset())) { + continue; + } + if (!record_reader_.Initialize()) +@@ -101,13 +101,13 @@ + int64_t VirtualCursor::RowId() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(record_reader_.IsInitialized()); +- DCHECK(leaf_decoder_.get()); +- return leaf_decoder_->last_record_rowid(); ++ DCHECK(leaf_decoder_.IsValid()); ++ return leaf_decoder_.last_record_rowid(); + } + + void VirtualCursor::AppendPageDecoder(int page_id) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +- DCHECK(leaf_decoder_.get() == nullptr) ++ DCHECK(!leaf_decoder_.IsValid()) + << __func__ + << " must only be called when the current path has no leaf decoder"; + +@@ -115,7 +115,7 @@ + return; + + if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { +- leaf_decoder_ = std::make_unique(&db_reader_); ++ leaf_decoder_.Initialize(&db_reader_); + return; + } + +diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h +index 845b785..cc4e85f8 100644 +--- a/sql/recover_module/cursor.h ++++ b/sql/recover_module/cursor.h +@@ -130,7 +130,7 @@ + std::vector> inner_decoders_; + + // Decodes the leaf page containing records. +- std::unique_ptr leaf_decoder_; ++ LeafPageDecoder leaf_decoder_; + + SEQUENCE_CHECKER(sequence_checker_); + }; +diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc +index 58e75de..69d98cef 100644 +--- a/sql/recover_module/pager.cc ++++ b/sql/recover_module/pager.cc +@@ -23,8 +23,7 @@ + "ints are not appropriate for representing page IDs"); + + DatabasePageReader::DatabasePageReader(VirtualTable* table) +- : page_data_(std::make_unique(table->page_size())), +- table_(table) { ++ : page_data_(table->page_size()), table_(table) { + DCHECK(table != nullptr); + DCHECK(IsValidPageSize(table->page_size())); + } +@@ -58,7 +57,7 @@ + "The |read_offset| computation above may overflow"); + + int sqlite_status = +- RawRead(sqlite_file, read_size, read_offset, page_data_.get()); ++ RawRead(sqlite_file, read_size, read_offset, page_data_.data()); + + // |page_id_| needs to be set to kInvalidPageId if the read failed. + // Otherwise, future ReadPage() calls with the previous |page_id_| value +diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h +index 07cac3cb..d08f093 100644 +--- a/sql/recover_module/pager.h ++++ b/sql/recover_module/pager.h +@@ -6,8 +6,8 @@ + #define SQL_RECOVER_MODULE_PAGER_H_ + + #include +-#include + #include ++#include + + #include "base/check_op.h" + #include "base/memory/raw_ptr.h" +@@ -72,7 +72,7 @@ + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK_NE(page_id_, kInvalidPageId) + << "Successful ReadPage() required before accessing pager state"; +- return page_data_.get(); ++ return page_data_.data(); + } + + // The number of bytes in the page read by the last ReadPage() call. +@@ -139,7 +139,7 @@ + int page_id_ = kInvalidPageId; + // Stores the bytes of the last page successfully read by ReadPage(). + // The content is undefined if the last call to ReadPage() did not succeed. +- const std::unique_ptr page_data_; ++ std::vector page_data_; + // Raw pointer usage is acceptable because this instance's owner is expected + // to ensure that the VirtualTable outlives this. + const raw_ptr table_; diff --git a/chromium-103.0.5060.53-remoting-extra-qualification.patch b/chromium-103.0.5060.53-remoting-extra-qualification.patch new file mode 100644 index 0000000..37d2acf --- /dev/null +++ b/chromium-103.0.5060.53-remoting-extra-qualification.patch @@ -0,0 +1,219 @@ +diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h +--- chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-06-27 22:16:20.214876025 +0000 ++++ chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h 2022-06-28 12:44:09.663890774 +0000 +@@ -37,7 +37,7 @@ + namespace mojo { + + template <> +-class mojo::StructTraits { ++class StructTraits { + public: + static bool value(bool value) { return value; } + +@@ -48,7 +48,7 @@ class mojo::StructTraits +-class mojo::StructTraits { ++class StructTraits { + public: + static float value(float value) { return value; } + +@@ -59,7 +59,7 @@ class mojo::StructTraits +-class mojo::StructTraits { ++class StructTraits { + public: + static int32_t value(int32_t value) { return value; } + +@@ -71,7 +71,7 @@ class mojo::StructTraits +-class mojo::StructTraits { ++class StructTraits { + public: + static uint32_t value(uint32_t value) { return value; } + +@@ -83,7 +83,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static bool use_update_notifications( +@@ -108,7 +108,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static bool enable_curtaining( +@@ -205,7 +205,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static int32_t left(const ::webrtc::DesktopRect& rect) { return rect.left(); } +@@ -225,7 +225,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static int32_t width(const ::webrtc::DesktopSize& size) { +@@ -241,7 +241,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } +@@ -253,7 +253,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const webrtc::DesktopSize& image_size( +@@ -506,7 +506,7 @@ struct EnumTraits +-class mojo::StructTraits> { + public: + static int32_t timestamp( +@@ -544,7 +544,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const std::string& mime_type( +@@ -562,7 +562,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const ::google::protobuf:: +@@ -576,7 +576,7 @@ class mojo::StructTraits +-class mojo::UnionTraits { + public: + static remoting::mojom::KeyActionDataView::Tag GetTag( +@@ -609,7 +609,7 @@ class mojo::UnionTraits +-class mojo::StructTraits { + public: + static const ::google::protobuf::Map< +@@ -967,7 +967,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static bool pressed(const ::remoting::protocol::KeyEvent& event) { +@@ -1003,7 +1003,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static absl::optional x( +@@ -1092,7 +1092,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const ::webrtc::DesktopSize& dimensions( +@@ -1110,7 +1110,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static const std::string& text(const ::remoting::protocol::TextEvent& event) { +@@ -1122,7 +1122,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { +@@ -1199,7 +1199,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static ::remoting::protocol::TouchEvent::TouchEventType event_type( +@@ -1259,7 +1259,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static ::remoting::protocol::TransportRoute::RouteType type( +@@ -1406,7 +1406,7 @@ struct EnumTraits +-class mojo::StructTraits { + public: + static const ::google::protobuf::RepeatedPtrField< +@@ -1425,7 +1425,7 @@ class mojo::StructTraits +-class mojo::StructTraits { + public: + static int64_t screen_id( diff --git a/chromium.spec b/chromium.spec index 7d3caea..b434039 100644 --- a/chromium.spec +++ b/chromium.spec @@ -7,7 +7,7 @@ # This flag is so I can build things very fast on a giant system. # Enabling this in koji causes aarch64 builds to timeout indefinitely. -%global use_all_cpus 0 +%global use_all_cpus 1 %if %{use_all_cpus} %global numjobs %{_smp_build_ncpus} @@ -220,15 +220,15 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 102 +%global majorversion 103 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.5005.115 -Release: 2%{?dist} +Version: %{majorversion}.0.5060.53 +Release: 1%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -284,18 +284,15 @@ Patch57: chromium-96.0.4664.45-missing-cstring.patch # prepare for using system ffmpeg (clean) # http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-102-fenced_frame_utils-include.patch -Patch59: chromium-102-fenced_frame_utils-include.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-102-regex_pattern-array.patch -Patch60: chromium-102-regex_pattern-array.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-102-swiftshader-template-instantiation.patch -Patch61: chromium-102-swiftshader-template-instantiation.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-102-symbolize-include.patch -Patch62: chromium-102-symbolize-include.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-103-VirtualCursor-std-layout.patch +Patch59: chromium-103-VirtualCursor-std-layout.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-103-SubstringSetMatcher-packed.patch +Patch60: chromium-103-SubstringSetMatcher-packed.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-103-FrameLoadRequest-type.patch +Patch61: chromium-103-FrameLoadRequest-type.patch # https://github.com/v8/v8/commit/2ed27bba6a881a152887f3ab1008e989fce617e3 Patch63: chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch - # Extra CXXFLAGS for aarch64 Patch64: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch # Fix issue where closure_compiler thinks java is only allowed in android builds @@ -307,7 +304,6 @@ Patch67: chromium-98.0.4758.80-remoting-cstring.patch # Apply fix_textrels hack for i686 (even without lld) Patch68: chromium-84.0.4147.125-i686-fix_textrels.patch - # Do not download proprietary widevine module in the background (thanks Debian) Patch79: chromium-99.0.4844.51-widevine-no-download.patch @@ -332,7 +328,7 @@ Patch86: chromium-94.0.4606.81-clang-format.patch Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch # Fix extra qualification error -Patch97: chromium-101.0.4951.41-remoting-extra-qualification.patch +Patch97: chromium-103.0.5060.53-remoting-extra-qualification.patch # From gentoo Patch98: chromium-94.0.4606.71-InkDropHost-crash.patch # Enable WebRTCPPipeWireCapturer by default @@ -1018,10 +1014,10 @@ udev. %patch56 -p1 -b .missing-cstdint %patch57 -p1 -b .missing-cstring %patch58 -p1 -b .ffmpeg-deprecations -%patch59 -p1 -b .fenced_frame_utils-include -%patch60 -p1 -b .regex_pattern-array -%patch61 -p1 -b .swiftshader-template-instantiation -%patch62 -p1 -b .symbolize-include +%patch59 -p1 -b .VirtualCursor-std-layout +%patch60 -p1 -b .SubstringSetMatcher-packed +%patch61 -p1 -b .FrameLoadRequest-type + %patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed @@ -1241,7 +1237,7 @@ CHROMIUM_HEADLESS_GN_DEFINES="" CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true' CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=false icu_use_data_file=false v8_use_external_startup_data=false' CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false enable_remoting=false use_alsa=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gio=false use_kerberos=false use_libpci=false' +CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=true use_gio=false use_kerberos=false use_libpci=false' CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false use_gtk=false use_glib=false' export CHROMIUM_HEADLESS_GN_DEFINES @@ -1324,6 +1320,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/ced' \ 'third_party/cld_3' \ 'third_party/closure_compiler' \ + 'third_party/cpuinfo' \ 'third_party/crashpad' \ 'third_party/crashpad/crashpad/third_party/lss' \ 'third_party/crashpad/crashpad/third_party/zlib/' \ @@ -1365,8 +1362,10 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/flac' \ 'third_party/flatbuffers' \ 'third_party/fontconfig' \ + 'third_party/fp16' \ 'third_party/freetype' \ 'third_party/fusejs' \ + 'third_party/fxdiv' \ 'third_party/gemmlowp' \ 'third_party/google_input_tools' \ 'third_party/google_input_tools/third_party/closure_library' \ @@ -1458,6 +1457,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/pffft' \ 'third_party/ply' \ 'third_party/polymer' \ + 'third_party/pthreadpool' \ 'third_party/private-join-and-compute' \ 'third_party/private_membership' \ 'third_party/protobuf' \ @@ -1520,6 +1520,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/x11proto' \ 'third_party/xcbproto' \ 'third_party/xdg-utils' \ + 'third_party/xnnpack' \ 'third_party/zxcvbn-cpp' \ 'third_party/zlib' \ 'third_party/zlib/google' \ @@ -2172,6 +2173,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Wed Jun 22 2022 Tom Callaway - 103.0.5060.53-1 +- update to 103.0.5060.53 + * Thu Jun 16 2022 Tom Callaway - 102.0.5005.115-2 - fix minizip Requires for EL9 diff --git a/sources b/sources index 8f49caa..0cd6d37 100644 --- a/sources +++ b/sources @@ -21,4 +21,4 @@ SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1d SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (node-v12.22.6-linux-arm64.tar.xz) = 87ce5eb954deb1d0debe6fa02b28a3cc675e12fca1e51d44b123ab294aa39ce0c6b8ac9eae1e7a6e32673ea2c2d480651d9ba7eea73012f0529503eebe9eb34d SHA512 (node-v12.22.6-linux-x64.tar.xz) = e1b55c32343cb2ccc40d888c705414bebf9c46b02083d13731df79b1e79521b7277761f6bcca041e40e3a2e47c67bb8e7848aa2b919a9de5c2ebf62c4a9c7176 -SHA512 (chromium-102.0.5005.115-clean.tar.xz) = 43482534f96ced335073a1136f4b292bee8a9a0c31cd4b12675739b15ddb5d5351fea17b9445b36e80bccb37e086578274a5bd643a906e70d05230be136d7fc8 +SHA512 (chromium-103.0.5060.53-clean.tar.xz) = 2fe8695a291e483053e014a507d695e1efa547a276d170e9e082a539d47364a8cb78892c3e0ed26fcf4b1418ff43a56c7d582997215c633e71f3620dfb474db9 From b98b064928bbc2974da48dc8b1037094cf4787cd Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Wed, 29 Jun 2022 09:18:57 -0400 Subject: [PATCH 014/568] disable use_all_cpus --- chromium.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index b434039..c30e310 100644 --- a/chromium.spec +++ b/chromium.spec @@ -7,7 +7,7 @@ # This flag is so I can build things very fast on a giant system. # Enabling this in koji causes aarch64 builds to timeout indefinitely. -%global use_all_cpus 1 +%global use_all_cpus 0 %if %{use_all_cpus} %global numjobs %{_smp_build_ncpus} From 7de558c0a932c8864ddde3bb44ece158383401ec Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Thu, 30 Jun 2022 15:45:07 -0400 Subject: [PATCH 015/568] remove U mode from tools/grit to support modern Python3 --- ...060.53-python3-do-not-use-deprecated-mode-U.patch | 12 ++++++++++++ chromium.spec | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch diff --git a/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch b/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch new file mode 100644 index 0000000..e24f9d8 --- /dev/null +++ b/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch @@ -0,0 +1,12 @@ +diff -up chromium-103.0.5060.53/tools/grit/grit/util.py.fix-python3 chromium-103.0.5060.53/tools/grit/grit/util.py +--- chromium-103.0.5060.53/tools/grit/grit/util.py.fix-python3 2022-06-30 19:38:05.483590098 +0000 ++++ chromium-103.0.5060.53/tools/grit/grit/util.py 2022-06-30 19:38:14.024304827 +0000 +@@ -209,7 +209,7 @@ def ReadFile(filename, encoding): + mode = 'rb' + encoding = None + else: +- mode = 'rU' ++ mode = 'r' + + with io.open(filename, mode, encoding=encoding) as f: + return f.read() diff --git a/chromium.spec b/chromium.spec index c30e310..28a3bf5 100644 --- a/chromium.spec +++ b/chromium.spec @@ -299,6 +299,9 @@ Patch64: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch # https://bugs.chromium.org/p/chromium/issues/detail?id=1192875 Patch65: chromium-91.0.4472.77-java-only-allowed-in-android-builds.patch +# Python3.9 or later no longer support the 'U' mode +Patch66: chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch + # Fix missing cstring in remoting code Patch67: chromium-98.0.4758.80-remoting-cstring.patch # Apply fix_textrels hack for i686 (even without lld) @@ -1021,6 +1024,7 @@ udev. %patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed +%patch66 -p1 -b .python3-do-not-use-deprecated-mode-U %patch67 -p1 -b .remoting-cstring %patch68 -p1 -b .i686-textrels %patch79 -p1 -b .widevine-no-download From 73a370af509dad6fe34701b239813116d33d3acb Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 1 Jul 2022 16:41:10 -0400 Subject: [PATCH 016/568] update rjsmin to 1.2.0 to see if Python 3.11 likes it better --- ...103.0.5060.53-update-rjsmin-to-1.2.0.patch | 1701 +++++++++++++++++ chromium.spec | 4 + 2 files changed, 1705 insertions(+) create mode 100644 chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch diff --git a/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch b/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch new file mode 100644 index 0000000..9ccd1a0 --- /dev/null +++ b/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch @@ -0,0 +1,1701 @@ +diff -up chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c.12 chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c +--- chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c.12 2022-06-28 12:50:10.167324583 +0000 ++++ chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.c 2021-11-14 19:50:55.000000000 +0000 +@@ -1,5 +1,5 @@ + /* +- * Copyright 2011 - 2015 ++ * Copyright 2011 - 2021 + * Andr\xe9 Malo or his licensors, as applicable + * + * Licensed under the Apache License, Version 2.0 (the "License"); +@@ -18,21 +18,21 @@ + #include "cext.h" + EXT_INIT_FUNC; + +-#define RJSMIN_DULL_BIT (1 << 0) +-#define RJSMIN_PRE_REGEX_BIT (1 << 1) +-#define RJSMIN_REGEX_DULL_BIT (1 << 2) +-#define RJSMIN_REGEX_CC_DULL_BIT (1 << 3) +-#define RJSMIN_ID_LIT_BIT (1 << 4) +-#define RJSMIN_ID_LIT_O_BIT (1 << 5) +-#define RJSMIN_ID_LIT_C_BIT (1 << 6) +-#define RJSMIN_STRING_DULL_BIT (1 << 7) +-#define RJSMIN_SPACE_BIT (1 << 8) +-#define RJSMIN_POST_REGEX_OFF_BIT (1 << 9) ++#define RJSMIN_DULL_BIT (1 << 0) ++#define RJSMIN_PRE_REGEX_BIT (1 << 1) ++#define RJSMIN_REGEX_DULL_BIT (1 << 2) ++#define RJSMIN_REGEX_CC_DULL_BIT (1 << 3) ++#define RJSMIN_ID_LIT_BIT (1 << 4) ++#define RJSMIN_ID_LIT_O_BIT (1 << 5) ++#define RJSMIN_ID_LIT_C_BIT (1 << 6) ++#define RJSMIN_STRING_DULL_BIT (1 << 7) ++#define RJSMIN_SPACE_BIT (1 << 8) ++#define RJSMIN_POST_REGEX_OFF_BIT (1 << 9) ++#define RJSMIN_A_Z_BIT (1 << 10) + +-#ifdef EXT3 +-typedef Py_UNICODE rchar; +-#else + typedef unsigned char rchar; ++#ifdef U ++#undef U + #endif + #define U(c) ((rchar)(c)) + +@@ -66,66 +66,120 @@ typedef unsigned char rchar; + #define RJSMIN_IS_PRE_REGEX_1(c) ((U(c) <= 127) && \ + (rjsmin_charmask[U(c) & 0x7F] & RJSMIN_PRE_REGEX_BIT)) + ++#define RJSMIN_IS_A_Z(c) ((U(c) <= 127) && \ ++ (rjsmin_charmask[U(c) & 0x7F] & RJSMIN_A_Z_BIT)) ++ + + static const unsigned short rjsmin_charmask[128] = { +- 396, 396, 396, 396, 396, 396, 396, 396, +- 396, 396, 2, 396, 396, 2, 396, 396, +- 396, 396, 396, 396, 396, 396, 396, 396, +- 396, 396, 396, 396, 396, 396, 396, 396, +- 396, 687, 588, 653, 765, 653, 143, 588, +- 687, 205, 653, 237, 143, 237, 141, 648, +- 765, 765, 765, 765, 765, 765, 765, 765, +- 765, 765, 143, 143, 653, 143, 653, 143, +- 653, 765, 765, 765, 765, 765, 765, 765, +- 765, 765, 765, 765, 765, 765, 765, 765, +- 765, 765, 765, 765, 765, 765, 765, 765, +- 765, 765, 765, 683, 513, 197, 653, 765, +- 653, 765, 765, 765, 765, 765, 765, 765, +- 765, 765, 765, 765, 765, 765, 765, 765, +- 765, 765, 765, 765, 765, 765, 765, 765, +- 765, 765, 765, 687, 143, 207, 653, 765 ++ 396, 396, 396, 396, 396, 396, 396, 396, ++ 396, 396, 2, 396, 396, 2, 396, 396, ++ 396, 396, 396, 396, 396, 396, 396, 396, ++ 396, 396, 396, 396, 396, 396, 396, 396, ++ 396, 687, 588, 653, 765, 653, 143, 588, ++ 687, 205, 655, 239, 143, 239, 141, 648, ++ 765, 765, 765, 765, 765, 765, 765, 765, ++ 765, 765, 143, 143, 653, 143, 653, 143, ++ 653, 765, 765, 765, 765, 765, 765, 765, ++ 765, 765, 765, 765, 765, 765, 765, 765, ++ 765, 765, 765, 765, 765, 765, 765, 765, ++ 765, 765, 765, 683, 513, 197, 653, 765, ++ 588, 1789, 1789, 1789, 1789, 1789, 1789, 1789, ++ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, ++ 1789, 1789, 1789, 1789, 1789, 1789, 1789, 1789, ++ 1789, 1789, 1789, 687, 143, 207, 653, 765 + }; + ++ + static Py_ssize_t + rjsmin(const rchar *source, rchar *target, Py_ssize_t length, + int keep_bang_comments) + { +- const rchar *reset, *pcreset = NULL, *pctoken = NULL, *xtarget, +- *sentinel = source + length; +- rchar *tstart = target; +- int post_regex = 0; +- rchar c, quote, spaced = U(' '); ++ const rchar ++ *sentinel = source + length, /* never hit this pointer (source buf) */ ++ *reset, /* reset pointer (source buf) */ ++ *pcreset = NULL, /* pre-comment reset pointer (source buf) */ ++ *pctoken = NULL, /* pre-comment token pointer (target buf) ++ * Pointing to before the last kept comment, if any */ ++ *rsreset = NULL, /* regex-with-method reset pointer (source buf) */ ++ *xtarget; /* pre-regex-2 target pointer */ ++ ++ rchar *tstart = target, /* Target start pointer for reference */ ++ *rtreset = NULL; /* regex-with-method reset pointer (target buf) */ ++ ++ int rsdot, /* seen dot after regex-with-method pattern? */ ++ post_regex = 0; ++ rchar c, quote, ++ spaced = U(' '); /* the last seen kind of space (nl taking prio), ++ * init with ' ' */ + ++ /* main loop */ + while (source < sentinel) { + c = *source++; ++ + if (RJSMIN_IS_DULL(c)) { + if (post_regex) post_regex = 0; + if (pctoken) pctoken = NULL; + if (spaced == U('\n')) spaced = U(' '); ++ if (rsreset) { ++ /* both a-z and . are covered by "dull" */ ++ if (!rsdot) { ++ if (c != U('.')) { ++ /* reset regex-with-method to the starting slash */ ++ source = rsreset; ++ target = rtreset; ++ rsreset = NULL; ++ continue; /* main loop */ ++ } ++ /* Found a dot after possible regex, looking for a-z now */ ++ rsdot = 1; ++ } ++ else if (!RJSMIN_IS_A_Z(c)) { ++ /* reset regex-with-method to the starting slash */ ++ source = rsreset; ++ target = rtreset; ++ rsreset = NULL; ++ continue; /* main loop */ ++ } ++ else { ++ /* Successfull finish the regex-with-method match */ ++ rsreset = NULL; ++ } ++ } + + *target++ = c; +- continue; ++ continue; /* main loop */ + } ++ + switch (c) { + + /* String */ +- case U('\''): case U('"'): ++ case U('\''): case U('"'): case U('`'): + if (post_regex) post_regex = 0; + if (pctoken) pctoken = NULL; + if (spaced == U('\n')) spaced = U(' '); ++ if (rsreset) { ++ /* reset regex-with-method to the starting slash */ ++ source = rsreset; ++ target = rtreset; ++ rsreset = NULL; ++ continue; /* main loop */ ++ } + + reset = source; + *target++ = quote = c; ++ ++ /* string loop */ + while (source < sentinel) { + c = *source++; + *target++ = c; + if (RJSMIN_IS_STRING_DULL(c)) +- continue; ++ continue; /* string loop */ ++ + switch (c) { +- case U('\''): case U('"'): ++ case U('\''): case U('"'): case U('`'): + if (c == quote) +- goto cont; +- continue; ++ goto cont; /* main loop */ ++ continue; /* string loop */ + case U('\\'): + if (source < sentinel) { + c = *source++; +@@ -134,13 +188,18 @@ rjsmin(const rchar *source, rchar *targe + && *source == U('\n')) + *target++ = *source++; + } +- continue; ++ continue; /* string loop */ ++ case U('\r'): case U('\n'): ++ if (quote != U('`')) ++ break; /* string reset */ ++ continue; /* string loop */ + } +- break; ++ break; /* string reset */ + } ++ /* string reset */ + target -= source - reset; + source = reset; +- continue; ++ continue; /* main loop */ + + /* Comment or Regex or something else entirely */ + case U('/'): +@@ -148,6 +207,13 @@ rjsmin(const rchar *source, rchar *targe + if (post_regex) post_regex = 0; + if (pctoken) pctoken = NULL; + if (spaced == U('\n')) spaced = U(' '); ++ if (rsreset) { ++ /* reset regex-with-method to the starting slash */ ++ source = rsreset; ++ target = rtreset; ++ rsreset = NULL; ++ continue; /* main loop */ ++ } + + *target++ = c; + } +@@ -157,7 +223,19 @@ rjsmin(const rchar *source, rchar *targe + case U('*'): case U('/'): + goto skip_or_copy_ws; + ++ /* Regex or slash */ + default: ++ if (rsreset) { ++ /* reset regex-with-method to the starting slash */ ++ if (post_regex) post_regex = 0; ++ if (pctoken) pctoken = NULL; ++ if (spaced == U('\n')) spaced = U(' '); ++ source = rsreset; ++ target = rtreset; ++ rsreset = NULL; ++ continue; /* main loop */ ++ } ++ + xtarget = NULL; + if ( target == tstart + || RJSMIN_IS_PRE_REGEX_1(*((pctoken ? pctoken : target) +@@ -176,99 +254,148 @@ rjsmin(const rchar *source, rchar *targe + || !RJSMIN_IS_ID_LITERAL(*(xtarget - 7)) + ) + )) { +- +- /* Regex */ ++ /* nothing to do here, continuing down below ++ * We could unset rsreset here, but we know it already ++ * is. */ ++ ; ++ } ++ else if (*((pctoken ? pctoken : target) - 1) == U(')')) { ++ xtarget = NULL; ++ rsreset = source; ++ rtreset = target + 1; ++ rsdot = 0; ++ } ++ else { ++ /* Just a slash */ + if (post_regex) post_regex = 0; + if (pctoken) pctoken = NULL; ++ if (spaced == U('\n')) spaced = U(' '); + +- reset = source; +- if (spaced == U('\n')) { +- spaced = U(' '); +- if (xtarget) +- *target++ = U('\n'); +- } ++ *target++ = c; ++ continue; /* main loop */ ++ } + +- *target++ = U('/'); +- while (source < sentinel) { +- c = *source++; +- *target++ = c; +- if (RJSMIN_IS_REGEX_DULL(c)) +- continue; +- switch (c) { +- case U('/'): +- post_regex = 1; +- goto cont; +- case U('\\'): +- if (source < sentinel) { +- c = *source++; +- *target++ = c; +- if (c == U('\r') || c == U('\n')) +- break; +- } +- continue; +- case U('['): +- while (source < sentinel) { +- c = *source++; +- *target++ = c; +- if (RJSMIN_IS_REGEX_CC_DULL(c)) +- continue; +- switch (c) { +- case U('\\'): +- if (source < sentinel) { +- c = *source++; +- *target++ = c; +- if (c == U('\r') || c == U('\n')) +- break; +- } +- continue; +- case U(']'): +- goto cont_regex; ++ if (post_regex) post_regex = 0; ++ if (pctoken) pctoken = NULL; ++ ++ reset = source; ++ if (spaced == U('\n')) { ++ spaced = U(' '); ++ if (xtarget) ++ *target++ = U('\n'); ++ } ++ ++ *target++ = U('/'); ++ ++ /* regex loop */ ++ while (source < sentinel) { ++ c = *source++; ++ *target++ = c; ++ ++ if (RJSMIN_IS_REGEX_DULL(c)) ++ continue; /* regex loop */ ++ ++ switch (c) { ++ case U('/'): ++ while (source < sentinel ++ && RJSMIN_IS_A_Z(*source)) ++ *target++ = *source++; ++ post_regex = !rsreset; ++ /* This check is supposed to make it faster. ++ * It doesn't. It slows it down. I wonder why... ++ */ ++ /* ++ * if (!post_regex ++ * && source < sentinel - 1 ++ * && *source == U('.') ++ * && RJSMIN_IS_A_Z(*(source + 1))) ++ * rsreset = NULL; ++ */ ++ ++ goto cont; /* main loop */ ++ ++ case U('\\'): ++ if (source < sentinel) { ++ c = *source++; ++ *target++ = c; ++ if (c == U('\r') || c == U('\n')) ++ break; /* regex reset */ ++ } ++ continue; /* regex loop */ ++ ++ case U('['): ++ /* regex CC loop */ ++ while (source < sentinel) { ++ c = *source++; ++ *target++ = c; ++ ++ if (RJSMIN_IS_REGEX_CC_DULL(c)) ++ continue; /* regex CC loop */ ++ ++ switch (c) { ++ case U('\\'): ++ if (source < sentinel) { ++ c = *source++; ++ *target++ = c; ++ if (c == U('\r') || c == U('\n')) ++ break; /* regex reset */ + } ++ continue; /* regex CC loop */ ++ ++ case U(']'): ++ goto cont_regex; /* regex loop */ + } +- break; + } +- break; +- cont_regex: +- continue; ++ break; /* regex reset */ ++ + } +- target -= source - reset; +- source = reset; +- } +- else { +- /* Just a slash */ +- if (post_regex) post_regex = 0; +- if (pctoken) pctoken = NULL; +- if (spaced == U('\n')) spaced = U(' '); ++ break; /* regex reset */ + +- *target++ = c; ++ cont_regex: ++ continue; /* regex loop */ + } +- continue; ++ ++ /* regex reset */ ++ target -= source - reset; ++ source = reset; ++ rsreset = NULL; ++ continue; /* main loop */ + } + } +- continue; ++ continue; /* main loop */ /* LCOV_EXCL_LINE */ + + /* Whitespace */ + default: + skip_or_copy_ws: ++ /* remember if we've seen a newline, start with: no */ + quote = U(' '); + --source; ++ ++ /* space loop */ + while (source < sentinel) { + c = *source++; + if (RJSMIN_IS_SPACE(c)) +- continue; ++ continue; /* space loop */ ++ + switch (c) { + case U('\r'): case U('\n'): + quote = U('\n'); +- continue; ++ continue; /* space loop */ ++ ++ /* Can only be a comment at this point ++ * (or ending prematurely) */ + case U('/'): + if (source < sentinel) { + switch (*source) { ++ ++ /* multiline comment */ + case U('*'): + reset = source++; + /* copy bang comment, if requested */ + if ( keep_bang_comments && source < sentinel + && *source == U('!')) { + if (!pctoken) { ++ /* Backtracking if ending prematurely */ + pctoken = target; + pcreset = reset; + } +@@ -276,6 +403,8 @@ rjsmin(const rchar *source, rchar *targe + *target++ = U('/'); + *target++ = U('*'); + *target++ = *source++; ++ ++ /* comment loop */ + while (source < sentinel) { + c = *source++; + *target++ = c; +@@ -283,20 +412,21 @@ rjsmin(const rchar *source, rchar *targe + && *source == U('/')) { + *target++ = *source++; + reset = NULL; +- break; ++ break; /* continue space loop */ + } + } + if (!reset) +- continue; ++ continue; /* space loop */ + ++ /* comment reset */ + target -= source - reset; + source = reset; + if (pcreset == reset) { + pctoken = NULL; + pcreset = NULL; + } +- + } ++ + /* strip regular comment */ + else { + while (source < sentinel) { +@@ -305,41 +435,52 @@ rjsmin(const rchar *source, rchar *targe + && *source == U('/')) { + ++source; + reset = NULL; +- break; ++ break; /* continue space loop */ + } + } + if (!reset) +- continue; ++ continue; /* space loop */ ++ ++ /* comment reset: fallback to slash */ + source = reset; + *target++ = U('/'); + } +- goto cont; ++ goto cont; /* main loop */ ++ ++ /* single line comment */ + case U('/'): + ++source; ++ ++ /* single line comment loop */ + while (source < sentinel) { + c = *source++; + switch (c) { + case U('\n'): +- break; ++ break; /* continue space loop */ ++ + case U('\r'): + if (source < sentinel + && *source == U('\n')) + ++source; +- break; ++ break; /* continue space loop */ ++ + default: +- continue; ++ continue; /* single line comment loop */ + } +- break; ++ break; /* continue space loop */ + } + quote = U('\n'); +- continue; ++ continue; /* space loop */ + } + } + } ++ ++ /* No more spacy character found */ + --source; +- break; ++ break; /* end space loop */ + } + ++ /* Copy a space if needed */ + if ((tstart < (pctoken ? pctoken : target) && source < sentinel) + && ((quote == U('\n') + && ((RJSMIN_IS_ID_LITERAL_CLOSE(*((pctoken ? +@@ -363,8 +504,9 @@ rjsmin(const rchar *source, rchar *targe + pcreset = NULL; + spaced = quote; + } ++ + cont: +- continue; ++ continue; /* main loop */ + } + return (Py_ssize_t)(target - tstart); + } +@@ -385,15 +527,15 @@ substitution regex.\n\ + :Note: This is a hand crafted C implementation built on the regex\n\ + semantics.\n\ + \n\ +-:Parameters:\n\ +- `script` : ``str``\n\ ++Parameters:\n\ ++ script (str):\n\ + Script to minify\n\ + \n\ +- `keep_bang_comments` : ``bool``\n\ ++ keep_bang_comments (bool):\n\ + Keep comments starting with an exclamation mark? (``/*!...*/``)\n\ + \n\ +-:Return: Minified script\n\ +-:Rtype: ``str``"); ++Returns:\n\ ++ str: Minified script"); + + static PyObject * + rjsmin_jsmin(PyObject *self, PyObject *args, PyObject *kwds) +@@ -404,15 +546,15 @@ rjsmin_jsmin(PyObject *self, PyObject *a + int keep_bang_comments; + #ifdef EXT2 + int uni; +-#define UOBJ "O" + #endif + #ifdef EXT3 +-#define UOBJ "U" ++ int bytes; ++ rchar *bytescript; + #endif + +- if (!PyArg_ParseTupleAndKeywords(args, kwds, UOBJ "|O", kwlist, ++ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O", kwlist, + &script, &keep_bang_comments_)) +- return NULL; ++ LCOV_EXCL_LINE_RETURN(NULL); + + if (!keep_bang_comments_) + keep_bang_comments = 0; +@@ -425,28 +567,27 @@ rjsmin_jsmin(PyObject *self, PyObject *a + #ifdef EXT2 + if (PyUnicode_Check(script)) { + if (!(script = PyUnicode_AsUTF8String(script))) +- return NULL; ++ LCOV_EXCL_LINE_RETURN(NULL); + uni = 1; + } ++ else if (!PyString_Check(script)) { ++ PyErr_SetString(PyExc_TypeError, "Unexpected type"); ++ return NULL; ++ } + else { + if (!(script = PyObject_Str(script))) +- return NULL; ++ LCOV_EXCL_LINE_RETURN(NULL); + uni = 0; + } +-#endif +- +-#ifdef EXT3 +- Py_INCREF(script); +-#define PyString_GET_SIZE PyUnicode_GET_SIZE +-#define PyString_AS_STRING PyUnicode_AS_UNICODE +-#define _PyString_Resize PyUnicode_Resize +-#define PyString_FromStringAndSize PyUnicode_FromUnicode +-#endif +- + slength = PyString_GET_SIZE(script); ++ + if (!(result = PyString_FromStringAndSize(NULL, slength))) { ++ LCOV_EXCL_START ++ + Py_DECREF(script); + return NULL; ++ ++ LCOV_EXCL_STOP + } + Py_BEGIN_ALLOW_THREADS + length = rjsmin((rchar *)PyString_AS_STRING(script), +@@ -456,30 +597,97 @@ rjsmin_jsmin(PyObject *self, PyObject *a + + Py_DECREF(script); + if (length < 0) { ++ LCOV_EXCL_START ++ + Py_DECREF(result); + return NULL; ++ ++ LCOV_EXCL_STOP + } + if (length != slength && _PyString_Resize(&result, length) == -1) +- return NULL; ++ LCOV_EXCL_LINE_RETURN(NULL); + +-#ifdef EXT2 + if (uni) { + script = PyUnicode_DecodeUTF8(PyString_AS_STRING(result), + PyString_GET_SIZE(result), "strict"); + Py_DECREF(result); +- if (!script) +- return NULL; +- result = script; ++ return script; + } +-#endif ++ + return result; ++ ++#else /* EXT3 */ ++ ++ if (PyUnicode_Check(script)) { ++ bytes = 0; ++ script = PyUnicode_AsUTF8String(script); ++ bytescript = (rchar *)PyBytes_AS_STRING(script); ++ slength = PyBytes_GET_SIZE(script); ++ } ++ else if (PyBytes_Check(script)) { ++ bytes = 1; ++ Py_INCREF(script); ++ bytescript = (rchar *)PyBytes_AS_STRING(script); ++ slength = PyBytes_GET_SIZE(script); ++ } ++ else if (PyByteArray_Check(script)) { ++ bytes = 2; ++ Py_INCREF(script); ++ bytescript = (rchar *)PyByteArray_AS_STRING(script); ++ slength = PyByteArray_GET_SIZE(script); ++ } ++ else { ++ PyErr_SetString(PyExc_TypeError, "Unexpected type"); ++ return NULL; ++ } ++ ++ if (!(result = PyBytes_FromStringAndSize(NULL, slength))) { ++ LCOV_EXCL_START ++ ++ Py_DECREF(script); ++ return NULL; ++ ++ LCOV_EXCL_STOP ++ } ++ Py_BEGIN_ALLOW_THREADS ++ length = rjsmin(bytescript, (rchar *)PyBytes_AS_STRING(result), ++ slength, keep_bang_comments); ++ Py_END_ALLOW_THREADS ++ ++ Py_DECREF(script); ++ if (length < 0) { ++ LCOV_EXCL_START ++ ++ Py_DECREF(result); ++ return NULL; ++ ++ LCOV_EXCL_STOP ++ } ++ ++ if (!bytes) { ++ script = PyUnicode_DecodeUTF8(PyBytes_AS_STRING(result), length, ++ "strict"); ++ Py_DECREF(result); ++ return script; ++ } ++ if (bytes == 1) { ++ if (length != slength) { ++ _PyBytes_Resize(&result, length); ++ } ++ return result; ++ } ++ /* bytes == 2: bytearray */ ++ script = PyByteArray_FromStringAndSize(PyBytes_AS_STRING(result), length); ++ Py_DECREF(result); ++ return script; ++#endif + } + + /* ------------------------ BEGIN MODULE DEFINITION ------------------------ */ + + EXT_METHODS = { + {"jsmin", +- (PyCFunction)rjsmin_jsmin, METH_VARARGS | METH_KEYWORDS, ++ EXT_CFUNC(rjsmin_jsmin), METH_VARARGS | METH_KEYWORDS, + rjsmin_jsmin__doc__}, + + {NULL} /* Sentinel */ +@@ -499,10 +707,10 @@ EXT_INIT_FUNC { + + /* Create the module and populate stuff */ + if (!(m = EXT_CREATE(&EXT_DEFINE_VAR))) +- EXT_INIT_ERROR(NULL); ++ EXT_INIT_ERROR(LCOV_EXCL_LINE(NULL)); + + EXT_ADD_UNICODE(m, "__author__", "Andr\xe9 Malo", "latin-1"); +- EXT_ADD_STRING(m, "__docformat__", "restructuredtext en"); ++ EXT_ADD_STRING(m, "__version__", STRINGIFY(EXT_VERSION)); + + EXT_INIT_RETURN(m); + } +diff -up chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py.12 chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py +--- chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py.12 2022-07-01 20:33:39.317727375 +0000 ++++ chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/rjsmin.py 2021-11-14 20:24:16.000000000 +0000 +@@ -1,6 +1,6 @@ + #!/usr/bin/env python + # -*- coding: ascii -*- +-r""" ++u""" + ===================== + Javascript Minifier + ===================== +@@ -11,7 +11,7 @@ The minifier is based on the semantics o + + :Copyright: + +- Copyright 2011 - 2015 ++ Copyright 2011 - 2021 + Andr\xe9 Malo or his licensors, as applicable + + :License: +@@ -39,9 +39,11 @@ same results as the original ``jsmin.c`` + - Newline characters are not allowed inside string and regex literals, except + for line continuations in string literals (ECMA-5). + - "return /regex/" is recognized correctly. ++- More characters are allowed before regexes. + - Line terminators after regex literals are handled more sensibly + - "+ +" and "- -" sequences are not collapsed to '++' or '--' + - Newlines before ! operators are removed more sensibly ++- (Unnested) template literals are supported (ECMA-6) + - Comments starting with an exclamation mark (``!``) can be kept optionally + - rJSmin does not handle streams, but only complete strings. (However, the + module provides a "streamy" interface). +@@ -56,20 +58,17 @@ file for details. + + rjsmin.c is a reimplementation of rjsmin.py in C and speeds it up even more. + +-Both python 2 and python 3 are supported. ++Supported python versions are 2.7 and 3.6+. + + .. _jsmin.c by Douglas Crockford: + http://www.crockford.com/javascript/jsmin.c + """ +-if __doc__: +- # pylint: disable = redefined-builtin +- __doc__ = __doc__.encode('ascii').decode('unicode_escape') +-__author__ = r"Andr\xe9 Malo".encode('ascii').decode('unicode_escape') +-__docformat__ = "restructuredtext en" ++__author__ = u"Andr\xe9 Malo" + __license__ = "Apache License, Version 2.0" +-__version__ = '1.0.12' ++__version__ = '1.2.0' + __all__ = ['jsmin'] + ++import functools as _ft + import re as _re + + +@@ -80,13 +79,13 @@ def _make_jsmin(python_only=False): + .. _jsmin.c by Douglas Crockford: + http://www.crockford.com/javascript/jsmin.c + +- :Parameters: +- `python_only` : ``bool`` ++ Parameters: ++ python_only (bool): + Use only the python variant. If true, the c extension is not even + tried to be loaded. + +- :Return: Minifier +- :Rtype: ``callable`` ++ Returns: ++ callable: Minifier + """ + # pylint: disable = unused-variable + # pylint: disable = too-many-locals +@@ -97,7 +96,10 @@ def _make_jsmin(python_only=False): + except ImportError: + pass + else: +- return _rjsmin.jsmin ++ # Ensure that the C version is in sync ++ # https://github.com/ndparker/rjsmin/issues/11 ++ if getattr(_rjsmin, '__version__', None) == __version__: ++ return _rjsmin.jsmin + try: + xrange + except NameError: +@@ -110,15 +112,16 @@ def _make_jsmin(python_only=False): + space_comment_nobang = r'(?:/\*(?!!)[^*]*\*+(?:[^/*][^*]*\*+)*/)' + bang_comment = r'(?:/\*![^*]*\*+(?:[^/*][^*]*\*+)*/)' + +- string1 = \ +- r'(?:\047[^\047\\\r\n]*(?:\\(?:[^\r\n]|\r?\n|\r)[^\047\\\r\n]*)*\047)' ++ string1 = r"(?:'[^'\\\r\n]*(?:\\(?:[^\r\n]|\r?\n|\r)[^'\\\r\n]*)*')" ++ string1 = string1.replace("'", r'\047') # portability + string2 = r'(?:"[^"\\\r\n]*(?:\\(?:[^\r\n]|\r?\n|\r)[^"\\\r\n]*)*")' +- string3 = r'(?:`(?:[^`\\]|\\.)*`)' ++ string3 = r'(?:`[^`\\]*(?:\\(?:[^\r\n]|\r?\n|\r)[^`\\]*)*`)' ++ string3 = string3.replace('`', r'\140') # portability + strings = r'(?:%s|%s|%s)' % (string1, string2, string3) + + charclass = r'(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\])' + nospecial = r'[^/\\\[\r\n]' +- regex = r'(?:/(?![\r\n/*])%s*(?:(?:\\[^\r\n]|%s)%s*)*/)' % ( ++ regex = r'(?:/(?![\r\n/*])%s*(?:(?:\\[^\r\n]|%s)%s*)*/[a-z]*)' % ( + nospecial, charclass, nospecial + ) + space = r'(?:%s|%s)' % (space_chars, space_comment) +@@ -154,7 +157,7 @@ def _make_jsmin(python_only=False): + ) for first, last in result]) # noqa + + return _re.sub( +- r'([\000-\040\047])', # \047 for better portability ++ r"([\000-\040'`])", # ' and ` for better portability + lambda m: '\\%03o' % ord(m.group(1)), ( + sequentize(result) + .replace('\\', '\\\\') +@@ -180,42 +183,48 @@ def _make_jsmin(python_only=False): + return r'[%s]' % fix_charclass(result) + + not_id_literal = not_id_literal_(r'[a-zA-Z0-9_$]') +- preregex1 = r'[(,=:\[!&|?{};\r\n]' ++ preregex1 = r'[(,=:\[!&|?{};\r\n+*-]' + preregex2 = r'%(not_id_literal)sreturn' % locals() + + id_literal = id_literal_(r'[a-zA-Z0-9_$]') + id_literal_open = id_literal_(r'[a-zA-Z0-9_${\[(!+-]') +- id_literal_close = id_literal_(r'[a-zA-Z0-9_$}\])"\047+-]') ++ id_literal_close = id_literal_(r'[a-zA-Z0-9_$}\])"\047\140+-]') + post_regex_off = id_literal_(r'[^\000-\040}\])?:|,;.&=+-]') + +- dull = r'[^\047"`/\000-\040]' ++ dull = r'[^\047"\140/\000-\040]' + + space_sub_simple = _re.compile(( +- # noqa pylint: disable = bad-continuation ++ # noqa pylint: disable = bad-option-value, bad-continuation + + r'(%(dull)s+)' # 0 + r'|(%(strings)s%(dull)s*)' # 1 +- r'|(?<=%(preregex1)s)' ++ r'|(?<=[)])' + r'%(space)s*(?:%(newline)s%(space)s*)*' + r'(%(regex)s)' # 2 +- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 3 ++ r'(?=%(space)s*(?:%(newline)s%(space)s*)*' ++ r'\.' ++ r'%(space)s*(?:%(newline)s%(space)s*)*[a-z])' ++ r'|(?<=%(preregex1)s)' ++ r'%(space)s*(?:%(newline)s%(space)s*)*' ++ r'(%(regex)s)' # 3 ++ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 4 + r'(?=%(post_regex_off)s))?' + r'|(?<=%(preregex2)s)' +- r'%(space)s*(?:(%(newline)s)%(space)s*)*' # 4 +- r'(%(regex)s)' # 5 +- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 6 ++ r'%(space)s*(?:(%(newline)s)%(space)s*)*' # 5 ++ r'(%(regex)s)' # 6 ++ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 7 + r'(?=%(post_regex_off)s))?' + r'|(?<=%(id_literal_close)s)' +- r'%(space)s*(?:(%(newline)s)%(space)s*)+' # 7 ++ r'%(space)s*(?:(%(newline)s)%(space)s*)+' # 8 + r'(?=%(id_literal_open)s)' +- r'|(?<=%(id_literal)s)(%(space)s)+(?=%(id_literal)s)' # 8 +- r'|(?<=\+)(%(space)s)+(?=\+)' # 9 +- r'|(?<=-)(%(space)s)+(?=-)' # 10 ++ r'|(?<=%(id_literal)s)(%(space)s)+(?=%(id_literal)s)' # 9 ++ r'|(?<=\+)(%(space)s)+(?=\+)' # 10 ++ r'|(?<=-)(%(space)s)+(?=-)' # 11 + r'|%(space)s+' + r'|(?:%(newline)s%(space)s*)+' + ) % locals()).sub + +- # print space_sub_simple.__self__.pattern ++ # print(space_sub_simple.__self__.pattern) + + def space_subber_simple(match): + """ Substitution callback """ +@@ -227,48 +236,56 @@ def _make_jsmin(python_only=False): + elif groups[1]: + return groups[1] + elif groups[2]: +- if groups[3]: +- return groups[2] + '\n' + return groups[2] +- elif groups[5]: ++ elif groups[3]: ++ if groups[4]: ++ return groups[3] + '\n' ++ return groups[3] ++ elif groups[6]: + return "%s%s%s" % ( +- groups[4] and '\n' or '', +- groups[5], +- groups[6] and '\n' or '', ++ groups[5] and '\n' or '', ++ groups[6], ++ groups[7] and '\n' or '', + ) +- elif groups[7]: ++ elif groups[8]: + return '\n' +- elif groups[8] or groups[9] or groups[10]: ++ elif groups[9] or groups[10] or groups[11]: + return ' ' + else: + return '' + + space_sub_banged = _re.compile(( +- # noqa pylint: disable = bad-continuation ++ # noqa pylint: disable = bad-option-value, bad-continuation + + r'(%(dull)s+)' # 0 + r'|(%(strings)s%(dull)s*)' # 1 +- r'|(?<=%(preregex1)s)' ++ r'|(?<=[)])' + r'(%(space)s*(?:%(newline)s%(space)s*)*)' # 2 + r'(%(regex)s)' # 3 +- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 4 ++ r'(?=%(space)s*(?:%(newline)s%(space)s*)*' ++ r'\.' ++ r'%(space)s*(?:%(newline)s%(space)s*)*[a-z])' ++ r'|(?<=%(preregex1)s)' ++ r'(%(space)s*(?:%(newline)s%(space)s*)*)' # 4 ++ r'(%(regex)s)' # 5 ++ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 6 + r'(?=%(post_regex_off)s))?' + r'|(?<=%(preregex2)s)' +- r'(%(space)s*(?:(%(newline)s)%(space)s*)*)' # 5, 6 +- r'(%(regex)s)' # 7 +- r'(%(space)s*(?:%(newline)s%(space)s*)+' # 8 ++ r'(%(space)s*(?:(%(newline)s)%(space)s*)*)' # 7, 8 ++ r'(%(regex)s)' # 9 ++ r'(%(space)s*(?:%(newline)s%(space)s*)+' # 10 + r'(?=%(post_regex_off)s))?' + r'|(?<=%(id_literal_close)s)' +- r'(%(space)s*(?:%(newline)s%(space)s*)+)' # 9 ++ r'(%(space)s*(?:%(newline)s%(space)s*)+)' # 11 + r'(?=%(id_literal_open)s)' +- r'|(?<=%(id_literal)s)(%(space)s+)(?=%(id_literal)s)' # 10 +- r'|(?<=\+)(%(space)s+)(?=\+)' # 11 +- r'|(?<=-)(%(space)s+)(?=-)' # 12 +- r'|(%(space)s+)' # 13 +- r'|((?:%(newline)s%(space)s*)+)' # 14 ++ r'|(?<=%(id_literal)s)(%(space)s+)(?=%(id_literal)s)' # 12 ++ r'|(?<=\+)(%(space)s+)(?=\+)' # 13 ++ r'|(?<=-)(%(space)s+)(?=-)' # 14 ++ r'|(%(space)s+)' # 15 ++ r'|((?:%(newline)s%(space)s*)+)' # 16 + ) % locals()).sub + +- # print space_sub_banged.__self__.pattern ++ # print(space_sub_banged.__self__.pattern) + + keep = _re.compile(( + r'%(space_chars)s+|%(space_comment_nobang)s+|%(newline)s+' +@@ -276,7 +293,7 @@ def _make_jsmin(python_only=False): + ) % locals()).sub + keeper = lambda m: m.groups()[0] or '' + +- # print keep.__self__.pattern ++ # print(keep.__self__.pattern) + + def space_subber_banged(match): + """ Substitution callback """ +@@ -288,26 +305,34 @@ def _make_jsmin(python_only=False): + elif groups[1]: + return groups[1] + elif groups[3]: +- return "%s%s%s%s" % ( ++ return "%s%s" % ( + keep(keeper, groups[2]), + groups[3], +- keep(keeper, groups[4] or ''), +- groups[4] and '\n' or '', + ) +- elif groups[7]: +- return "%s%s%s%s%s" % ( +- keep(keeper, groups[5]), ++ elif groups[5]: ++ return "%s%s%s%s" % ( ++ keep(keeper, groups[4]), ++ groups[5], ++ keep(keeper, groups[6] or ''), + groups[6] and '\n' or '', +- groups[7], +- keep(keeper, groups[8] or ''), +- groups[8] and '\n' or '', + ) + elif groups[9]: +- return keep(keeper, groups[9]) + '\n' +- elif groups[10] or groups[11] or groups[12]: +- return keep(keeper, groups[10] or groups[11] or groups[12]) or ' ' ++ return "%s%s%s%s%s" % ( ++ keep(keeper, groups[7]), ++ groups[8] and '\n' or '', ++ groups[9], ++ keep(keeper, groups[10] or ''), ++ groups[10] and '\n' or '', ++ ) ++ elif groups[11]: ++ return keep(keeper, groups[11]) + '\n' ++ elif groups[12] or groups[13] or groups[14]: ++ return keep(keeper, groups[12] or groups[13] or groups[14]) or ' ' + else: +- return keep(keeper, groups[13] or groups[14]) ++ return keep(keeper, groups[15] or groups[16]) ++ ++ banged = _ft.partial(space_sub_banged, space_subber_banged) ++ simple = _ft.partial(space_sub_simple, space_subber_simple) + + def jsmin(script, keep_bang_comments=False): + r""" +@@ -320,32 +345,51 @@ def _make_jsmin(python_only=False): + .. _jsmin.c by Douglas Crockford: + http://www.crockford.com/javascript/jsmin.c + +- :Parameters: +- `script` : ``str`` ++ Parameters: ++ script (str): + Script to minify + +- `keep_bang_comments` : ``bool`` ++ keep_bang_comments (bool): + Keep comments starting with an exclamation mark? (``/*!...*/``) + +- :Return: Minified script +- :Rtype: ``str`` ++ Returns: ++ str: Minified script + """ + # pylint: disable = redefined-outer-name + +- if keep_bang_comments: +- return space_sub_banged( +- space_subber_banged, '\n%s\n' % script +- ).strip() +- else: +- return space_sub_simple( +- space_subber_simple, '\n%s\n' % script +- ).strip() ++ is_bytes, script = _as_str(script) ++ script = (banged if keep_bang_comments else simple)( ++ '\n%s\n' % script ++ ).strip() ++ if is_bytes: ++ script = script.encode('latin-1') ++ if is_bytes == 2: ++ script = bytearray(script) ++ return script + + return jsmin + + jsmin = _make_jsmin() + + ++def _as_str(script): ++ """ Make sure the script is a text string """ ++ is_bytes = False ++ if str is bytes: ++ if not isinstance(script, basestring): # noqa pylint: disable = undefined-variable ++ raise TypeError("Unexpected type") ++ elif isinstance(script, bytes): ++ is_bytes = True ++ script = script.decode('latin-1') ++ elif isinstance(script, bytearray): ++ is_bytes = 2 ++ script = script.decode('latin-1') ++ elif not isinstance(script, str): ++ raise TypeError("Unexpected type") ++ ++ return is_bytes, script ++ ++ + def jsmin_for_posers(script, keep_bang_comments=False): + r""" + Minify javascript based on `jsmin.c by Douglas Crockford`_\. +@@ -361,49 +405,61 @@ def jsmin_for_posers(script, keep_bang_c + utilizes the resulting regexes. It's here for fun and may + vanish any time. Use the `jsmin` function instead. + +- :Parameters: +- `script` : ``str`` ++ Parameters: ++ script (str): + Script to minify + +- `keep_bang_comments` : ``bool`` ++ keep_bang_comments (bool): + Keep comments starting with an exclamation mark? (``/*!...*/``) + +- :Return: Minified script +- :Rtype: ``str`` ++ Returns: ++ str: Minified script + """ + if not keep_bang_comments: + rex = ( +- r'([^\047"/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^\r\n]' +- r'|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^\r\n]' +- r'|\r?\n|\r)[^"\\\r\n]*)*"))[^\047"/\000-\040]*)|(?<=[(,=:\[!&|?' +- r'{};\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*' +- r'][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\0' +- r'14\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*((?:/(?![\r' +- r'\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r' +- r'\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))((?:[\000-\011\013\014' ++ r'([^\047"\140/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^' ++ r'\r\n]|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^' ++ r'\r\n]|\r?\n|\r)[^"\\\r\n]*)*")|(?:\140[^\140\\]*(?:\\(?:[^\r\n' ++ r']|\r?\n|\r)[^\140\\]*)*\140))[^\047"\140/\000-\040]*)|(?<=[)])' ++ r'(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+' ++ r')*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\0' ++ r'40]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*((?:/(?![\r\n/*])[^/' ++ r'\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]' ++ r'\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))(?=(?:[\000-\011\013\014\0' ++ r'16-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n' ++ r']*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^' ++ r'/*][^*]*\*+)*/))*)*\.(?:[\000-\011\013\014\016-\040]|(?:/\*[^*' ++ r']*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\00' ++ r'0-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)' ++ r'*[a-z])|(?<=[(,=:\[!&|?{};\r\n+*-])(?:[\000-\011\013\014\016-' ++ r'\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)' ++ r'?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*]' ++ r'[^*]*\*+)*/))*)*((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|' ++ r'(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*' ++ r'/[a-z]*))((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/' ++ r'*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013' ++ r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000' ++ r'-\040&)+,.:;=?\]|}-]))?|(?<=[\000-#%-,./:-@\[-^\140{-~-]return' ++ r')(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*' ++ r'+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))(?:[\000-\011\013\014\016' ++ r'-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*((?:/(?![\r\n/*])' ++ r'[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^' ++ r'\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))((?:[\000-\011\013\014' + r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r' + r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:' +- r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\00' +- r'0-#%-,./:-@\[-^`{-~-]return)(?:[\000-\011\013\014\016-\040]|(?' +- r':/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]' +- r'))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*' +- r'\*+)*/))*)*((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[' +- r'[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))((' +- r'?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)' +- r'*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\04' +- r'0]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;' +- r'=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\[\\^`{|~])(?:[\000-\011\01' +- r'3\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?:' +- r'//[^\r\n]*)?[\r\n]))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]' +- r'*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040"#%-\047)*,./:-@\\-^' +- r'`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-])((?:[\000-\011\013\014\0' +- r'16-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=[^\000-#%-,./' +- r':-@\[-^`{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*[' +- r'^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=\+)|(?<=-)((?:[\000-\011\013' +- r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=-)|(?:[' +- r'\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)' +- r')+|(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]' +- r'|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+' ++ r'[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[^\0' ++ r'00-!#%&(*,./:-@\[\\^{|~])(?:[\000-\011\013\014\016-\040]|(?:/' ++ r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))' ++ r'(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+' ++ r')*/))*)+(?=[^\000-\040"#%-\047)*,./:-@\\-^\140|-~])|(?<=[^\000' ++ r'-#%-,./:-@\[-^\140{-~-])((?:[\000-\011\013\014\016-\040]|(?:/' ++ r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=[^\000-#%-,./:-@\[-^\140{-' ++ r'~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:' ++ r'[^/*][^*]*\*+)*/)))+(?=\+)|(?<=-)((?:[\000-\011\013\014\016-\0' ++ r'40]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/)))+(?=-)|(?:[\000-\011\0' ++ r'13\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+|(?:(?:(?' ++ r'://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]' ++ r'*\*+(?:[^/*][^*]*\*+)*/))*)+' + ) + + def subber(match): +@@ -412,59 +468,72 @@ def jsmin_for_posers(script, keep_bang_c + return ( + groups[0] or + groups[1] or +- (groups[3] and (groups[2] + '\n')) or + groups[2] or +- (groups[5] and "%s%s%s" % ( +- groups[4] and '\n' or '', +- groups[5], +- groups[6] and '\n' or '', ++ (groups[4] and (groups[3] + '\n')) or ++ groups[3] or ++ (groups[6] and "%s%s%s" % ( ++ groups[5] and '\n' or '', ++ groups[6], ++ groups[7] and '\n' or '', + )) or +- (groups[7] and '\n') or +- (groups[8] and ' ') or ++ (groups[8] and '\n') or + (groups[9] and ' ') or + (groups[10] and ' ') or ++ (groups[11] and ' ') or + '' + ) + else: + rex = ( +- r'([^\047"/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^\r\n]' +- r'|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^\r\n]' +- r'|\r?\n|\r)[^"\\\r\n]*)*"))[^\047"/\000-\040]*)|(?<=[(,=:\[!&|?' +- r'{};\r\n])((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/' +- r'*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013' +- r'\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*)((?:/(?!' +- r'[\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^' +- r'\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/))((?:[\000-\011\013\01' +- r'4\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^' ++ r'([^\047"\140/\000-\040]+)|((?:(?:\047[^\047\\\r\n]*(?:\\(?:[^' ++ r'\r\n]|\r?\n|\r)[^\047\\\r\n]*)*\047)|(?:"[^"\\\r\n]*(?:\\(?:[^' ++ r'\r\n]|\r?\n|\r)[^"\\\r\n]*)*")|(?:\140[^\140\\]*(?:\\(?:[^\r\n' ++ r']|\r?\n|\r)[^\140\\]*)*\140))[^\047"\140/\000-\040]*)|(?<=[)])' ++ r'((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*' ++ r'+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-' ++ r'\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*)((?:/(?![\r\n/*])' ++ r'[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^' ++ r'\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))(?=(?:[\000-\011\013\0' ++ r'14\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^' + r'\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(' +- r'?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|(?<=[' +- r'\000-#%-,./:-@\[-^`{-~-]return)((?:[\000-\011\013\014\016-\040' +- r']|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[' +- r'\r\n]))(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][' +- r'^*]*\*+)*/))*)*)((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|' +- r'(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*' +- r'/))((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]' +- r'*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\01' +- r'6-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)' +- r'+,.:;=?\]|}-]))?|(?<=[^\000-!#%&(*,./:-@\[\\^`{|~])((?:[\000-' +- r'\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:' +- r'(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/' +- r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)(?=[^\000-\040"#%-\047)*,./' +- r':-@\\-^`|-~])|(?<=[^\000-#%-,./:-@\[-^`{-~-])((?:[\000-\011\01' +- r'3\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=[^\000' +- r'-#%-,./:-@\[-^`{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|' +- r'(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=\+)|(?<=-)((?:[\000-\0' +- r'11\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=-' +- r')|((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*' +- r'\*+)*/))+)|((?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014' +- r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)' ++ r'?:[^/*][^*]*\*+)*/))*)*\.(?:[\000-\011\013\014\016-\040]|(?:/' ++ r'\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?' ++ r':[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*' ++ r'/))*)*[a-z])|(?<=[(,=:\[!&|?{};\r\n+*-])((?:[\000-\011\013\014' ++ r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r' ++ r'\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:' ++ r'[^/*][^*]*\*+)*/))*)*)((?:/(?![\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^' ++ r'\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r' ++ r'\n]*)*/[a-z]*))((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+' ++ r'(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\01' ++ r'1\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[' ++ r'^\000-\040&)+,.:;=?\]|}-]))?|(?<=[\000-#%-,./:-@\[-^\140{-~-]r' ++ r'eturn)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][' ++ r'^*]*\*+)*/))*(?:((?:(?://[^\r\n]*)?[\r\n]))(?:[\000-\011\013\0' ++ r'14\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)*)((?:/(?![' ++ r'\r\n/*])[^/\\\[\r\n]*(?:(?:\\[^\r\n]|(?:\[[^\\\]\r\n]*(?:\\[^' ++ r'\r\n][^\\\]\r\n]*)*\]))[^/\\\[\r\n]*)*/[a-z]*))((?:[\000-\011' ++ r'\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(' ++ r'?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*' ++ r']*\*+(?:[^/*][^*]*\*+)*/))*)+(?=[^\000-\040&)+,.:;=?\]|}-]))?|' ++ r'(?<=[^\000-!#%&(*,./:-@\[\\^{|~])((?:[\000-\011\013\014\016-\0' ++ r'40]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*(?:(?:(?://[^\r\n]*)?[' ++ r'\r\n])(?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^' ++ r'*]*\*+)*/))*)+)(?=[^\000-\040"#%-\047)*,./:-@\\-^\140|-~])|(?<' ++ r'=[^\000-#%-,./:-@\[-^\140{-~-])((?:[\000-\011\013\014\016-\040' ++ r']|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=[^\000-#%-,./:-@\[-^' ++ r'\140{-~-])|(?<=\+)((?:[\000-\011\013\014\016-\040]|(?:/\*[^*]*' ++ r'\*+(?:[^/*][^*]*\*+)*/))+)(?=\+)|(?<=-)((?:[\000-\011\013\014' ++ r'\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)(?=-)|((?:[\00' ++ r'0-\011\013\014\016-\040]|(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))+)' ++ r'|((?:(?:(?://[^\r\n]*)?[\r\n])(?:[\000-\011\013\014\016-\040]|' ++ r'(?:/\*[^*]*\*+(?:[^/*][^*]*\*+)*/))*)+)' + ) + +- keep = _re.compile(( ++ keep = _re.compile( + r'[\000-\011\013\014\016-\040]+|(?:/\*(?!!)[^*]*\*+(?:[^/*][^*]*' + r'\*+)*/)+|(?:(?://[^\r\n]*)?[\r\n])+|((?:/\*![^*]*\*+(?:[^/*][^' + r'*]*\*+)*/)+)' +- ) % locals()).sub ++ ).sub + keeper = lambda m: m.groups()[0] or '' + + def subber(match): +@@ -473,27 +542,37 @@ def jsmin_for_posers(script, keep_bang_c + return ( + groups[0] or + groups[1] or +- (groups[3] and "%s%s%s%s" % ( ++ groups[3] and "%s%s" % ( + keep(keeper, groups[2]), + groups[3], +- keep(keeper, groups[4] or ''), +- groups[4] and '\n' or '', +- )) or +- (groups[7] and "%s%s%s%s%s" % ( +- keep(keeper, groups[5]), ++ ) or ++ groups[5] and "%s%s%s%s" % ( ++ keep(keeper, groups[4]), ++ groups[5], ++ keep(keeper, groups[6] or ''), + groups[6] and '\n' or '', +- groups[7], +- keep(keeper, groups[8] or ''), ++ ) or ++ groups[9] and "%s%s%s%s%s" % ( ++ keep(keeper, groups[7]), + groups[8] and '\n' or '', +- )) or +- (groups[9] and keep(keeper, groups[9] + '\n')) or +- (groups[10] and keep(keeper, groups[10]) or ' ') or +- (groups[11] and keep(keeper, groups[11]) or ' ') or +- (groups[12] and keep(keeper, groups[12]) or ' ') or +- keep(keeper, groups[13] or groups[14]) ++ groups[9], ++ keep(keeper, groups[10] or ''), ++ groups[10] and '\n' or '', ++ ) or ++ groups[11] and (keep(keeper, groups[11]) + '\n') or ++ groups[12] and (keep(keeper, groups[12]) or ' ') or ++ groups[13] and (keep(keeper, groups[13]) or ' ') or ++ groups[14] and (keep(keeper, groups[14]) or ' ') or ++ keep(keeper, groups[15] or groups[16]) + ) + +- return _re.sub(rex, subber, '\n%s\n' % script).strip() ++ is_bytes, script = _as_str(script) ++ script = _re.sub(rex, subber, '\n%s\n' % script).strip() ++ if is_bytes: ++ script = script.encode('latin-1') ++ if is_bytes == 2: ++ script = bytearray(script) ++ return script + + + if __name__ == '__main__': +diff -up chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py.12 chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py +--- chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py.12 2022-06-28 12:50:10.171324444 +0000 ++++ chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py 2021-11-05 17:03:12.000000000 +0000 +@@ -1,41 +1,264 @@ +-#!/usr/bin/python3 ++#!/usr/bin/env python + # -*- coding: ascii -*- +-# +-# Copyright 2006 - 2013 +-# Andr\xe9 Malo or his licensors, as applicable +-# +-# Licensed under the Apache License, Version 2.0 (the "License"); +-# you may not use this file except in compliance with the License. +-# You may obtain a copy of the License at +-# +-# http://www.apache.org/licenses/LICENSE-2.0 +-# +-# Unless required by applicable law or agreed to in writing, software +-# distributed under the License is distributed on an "AS IS" BASIS, +-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-# See the License for the specific language governing permissions and +-# limitations under the License. ++u""" ++:Copyright: + ++ Copyright 2011 - 2021 ++ Andr\xe9 Malo or his licensors, as applicable ++ ++:License: ++ ++ Licensed under the Apache License, Version 2.0 (the "License"); ++ you may not use this file except in compliance with the License. ++ You may obtain a copy of the License at ++ ++ http://www.apache.org/licenses/LICENSE-2.0 ++ ++ Unless required by applicable law or agreed to in writing, software ++ distributed under the License is distributed on an "AS IS" BASIS, ++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ See the License for the specific language governing permissions and ++ limitations under the License. ++ ++=========================================== ++ rJSmin - A Javascript Minifier For Python ++=========================================== ++ ++rJSmin - A Javascript Minifier For Python. ++""" ++from __future__ import print_function ++__author__ = u"Andr\xe9 Malo" ++__docformat__ = "restructuredtext en" ++ ++import os as _os ++import posixpath as _posixpath + import sys as _sys +-from _setup import run + ++# pylint: disable = no-name-in-module, import-error, raise-missing-from ++import setuptools as _setuptools ++ ++# pylint: disable = invalid-name ++ ++ ++def _doc(filename): ++ """ Read docs file """ ++ # pylint: disable = unspecified-encoding ++ args = {} if str is bytes else dict(encoding='utf-8') ++ try: ++ with open(_os.path.join('docs', filename), **args) as fp: ++ return fp.read() ++ except IOError: ++ return None ++ ++ ++def _lines(multiline): ++ """ Split multiline string into single line % empty and comments """ ++ return [line for line in ( ++ line.strip() for line in multiline.splitlines(False) ++ ) if line and not line.startswith('#')] ++ ++ ++package = dict( ++ name='rjsmin', ++ top='.', ++ pathname='.', ++ provides=_doc('PROVIDES'), ++ desc=_doc('SUMMARY').strip(), ++ longdesc=_doc('DESCRIPTION'), ++ author=__author__, ++ email='nd@perlig.de', ++ license="Apache License, Version 2.0", ++ keywords=_lines(_doc('KEYWORDS')), ++ url='http://opensource.perlig.de/rjsmin/', ++ classifiers=_lines(_doc('CLASSIFIERS') or ''), ++ ++ packages=False, ++ py_modules=['rjsmin'], ++ version_file='rjsmin.py', ++ install_requires=[], ++) ++ ++ ++class BuildFailed(Exception): ++ """ The build has failed """ ++ ++ ++from distutils.command import build_ext as _build_ext # pylint: disable = wrong-import-order ++from distutils import errors as _errors # pylint: disable = wrong-import-order ++class build_ext(_build_ext.build_ext): # pylint: disable = no-init ++ """ Improved extension building code """ ++ ++ def run(self): ++ """ Unify exception """ ++ try: ++ _build_ext.build_ext.run(self) ++ except _errors.DistutilsPlatformError: ++ raise BuildFailed() ++ ++ ++ def build_extension(self, ext): ++ """ ++ Build C extension - with extended functionality + +-def setup(args=None, _manifest=0): +- """ Main setup function """ +- from _setup.ext import Extension ++ The following features are added here: + +- if 'java' in _sys.platform.lower(): +- # no c extension for jython +- ext = None ++ - The macros ``EXT_PACKAGE`` and ``EXT_MODULE`` will be filled (or ++ unset) depending on the extensions name, but only if they are not ++ already defined. ++ ++ - "." is added to the include directories (for cext.h) ++ ++ :Parameters: ++ `ext` : `Extension` ++ The extension to build ++ ++ :Return: whatever ``distutils.command.build_ext.build_ext`` returns ++ :Rtype: any ++ """ ++ # handle name macros ++ macros = dict(ext.define_macros or ()) ++ tup = ext.name.split('.') ++ if len(tup) == 1: ++ pkg, mod = None, tup[0] ++ else: ++ pkg, mod = '.'.join(tup[:-1]), tup[-1] ++ if pkg is not None and 'EXT_PACKAGE' not in macros: ++ ext.define_macros.append(('EXT_PACKAGE', pkg)) ++ if 'EXT_MODULE' not in macros: ++ ext.define_macros.append(('EXT_MODULE', mod)) ++ if pkg is None: ++ macros = dict(ext.undef_macros or ()) ++ if 'EXT_PACKAGE' not in macros: ++ ext.undef_macros.append('EXT_PACKAGE') ++ ++ import pprint; pprint.pprint(ext.__dict__) ++ try: ++ return _build_ext.build_ext.build_extension(self, ext) ++ except (_errors.CCompilerError, _errors.DistutilsExecError, ++ _errors.DistutilsPlatformError, IOError, ValueError): ++ raise BuildFailed() ++ ++ ++class Extension(_setuptools.Extension): ++ """ improved functionality """ ++ ++ def __init__(self, *args, **kwargs): ++ """ Initialization """ ++ version = kwargs.pop('version') ++ self.depends = [] ++ if 'depends' in kwargs: ++ self.depends = kwargs['depends'] ++ _setuptools.Extension.__init__(self, *args, **kwargs) ++ self.define_macros.append(('EXT_VERSION', version)) ++ ++ # add include path ++ included = '.' ++ if included not in self.include_dirs: ++ self.include_dirs.append(included) ++ ++ # add cext.h to the dependencies ++ cext_h = _posixpath.normpath(_posixpath.join(included, 'cext.h')) ++ for item in self.depends: ++ if _posixpath.normpath(item) == cext_h: ++ break ++ else: ++ self.depends.append(cext_h) ++ ++ ++EXTENSIONS = lambda v: [Extension('_rjsmin', ["rjsmin.c"], version=v)] ++ ++ ++def do_setup(cext): ++ """ Main """ ++ # pylint: disable = too-many-branches ++ # pylint: disable = unspecified-encoding ++ ++ args = {} if str is bytes else dict(encoding='utf-8') ++ version_file = '%s/%s' % (package['pathname'], ++ package.get('version_file', '__init__.py')) ++ with open(version_file, **args) as fp: ++ for line in fp: # pylint: disable = redefined-outer-name ++ if line.startswith('__version__'): ++ version = line.split('=', 1)[1].strip() ++ if version.startswith(("'", '"')): ++ version = version[1:-1].strip() ++ break ++ else: ++ raise RuntimeError("Version not found") ++ ++ kwargs = {} ++ ++ if not cext or 'java' in _sys.platform.lower(): ++ extensions = [] + else: +- ext=[Extension('_rjsmin', sources=['rjsmin.c'])] ++ extensions = EXTENSIONS(version) ++ ++ if extensions: ++ if 'build_ext' in globals(): ++ kwargs.setdefault('cmdclass', {})['build_ext'] = build_ext ++ kwargs['ext_modules'] = extensions ++ ++ cflags = None ++ if _os.environ.get('CFLAGS') is None: ++ from distutils import ccompiler as _ccompiler ++ ++ compiler = _ccompiler.get_default_compiler() ++ try: ++ with open("debug.%s.cflags" % compiler) as fp: ++ cflags = ' '.join([ ++ line for line in (line.strip() for line in fp) ++ if line and not line.startswith('#') ++ ]).split() or None ++ except IOError: ++ pass ++ ++ if cflags: ++ gcov = 'coverage' in ' '.join(cflags) ++ for ext in extensions: ++ # pylint: disable = attribute-defined-outside-init ++ ext.extra_compile_args = \ ++ getattr(ext, 'extra_compile_args', []) + cflags ++ if gcov: ++ ext.libraries.append('gcov') ++ ++ ++ if package.get('packages', True): ++ kwargs['packages'] = [package['top']] + [ ++ '%s.%s' % (package['top'], item) ++ for item in ++ _setuptools.find_packages(package['pathname']) ++ ] ++ if package.get('py_modules'): ++ kwargs['py_modules'] = package['py_modules'] + +- return run(script_args=args, ext=ext, manifest_only=_manifest) ++ _setuptools.setup( ++ name=package['name'], ++ author=package['author'], ++ author_email=package['email'], ++ license=package['license'], ++ classifiers=package['classifiers'], ++ description=package['desc'], ++ long_description=package['longdesc'], ++ url=package['url'], ++ install_requires=package['install_requires'], ++ version=version, ++ zip_safe=False, ++ **kwargs ++ ) + + +-def manifest(): +- """ Create List of packaged files """ +- return setup((), _manifest=1) ++def setup(): ++ """ Run setup """ ++ try: ++ do_setup(True) ++ except BuildFailed: ++ env = 'SETUP_CEXT_REQUIRED' ++ if _os.environ.get(env, '') not in ('', '0'): ++ raise ++ print("C extension build failed - building python only version now. " ++ "Set '%s' environment variable to '1' to make it fail." ++ % (env,), file=_sys.stderr) ++ do_setup(False) + + + if __name__ == '__main__': diff --git a/chromium.spec b/chromium.spec index 28a3bf5..c478af4 100644 --- a/chromium.spec +++ b/chromium.spec @@ -307,6 +307,9 @@ Patch67: chromium-98.0.4758.80-remoting-cstring.patch # Apply fix_textrels hack for i686 (even without lld) Patch68: chromium-84.0.4147.125-i686-fix_textrels.patch +# Update rjsmin to 1.2.0 +Patch69: chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch + # Do not download proprietary widevine module in the background (thanks Debian) Patch79: chromium-99.0.4844.51-widevine-no-download.patch @@ -1027,6 +1030,7 @@ udev. %patch66 -p1 -b .python3-do-not-use-deprecated-mode-U %patch67 -p1 -b .remoting-cstring %patch68 -p1 -b .i686-textrels +%patch69 -p1 -b .update-rjsmin-to-1.2.0 %patch79 -p1 -b .widevine-no-download %patch80 -p1 -b .EnumTable-crash # %%patch81 -p1 -b .gcc12fix From 55d57a743cd6477a160ac6f8c4e1cd8da34bd87a Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Wed, 6 Jul 2022 17:56:52 -0400 Subject: [PATCH 017/568] fix rjsmin patch, update six to 1.16.0 --- ...mium-103.0.5060.53-python-six-1.16.0.patch | 360 ++++++++++++++++++ ...103.0.5060.53-update-rjsmin-to-1.2.0.patch | 3 +- chromium.spec | 4 + 3 files changed, 365 insertions(+), 2 deletions(-) create mode 100644 chromium-103.0.5060.53-python-six-1.16.0.patch diff --git a/chromium-103.0.5060.53-python-six-1.16.0.patch b/chromium-103.0.5060.53-python-six-1.16.0.patch new file mode 100644 index 0000000..1213e3f --- /dev/null +++ b/chromium-103.0.5060.53-python-six-1.16.0.patch @@ -0,0 +1,360 @@ +diff -up chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py +--- chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 2022-07-05 13:31:29.434673638 +0000 ++++ chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py 2022-07-05 21:52:01.884578748 +0000 +@@ -29,7 +29,7 @@ import sys + import types + + __author__ = "Benjamin Peterson " +-__version__ = "1.15.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ else: + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +diff -up chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py +--- chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py.116 2022-07-05 13:32:17.815058318 +0000 ++++ chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py 2022-07-05 22:00:28.139721738 +0000 +@@ -1,4 +1,4 @@ +-# Copyright (c) 2010-2018 Benjamin Peterson ++# Copyright (c) 2010-2020 Benjamin Peterson + # + # Permission is hereby granted, free of charge, to any person obtaining a copy + # of this software and associated documentation files (the "Software"), to deal +@@ -29,7 +29,7 @@ import sys + import types + + __author__ = "Benjamin Peterson " +-__version__ = "1.12.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ else: + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +@@ -255,9 +271,11 @@ _moved_attributes = [ + MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), + MovedModule("builtins", "__builtin__"), + MovedModule("configparser", "ConfigParser"), ++ MovedModule("collections_abc", "collections", "collections.abc" if sys.version_info >= (3, 3) else "collections"), + MovedModule("copyreg", "copy_reg"), + MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), +- MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), ++ MovedModule("dbm_ndbm", "dbm", "dbm.ndbm"), ++ MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread" if sys.version_info < (3, 9) else "_thread"), + MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), + MovedModule("http_cookies", "Cookie", "http.cookies"), + MovedModule("html_entities", "htmlentitydefs", "html.entities"), +@@ -637,13 +655,16 @@ if PY3: + import io + StringIO = io.StringIO + BytesIO = io.BytesIO ++ del io + _assertCountEqual = "assertCountEqual" + if sys.version_info[1] <= 1: + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" ++ _assertNotRegex = "assertNotRegexpMatches" + else: + _assertRaisesRegex = "assertRaisesRegex" + _assertRegex = "assertRegex" ++ _assertNotRegex = "assertNotRegex" + else: + def b(s): + return s +@@ -665,6 +686,7 @@ else: + _assertCountEqual = "assertItemsEqual" + _assertRaisesRegex = "assertRaisesRegexp" + _assertRegex = "assertRegexpMatches" ++ _assertNotRegex = "assertNotRegexpMatches" + _add_doc(b, """Byte literal""") + _add_doc(u, """Text literal""") + +@@ -681,6 +703,10 @@ def assertRegex(self, *args, **kwargs): + return getattr(self, _assertRegex)(*args, **kwargs) + + ++def assertNotRegex(self, *args, **kwargs): ++ return getattr(self, _assertNotRegex)(*args, **kwargs) ++ ++ + if PY3: + exec_ = getattr(moves.builtins, "exec") + +@@ -716,16 +742,7 @@ else: + """) + + +-if sys.version_info[:2] == (3, 2): +- exec_("""def raise_from(value, from_value): +- try: +- if from_value is None: +- raise value +- raise value from from_value +- finally: +- value = None +-""") +-elif sys.version_info[:2] > (3, 2): ++if sys.version_info[:2] > (3,): + exec_("""def raise_from(value, from_value): + try: + raise value from from_value +@@ -805,13 +822,33 @@ if sys.version_info[:2] < (3, 3): + _add_doc(reraise, """Reraise an exception.""") + + if sys.version_info[0:2] < (3, 4): ++ # This does exactly the same what the :func:`py3:functools.update_wrapper` ++ # function does on Python versions after 3.2. It sets the ``__wrapped__`` ++ # attribute on ``wrapper`` object and it doesn't raise an error if any of ++ # the attributes mentioned in ``assigned`` and ``updated`` are missing on ++ # ``wrapped`` object. ++ def _update_wrapper(wrapper, wrapped, ++ assigned=functools.WRAPPER_ASSIGNMENTS, ++ updated=functools.WRAPPER_UPDATES): ++ for attr in assigned: ++ try: ++ value = getattr(wrapped, attr) ++ except AttributeError: ++ continue ++ else: ++ setattr(wrapper, attr, value) ++ for attr in updated: ++ getattr(wrapper, attr).update(getattr(wrapped, attr, {})) ++ wrapper.__wrapped__ = wrapped ++ return wrapper ++ _update_wrapper.__doc__ = functools.update_wrapper.__doc__ ++ + def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES): +- def wrapper(f): +- f = functools.wraps(wrapped, assigned, updated)(f) +- f.__wrapped__ = wrapped +- return f +- return wrapper ++ return functools.partial(_update_wrapper, wrapped=wrapped, ++ assigned=assigned, updated=updated) ++ wraps.__doc__ = functools.wraps.__doc__ ++ + else: + wraps = functools.wraps + +@@ -824,7 +861,15 @@ def with_metaclass(meta, *bases): + class metaclass(type): + + def __new__(cls, name, this_bases, d): +- return meta(name, bases, d) ++ if sys.version_info[:2] >= (3, 7): ++ # This version introduced PEP 560 that requires a bit ++ # of extra care (we mimic what is done by __build_class__). ++ resolved_bases = types.resolve_bases(bases) ++ if resolved_bases is not bases: ++ d['__orig_bases__'] = bases ++ else: ++ resolved_bases = bases ++ return meta(name, resolved_bases, d) + + @classmethod + def __prepare__(cls, name, this_bases): +@@ -861,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ ++ if isinstance(s, binary_type): ++ return s + if isinstance(s, text_type): + return s.encode(encoding, errors) +- elif isinstance(s, binary_type): +- return s +- else: +- raise TypeError("not expecting type '%s'" % type(s)) ++ raise TypeError("not expecting type '%s'" % type(s)) + + + def ensure_str(s, encoding='utf-8', errors='strict'): +@@ -880,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro + - `str` -> `str` + - `bytes` -> decoded to `str` + """ +- if not isinstance(s, (text_type, binary_type)): +- raise TypeError("not expecting type '%s'" % type(s)) ++ # Optimization: Fast return for the common case. ++ if type(s) is str: ++ return s + if PY2 and isinstance(s, text_type): +- s = s.encode(encoding, errors) ++ return s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): +- s = s.decode(encoding, errors) ++ return s.decode(encoding, errors) ++ elif not isinstance(s, (text_type, binary_type)): ++ raise TypeError("not expecting type '%s'" % type(s)) + return s + + +@@ -908,10 +955,9 @@ def ensure_text(s, encoding='utf-8', err + raise TypeError("not expecting type '%s'" % type(s)) + + +- + def python_2_unicode_compatible(klass): + """ +- A decorator that defines __unicode__ and __str__ methods under Python 2. ++ A class decorator that defines __unicode__ and __str__ methods under Python 2. + Under Python 3 it does nothing. + + To support Python 2 and 3 with a single code base, define a __str__ method +diff -up chromium-103.0.5060.53/third_party/six/src/six.py.116 chromium-103.0.5060.53/third_party/six/src/six.py +--- chromium-103.0.5060.53/third_party/six/src/six.py.116 2022-07-05 13:32:28.916687658 +0000 ++++ chromium-103.0.5060.53/third_party/six/src/six.py 2022-07-05 21:59:42.561240407 +0000 +@@ -29,7 +29,7 @@ import sys + import types + + __author__ = "Benjamin Peterson " +-__version__ = "1.14.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ else: + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ ++ if isinstance(s, binary_type): ++ return s + if isinstance(s, text_type): + return s.encode(encoding, errors) +- elif isinstance(s, binary_type): +- return s +- else: +- raise TypeError("not expecting type '%s'" % type(s)) ++ raise TypeError("not expecting type '%s'" % type(s)) + + + def ensure_str(s, encoding='utf-8', errors='strict'): +@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro + - `str` -> `str` + - `bytes` -> decoded to `str` + """ +- if not isinstance(s, (text_type, binary_type)): +- raise TypeError("not expecting type '%s'" % type(s)) ++ # Optimization: Fast return for the common case. ++ if type(s) is str: ++ return s + if PY2 and isinstance(s, text_type): +- s = s.encode(encoding, errors) ++ return s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): +- s = s.decode(encoding, errors) ++ return s.decode(encoding, errors) ++ elif not isinstance(s, (text_type, binary_type)): ++ raise TypeError("not expecting type '%s'" % type(s)) + return s + + diff --git a/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch b/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch index 9ccd1a0..29a5d9c 100644 --- a/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch +++ b/chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch @@ -1407,8 +1407,7 @@ diff -up chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_p --- chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py.12 2022-06-28 12:50:10.171324444 +0000 +++ chromium-103.0.5060.53/third_party/catapult/common/py_vulcanize/third_party/rjsmin/setup.py 2021-11-05 17:03:12.000000000 +0000 @@ -1,41 +1,264 @@ --#!/usr/bin/python3 -+#!/usr/bin/env python + #!/usr/bin/env python # -*- coding: ascii -*- -# -# Copyright 2006 - 2013 diff --git a/chromium.spec b/chromium.spec index c478af4..b537a91 100644 --- a/chromium.spec +++ b/chromium.spec @@ -310,6 +310,9 @@ Patch68: chromium-84.0.4147.125-i686-fix_textrels.patch # Update rjsmin to 1.2.0 Patch69: chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch +# Update six to 1.16.0 +Patch70: chromium-103.0.5060.53-python-six-1.16.0.patch + # Do not download proprietary widevine module in the background (thanks Debian) Patch79: chromium-99.0.4844.51-widevine-no-download.patch @@ -1031,6 +1034,7 @@ udev. %patch67 -p1 -b .remoting-cstring %patch68 -p1 -b .i686-textrels %patch69 -p1 -b .update-rjsmin-to-1.2.0 +%patch70 -p1 -b .update-six-to-1.16.0 %patch79 -p1 -b .widevine-no-download %patch80 -p1 -b .EnumTable-crash # %%patch81 -p1 -b .gcc12fix From d79b33335e26be206566e50a6124a4f497c5d296 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 15 Jul 2022 14:39:17 -0400 Subject: [PATCH 018/568] 103.0.5060.114 --- chromium.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index b537a91..0ea9e4f 100644 --- a/chromium.spec +++ b/chromium.spec @@ -227,7 +227,7 @@ Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.5060.53 +Version: %{majorversion}.0.5060.114 Release: 1%{?dist} %if %{?freeworld} %if %{?shared} @@ -2185,6 +2185,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Wed Jul 13 2022 Tom Callaway - 103.0.5060.114-1 +- update to 103.0.5060.114 + * Wed Jun 22 2022 Tom Callaway - 103.0.5060.53-1 - update to 103.0.5060.53 diff --git a/sources b/sources index 0cd6d37..1affc18 100644 --- a/sources +++ b/sources @@ -21,4 +21,4 @@ SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1d SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (node-v12.22.6-linux-arm64.tar.xz) = 87ce5eb954deb1d0debe6fa02b28a3cc675e12fca1e51d44b123ab294aa39ce0c6b8ac9eae1e7a6e32673ea2c2d480651d9ba7eea73012f0529503eebe9eb34d SHA512 (node-v12.22.6-linux-x64.tar.xz) = e1b55c32343cb2ccc40d888c705414bebf9c46b02083d13731df79b1e79521b7277761f6bcca041e40e3a2e47c67bb8e7848aa2b919a9de5c2ebf62c4a9c7176 -SHA512 (chromium-103.0.5060.53-clean.tar.xz) = 2fe8695a291e483053e014a507d695e1efa547a276d170e9e082a539d47364a8cb78892c3e0ed26fcf4b1418ff43a56c7d582997215c633e71f3620dfb474db9 +SHA512 (chromium-103.0.5060.114-clean.tar.xz) = 9173f2110c6442043b057bfdb629874a1dba92a392d368dc23b66d4926567d7c71a341150499768e3536bf154d64cfc54d99f37d2cc232e38bfa1498cc06a32c From f395fe077e26af2e2e305d337bfec48be9773682 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 22:54:34 +0000 Subject: [PATCH 019/568] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- chromium.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chromium.spec b/chromium.spec index 0ea9e4f..11ca13d 100644 --- a/chromium.spec +++ b/chromium.spec @@ -228,7 +228,7 @@ Name: chromium%{chromium_channel}%{nsuffix} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.5060.114 -Release: 1%{?dist} +Release: 2%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -2185,6 +2185,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 103.0.5060.114-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jul 13 2022 Tom Callaway - 103.0.5060.114-1 - update to 103.0.5060.114 From 1e2f91b9238ecc26a85a9ee2fa375929b238bcbe Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 19 Aug 2022 09:57:47 -0400 Subject: [PATCH 020/568] 104.0.5112.101 --- chromium-104-ContentRendererClient-type.patch | 28 +++++++ ...01-enable-hardware-accelerated-mjpeg.patch | 36 ++++----- ...0.5112.101-system-minizip-header-fix.patch | 76 +++++++++++++++++++ chromium.spec | 27 ++++--- clean_ffmpeg.sh | 3 + sources | 2 +- 6 files changed, 143 insertions(+), 29 deletions(-) create mode 100644 chromium-104-ContentRendererClient-type.patch rename chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch => chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch (51%) create mode 100644 chromium-104.0.5112.101-system-minizip-header-fix.patch diff --git a/chromium-104-ContentRendererClient-type.patch b/chromium-104-ContentRendererClient-type.patch new file mode 100644 index 0000000..a6d5a86 --- /dev/null +++ b/chromium-104-ContentRendererClient-type.patch @@ -0,0 +1,28 @@ +From a61a70605f9efc81fead5bf6984bc5ce39f1569d Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 27 May 2022 18:11:52 +0000 +Subject: [PATCH] libstdc++: fix incomplete type of + content::ContentRendererClient + +Destructor of std::unique_ptr in libstdc++ uses sizeof() which +requires full definition of media::AudioEncoder for return type of +cast_streaming::ResourceProvider. +--- + content/public/renderer/content_renderer_client.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc +index 63456aa..637a2a7 100644 +--- a/content/public/renderer/content_renderer_client.cc ++++ b/content/public/renderer/content_renderer_client.cc +@@ -6,6 +6,7 @@ + + #include "base/command_line.h" + #include "build/build_config.h" ++#include "components/cast_streaming/renderer/public/resource_provider.h" + #include "content/public/common/content_switches.h" + #include "media/base/demuxer.h" + #include "media/base/renderer_factory.h" +-- +2.35.1 + diff --git a/chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch b/chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch similarity index 51% rename from chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch rename to chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch index 6873272..06116e4 100644 --- a/chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch +++ b/chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch @@ -1,7 +1,7 @@ -diff -up chromium-102.0.5005.61/chrome/browser/about_flags.cc.accel-mjpeg chromium-102.0.5005.61/chrome/browser/about_flags.cc ---- chromium-102.0.5005.61/chrome/browser/about_flags.cc.accel-mjpeg 2022-05-19 02:16:44.000000000 +0000 -+++ chromium-102.0.5005.61/chrome/browser/about_flags.cc 2022-06-03 20:09:42.298053196 +0000 -@@ -4308,12 +4308,12 @@ const FeatureEntry kFeatureEntries[] = { +diff -up chromium-104.0.5112.101/chrome/browser/about_flags.cc.accel-mjpeg chromium-104.0.5112.101/chrome/browser/about_flags.cc +--- chromium-104.0.5112.101/chrome/browser/about_flags.cc.accel-mjpeg 2022-08-16 23:29:08.000000000 +0000 ++++ chromium-104.0.5112.101/chrome/browser/about_flags.cc 2022-08-18 14:21:36.762266571 +0000 +@@ -4485,12 +4485,12 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, #endif // ENABLE_VR @@ -17,10 +17,10 @@ diff -up chromium-102.0.5005.61/chrome/browser/about_flags.cc.accel-mjpeg chromi {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff -up chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc.accel-mjpeg chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc ---- chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc.accel-mjpeg 2022-06-03 17:55:53.493268667 +0000 -+++ chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc 2022-06-03 20:22:41.162906775 +0000 -@@ -4029,7 +4029,7 @@ const char kUseAngleGL[] = "OpenGL"; +diff -up chromium-104.0.5112.101/chrome/browser/flag_descriptions.cc.accel-mjpeg chromium-104.0.5112.101/chrome/browser/flag_descriptions.cc +--- chromium-104.0.5112.101/chrome/browser/flag_descriptions.cc.accel-mjpeg 2022-08-16 23:29:09.000000000 +0000 ++++ chromium-104.0.5112.101/chrome/browser/flag_descriptions.cc 2022-08-18 14:25:23.609572649 +0000 +@@ -4170,7 +4170,7 @@ const char kUseAngleGL[] = "OpenGL"; // ChromeOS ------------------------------------------------------------------- @@ -29,7 +29,7 @@ diff -up chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc.accel-mjpeg const char kAcceleratedMjpegDecodeName[] = "Hardware-accelerated mjpeg decode for captured frame"; -@@ -4037,6 +4037,10 @@ const char kAcceleratedMjpegDecodeDescri +@@ -4178,6 +4178,10 @@ const char kAcceleratedMjpegDecodeDescri "Enable hardware-accelerated mjpeg decode for captured frame where " "available."; @@ -37,13 +37,13 @@ diff -up chromium-102.0.5005.61/chrome/browser/flag_descriptions.cc.accel-mjpeg + +#if BUILDFLAG(IS_CHROMEOS_ASH) + - const char kAllowDisableTouchpadHapticFeedbackName[] = - "Allow disabling touchpad haptic feedback"; - const char kAllowDisableTouchpadHapticFeedbackDescription[] = -diff -up chromium-102.0.5005.61/chrome/browser/flag_descriptions.h.accel-mjpeg chromium-102.0.5005.61/chrome/browser/flag_descriptions.h ---- chromium-102.0.5005.61/chrome/browser/flag_descriptions.h.accel-mjpeg 2022-06-03 17:55:53.494268633 +0000 -+++ chromium-102.0.5005.61/chrome/browser/flag_descriptions.h 2022-06-03 20:23:50.514578649 +0000 -@@ -2303,11 +2303,15 @@ extern const char kUseAngleGL[]; + const char kAdaptiveChargingForTestingName[] = + "Show adaptive charging notifications for testing"; + const char kAdaptiveChargingForTestingDescription[] = +diff -up chromium-104.0.5112.101/chrome/browser/flag_descriptions.h.accel-mjpeg chromium-104.0.5112.101/chrome/browser/flag_descriptions.h +--- chromium-104.0.5112.101/chrome/browser/flag_descriptions.h.accel-mjpeg 2022-08-18 14:21:36.765266469 +0000 ++++ chromium-104.0.5112.101/chrome/browser/flag_descriptions.h 2022-08-18 14:26:10.469983301 +0000 +@@ -2390,11 +2390,15 @@ extern const char kUseAngleGL[]; // ChromeOS ------------------------------------------------------------------- @@ -57,6 +57,6 @@ diff -up chromium-102.0.5005.61/chrome/browser/flag_descriptions.h.accel-mjpeg c + +#if BUILDFLAG(IS_CHROMEOS_ASH) + - extern const char kAllowDisableTouchpadHapticFeedbackName[]; - extern const char kAllowDisableTouchpadHapticFeedbackDescription[]; + extern const char kAdaptiveChargingName[]; + extern const char kAdaptiveChargingDescription[]; diff --git a/chromium-104.0.5112.101-system-minizip-header-fix.patch b/chromium-104.0.5112.101-system-minizip-header-fix.patch new file mode 100644 index 0000000..acda436 --- /dev/null +++ b/chromium-104.0.5112.101-system-minizip-header-fix.patch @@ -0,0 +1,76 @@ +diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc +--- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip 2022-08-18 23:16:03.451728329 +0000 ++++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc 2022-08-18 23:16:23.966049114 +0000 +@@ -21,8 +21,8 @@ limitations under the License. + #include "absl/status/status.h" // from @com_google_absl + #include "absl/strings/str_format.h" // from @com_google_absl + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "contrib/minizip/ioapi.h" +-#include "contrib/minizip/unzip.h" ++#include ++#include + #include "flatbuffers/flatbuffers.h" // from @flatbuffers + #include "tensorflow/lite/schema/schema_generated.h" + #include "tensorflow_lite_support/cc/common.h" +diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc +--- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip 2022-08-18 23:16:52.463105585 +0000 ++++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc 2022-08-18 23:17:12.849430606 +0000 +@@ -19,8 +19,8 @@ limitations under the License. + #include + #include + +-#include "contrib/minizip/ioapi.h" +-#include "contrib/minizip/zip.h" ++#include ++#include + #include "flatbuffers/flatbuffers.h" // from @flatbuffers + #include "tensorflow/lite/schema/schema_generated.h" + #include "tensorflow_lite_support/cc/common.h" +diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc +--- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip 2022-08-18 23:18:14.697382850 +0000 ++++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc 2022-08-18 23:18:27.148970583 +0000 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h +--- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip 2022-08-18 20:14:28.116854693 +0000 ++++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h 2022-08-18 20:14:28.115854726 +0000 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc +--- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip 2022-08-18 23:19:14.807392634 +0000 ++++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc 2022-08-18 23:19:31.177850617 +0000 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h +--- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip 2022-08-18 20:14:28.116854693 +0000 ++++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h 2022-08-18 20:14:28.116854693 +0000 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { diff --git a/chromium.spec b/chromium.spec index 11ca13d..b0d4f7c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -220,15 +220,15 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 103 +%global majorversion 104 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.5060.114 -Release: 2%{?dist} +Version: %{majorversion}.0.5112.101 +Release: 1%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -286,10 +286,11 @@ Patch57: chromium-96.0.4664.45-missing-cstring.patch Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-103-VirtualCursor-std-layout.patch Patch59: chromium-103-VirtualCursor-std-layout.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-103-SubstringSetMatcher-packed.patch -Patch60: chromium-103-SubstringSetMatcher-packed.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-103-FrameLoadRequest-type.patch -Patch61: chromium-103-FrameLoadRequest-type.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-104-ContentRendererClient-type.patch +Patch60: chromium-104-ContentRendererClient-type.patch + +# Fix headers to look for system paths when we are using system minizip +Patch61: chromium-104.0.5112.101-system-minizip-header-fix.patch # https://github.com/v8/v8/commit/2ed27bba6a881a152887f3ab1008e989fce617e3 Patch63: chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch @@ -380,7 +381,7 @@ Patch111: chromium-99.0.4844.51-el7-extra-operator==.patch # VAAPI # Upstream turned VAAPI on in Linux in 86 -Patch202: chromium-102.0.5005.61-enable-hardware-accelerated-mjpeg.patch +Patch202: chromium-104.0.5112.101-enable-hardware-accelerated-mjpeg.patch Patch203: chromium-86.0.4240.75-vaapi-i686-fpermissive.patch Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch @@ -1024,8 +1025,11 @@ udev. %patch57 -p1 -b .missing-cstring %patch58 -p1 -b .ffmpeg-deprecations %patch59 -p1 -b .VirtualCursor-std-layout -%patch60 -p1 -b .SubstringSetMatcher-packed -%patch61 -p1 -b .FrameLoadRequest-type +%patch60 -p1 -b .ContentRendererType-client + +%if ! 0%{?bundleminizip} +%patch61 -p1 -b .system-minizip +%endif %patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition @@ -2185,6 +2189,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Aug 18 2022 Tom Callaway - 104.0.5112.101-1 +- update to 104.0.5112.101 + * Wed Jul 20 2022 Fedora Release Engineering - 103.0.5060.114-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index 614c0fe..d998983 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -68,6 +68,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/aac_ac3_parser.h \ libavcodec/aac_defines.h \ libavcodec/ac3.h \ + libavcodec/ac3defs.h \ libavcodec/ac3tab.h \ libavcodec/adts_header.h \ libavcodec/avcodec.h \ @@ -261,6 +262,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavformat/options.c \ libavformat/pcm.c \ libavformat/utils.c \ + libavformat/version.c \ libavutil/aarch64/asm.S \ libavutil/aarch64/bswap.h \ libavutil/aarch64/cpu.c \ @@ -273,6 +275,7 @@ manual_files=" libavcodec/aarch64/fft_neon.S \ libavutil/tx_float.c \ libavutil/tx_template.c \ libavutil/utils.c \ + libavutil/version.c \ libavutil/x86/cpu.c \ libavutil/x86/float_dsp_init.c \ libavutil/x86/x86inc.asm \ diff --git a/sources b/sources index 1affc18..0a9637d 100644 --- a/sources +++ b/sources @@ -21,4 +21,4 @@ SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1d SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (node-v12.22.6-linux-arm64.tar.xz) = 87ce5eb954deb1d0debe6fa02b28a3cc675e12fca1e51d44b123ab294aa39ce0c6b8ac9eae1e7a6e32673ea2c2d480651d9ba7eea73012f0529503eebe9eb34d SHA512 (node-v12.22.6-linux-x64.tar.xz) = e1b55c32343cb2ccc40d888c705414bebf9c46b02083d13731df79b1e79521b7277761f6bcca041e40e3a2e47c67bb8e7848aa2b919a9de5c2ebf62c4a9c7176 -SHA512 (chromium-103.0.5060.114-clean.tar.xz) = 9173f2110c6442043b057bfdb629874a1dba92a392d368dc23b66d4926567d7c71a341150499768e3536bf154d64cfc54d99f37d2cc232e38bfa1498cc06a32c +SHA512 (chromium-104.0.5112.101-clean.tar.xz) = 280c88c3b8a14acae8187835ffddfad3f76f6b53fd9a33e39a7c980f29d898250647f922242a41cbb9fdac7c54b2f4e181a9520adc9b7f1b40aac4e0b57be9a0 From af04eed16c2476ff5014de46ba57de56927904d4 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 19 Aug 2022 13:47:51 -0400 Subject: [PATCH 021/568] be explicit about the need for importlib-metadata --- chromium.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/chromium.spec b/chromium.spec index b0d4f7c..53e0014 100644 --- a/chromium.spec +++ b/chromium.spec @@ -604,6 +604,7 @@ BuildRequires: python-html5lib BuildRequires: python-markupsafe BuildRequires: python-ply %endif +BuildRequires: python3-importlib-metadata BuildRequires: python3-simplejson %endif %else From df09afc1142d4b8cdc6fc5d651571cd3347e19bc Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Thu, 25 Aug 2022 09:37:51 -0400 Subject: [PATCH 022/568] Fix v8 issue where GCC on arm64 fails to compile extract_first_nonzero_index because of the signedness type mismatch in the NEON intrinsics --- ...592cf8867f0cd6d8d41b43392fb52d359649.patch | 77 +++++++++++++++++++ chromium.spec | 7 ++ 2 files changed, 84 insertions(+) create mode 100644 0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch diff --git a/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch b/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch new file mode 100644 index 0000000..7152988 --- /dev/null +++ b/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch @@ -0,0 +1,77 @@ +From 0fc6592cf8867f0cd6d8d41b43392fb52d359649 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Tue, 7 Jun 2022 15:44:35 +0200 +Subject: [PATCH] GCC: fix compilation of NEON64 extract_first_nonzero_index +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC fails to compile extract_first_nonzero_index because of the +signedness type mismatch in the NEON intrinsics. + +Bug: chromium:819294 +Change-Id: I9b73e5fa1d5fbf161740ab1b5d77f5c494369dfa +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3693709 +Reviewed-by: Toon Verwaest +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/main@{#81063} +--- + v8/src/objects/simd.cc | 27 ++++++++++++--------------- + 1 file changed, 12 insertions(+), 15 deletions(-) + +diff --git a/v8/src/objects/simd.cc b/v8/rc/objects/simd.cc +index d3cedfe3302..0a73b9c686d 100644 +--- a/v8/src/objects/simd.cc ++++ b/v8/src/objects/simd.cc +@@ -95,24 +95,21 @@ inline int extract_first_nonzero_index(T v) { + } + + template <> +-inline int extract_first_nonzero_index(int32x4_t v) { +- int32x4_t mask = {4, 3, 2, 1}; ++inline int extract_first_nonzero_index(uint32x4_t v) { ++ uint32x4_t mask = {4, 3, 2, 1}; + mask = vandq_u32(mask, v); + return 4 - vmaxvq_u32(mask); + } + + template <> +-inline int extract_first_nonzero_index(int64x2_t v) { +- int32x4_t mask = {2, 0, 1, 0}; // Could also be {2,2,1,1} or {0,2,0,1} +- mask = vandq_u32(mask, vreinterpretq_s32_s64(v)); ++inline int extract_first_nonzero_index(uint64x2_t v) { ++ uint32x4_t mask = {2, 0, 1, 0}; // Could also be {2,2,1,1} or {0,2,0,1} ++ mask = vandq_u32(mask, vreinterpretq_u32_u64(v)); + return 2 - vmaxvq_u32(mask); + } + +-template <> +-inline int extract_first_nonzero_index(float64x2_t v) { +- int32x4_t mask = {2, 0, 1, 0}; // Could also be {2,2,1,1} or {0,2,0,1} +- mask = vandq_u32(mask, vreinterpretq_s32_f64(v)); +- return 2 - vmaxvq_u32(mask); ++inline int32_t reinterpret_vmaxvq_u64(uint64x2_t v) { ++ return vmaxvq_u32(vreinterpretq_u32_u64(v)); + } + #endif + +@@ -204,14 +201,14 @@ inline uintptr_t fast_search_noavx(T* array, uintptr_t array_len, + } + #elif defined(NEON64) + if constexpr (std::is_same::value) { +- VECTORIZED_LOOP_Neon(int32x4_t, int32x4_t, vdupq_n_u32, vceqq_u32, ++ VECTORIZED_LOOP_Neon(uint32x4_t, uint32x4_t, vdupq_n_u32, vceqq_u32, + vmaxvq_u32) + } else if constexpr (std::is_same::value) { +- VECTORIZED_LOOP_Neon(int64x2_t, int64x2_t, vdupq_n_u64, vceqq_u64, +- vmaxvq_u32) ++ VECTORIZED_LOOP_Neon(uint64x2_t, uint64x2_t, vdupq_n_u64, vceqq_u64, ++ reinterpret_vmaxvq_u64) + } else if constexpr (std::is_same::value) { +- VECTORIZED_LOOP_Neon(float64x2_t, float64x2_t, vdupq_n_f64, vceqq_f64, +- vmaxvq_f64) ++ VECTORIZED_LOOP_Neon(float64x2_t, uint64x2_t, vdupq_n_f64, vceqq_f64, ++ reinterpret_vmaxvq_u64) + } + #else + UNREACHABLE(); diff --git a/chromium.spec b/chromium.spec index 53e0014..e4afb4c 100644 --- a/chromium.spec +++ b/chromium.spec @@ -292,6 +292,11 @@ Patch60: chromium-104-ContentRendererClient-type.patch # Fix headers to look for system paths when we are using system minizip Patch61: chromium-104.0.5112.101-system-minizip-header-fix.patch +# Fix v8 issue where GCC on arm64 fails to compile extract_first_nonzero_index because of the +# signedness type mismatch in the NEON intrinsics +# https://github.com/v8/v8/commit/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch +Patch62: 0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch + # https://github.com/v8/v8/commit/2ed27bba6a881a152887f3ab1008e989fce617e3 Patch63: chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch # Extra CXXFLAGS for aarch64 @@ -1032,6 +1037,8 @@ udev. %patch61 -p1 -b .system-minizip %endif +%patch62 -p1 -b .arm-neon-fix + %patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed From 60d1f6c780bdc5b0f22af21fbe20551df970b35f Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 2 Sep 2022 22:31:48 -0400 Subject: [PATCH 023/568] 105.0.5195.52 --- ...592cf8867f0cd6d8d41b43392fb52d359649.patch | 77 ---- ...02.0.5005.115-v8-aarch64-gcc-cfi-fix.patch | 26 -- ...mium-103.0.5060.53-python-six-1.16.0.patch | 360 ------------------ chromium-104-ContentRendererClient-type.patch | 28 -- ...um-105-AdjustMaskLayerGeometry-ceilf.patch | 41 ++ chromium-105-Bitmap-include.patch | 26 ++ chromium-105-Trap-raw_ptr.patch | 161 ++++++++ chromium-105-browser_finder-include.patch | 24 ++ chromium-105-raw_ptr-noexcept.patch | 30 ++ ... => chromium-105.0.5195.52-gn-system.patch | 23 +- ...mium-105.0.5195.52-python-six-1.16.0.patch | 134 +++++++ ...0.5195.52-update-wayland-client-core.patch | 31 ++ chromium.spec | 54 ++- sources | 2 +- 14 files changed, 493 insertions(+), 524 deletions(-) delete mode 100644 0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch delete mode 100644 chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch delete mode 100644 chromium-103.0.5060.53-python-six-1.16.0.patch delete mode 100644 chromium-104-ContentRendererClient-type.patch create mode 100644 chromium-105-AdjustMaskLayerGeometry-ceilf.patch create mode 100644 chromium-105-Bitmap-include.patch create mode 100644 chromium-105-Trap-raw_ptr.patch create mode 100644 chromium-105-browser_finder-include.patch create mode 100644 chromium-105-raw_ptr-noexcept.patch rename chromium-67.0.3396.62-gn-system.patch => chromium-105.0.5195.52-gn-system.patch (78%) create mode 100644 chromium-105.0.5195.52-python-six-1.16.0.patch create mode 100644 chromium-105.0.5195.52-update-wayland-client-core.patch diff --git a/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch b/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch deleted file mode 100644 index 7152988..0000000 --- a/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 0fc6592cf8867f0cd6d8d41b43392fb52d359649 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Tue, 7 Jun 2022 15:44:35 +0200 -Subject: [PATCH] GCC: fix compilation of NEON64 extract_first_nonzero_index -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC fails to compile extract_first_nonzero_index because of the -signedness type mismatch in the NEON intrinsics. - -Bug: chromium:819294 -Change-Id: I9b73e5fa1d5fbf161740ab1b5d77f5c494369dfa -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3693709 -Reviewed-by: Toon Verwaest -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/main@{#81063} ---- - v8/src/objects/simd.cc | 27 ++++++++++++--------------- - 1 file changed, 12 insertions(+), 15 deletions(-) - -diff --git a/v8/src/objects/simd.cc b/v8/rc/objects/simd.cc -index d3cedfe3302..0a73b9c686d 100644 ---- a/v8/src/objects/simd.cc -+++ b/v8/src/objects/simd.cc -@@ -95,24 +95,21 @@ inline int extract_first_nonzero_index(T v) { - } - - template <> --inline int extract_first_nonzero_index(int32x4_t v) { -- int32x4_t mask = {4, 3, 2, 1}; -+inline int extract_first_nonzero_index(uint32x4_t v) { -+ uint32x4_t mask = {4, 3, 2, 1}; - mask = vandq_u32(mask, v); - return 4 - vmaxvq_u32(mask); - } - - template <> --inline int extract_first_nonzero_index(int64x2_t v) { -- int32x4_t mask = {2, 0, 1, 0}; // Could also be {2,2,1,1} or {0,2,0,1} -- mask = vandq_u32(mask, vreinterpretq_s32_s64(v)); -+inline int extract_first_nonzero_index(uint64x2_t v) { -+ uint32x4_t mask = {2, 0, 1, 0}; // Could also be {2,2,1,1} or {0,2,0,1} -+ mask = vandq_u32(mask, vreinterpretq_u32_u64(v)); - return 2 - vmaxvq_u32(mask); - } - --template <> --inline int extract_first_nonzero_index(float64x2_t v) { -- int32x4_t mask = {2, 0, 1, 0}; // Could also be {2,2,1,1} or {0,2,0,1} -- mask = vandq_u32(mask, vreinterpretq_s32_f64(v)); -- return 2 - vmaxvq_u32(mask); -+inline int32_t reinterpret_vmaxvq_u64(uint64x2_t v) { -+ return vmaxvq_u32(vreinterpretq_u32_u64(v)); - } - #endif - -@@ -204,14 +201,14 @@ inline uintptr_t fast_search_noavx(T* array, uintptr_t array_len, - } - #elif defined(NEON64) - if constexpr (std::is_same::value) { -- VECTORIZED_LOOP_Neon(int32x4_t, int32x4_t, vdupq_n_u32, vceqq_u32, -+ VECTORIZED_LOOP_Neon(uint32x4_t, uint32x4_t, vdupq_n_u32, vceqq_u32, - vmaxvq_u32) - } else if constexpr (std::is_same::value) { -- VECTORIZED_LOOP_Neon(int64x2_t, int64x2_t, vdupq_n_u64, vceqq_u64, -- vmaxvq_u32) -+ VECTORIZED_LOOP_Neon(uint64x2_t, uint64x2_t, vdupq_n_u64, vceqq_u64, -+ reinterpret_vmaxvq_u64) - } else if constexpr (std::is_same::value) { -- VECTORIZED_LOOP_Neon(float64x2_t, float64x2_t, vdupq_n_f64, vceqq_f64, -- vmaxvq_f64) -+ VECTORIZED_LOOP_Neon(float64x2_t, uint64x2_t, vdupq_n_f64, vceqq_f64, -+ reinterpret_vmaxvq_u64) - } - #else - UNREACHABLE(); diff --git a/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch b/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch deleted file mode 100644 index 5c0200a..0000000 --- a/chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h ---- chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h.gcc-cfi-fix 2022-06-14 16:34:21.710049421 -0400 -+++ chromium-102.0.5005.115/v8/src/execution/arm64/pointer-authentication-arm64.h 2022-06-14 16:35:17.650427761 -0400 -@@ -47,15 +47,17 @@ V8_INLINE Address PointerAuthentication: - #ifdef USE_SIMULATOR - return Simulator::StripPAC(pc, Simulator::kInstructionPointer); - #else -+ // x30 == lr, but use 'x30' instead of 'lr' below, as GCC does not accept -+ // 'lr' in the clobbers list. - asm volatile( -- " mov x16, lr\n" -- " mov lr, %[pc]\n" -+ " mov x16, x30\n" -+ " mov x30, %[pc]\n" - " xpaclri\n" -- " mov %[pc], lr\n" -- " mov lr, x16\n" -+ " mov %[pc], x30\n" -+ " mov x30, x16\n" - : [pc] "+r"(pc) - : -- : "x16", "lr"); -+ : "x16", "x30"); - return pc; - #endif - } diff --git a/chromium-103.0.5060.53-python-six-1.16.0.patch b/chromium-103.0.5060.53-python-six-1.16.0.patch deleted file mode 100644 index 1213e3f..0000000 --- a/chromium-103.0.5060.53-python-six-1.16.0.patch +++ /dev/null @@ -1,360 +0,0 @@ -diff -up chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py ---- chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 2022-07-05 13:31:29.434673638 +0000 -+++ chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py 2022-07-05 21:52:01.884578748 +0000 -@@ -29,7 +29,7 @@ import sys - import types - - __author__ = "Benjamin Peterson " --__version__ = "1.15.0" -+__version__ = "1.16.0" - - - # Useful for very coarse version differentiation. -@@ -71,6 +71,11 @@ else: - MAXSIZE = int((1 << 63) - 1) - del X - -+if PY34: -+ from importlib.util import spec_from_loader -+else: -+ spec_from_loader = None -+ - - def _add_doc(func, doc): - """Add documentation to a function.""" -@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): - return self - return None - -+ def find_spec(self, fullname, path, target=None): -+ if fullname in self.known_modules: -+ return spec_from_loader(fullname, self) -+ return None -+ - def __get_module(self, fullname): - try: - return self.known_modules[fullname] -@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): - return None - get_source = get_code # same as get_code - -+ def create_module(self, spec): -+ return self.load_module(spec.name) -+ -+ def exec_module(self, module): -+ pass -+ - _importer = _SixMetaPathImporter(__name__) - - -diff -up chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py ---- chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py.116 2022-07-05 13:32:17.815058318 +0000 -+++ chromium-103.0.5060.53/third_party/protobuf/third_party/six/six.py 2022-07-05 22:00:28.139721738 +0000 -@@ -1,4 +1,4 @@ --# Copyright (c) 2010-2018 Benjamin Peterson -+# Copyright (c) 2010-2020 Benjamin Peterson - # - # Permission is hereby granted, free of charge, to any person obtaining a copy - # of this software and associated documentation files (the "Software"), to deal -@@ -29,7 +29,7 @@ import sys - import types - - __author__ = "Benjamin Peterson " --__version__ = "1.12.0" -+__version__ = "1.16.0" - - - # Useful for very coarse version differentiation. -@@ -71,6 +71,11 @@ else: - MAXSIZE = int((1 << 63) - 1) - del X - -+if PY34: -+ from importlib.util import spec_from_loader -+else: -+ spec_from_loader = None -+ - - def _add_doc(func, doc): - """Add documentation to a function.""" -@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): - return self - return None - -+ def find_spec(self, fullname, path, target=None): -+ if fullname in self.known_modules: -+ return spec_from_loader(fullname, self) -+ return None -+ - def __get_module(self, fullname): - try: - return self.known_modules[fullname] -@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): - return None - get_source = get_code # same as get_code - -+ def create_module(self, spec): -+ return self.load_module(spec.name) -+ -+ def exec_module(self, module): -+ pass -+ - _importer = _SixMetaPathImporter(__name__) - - -@@ -255,9 +271,11 @@ _moved_attributes = [ - MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), -+ MovedModule("collections_abc", "collections", "collections.abc" if sys.version_info >= (3, 3) else "collections"), - MovedModule("copyreg", "copy_reg"), - MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), -- MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), -+ MovedModule("dbm_ndbm", "dbm", "dbm.ndbm"), -+ MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread" if sys.version_info < (3, 9) else "_thread"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), -@@ -637,13 +655,16 @@ if PY3: - import io - StringIO = io.StringIO - BytesIO = io.BytesIO -+ del io - _assertCountEqual = "assertCountEqual" - if sys.version_info[1] <= 1: - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" -+ _assertNotRegex = "assertNotRegexpMatches" - else: - _assertRaisesRegex = "assertRaisesRegex" - _assertRegex = "assertRegex" -+ _assertNotRegex = "assertNotRegex" - else: - def b(s): - return s -@@ -665,6 +686,7 @@ else: - _assertCountEqual = "assertItemsEqual" - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" -+ _assertNotRegex = "assertNotRegexpMatches" - _add_doc(b, """Byte literal""") - _add_doc(u, """Text literal""") - -@@ -681,6 +703,10 @@ def assertRegex(self, *args, **kwargs): - return getattr(self, _assertRegex)(*args, **kwargs) - - -+def assertNotRegex(self, *args, **kwargs): -+ return getattr(self, _assertNotRegex)(*args, **kwargs) -+ -+ - if PY3: - exec_ = getattr(moves.builtins, "exec") - -@@ -716,16 +742,7 @@ else: - """) - - --if sys.version_info[:2] == (3, 2): -- exec_("""def raise_from(value, from_value): -- try: -- if from_value is None: -- raise value -- raise value from from_value -- finally: -- value = None --""") --elif sys.version_info[:2] > (3, 2): -+if sys.version_info[:2] > (3,): - exec_("""def raise_from(value, from_value): - try: - raise value from from_value -@@ -805,13 +822,33 @@ if sys.version_info[:2] < (3, 3): - _add_doc(reraise, """Reraise an exception.""") - - if sys.version_info[0:2] < (3, 4): -+ # This does exactly the same what the :func:`py3:functools.update_wrapper` -+ # function does on Python versions after 3.2. It sets the ``__wrapped__`` -+ # attribute on ``wrapper`` object and it doesn't raise an error if any of -+ # the attributes mentioned in ``assigned`` and ``updated`` are missing on -+ # ``wrapped`` object. -+ def _update_wrapper(wrapper, wrapped, -+ assigned=functools.WRAPPER_ASSIGNMENTS, -+ updated=functools.WRAPPER_UPDATES): -+ for attr in assigned: -+ try: -+ value = getattr(wrapped, attr) -+ except AttributeError: -+ continue -+ else: -+ setattr(wrapper, attr, value) -+ for attr in updated: -+ getattr(wrapper, attr).update(getattr(wrapped, attr, {})) -+ wrapper.__wrapped__ = wrapped -+ return wrapper -+ _update_wrapper.__doc__ = functools.update_wrapper.__doc__ -+ - def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, - updated=functools.WRAPPER_UPDATES): -- def wrapper(f): -- f = functools.wraps(wrapped, assigned, updated)(f) -- f.__wrapped__ = wrapped -- return f -- return wrapper -+ return functools.partial(_update_wrapper, wrapped=wrapped, -+ assigned=assigned, updated=updated) -+ wraps.__doc__ = functools.wraps.__doc__ -+ - else: - wraps = functools.wraps - -@@ -824,7 +861,15 @@ def with_metaclass(meta, *bases): - class metaclass(type): - - def __new__(cls, name, this_bases, d): -- return meta(name, bases, d) -+ if sys.version_info[:2] >= (3, 7): -+ # This version introduced PEP 560 that requires a bit -+ # of extra care (we mimic what is done by __build_class__). -+ resolved_bases = types.resolve_bases(bases) -+ if resolved_bases is not bases: -+ d['__orig_bases__'] = bases -+ else: -+ resolved_bases = bases -+ return meta(name, resolved_bases, d) - - @classmethod - def __prepare__(cls, name, this_bases): -@@ -861,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e - - `str` -> encoded to `bytes` - - `bytes` -> `bytes` - """ -+ if isinstance(s, binary_type): -+ return s - if isinstance(s, text_type): - return s.encode(encoding, errors) -- elif isinstance(s, binary_type): -- return s -- else: -- raise TypeError("not expecting type '%s'" % type(s)) -+ raise TypeError("not expecting type '%s'" % type(s)) - - - def ensure_str(s, encoding='utf-8', errors='strict'): -@@ -880,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro - - `str` -> `str` - - `bytes` -> decoded to `str` - """ -- if not isinstance(s, (text_type, binary_type)): -- raise TypeError("not expecting type '%s'" % type(s)) -+ # Optimization: Fast return for the common case. -+ if type(s) is str: -+ return s - if PY2 and isinstance(s, text_type): -- s = s.encode(encoding, errors) -+ return s.encode(encoding, errors) - elif PY3 and isinstance(s, binary_type): -- s = s.decode(encoding, errors) -+ return s.decode(encoding, errors) -+ elif not isinstance(s, (text_type, binary_type)): -+ raise TypeError("not expecting type '%s'" % type(s)) - return s - - -@@ -908,10 +955,9 @@ def ensure_text(s, encoding='utf-8', err - raise TypeError("not expecting type '%s'" % type(s)) - - -- - def python_2_unicode_compatible(klass): - """ -- A decorator that defines __unicode__ and __str__ methods under Python 2. -+ A class decorator that defines __unicode__ and __str__ methods under Python 2. - Under Python 3 it does nothing. - - To support Python 2 and 3 with a single code base, define a __str__ method -diff -up chromium-103.0.5060.53/third_party/six/src/six.py.116 chromium-103.0.5060.53/third_party/six/src/six.py ---- chromium-103.0.5060.53/third_party/six/src/six.py.116 2022-07-05 13:32:28.916687658 +0000 -+++ chromium-103.0.5060.53/third_party/six/src/six.py 2022-07-05 21:59:42.561240407 +0000 -@@ -29,7 +29,7 @@ import sys - import types - - __author__ = "Benjamin Peterson " --__version__ = "1.14.0" -+__version__ = "1.16.0" - - - # Useful for very coarse version differentiation. -@@ -71,6 +71,11 @@ else: - MAXSIZE = int((1 << 63) - 1) - del X - -+if PY34: -+ from importlib.util import spec_from_loader -+else: -+ spec_from_loader = None -+ - - def _add_doc(func, doc): - """Add documentation to a function.""" -@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): - return self - return None - -+ def find_spec(self, fullname, path, target=None): -+ if fullname in self.known_modules: -+ return spec_from_loader(fullname, self) -+ return None -+ - def __get_module(self, fullname): - try: - return self.known_modules[fullname] -@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): - return None - get_source = get_code # same as get_code - -+ def create_module(self, spec): -+ return self.load_module(spec.name) -+ -+ def exec_module(self, module): -+ pass -+ - _importer = _SixMetaPathImporter(__name__) - - -@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e - - `str` -> encoded to `bytes` - - `bytes` -> `bytes` - """ -+ if isinstance(s, binary_type): -+ return s - if isinstance(s, text_type): - return s.encode(encoding, errors) -- elif isinstance(s, binary_type): -- return s -- else: -- raise TypeError("not expecting type '%s'" % type(s)) -+ raise TypeError("not expecting type '%s'" % type(s)) - - - def ensure_str(s, encoding='utf-8', errors='strict'): -@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro - - `str` -> `str` - - `bytes` -> decoded to `str` - """ -- if not isinstance(s, (text_type, binary_type)): -- raise TypeError("not expecting type '%s'" % type(s)) -+ # Optimization: Fast return for the common case. -+ if type(s) is str: -+ return s - if PY2 and isinstance(s, text_type): -- s = s.encode(encoding, errors) -+ return s.encode(encoding, errors) - elif PY3 and isinstance(s, binary_type): -- s = s.decode(encoding, errors) -+ return s.decode(encoding, errors) -+ elif not isinstance(s, (text_type, binary_type)): -+ raise TypeError("not expecting type '%s'" % type(s)) - return s - - diff --git a/chromium-104-ContentRendererClient-type.patch b/chromium-104-ContentRendererClient-type.patch deleted file mode 100644 index a6d5a86..0000000 --- a/chromium-104-ContentRendererClient-type.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a61a70605f9efc81fead5bf6984bc5ce39f1569d Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 27 May 2022 18:11:52 +0000 -Subject: [PATCH] libstdc++: fix incomplete type of - content::ContentRendererClient - -Destructor of std::unique_ptr in libstdc++ uses sizeof() which -requires full definition of media::AudioEncoder for return type of -cast_streaming::ResourceProvider. ---- - content/public/renderer/content_renderer_client.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc -index 63456aa..637a2a7 100644 ---- a/content/public/renderer/content_renderer_client.cc -+++ b/content/public/renderer/content_renderer_client.cc -@@ -6,6 +6,7 @@ - - #include "base/command_line.h" - #include "build/build_config.h" -+#include "components/cast_streaming/renderer/public/resource_provider.h" - #include "content/public/common/content_switches.h" - #include "media/base/demuxer.h" - #include "media/base/renderer_factory.h" --- -2.35.1 - diff --git a/chromium-105-AdjustMaskLayerGeometry-ceilf.patch b/chromium-105-AdjustMaskLayerGeometry-ceilf.patch new file mode 100644 index 0000000..e347fa0 --- /dev/null +++ b/chromium-105-AdjustMaskLayerGeometry-ceilf.patch @@ -0,0 +1,41 @@ +From 385068e1eb1cde9629d18ceee1fd13255c70c806 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 22 Jul 2022 18:29:24 +0000 +Subject: [PATCH] libstdc++: use math.h in blink::AdjustMaskLayerGeometry + +libstdc++ does not implement std::ceilf. Use ceilf from math.h +instead. + +Bug: 957519 +Change-Id: I03b5e0a1eb73fdeae34d5f3d2f2e9c8871c52543 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3782841 +Commit-Queue: Stephan Hartmann +Reviewed-by: Juanmi Huertas +Cr-Commit-Position: refs/heads/main@{#1027342} +--- + +diff --git a/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc b/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc +index 4abe1d9..b5b43da 100644 +--- a/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc ++++ b/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc +@@ -4,8 +4,9 @@ + + #include "third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.h" + ++#include + #include +-#include ++ + #include "third_party/blink/renderer/platform/graphics/paint/geometry_mapper.h" + #include "third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h" + #include "ui/gfx/geometry/size.h" +@@ -29,8 +30,7 @@ + // Map a screen pixel into the layer. + GeometryMapper::SourceToDestinationRect(TransformPaintPropertyNode::Root(), + transform, pixel_rect); +- int outset = +- std::ceilf(std::max(pixel_rect.width(), pixel_rect.height()) * 2); ++ int outset = ceilf(std::max(pixel_rect.width(), pixel_rect.height()) * 2); + // Don't expand too far in extreme cases. + constexpr int kMaxOutset = 1000; + outset = std::min(kMaxOutset, outset); diff --git a/chromium-105-Bitmap-include.patch b/chromium-105-Bitmap-include.patch new file mode 100644 index 0000000..75d0161 --- /dev/null +++ b/chromium-105-Bitmap-include.patch @@ -0,0 +1,26 @@ +From 8959d9d1c6e4ed083c278ab9e8def20a409052b9 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 22 Jul 2022 16:51:28 +0000 +Subject: [PATCH] IWYU: add memory for std::unique_ptr in disk_cache::Bitmap + +Bug: 957519 +Change-Id: I123198345e5f9062329b7eabe980f312525c268b +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3779530 +Reviewed-by: Maks Orlovich +Commit-Queue: Stephan Hartmann +Cr-Commit-Position: refs/heads/main@{#1027289} +--- + +diff --git a/net/disk_cache/blockfile/bitmap.h b/net/disk_cache/blockfile/bitmap.h +index 07806cf..9ffa98b9 100644 +--- a/net/disk_cache/blockfile/bitmap.h ++++ b/net/disk_cache/blockfile/bitmap.h +@@ -8,6 +8,8 @@ + #include + #include + ++#include ++ + #include "base/memory/raw_ptr.h" + #include "net/base/net_export.h" + diff --git a/chromium-105-Trap-raw_ptr.patch b/chromium-105-Trap-raw_ptr.patch new file mode 100644 index 0000000..d784052 --- /dev/null +++ b/chromium-105-Trap-raw_ptr.patch @@ -0,0 +1,161 @@ +From 632aad0141fe0008fa9babba4f1f514222fa2cda Mon Sep 17 00:00:00 2001 +From: Matthew Denton +Date: Mon, 01 Aug 2022 21:45:28 +0000 +Subject: [PATCH] [Linux sandbox] cleanup TrapRegistry's "atomics" + +TrapRegistry uses some hacky asm statements as compiler memory barriers +to prevent a signal handler from accessing a deleted array (in the case +that the store of the pointer to the new array is reordered after the +deletion of the old array and the signal handler grabs a pointer to the +old array after it's deleted). + +We have std::atomic_signal_fence for this now, so this uses it. + +This also changes the |trap_array_| pointer back to a raw pointer from +a raw_ptr. Usage of raw_ptr might be awkward as it is also accessed in +a signal handler, and in fact |trap_array_| is an owning pointer +anyway so raw_ptr is unnecessary. + +This came up in https://crrev.com/c/3789266 in which the use of raw_ptr +with the hacky compiler barriers was not supported by GCC. + +SMALL ADDITION: This also removes raw_ptr from the arch_sigsys struct; it was a raw pointer to a code instruction and likely would not have worked. It is also never dereferenced (only its value is used). + +NOTE 1: In technicality, all non-local variables accessed by the signal +handler must be either lock-free std::atomics or volatile sig_atomic_t. +None of Chrome's code does this and in fact, glibc just typedefs +sig_atomic_t to int. The std::atomic_signal_fence is enough on any +architecture. + +NOTE 2: This race condition is unlikely to ever happen even without +compiler barriers. The only time we might be modifying the +|trap_array_| and also accessing it from a signal handler, we must +have already applied a seccomp sandbox that uses traps, and now be +applying another one that uses traps. And to replace the deleted object, +the second sandbox must be getting applied in a multithreaded +environment, otherwise there would be no allocations after the free. + +Bug: 819294 + +Change-Id: I9f1cd417446dd863805a303e9b111bc862cb9ae2 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3788911 +Commit-Queue: Matthew Denton +Reviewed-by: Tom Sepez +Cr-Commit-Position: refs/heads/main@{#1030277} +--- + +diff --git a/sandbox/linux/seccomp-bpf/trap.cc b/sandbox/linux/seccomp-bpf/trap.cc +index cb71a9b..b0c0257 100644 +--- a/sandbox/linux/seccomp-bpf/trap.cc ++++ b/sandbox/linux/seccomp-bpf/trap.cc +@@ -12,12 +12,13 @@ + #include + + #include ++#include + #include + #include + + #include "base/compiler_specific.h" + #include "base/logging.h" +-#include "base/memory/raw_ptr.h" ++#include "base/memory/raw_ptr_exclusion.h" + #include "build/build_config.h" + #include "sandbox/linux/bpf_dsl/seccomp_macros.h" + #include "sandbox/linux/seccomp-bpf/die.h" +@@ -29,7 +30,9 @@ + namespace { + + struct arch_sigsys { +- raw_ptr ip; ++ // This is not raw_ptr because it is a pointer to a code address given to us ++ // by the kernel. ++ RAW_PTR_EXCLUSION void* ip; + int nr; + unsigned int arch; + }; +@@ -77,11 +80,7 @@ + + namespace sandbox { + +-Trap::Trap() +- : trap_array_(nullptr), +- trap_array_size_(0), +- trap_array_capacity_(0), +- has_unsafe_traps_(false) { ++Trap::Trap() { + // Set new SIGSYS handler + struct sigaction sa = {}; + // In some toolchain, sa_sigaction is not declared in struct sigaction. +@@ -239,7 +238,7 @@ + struct arch_seccomp_data data = { + static_cast(SECCOMP_SYSCALL(ctx)), + SECCOMP_ARCH, +- reinterpret_cast(sigsys.ip.get()), ++ reinterpret_cast(sigsys.ip), + {static_cast(SECCOMP_PARM1(ctx)), + static_cast(SECCOMP_PARM2(ctx)), + static_cast(SECCOMP_PARM3(ctx)), +@@ -333,24 +332,11 @@ + TrapKey* new_trap_array = new TrapKey[trap_array_capacity_]; + std::copy_n(old_trap_array, trap_array_size_, new_trap_array); + +- // Language specs are unclear on whether the compiler is allowed to move +- // the "delete[]" above our preceding assignments and/or memory moves, +- // iff the compiler believes that "delete[]" doesn't have any other +- // global side-effects. +- // We insert optimization barriers to prevent this from happening. +- // The first barrier is probably not needed, but better be explicit in +- // what we want to tell the compiler. +- // The clang developer mailing list couldn't answer whether this is a +- // legitimate worry; but they at least thought that the barrier is +- // sufficient to prevent the (so far hypothetical) problem of re-ordering +- // of instructions by the compiler. +- // +- // TODO(mdempsky): Try to clean this up using base/atomicops or C++11 +- // atomics; see crbug.com/414363. +- asm volatile("" : "=r"(new_trap_array) : "0"(new_trap_array) : "memory"); + trap_array_ = new_trap_array; +- asm volatile("" : "=r"(trap_array_) : "0"(trap_array_) : "memory"); +- ++ // Prevent the compiler from moving delete[] before the store of the ++ // |new_trap_array|, otherwise a concurrent SIGSYS may see a |trap_array_| ++ // that still points to |old_trap_array| after it has been deleted. ++ std::atomic_signal_fence(std::memory_order_release); + delete[] old_trap_array; + } + +diff --git a/sandbox/linux/seccomp-bpf/trap.h b/sandbox/linux/seccomp-bpf/trap.h +index cc17d26..37d2029 100644 +--- a/sandbox/linux/seccomp-bpf/trap.h ++++ b/sandbox/linux/seccomp-bpf/trap.h +@@ -10,7 +10,7 @@ + + #include + +-#include "base/memory/raw_ptr.h" ++#include "base/memory/raw_ptr_exclusion.h" + #include "sandbox/linux/bpf_dsl/trap_registry.h" + #include "sandbox/linux/system_headers/linux_signal.h" + #include "sandbox/sandbox_export.h" +@@ -75,11 +75,15 @@ + // events. + static Trap* global_trap_; + +- TrapIds trap_ids_; // Maps from TrapKeys to numeric ids +- raw_ptr trap_array_; // Array of TrapKeys indexed by ids +- size_t trap_array_size_; // Currently used size of array +- size_t trap_array_capacity_; // Currently allocated capacity of array +- bool has_unsafe_traps_; // Whether unsafe traps have been enabled ++ TrapIds trap_ids_; // Maps from TrapKeys to numeric ids ++ // Array of TrapKeys indexed by ids. ++ // ++ // This is not a raw_ptr as it is an owning pointer anyway, and is meant to be ++ // used between normal code and signal handlers. ++ RAW_PTR_EXCLUSION TrapKey* trap_array_ = nullptr; ++ size_t trap_array_size_ = 0; // Currently used size of array ++ size_t trap_array_capacity_ = 0; // Currently allocated capacity of array ++ bool has_unsafe_traps_ = false; // Whether unsafe traps have been enabled + }; + + } // namespace sandbox diff --git a/chromium-105-browser_finder-include.patch b/chromium-105-browser_finder-include.patch new file mode 100644 index 0000000..ab46427 --- /dev/null +++ b/chromium-105-browser_finder-include.patch @@ -0,0 +1,24 @@ +From 41dca8bd0c5e8ac5197d7477c6f01556fb88fb43 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sun, 14 Aug 2022 08:41:11 +0000 +Subject: [PATCH] IWYU: add vector for std::vector in browser_finder.h + +--- + chrome/browser/ui/browser_finder.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/chrome/browser/ui/browser_finder.h b/chrome/browser/ui/browser_finder.h +index f885be0..ad7a184 100644 +--- a/chrome/browser/ui/browser_finder.h ++++ b/chrome/browser/ui/browser_finder.h +@@ -6,6 +6,7 @@ + #define CHROME_BROWSER_UI_BROWSER_FINDER_H_ + + #include ++#include + + #include "ui/display/types/display_constants.h" + #include "ui/gfx/native_widget_types.h" +-- +2.35.1 + diff --git a/chromium-105-raw_ptr-noexcept.patch b/chromium-105-raw_ptr-noexcept.patch new file mode 100644 index 0000000..0c32524 --- /dev/null +++ b/chromium-105-raw_ptr-noexcept.patch @@ -0,0 +1,30 @@ +From 72b19a6a725809f872a7e7525c9a83bcbda85ec7 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Mon, 25 Jul 2022 09:19:19 +0000 +Subject: [PATCH] GCC: make raw_ptr move assignment operator noexcept + +Required in content::LevelDBScopesOptions, because move assignment +operator is noexcept too. + +Bug: 3762913 +Change-Id: Ic55ade0e15457eb7349fe24203307972d9030a8e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3782669 +Reviewed-by: Keishi Hattori +Commit-Queue: Stephan Hartmann +Reviewed-by: Bartek Nowierski +Cr-Commit-Position: refs/heads/main@{#1027669} +--- + +diff --git a/base/memory/raw_ptr.h b/base/memory/raw_ptr.h +index 5d8c1cfd..9a62f03 100644 +--- a/base/memory/raw_ptr.h ++++ b/base/memory/raw_ptr.h +@@ -796,7 +796,7 @@ + return *this; + } + +- ALWAYS_INLINE raw_ptr& operator=(raw_ptr&& p) { ++ ALWAYS_INLINE raw_ptr& operator=(raw_ptr&& p) noexcept { + if (LIKELY(this != &p)) { + Impl::ReleaseWrappedPtr(wrapped_ptr_); + wrapped_ptr_ = p.wrapped_ptr_; diff --git a/chromium-67.0.3396.62-gn-system.patch b/chromium-105.0.5195.52-gn-system.patch similarity index 78% rename from chromium-67.0.3396.62-gn-system.patch rename to chromium-105.0.5195.52-gn-system.patch index 4a08e94..e8c0bcc 100644 --- a/chromium-67.0.3396.62-gn-system.patch +++ b/chromium-105.0.5195.52-gn-system.patch @@ -1,7 +1,6 @@ -diff -up chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libjpeg.gn -diff -up chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/libusb.gn ---- chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem 2018-05-30 12:18:36.949488683 -0400 -+++ chromium-67.0.3396.62/build/linux/unbundle/libusb.gn 2018-05-30 12:18:36.949488683 -0400 +diff -up chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/libusb.gn +--- chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem 2022-09-01 12:23:27.557313611 +0000 ++++ chromium-105.0.5195.52/build/linux/unbundle/libusb.gn 2022-09-01 12:23:27.557313611 +0000 @@ -0,0 +1,24 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be @@ -27,9 +26,9 @@ diff -up chromium-67.0.3396.62/build/linux/unbundle/libusb.gn.gnsystem chromium- + ] + public_configs = [ ":system_libusb" ] +} -diff -up chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem chromium-67.0.3396.62/build/linux/unbundle/opus.gn ---- chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem 2018-05-30 04:43:03.000000000 -0400 -+++ chromium-67.0.3396.62/build/linux/unbundle/opus.gn 2018-05-30 12:18:36.950488661 -0400 +diff -up chromium-105.0.5195.52/build/linux/unbundle/opus.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/opus.gn +--- chromium-105.0.5195.52/build/linux/unbundle/opus.gn.gnsystem 2022-08-24 20:27:57.000000000 +0000 ++++ chromium-105.0.5195.52/build/linux/unbundle/opus.gn 2022-09-01 12:41:57.564878845 +0000 @@ -1,3 +1,164 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be @@ -195,12 +194,12 @@ diff -up chromium-67.0.3396.62/build/linux/unbundle/opus.gn.gnsystem chromium-67 # Copyright 2017 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -diff -up chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py ---- chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py.gnsystem 2018-05-30 12:18:36.951488638 -0400 -+++ chromium-67.0.3396.62/build/linux/unbundle/replace_gn_files.py 2018-05-30 12:20:02.542534270 -0400 -@@ -27,6 +27,7 @@ REPLACEMENTS = { - 'libevent': 'base/third_party/libevent/BUILD.gn', +diff -up chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py +--- chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem 2022-09-01 12:23:27.558313577 +0000 ++++ chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py 2022-09-01 12:36:01.870847125 +0000 +@@ -52,6 +52,7 @@ REPLACEMENTS = { 'libjpeg': 'third_party/libjpeg.gni', + 'libjxl' : 'third_party/libjxl/BUILD.gn', 'libpng': 'third_party/libpng/BUILD.gn', + 'libusb': 'third_party/libusb/BUILD.gn', 'libvpx': 'third_party/libvpx/BUILD.gn', diff --git a/chromium-105.0.5195.52-python-six-1.16.0.patch b/chromium-105.0.5195.52-python-six-1.16.0.patch new file mode 100644 index 0000000..497c2df --- /dev/null +++ b/chromium-105.0.5195.52-python-six-1.16.0.patch @@ -0,0 +1,134 @@ +diff -up chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py +--- chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py.116 2022-07-05 13:31:29.434673638 +0000 ++++ chromium-103.0.5060.53/third_party/catapult/third_party/six/six.py 2022-07-05 21:52:01.884578748 +0000 +@@ -29,7 +29,7 @@ import sys + import types + + __author__ = "Benjamin Peterson " +-__version__ = "1.15.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ else: + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +diff -up chromium-103.0.5060.53/third_party/six/src/six.py.116 chromium-103.0.5060.53/third_party/six/src/six.py +--- chromium-103.0.5060.53/third_party/six/src/six.py.116 2022-07-05 13:32:28.916687658 +0000 ++++ chromium-103.0.5060.53/third_party/six/src/six.py 2022-07-05 21:59:42.561240407 +0000 +@@ -29,7 +29,7 @@ import sys + import types + + __author__ = "Benjamin Peterson " +-__version__ = "1.14.0" ++__version__ = "1.16.0" + + + # Useful for very coarse version differentiation. +@@ -71,6 +71,11 @@ else: + MAXSIZE = int((1 << 63) - 1) + del X + ++if PY34: ++ from importlib.util import spec_from_loader ++else: ++ spec_from_loader = None ++ + + def _add_doc(func, doc): + """Add documentation to a function.""" +@@ -186,6 +191,11 @@ class _SixMetaPathImporter(object): + return self + return None + ++ def find_spec(self, fullname, path, target=None): ++ if fullname in self.known_modules: ++ return spec_from_loader(fullname, self) ++ return None ++ + def __get_module(self, fullname): + try: + return self.known_modules[fullname] +@@ -223,6 +233,12 @@ class _SixMetaPathImporter(object): + return None + get_source = get_code # same as get_code + ++ def create_module(self, spec): ++ return self.load_module(spec.name) ++ ++ def exec_module(self, module): ++ pass ++ + _importer = _SixMetaPathImporter(__name__) + + +@@ -890,12 +906,11 @@ def ensure_binary(s, encoding='utf-8', e + - `str` -> encoded to `bytes` + - `bytes` -> `bytes` + """ ++ if isinstance(s, binary_type): ++ return s + if isinstance(s, text_type): + return s.encode(encoding, errors) +- elif isinstance(s, binary_type): +- return s +- else: +- raise TypeError("not expecting type '%s'" % type(s)) ++ raise TypeError("not expecting type '%s'" % type(s)) + + + def ensure_str(s, encoding='utf-8', errors='strict'): +@@ -909,12 +924,15 @@ def ensure_str(s, encoding='utf-8', erro + - `str` -> `str` + - `bytes` -> decoded to `str` + """ +- if not isinstance(s, (text_type, binary_type)): +- raise TypeError("not expecting type '%s'" % type(s)) ++ # Optimization: Fast return for the common case. ++ if type(s) is str: ++ return s + if PY2 and isinstance(s, text_type): +- s = s.encode(encoding, errors) ++ return s.encode(encoding, errors) + elif PY3 and isinstance(s, binary_type): +- s = s.decode(encoding, errors) ++ return s.decode(encoding, errors) ++ elif not isinstance(s, (text_type, binary_type)): ++ raise TypeError("not expecting type '%s'" % type(s)) + return s + + diff --git a/chromium-105.0.5195.52-update-wayland-client-core.patch b/chromium-105.0.5195.52-update-wayland-client-core.patch new file mode 100644 index 0000000..86c5c22 --- /dev/null +++ b/chromium-105.0.5195.52-update-wayland-client-core.patch @@ -0,0 +1,31 @@ +diff -up chromium-105.0.5195.52/third_party/wayland/src/src/wayland-client-core.h.old-wayland chromium-105.0.5195.52/third_party/wayland/src/src/wayland-client-core.h +--- chromium-105.0.5195.52/third_party/wayland/src/src/wayland-client-core.h.old-wayland 2022-09-01 19:36:06.099483374 +0000 ++++ chromium-105.0.5195.52/third_party/wayland/src/src/wayland-client-core.h 2022-09-01 22:09:56.523353619 +0000 +@@ -119,9 +119,27 @@ struct wl_display; + */ + struct wl_event_queue; + ++/** Destroy proxy after marshalling ++ * @ingroup wl_proxy ++ */ ++#define WL_MARSHAL_FLAG_DESTROY (1 << 0) ++ + void + wl_event_queue_destroy(struct wl_event_queue *queue); + ++struct wl_proxy * ++wl_proxy_marshal_flags(struct wl_proxy *proxy, uint32_t opcode, ++ const struct wl_interface *interface, ++ uint32_t version, ++ uint32_t flags, ...); ++ ++struct wl_proxy * ++wl_proxy_marshal_array_flags(struct wl_proxy *proxy, uint32_t opcode, ++ const struct wl_interface *interface, ++ uint32_t version, ++ uint32_t flags, ++ union wl_argument *args); ++ + void + wl_proxy_marshal(struct wl_proxy *p, uint32_t opcode, ...); + diff --git a/chromium.spec b/chromium.spec index e4afb4c..d591fe0 100644 --- a/chromium.spec +++ b/chromium.spec @@ -220,14 +220,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 104 +%global majorversion 105 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.5112.101 +Version: %{majorversion}.0.5195.52 Release: 1%{?dist} %if %{?freeworld} %if %{?shared} @@ -248,7 +248,7 @@ Patch0: chromium-70.0.3538.67-sandbox-pie.patch # Use /etc/chromium for initial_prefs Patch1: chromium-91.0.4472.77-initial_prefs-etc-path.patch # Use gn system files -Patch2: chromium-67.0.3396.62-gn-system.patch +Patch2: chromium-105.0.5195.52-gn-system.patch # Do not prefix libpng functions Patch3: chromium-60.0.3112.78-no-libpng-prefix.patch # Do not mangle libjpeg @@ -276,7 +276,7 @@ Patch51: chromium-96.0.4664.45-gcc-remoting-constexpr.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch Patch52: chromium-81.0.4044.92-unbundle-zlib.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-78-protobuf-RepeatedPtrField-export.patch -Patch55: chromium-78-protobuf-RepeatedPtrField-export.patch +# Patch55: chromium-78-protobuf-RepeatedPtrField-export.patch # ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared Patch56: chromium-96.0.4664.45-missing-cstdint-header.patch # Missing (thanks c++17) @@ -286,19 +286,15 @@ Patch57: chromium-96.0.4664.45-missing-cstring.patch Patch58: chromium-53-ffmpeg-no-deprecation-errors.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-103-VirtualCursor-std-layout.patch Patch59: chromium-103-VirtualCursor-std-layout.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-104-ContentRendererClient-type.patch -Patch60: chromium-104-ContentRendererClient-type.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-105-AdjustMaskLayerGeometry-ceilf.patch +Patch60: chromium-105-AdjustMaskLayerGeometry-ceilf.patch # Fix headers to look for system paths when we are using system minizip Patch61: chromium-104.0.5112.101-system-minizip-header-fix.patch -# Fix v8 issue where GCC on arm64 fails to compile extract_first_nonzero_index because of the -# signedness type mismatch in the NEON intrinsics -# https://github.com/v8/v8/commit/0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch -Patch62: 0fc6592cf8867f0cd6d8d41b43392fb52d359649.patch +# Update bundled copy of wayland-client-core.h +Patch62: chromium-105.0.5195.52-update-wayland-client-core.patch -# https://github.com/v8/v8/commit/2ed27bba6a881a152887f3ab1008e989fce617e3 -Patch63: chromium-102.0.5005.115-v8-aarch64-gcc-cfi-fix.patch # Extra CXXFLAGS for aarch64 Patch64: chromium-91.0.4472.77-aarch64-cxxflags-addition.patch # Fix issue where closure_compiler thinks java is only allowed in android builds @@ -317,7 +313,19 @@ Patch68: chromium-84.0.4147.125-i686-fix_textrels.patch Patch69: chromium-103.0.5060.53-update-rjsmin-to-1.2.0.patch # Update six to 1.16.0 -Patch70: chromium-103.0.5060.53-python-six-1.16.0.patch +Patch70: chromium-105.0.5195.52-python-six-1.16.0.patch + +# https://github.com/stha09/chromium-patches/blob/master/chromium-105-Bitmap-include.patch +Patch71: chromium-105-Bitmap-include.patch + +# https://github.com/stha09/chromium-patches/blob/master/chromium-105-browser_finder-include.patch +Patch72: chromium-105-browser_finder-include.patch + +# https://github.com/stha09/chromium-patches/blob/master/chromium-105-raw_ptr-noexcept.patch +Patch73: chromium-105-raw_ptr-noexcept.patch + +# https://github.com/stha09/chromium-patches/blob/master/chromium-105-Trap-raw_ptr.patch +Patch74: chromium-105-Trap-raw_ptr.patch # Do not download proprietary widevine module in the background (thanks Debian) Patch79: chromium-99.0.4844.51-widevine-no-download.patch @@ -1026,20 +1034,18 @@ udev. %if 0%{?fedora} || 0%{?rhel} >= 8 %patch52 -p1 -b .unbundle-zlib %endif -%patch55 -p1 -b .protobuf-export +# %%patch55 -p1 -b .protobuf-export %patch56 -p1 -b .missing-cstdint %patch57 -p1 -b .missing-cstring %patch58 -p1 -b .ffmpeg-deprecations %patch59 -p1 -b .VirtualCursor-std-layout -%patch60 -p1 -b .ContentRendererType-client +%patch60 -p1 -b .AdjustMaskLayerGeometry-ceilf %if ! 0%{?bundleminizip} %patch61 -p1 -b .system-minizip %endif +%patch62 -p1 -b .update-wayland-client-core -%patch62 -p1 -b .arm-neon-fix - -%patch63 -p1 -b .gcc-cfi-fix %patch64 -p1 -b .aarch64-cxxflags-addition %patch65 -p1 -b .java-only-allowed %patch66 -p1 -b .python3-do-not-use-deprecated-mode-U @@ -1047,6 +1053,10 @@ udev. %patch68 -p1 -b .i686-textrels %patch69 -p1 -b .update-rjsmin-to-1.2.0 %patch70 -p1 -b .update-six-to-1.16.0 +%patch71 -p1 -b .Bitmap-include +%patch72 -p1 -b .browser_finder-include +%patch73 -p1 -b .raw_ptr-noexcept +%patch74 -p1 -b .Trap-raw_ptr %patch79 -p1 -b .widevine-no-download %patch80 -p1 -b .EnumTable-crash # %%patch81 -p1 -b .gcc12fix @@ -1291,7 +1301,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'base/third_party/double_conversion' \ 'base/third_party/dynamic_annotations' \ 'base/third_party/icu' \ - 'base/third_party/libevent' \ 'base/third_party/nspr' \ 'base/third_party/superfasthash' \ 'base/third_party/symbolize' \ @@ -1344,6 +1353,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/ced' \ 'third_party/cld_3' \ 'third_party/closure_compiler' \ + 'third_party/content_analysis_sdk' \ 'third_party/cpuinfo' \ 'third_party/crashpad' \ 'third_party/crashpad/crashpad/third_party/lss' \ @@ -1415,6 +1425,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/libaom/source/libaom/third_party/x86inc' \ 'third_party/libavif' \ 'third_party/libdrm' \ + 'third_party/libevent' \ 'third_party/libgav1' \ 'third_party/libgifcodec' \ 'third_party/libjingle' \ @@ -1472,7 +1483,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/pdfium/third_party/bigint' \ 'third_party/pdfium/third_party/freetype' \ 'third_party/pdfium/third_party/lcms' \ - 'third_party/pdfium/third_party/libopenjpeg20' \ + 'third_party/pdfium/third_party/libopenjpeg' \ 'third_party/pdfium/third_party/libpng16' \ 'third_party/pdfium/third_party/libtiff' \ 'third_party/pdfium/third_party/skia_shared' \ @@ -2197,6 +2208,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Thu Sep 1 2022 Tom Callaway - 105.0.5195.52-1 +- update to 105.0.5195.52 + * Thu Aug 18 2022 Tom Callaway - 104.0.5112.101-1 - update to 104.0.5112.101 diff --git a/sources b/sources index 0a9637d..0d4c4df 100644 --- a/sources +++ b/sources @@ -21,4 +21,4 @@ SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1d SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (node-v12.22.6-linux-arm64.tar.xz) = 87ce5eb954deb1d0debe6fa02b28a3cc675e12fca1e51d44b123ab294aa39ce0c6b8ac9eae1e7a6e32673ea2c2d480651d9ba7eea73012f0529503eebe9eb34d SHA512 (node-v12.22.6-linux-x64.tar.xz) = e1b55c32343cb2ccc40d888c705414bebf9c46b02083d13731df79b1e79521b7277761f6bcca041e40e3a2e47c67bb8e7848aa2b919a9de5c2ebf62c4a9c7176 -SHA512 (chromium-104.0.5112.101-clean.tar.xz) = 280c88c3b8a14acae8187835ffddfad3f76f6b53fd9a33e39a7c980f29d898250647f922242a41cbb9fdac7c54b2f4e181a9520adc9b7f1b40aac4e0b57be9a0 +SHA512 (chromium-105.0.5195.52-clean.tar.xz) = bc71fc13ec929332dad84e28ec6cdd107d675d58435d7a2665970347dd0da87ed0b2861c7975daff2e02e8362ad6d93aa5e30b2b69df4fe0cd3464722b291e05 From 6032343ca55ed455cb92a3f1a16bff4a2efc6721 Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Tue, 20 Sep 2022 11:58:27 -0400 Subject: [PATCH 024/568] update to 105.0.5195.125 --- chromium.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index d591fe0..d9f1a54 100644 --- a/chromium.spec +++ b/chromium.spec @@ -227,7 +227,7 @@ Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.5195.52 +Version: %{majorversion}.0.5195.125 Release: 1%{?dist} %if %{?freeworld} %if %{?shared} @@ -2208,6 +2208,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Sep 19 2022 Tom Callaway - 105.0.5195.125-1 +- update to 105.0.5195.125 + * Thu Sep 1 2022 Tom Callaway - 105.0.5195.52-1 - update to 105.0.5195.52 diff --git a/sources b/sources index 0d4c4df..215065b 100644 --- a/sources +++ b/sources @@ -21,4 +21,4 @@ SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1d SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a SHA512 (node-v12.22.6-linux-arm64.tar.xz) = 87ce5eb954deb1d0debe6fa02b28a3cc675e12fca1e51d44b123ab294aa39ce0c6b8ac9eae1e7a6e32673ea2c2d480651d9ba7eea73012f0529503eebe9eb34d SHA512 (node-v12.22.6-linux-x64.tar.xz) = e1b55c32343cb2ccc40d888c705414bebf9c46b02083d13731df79b1e79521b7277761f6bcca041e40e3a2e47c67bb8e7848aa2b919a9de5c2ebf62c4a9c7176 -SHA512 (chromium-105.0.5195.52-clean.tar.xz) = bc71fc13ec929332dad84e28ec6cdd107d675d58435d7a2665970347dd0da87ed0b2861c7975daff2e02e8362ad6d93aa5e30b2b69df4fe0cd3464722b291e05 +SHA512 (chromium-105.0.5195.125-clean.tar.xz) = da92b1c83bee60ab5e3f7cb45ca4ed0290bc802cb641d642004d79384ecb833bc6472356cf4a19f9e3f052e780ebf389c4307396f29825eed9d2cdb2e368a6ba From 717a675e0fc20d235aa347dc0bc182709ef4e926 Mon Sep 17 00:00:00 2001 From: spotrh Date: Tue, 20 Sep 2022 16:24:01 -0400 Subject: [PATCH 025/568] fix aarch64 builds so they do not try to use clang only flag --- chromium-105.0.5195.125-arm64-gcc-fix.patch | 12 ++++++++++++ chromium.spec | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 chromium-105.0.5195.125-arm64-gcc-fix.patch diff --git a/chromium-105.0.5195.125-arm64-gcc-fix.patch b/chromium-105.0.5195.125-arm64-gcc-fix.patch new file mode 100644 index 0000000..d9ad16a --- /dev/null +++ b/chromium-105.0.5195.125-arm64-gcc-fix.patch @@ -0,0 +1,12 @@ +diff -up chromium-105.0.5195.125/v8/BUILD.gn.arm64-gcc-fix chromium-105.0.5195.125/v8/BUILD.gn +--- chromium-105.0.5195.125/v8/BUILD.gn.arm64-gcc-fix 2022-09-20 18:12:30.766293126 +0000 ++++ chromium-105.0.5195.125/v8/BUILD.gn 2022-09-20 18:13:04.376435347 +0000 +@@ -1095,7 +1095,7 @@ config("toolchain") { + defines += [ "V8_TARGET_ARCH_ARM64" ] + if (current_cpu == "arm64") { + # This will enable PAC+BTI in code generation and static code. +- if (v8_control_flow_integrity && ++ if (v8_control_flow_integrity && is_clang && + (!build_with_chromium || arm_control_flow_integrity == "standard")) { + cflags += [ "-mbranch-protection=standard" ] + asmflags = [ "-mmark-bti-property" ] diff --git a/chromium.spec b/chromium.spec index d9f1a54..07465ac 100644 --- a/chromium.spec +++ b/chromium.spec @@ -350,6 +350,9 @@ Patch86: chromium-94.0.4606.81-clang-format.patch # This is only in Fedora 37+ Patch87: chromium-99.0.4844.84-markdownsafe-soft_str.patch +# There is a corner case where v8 tries to pass a clang only flag without checking is_clang +Patch88: chromium-105.0.5195.125-arm64-gcc-fix.patch + # Fix extra qualification error Patch97: chromium-103.0.5060.53-remoting-extra-qualification.patch # From gentoo @@ -1066,6 +1069,7 @@ udev. %if 0%{?fedora} >= 37 %patch87 -p1 -b .markdownsafe-soft_str %endif +%patch88 -p1 -b .arm64-gcc-fix %patch97 -p1 -b .remoting-extra-qualification %patch98 -p1 -b .InkDropHost-crash %patch99 -p1 -b .enable-WebRTCPipeWireCapturer-byDefault From 8e69b8771b77afb7ca109ea32cf5fd71a55ad039 Mon Sep 17 00:00:00 2001 From: spotrh Date: Thu, 22 Sep 2022 14:16:05 -0400 Subject: [PATCH 026/568] update node builds for epel --- .gitignore | 2 ++ chromium.spec | 4 ++-- sources | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index fb9b0a1..5cc301e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,5 @@ /NotoSansTibetan-Regular.ttf /node-v12.22.6-linux-arm64.tar.xz /node-v12.22.6-linux-x64.tar.xz +/node-v16.17.0-linux-x64.tar.xz +/node-v16.17.0-linux-arm64.tar.xz diff --git a/chromium.spec b/chromium.spec index 07465ac..ad22703 100644 --- a/chromium.spec +++ b/chromium.spec @@ -440,8 +440,8 @@ Source17: GardinerModBug.ttf Source18: GardinerModCat.ttf # RHEL 7|8 needs newer nodejs %if 0%{?rhel} && 0%{?rhel} <= 8 -Source19: https://nodejs.org/dist/latest-v12.x/node-v12.22.6-linux-x64.tar.xz -Source21: https://nodejs.org/dist/latest-v12.x/node-v12.22.6-linux-arm64.tar.xz +Source19: https://nodejs.org/dist/latest-v16.x/node-v16.17.0-linux-x64.tar.xz +Source21: https://nodejs.org/dist/latest-v16.x/node-v16.17.0-linux-arm64.tar.xz %endif # Bring xcb-proto with us (might need more than python on EPEL?) Source20: https://www.x.org/releases/individual/proto/xcb-proto-1.14.tar.xz diff --git a/sources b/sources index 215065b..01b6192 100644 --- a/sources +++ b/sources @@ -19,6 +19,6 @@ SHA512 (xcb-proto-1.14.tar.xz) = de66d568163b6da2be9d6c59984f3afa3acd119a7813786 SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708 SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a -SHA512 (node-v12.22.6-linux-arm64.tar.xz) = 87ce5eb954deb1d0debe6fa02b28a3cc675e12fca1e51d44b123ab294aa39ce0c6b8ac9eae1e7a6e32673ea2c2d480651d9ba7eea73012f0529503eebe9eb34d -SHA512 (node-v12.22.6-linux-x64.tar.xz) = e1b55c32343cb2ccc40d888c705414bebf9c46b02083d13731df79b1e79521b7277761f6bcca041e40e3a2e47c67bb8e7848aa2b919a9de5c2ebf62c4a9c7176 SHA512 (chromium-105.0.5195.125-clean.tar.xz) = da92b1c83bee60ab5e3f7cb45ca4ed0290bc802cb641d642004d79384ecb833bc6472356cf4a19f9e3f052e780ebf389c4307396f29825eed9d2cdb2e368a6ba +SHA512 (node-v16.17.0-linux-x64.tar.xz) = aedfeeb71420a7fbcb07fbc4c5d2ba74ffe4f88c15998809346a84148132ec866dbae4e848531a2a77ca41413f442e1046f981d4f188bdf667faf88069aa28cd +SHA512 (node-v16.17.0-linux-arm64.tar.xz) = ae4aabc2389779c9e1b4a15622cae3ba50e0c313ca3d7a1dc7b2344df06ade1f303d6a75b941d37e2a0ef368cf047c862a822a893684494f55446afd6ab0610e From 16836d754460463bac5a6f845889fb5d0aba2cad Mon Sep 17 00:00:00 2001 From: spotrh Date: Thu, 22 Sep 2022 15:22:24 -0400 Subject: [PATCH 027/568] fix hardcoded node ver --- chromium.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chromium.spec b/chromium.spec index ad22703..2346f32 100644 --- a/chromium.spec +++ b/chromium.spec @@ -1283,11 +1283,11 @@ export CHROMIUM_HEADLESS_GN_DEFINES pushd third_party/node/linux %ifarch x86_64 tar xf %{SOURCE19} -mv node-v12.22.6-linux-x64 node-linux-x64 +mv node-v16.17.0-linux-x64 node-linux-x64 %endif %ifarch aarch64 tar xf %{SOURCE21} -mv node-v12.22.6-linux-arm64 node-linux-arm64 +mv node-v16.17.0-linux-arm64 node-linux-arm64 # This is weird, but whatever ln -s node-linux-arm64 node-linux-x64 %endif From cc370311a741a7c3e932598136746a86262d2af8 Mon Sep 17 00:00:00 2001 From: spotrh Date: Fri, 23 Sep 2022 14:35:09 -0400 Subject: [PATCH 028/568] apply upstream fix for wayland menu misplacement bug --- ...mium-105.0.5195.125-fix-wayland-menu.patch | 26 +++++++++++++++++++ chromium.spec | 10 ++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 chromium-105.0.5195.125-fix-wayland-menu.patch diff --git a/chromium-105.0.5195.125-fix-wayland-menu.patch b/chromium-105.0.5195.125-fix-wayland-menu.patch new file mode 100644 index 0000000..a4ce851 --- /dev/null +++ b/chromium-105.0.5195.125-fix-wayland-menu.patch @@ -0,0 +1,26 @@ +diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc +--- chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu 2022-09-23 18:29:51.872286569 +0000 ++++ chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc 2022-09-23 18:30:18.819376074 +0000 +@@ -950,7 +950,7 @@ void WaylandWindow::ProcessPendingBounds + // window has been applied. + SetWindowGeometry(pending_bounds_dip_); + AckConfigure(serial); +- root_surface()->Commit(); ++ connection()->ScheduleFlush(); + } else if (!pending_configures_.empty() && + pending_bounds_dip_.size() == + pending_configures_.back().bounds_dip.size()) { +diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc +--- chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu 2022-09-23 18:30:41.936594397 +0000 ++++ chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc 2022-09-23 18:31:31.703911576 +0000 +@@ -1103,9 +1103,7 @@ TEST_P(WaylandBufferManagerTest, TestCom + EXPECT_CALL(*xdg_surface, AckConfigure(_)).Times(1); + EXPECT_CALL(*mock_surface, Attach(_, _, _)).Times(1); + EXPECT_CALL(*mock_surface, Frame(_)).Times(1); +- // Commit() can be called a second time as part of the configure -> ack +- // sequence. +- EXPECT_CALL(*mock_surface, Commit()).Times(testing::Between(1, 2)); ++ EXPECT_CALL(*mock_surface, Commit()).Times(1); + + ActivateSurface(mock_surface->xdg_surface()); + Sync(); diff --git a/chromium.spec b/chromium.spec index 2346f32..85390ec 100644 --- a/chromium.spec +++ b/chromium.spec @@ -228,7 +228,7 @@ Name: chromium%{chromium_channel}%{nsuffix} Name: chromium%{chromium_channel} %endif Version: %{majorversion}.0.5195.125 -Release: 1%{?dist} +Release: 2%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -338,6 +338,10 @@ Patch81: chromium-98.0.4758.102-gcc-12-subzero-fix.patch # Disable tests on remoting build Patch82: chromium-98.0.4758.102-remoting-no-tests.patch +# Fix Wayland menu issue +# https://bugs.chromium.org/p/chromium/issues/detail?id=13506 +# https://chromium-review.googlesource.com/c/chromium/src/+/3831855 +Patch83: chromium-105.0.5195.125-fix-wayland-menu.patch # Add missing cmath header Patch84: chromium-94.0.4606.71-remoting-missing-cmath-header.patch @@ -1064,6 +1068,7 @@ udev. %patch80 -p1 -b .EnumTable-crash # %%patch81 -p1 -b .gcc12fix %patch82 -p1 -b .remoting-no-tests +%patch83 -p1 -b .fix-wayland-menu %patch84 -p1 -b .remoting-missing-cmath-header %patch86 -p1 -b .clang-format-py3 %if 0%{?fedora} >= 37 @@ -2212,6 +2217,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Fri Sep 23 2022 Tom Callaway - 105.0.5195.125-2 +- apply upstream fix for wayland menu misplacement bug + * Mon Sep 19 2022 Tom Callaway - 105.0.5195.125-1 - update to 105.0.5195.125 From 758c7e4887a483abebc93f3da6df0ed118790a2e Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Mon, 21 Nov 2022 11:35:55 +0100 Subject: [PATCH 029/568] update to 107.0.5304.110 --- ...0470cdb0bea4548a0f5e8271b359f9450c79.patch | 567 - ...-100-GLImplementationParts-constexpr.patch | 92 - chromium-100-InMilliseconds-constexpr.patch | 97 - chromium-100-SCTHashdanceMetadata-move.patch | 35 - chromium-100-macro-typo.patch | 29 - ....60-missing-utility-for-std-exchange.patch | 12 - ...-100.0.4896.75-missing-include-tuple.patch | 11 - ...100.0.4896.75-missing-include-vector.patch | 11 - chromium-100.0.4896.75-old-xkb.patch | 49 - ...4896.75-remoting-extra-qualification.patch | 147 - ...4951.41-remoting-extra-qualification.patch | 165 - chromium-102-fenced_frame_utils-include.patch | 25 - chromium-102-regex_pattern-array.patch | 14 - ...2-swiftshader-template-instantiation.patch | 47 - chromium-102-symbolize-include.patch | 43 - chromium-103-FrameLoadRequest-type.patch | 26 - chromium-103-SubstringSetMatcher-packed.patch | 70 - ...python3-do-not-use-deprecated-mode-U.patch | 12 - ...0.5112.101-system-minizip-header-fix.patch | 76 - ...um-105-AdjustMaskLayerGeometry-ceilf.patch | 41 - chromium-105-Bitmap-include.patch | 26 - chromium-105-Trap-raw_ptr.patch | 161 - chromium-105-browser_finder-include.patch | 24 - chromium-105-raw_ptr-noexcept.patch | 30 - ...mium-105.0.5195.125-fix-wayland-menu.patch | 26 - chromium-105.0.5195.52-gn-system.patch | 207 - ...0.5304.101-system-minizip-header-fix.patch | 65 + chromium-107.0.5304.110-gn-system.patch | 39 + ...304.110-remoting-extra-qualification.patch | 72 +- ...998819088f76b4cf44c8db6940240c563cf4.patch | 19 - chromium-60.0.3112.78-jpeg-nomangle.patch | 14 - ...mium-68.0.3440.106-master-prefs-path.patch | 15 - ...38.67-disable-fontconfig-cache-magic.patch | 13 - chromium-73.0.3683.75-norar.patch | 81 - chromium-75.0.3770.100-epel7-stdc++.patch | 11 - ...-75.0.3770.80-vaapi-i686-fpermissive.patch | 23 - ...0.3809.100-gcc-no-alignas-and-export.patch | 14 - ...76.0.3809.100-gcc-remoting-constexpr.patch | 27 - ...6.0.3809.100-vtable-symbol-undefined.patch | 11 - ...-76.0.3809.132-chromedriver-zlib-fix.patch | 11 - chromium-77-clang.patch | 13 - ...ium-77.0.3865.75-base-gcc-no-alignas.patch | 12 - ...7.0.3865.75-certificate-transparency.patch | 539 - ...mium-77.0.3865.75-gcc-abstract-class.patch | 61 - chromium-77.0.3865.75-harfbuzz-subset.patch | 49 - chromium-77.0.3865.75-missing-limits.patch | 28 - chromium-77.0.3865.75-unbundle-zlib.patch | 25 - chromium-77.0.3865.90-linked-hash-set.patch | 130 - ...-78-protobuf-RepeatedPtrField-export.patch | 13 - ...m-78.0.3904.70-gcc9-drop-rsp-clobber.patch | 24 - chromium-78.0.3904.70-unbundle-zlib.patch | 12 - ...78.0.3904.70-vtable-symbol-undefined.patch | 11 - chromium-79-gcc-ambiguous-nodestructor.patch | 39 - chromium-79-gcc-permissive.patch | 79 - chromium-79-include.patch | 131 - ...c++17-to-work-around-ugly-angle-code.patch | 28 - chromium-79.0.3945.56-fedora-user-agent.patch | 12 - chromium-79.0.3945.56-fix-find_if.patch | 11 - chromium-79.0.3945.56-gcc-name-clash.patch | 108 - ...m-79.0.3945.56-glibc-clock-nanosleep.patch | 52 - ...9.0.3945.56-widevine-other-locations.patch | 19 - chromium-80-gcc-blink.patch | 45 - ...80.0.3987.106-missing-cstddef-header.patch | 44 - ...80.0.3987.122-vaapi-i686-fpermissive.patch | 23 - chromium-80.0.3987.132-el7-noexcept.patch | 201 - chromium-80.0.3987.87-fix-for-c++17.patch | 190 - chromium-80.0.3987.87-libpipewire-0.3.patch | 12 - ...-80.0.3987.87-missing-cstddef-header.patch | 22 - ...-80.0.3987.87-missing-cstdint-header.patch | 45 - ...m-80.0.3987.87-missing-string-header.patch | 11 - chromium-81-gcc-constexpr.patch | 19 - chromium-81-gcc-noexcept.patch | 13 - chromium-81-vaapi-r737459.patch | 52 - chromium-81-vaapi-r738595.patch | 31 - ...44.92-disable-fontconfig-cache-magic.patch | 13 - ...mium-81.0.4044.92-fix-vaapi-on-intel.patch | 36 - ...m-81.0.4044.92-missing-memory-header.patch | 11 - chromium-81.0.4044.92-norar.patch | 79 - ...83-WebUI-fix-template-specialization.patch | 67 - chromium-83-gcc-compatibility.patch | 25 - chromium-83-gcc-iterator.patch | 41 - chromium-83-gcc-ozone-wayland.patch | 12 - ...03.61-disable-fontconfig-cache-magic.patch | 13 - ...-83.0.4103.61-missing-cstddef-header.patch | 34 - chromium-83.0.4103.61-norar.patch | 79 - ...0.4103.97-skia-gcc-no_sanitize-fixes.patch | 48 - ...-83.0.4103.97-vaapi-i686-fpermissive.patch | 23 - chromium-84-AXObject-stl-iterator.patch | 36 - chromium-84-FilePath-add-noexcept.patch | 55 - ...-ListContainerHelper-include-cstring.patch | 30 - ...ionTrait-fix-template-specialization.patch | 114 - ...orBuffer-fix-template-specialization.patch | 34 - chromium-84-base-has_bultin.patch | 87 - chromium-84-blink-disable-clang-format.patch | 33 - chromium-84-crashpad-include-cstring.patch | 90 - ...ss_variant_mojo_util-remove-noexcept.patch | 37 - chromium-84-fix-decltype.patch | 65 - ...m-84-flat_map-flat_tree-add-noexcept.patch | 66 - chromium-84-gcc-DCHECK_EQ-unique_ptr.patch | 29 - chromium-84-gcc-DOMRect-constexpr.patch | 29 - chromium-84-gcc-use-brace-initializer.patch | 39 - ...age-ManifestManagerHost-per-document.patch | 391 - chromium-84-std-vector-const.patch | 49 - chromium-84.0.4147.105-gn-gcc-cleanup.patch | 45 - ...ch64-clearkeycdm-binutils-workaround.patch | 13 - chromium-84.0.4147.125-remoting-cstring.patch | 56 - chromium-84.0.4147.89-el-constexpr.patch | 13 - ....0.4147.89-el8-arm-incompatible-ints.patch | 192 - chromium-84.0.4147.89-epel7-no-kcmp-h.patch | 14 - chromium-84.0.4147.89-epel7-old-cups.patch | 149 - ...mium-84.0.4147.89-fix-vaapi-on-intel.patch | 36 - chromium-84.0.4147.89-nss3.patch | 12 - chromium-85-DelayNode-cast.patch | 31 - chromium-85-FrameWidget-namespace.patch | 34 - chromium-85-NearbyConnection-abstract.patch | 29 - ...rbyShareEncryptedMetadataKey-include.patch | 25 - chromium-85-oscillator_node-cast.patch | 34 - chromium-85-ostream-operator.patch | 52 - chromium-85-ozone-include.patch | 24 - chromium-85-sim_hash-include.patch | 25 - chromium-85.0.4183.83-gcc-not-auto.patch | 22 - ...75-enable-hardware-accelerated-mjpeg.patch | 71 - chromium-86.0.4240.75-fedora-user-agent.patch | 12 - ...-86.0.4240.75-initial_prefs-etc-path.patch | 15 - chromium-86.0.4240.75-norar.patch | 90 - chromium-87-CursorFactory-include.patch | 36 - ...-87-ServiceWorkerContainerHost-crash.patch | 22 - chromium-87-openscreen-include.patch | 25 - chromium-87.0.4280.66-el7-no-sys-random.patch | 13 - ...-dns_server_iterator-missing-cstddef.patch | 11 - ...280.88-floc_constants-missing-limits.patch | 11 - chromium-88-AXTreeFormatter-include.patch | 27 - ...ium-88-BookmarkModelObserver-include.patch | 21 - ...um-88-CompositorFrameReporter-dcheck.patch | 36 - chromium-88-StringPool-include.patch | 20 - chromium-88-dawn-static.patch | 59 - chromium-88-federated_learning-include.patch | 21 - chromium-88-ityp-include.patch | 25 - chromium-88-vaapi-attribute.patch | 39 - chromium-88.0.4324.11-norar.patch | 90 - ...8.0.4324.182-rawhide-gcc-std-max-fix.patch | 24 - ...hel8-force-disable-use_gnome_keyring.patch | 10 - chromium-89-AXTreeSerializer-include.patch | 25 - chromium-89-EnumTable-crash.patch | 71 - chromium-89-dawn-include.patch | 28 - chromium-89-quiche-dcheck.patch | 29 - chromium-89-quiche-private.patch | 26 - chromium-89-skia-CropRect.patch | 38 - ...72-enable-hardware-accelerated-mjpeg.patch | 66 - ...-89.0.4389.72-initial_prefs-etc-path.patch | 15 - ...-89.0.4389.72-missing-cstring-header.patch | 34 - chromium-89.0.4389.72-norar.patch | 90 - ...9.0.4389.72-widevine-other-locations.patch | 20 - ...hel8-force-disable-use_gnome_keyring.patch | 10 - ...um-89.0.4389.82-support-futex_time64.patch | 29 - ...m-90-CrossThreadCopier-qualification.patch | 29 - chromium-90-TokenizedOutput-include.patch | 24 - chromium-90-angle-constexpr.patch | 28 - chromium-90-quantization_utils-include.patch | 24 - chromium-90-ruy-include.patch | 24 - chromium-90.0.4430.72-fstatfix.patch | 141 - ...um-90.0.4430.72-widevine-no-download.patch | 14 - chromium-90.0.4430.93-epel7-erase-fix.patch | 20 - ...430.93-epel7-old-headers-workarounds.patch | 127 - chromium-91-1190561-boo1186948.patch | 45 - chromium-91-libyuv-aarch64.patch | 91 - chromium-91-pcscan-vector-types.patch | 47 - chromium-91.0.4472.114-epel7-erase-fix.patch | 20 - ...72.77-disable-fontconfig-cache-magic.patch | 13 - ...m-91.0.4472.77-update-highway-0.12.2.patch | 12203 ---------------- chromium-92-clang-format.patch | 25 - chromium-92-v8-constexpr.patch | 17 - chromium-92.0.4515.107-EnumTable-crash.patch | 70 - chromium-92.0.4515.107-gn-gcc-cleanup.patch | 45 - chromium-92.0.4515.107-norar.patch | 90 - chromium-92.0.4515.107-py3-bootstrap.patch | 24 - chromium-92.0.4515.107-py3-fixes.patch | 17 - ...2.0.4515.107-rawhide-gcc-std-max-fix.patch | 13 - ...hel8-force-disable-use_gnome_keyring.patch | 12 - chromium-92.0.4515.107-sandbox-clone3.patch | 16 - ...-92.0.4515.107-update-highway-0.12.2.patch | 4199 ------ ....0.4515.107-widevine-other-locations.patch | 20 - ...BluetoothLowEnergyScanFilter-include.patch | 30 - chromium-93-ClassProperty-include.patch | 30 - chromium-93-ContextSet-permissive.patch | 47 - ...olsEmbedderMessageDispatcher-include.patch | 24 - chromium-93-FormForest-constexpr.patch | 49 - chromium-93-HashPasswordManager-include.patch | 30 - ...-ScopedTestDialogAutoConfirm-include.patch | 24 - chromium-93-pdfium-include.patch | 117 - chromium-93.0.4577.63-clang-format.patch | 34 - chromium-93.0.4577.63-freetype-2.11.patch | 52 - chromium-93.0.4577.63-missing-cstring.patch | 45 - chromium-93.0.4577.63-mojo-header-fix.patch | 12 - chromium-93.0.4577.63-norar.patch | 90 - ....0.4577.63-remoting-nodestructor-fix.patch | 21 - chromium-93.0.4577.63-vector-fix.patch | 11 - ...um-93.0.4577.63-widevine-no-download.patch | 14 - chromium-93.0.4577.82-harfbuzz3.patch | 97 - chromium-94-ConversionStorageSql-lambda.patch | 31 - chromium-94-CustomSpaces-include.patch | 24 - ...m-94.0.4606.54-gcc9-drop-rsp-clobber.patch | 12 - ....0.4606.54-remoting-nodestructor-fix.patch | 22 - ...webrtc-BUILD.gn-fix-multiple-defines.patch | 16 - ...4606.61-remoting-extra-qualification.patch | 12 - ....0.4606.71-PartitionFree-nullptr-fix.patch | 15 - ...606.81-i686-low-memory-linking-hacks.patch | 13 - chromium-95-BitstreamReader-namespace.patch | 41 - chromium-95-eigen-avx-1.patch | 229 - chromium-95-eigen-avx-2.patch | 30 - chromium-95-eigen-avx-3.patch | 44 - chromium-95-libyuv-aarch64.patch | 30 - chromium-95-libyuv-arm.patch | 13 - chromium-95-maldoca-zlib.patch | 13 - chromium-95-quiche-include.patch | 25 - chromium-95-xfce-maximize.patch | 30 - chromium-95.0.4638.69-missing-cstring.patch | 57 - chromium-96-CommandLine-include.patch | 24 - chromium-96-CouponDB-include.patch | 25 - ...m-96-DrmRenderNodePathFinder-include.patch | 24 - chromium-96-EnumTable-crash.patch | 76 - ...ium-96-RestrictedCookieManager-tuple.patch | 31 - chromium-96-xfce-maximize.patch | 51 - ...4.45-no-const-elements-in-std-vector.patch | 17 - chromium-98-MiraclePtr-gcc-ice.patch | 91 - chromium-98-WaylandFrameManager-check.patch | 27 - ...ium-98.0.4758.102-gcc-12-subzero-fix.patch | 69 - ...um-98.0.4758.80-el7-extra-operator==.patch | 15 - ...80-enable-hardware-accelerated-mjpeg.patch | 62 - chromium-98.0.4758.80-epel7-old-cups.patch | 167 - ...758.80-epel7-old-headers-workarounds.patch | 127 - chromium-98.0.4758.80-fedora-user-agent.patch | 12 - ....80-missing-utility-for-std-exchange.patch | 23 - ...4758.80-remoting-extra-qualification.patch | 84 - ...lAssistantModelExecutor-NoDestructor.patch | 32 - chromium-99.0.4844.51-fedora-user-agent.patch | 12 - chromium-blink-gcc-diagnostic-pragma.patch | 32 - chromium-clang_lto_visibility_public.patch | 53 - chromium-fix-char_traits.patch | 14 - chromium-freetype-2.11.patch | 50 - chromium-quiche-invalid-offsetof.patch | 57 - chromium-skia-no_sanitize.patch | 61 - chromium-widevine-other-locations.patch | 23 - chromium.spec | 137 +- ...62edd9b49143b89fc76c4a31dd5603b6fbd0.patch | 712 - enable-vaapi.patch | 96 - 246 files changed, 201 insertions(+), 28977 deletions(-) delete mode 100644 7ae60470cdb0bea4548a0f5e8271b359f9450c79.patch delete mode 100644 chromium-100-GLImplementationParts-constexpr.patch delete mode 100644 chromium-100-InMilliseconds-constexpr.patch delete mode 100644 chromium-100-SCTHashdanceMetadata-move.patch delete mode 100644 chromium-100-macro-typo.patch delete mode 100644 chromium-100.0.4896.60-missing-utility-for-std-exchange.patch delete mode 100644 chromium-100.0.4896.75-missing-include-tuple.patch delete mode 100644 chromium-100.0.4896.75-missing-include-vector.patch delete mode 100644 chromium-100.0.4896.75-old-xkb.patch delete mode 100644 chromium-100.0.4896.75-remoting-extra-qualification.patch delete mode 100644 chromium-101.0.4951.41-remoting-extra-qualification.patch delete mode 100644 chromium-102-fenced_frame_utils-include.patch delete mode 100644 chromium-102-regex_pattern-array.patch delete mode 100644 chromium-102-swiftshader-template-instantiation.patch delete mode 100644 chromium-102-symbolize-include.patch delete mode 100644 chromium-103-FrameLoadRequest-type.patch delete mode 100644 chromium-103-SubstringSetMatcher-packed.patch delete mode 100644 chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch delete mode 100644 chromium-104.0.5112.101-system-minizip-header-fix.patch delete mode 100644 chromium-105-AdjustMaskLayerGeometry-ceilf.patch delete mode 100644 chromium-105-Bitmap-include.patch delete mode 100644 chromium-105-Trap-raw_ptr.patch delete mode 100644 chromium-105-browser_finder-include.patch delete mode 100644 chromium-105-raw_ptr-noexcept.patch delete mode 100644 chromium-105.0.5195.125-fix-wayland-menu.patch delete mode 100644 chromium-105.0.5195.52-gn-system.patch create mode 100644 chromium-107.0.5304.101-system-minizip-header-fix.patch create mode 100644 chromium-107.0.5304.110-gn-system.patch rename chromium-103.0.5060.53-remoting-extra-qualification.patch => chromium-107.0.5304.110-remoting-extra-qualification.patch (71%) delete mode 100644 chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch delete mode 100644 chromium-60.0.3112.78-jpeg-nomangle.patch delete mode 100644 chromium-68.0.3440.106-master-prefs-path.patch delete mode 100644 chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch delete mode 100644 chromium-73.0.3683.75-norar.patch delete mode 100644 chromium-75.0.3770.100-epel7-stdc++.patch delete mode 100644 chromium-75.0.3770.80-vaapi-i686-fpermissive.patch delete mode 100644 chromium-76.0.3809.100-gcc-no-alignas-and-export.patch delete mode 100644 chromium-76.0.3809.100-gcc-remoting-constexpr.patch delete mode 100644 chromium-76.0.3809.100-vtable-symbol-undefined.patch delete mode 100644 chromium-76.0.3809.132-chromedriver-zlib-fix.patch delete mode 100644 chromium-77-clang.patch delete mode 100644 chromium-77.0.3865.75-base-gcc-no-alignas.patch delete mode 100644 chromium-77.0.3865.75-certificate-transparency.patch delete mode 100644 chromium-77.0.3865.75-gcc-abstract-class.patch delete mode 100644 chromium-77.0.3865.75-harfbuzz-subset.patch delete mode 100644 chromium-77.0.3865.75-missing-limits.patch delete mode 100644 chromium-77.0.3865.75-unbundle-zlib.patch delete mode 100644 chromium-77.0.3865.90-linked-hash-set.patch delete mode 100644 chromium-78-protobuf-RepeatedPtrField-export.patch delete mode 100644 chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch delete mode 100644 chromium-78.0.3904.70-unbundle-zlib.patch delete mode 100644 chromium-78.0.3904.70-vtable-symbol-undefined.patch delete mode 100644 chromium-79-gcc-ambiguous-nodestructor.patch delete mode 100644 chromium-79-gcc-permissive.patch delete mode 100644 chromium-79-include.patch delete mode 100644 chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch delete mode 100644 chromium-79.0.3945.56-fedora-user-agent.patch delete mode 100644 chromium-79.0.3945.56-fix-find_if.patch delete mode 100644 chromium-79.0.3945.56-gcc-name-clash.patch delete mode 100644 chromium-79.0.3945.56-glibc-clock-nanosleep.patch delete mode 100644 chromium-79.0.3945.56-widevine-other-locations.patch delete mode 100644 chromium-80-gcc-blink.patch delete mode 100644 chromium-80.0.3987.106-missing-cstddef-header.patch delete mode 100644 chromium-80.0.3987.122-vaapi-i686-fpermissive.patch delete mode 100644 chromium-80.0.3987.132-el7-noexcept.patch delete mode 100644 chromium-80.0.3987.87-fix-for-c++17.patch delete mode 100644 chromium-80.0.3987.87-libpipewire-0.3.patch delete mode 100644 chromium-80.0.3987.87-missing-cstddef-header.patch delete mode 100644 chromium-80.0.3987.87-missing-cstdint-header.patch delete mode 100644 chromium-80.0.3987.87-missing-string-header.patch delete mode 100644 chromium-81-gcc-constexpr.patch delete mode 100644 chromium-81-gcc-noexcept.patch delete mode 100644 chromium-81-vaapi-r737459.patch delete mode 100644 chromium-81-vaapi-r738595.patch delete mode 100644 chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch delete mode 100644 chromium-81.0.4044.92-fix-vaapi-on-intel.patch delete mode 100644 chromium-81.0.4044.92-missing-memory-header.patch delete mode 100644 chromium-81.0.4044.92-norar.patch delete mode 100644 chromium-83-WebUI-fix-template-specialization.patch delete mode 100644 chromium-83-gcc-compatibility.patch delete mode 100644 chromium-83-gcc-iterator.patch delete mode 100644 chromium-83-gcc-ozone-wayland.patch delete mode 100644 chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch delete mode 100644 chromium-83.0.4103.61-missing-cstddef-header.patch delete mode 100644 chromium-83.0.4103.61-norar.patch delete mode 100644 chromium-83.0.4103.97-skia-gcc-no_sanitize-fixes.patch delete mode 100644 chromium-83.0.4103.97-vaapi-i686-fpermissive.patch delete mode 100644 chromium-84-AXObject-stl-iterator.patch delete mode 100644 chromium-84-FilePath-add-noexcept.patch delete mode 100644 chromium-84-ListContainerHelper-include-cstring.patch delete mode 100644 chromium-84-TraceInCollectionTrait-fix-template-specialization.patch delete mode 100644 chromium-84-VectorBuffer-fix-template-specialization.patch delete mode 100644 chromium-84-base-has_bultin.patch delete mode 100644 chromium-84-blink-disable-clang-format.patch delete mode 100644 chromium-84-crashpad-include-cstring.patch delete mode 100644 chromium-84-cross_variant_mojo_util-remove-noexcept.patch delete mode 100644 chromium-84-fix-decltype.patch delete mode 100644 chromium-84-flat_map-flat_tree-add-noexcept.patch delete mode 100644 chromium-84-gcc-DCHECK_EQ-unique_ptr.patch delete mode 100644 chromium-84-gcc-DOMRect-constexpr.patch delete mode 100644 chromium-84-gcc-use-brace-initializer.patch delete mode 100644 chromium-84-revert-manage-ManifestManagerHost-per-document.patch delete mode 100644 chromium-84-std-vector-const.patch delete mode 100644 chromium-84.0.4147.105-gn-gcc-cleanup.patch delete mode 100644 chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch delete mode 100644 chromium-84.0.4147.125-remoting-cstring.patch delete mode 100644 chromium-84.0.4147.89-el-constexpr.patch delete mode 100644 chromium-84.0.4147.89-el8-arm-incompatible-ints.patch delete mode 100644 chromium-84.0.4147.89-epel7-no-kcmp-h.patch delete mode 100644 chromium-84.0.4147.89-epel7-old-cups.patch delete mode 100644 chromium-84.0.4147.89-fix-vaapi-on-intel.patch delete mode 100644 chromium-84.0.4147.89-nss3.patch delete mode 100644 chromium-85-DelayNode-cast.patch delete mode 100644 chromium-85-FrameWidget-namespace.patch delete mode 100644 chromium-85-NearbyConnection-abstract.patch delete mode 100644 chromium-85-NearbyShareEncryptedMetadataKey-include.patch delete mode 100644 chromium-85-oscillator_node-cast.patch delete mode 100644 chromium-85-ostream-operator.patch delete mode 100644 chromium-85-ozone-include.patch delete mode 100644 chromium-85-sim_hash-include.patch delete mode 100644 chromium-85.0.4183.83-gcc-not-auto.patch delete mode 100644 chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch delete mode 100644 chromium-86.0.4240.75-fedora-user-agent.patch delete mode 100644 chromium-86.0.4240.75-initial_prefs-etc-path.patch delete mode 100644 chromium-86.0.4240.75-norar.patch delete mode 100644 chromium-87-CursorFactory-include.patch delete mode 100644 chromium-87-ServiceWorkerContainerHost-crash.patch delete mode 100644 chromium-87-openscreen-include.patch delete mode 100644 chromium-87.0.4280.66-el7-no-sys-random.patch delete mode 100644 chromium-87.0.4280.88-dns_server_iterator-missing-cstddef.patch delete mode 100644 chromium-87.0.4280.88-floc_constants-missing-limits.patch delete mode 100644 chromium-88-AXTreeFormatter-include.patch delete mode 100644 chromium-88-BookmarkModelObserver-include.patch delete mode 100644 chromium-88-CompositorFrameReporter-dcheck.patch delete mode 100644 chromium-88-StringPool-include.patch delete mode 100644 chromium-88-dawn-static.patch delete mode 100644 chromium-88-federated_learning-include.patch delete mode 100644 chromium-88-ityp-include.patch delete mode 100644 chromium-88-vaapi-attribute.patch delete mode 100644 chromium-88.0.4324.11-norar.patch delete mode 100644 chromium-88.0.4324.182-rawhide-gcc-std-max-fix.patch delete mode 100644 chromium-88.0.4324.96-rhel8-force-disable-use_gnome_keyring.patch delete mode 100644 chromium-89-AXTreeSerializer-include.patch delete mode 100644 chromium-89-EnumTable-crash.patch delete mode 100644 chromium-89-dawn-include.patch delete mode 100644 chromium-89-quiche-dcheck.patch delete mode 100644 chromium-89-quiche-private.patch delete mode 100644 chromium-89-skia-CropRect.patch delete mode 100644 chromium-89.0.4389.72-enable-hardware-accelerated-mjpeg.patch delete mode 100644 chromium-89.0.4389.72-initial_prefs-etc-path.patch delete mode 100644 chromium-89.0.4389.72-missing-cstring-header.patch delete mode 100644 chromium-89.0.4389.72-norar.patch delete mode 100644 chromium-89.0.4389.72-widevine-other-locations.patch delete mode 100644 chromium-89.0.4389.82-rhel8-force-disable-use_gnome_keyring.patch delete mode 100644 chromium-89.0.4389.82-support-futex_time64.patch delete mode 100644 chromium-90-CrossThreadCopier-qualification.patch delete mode 100644 chromium-90-TokenizedOutput-include.patch delete mode 100644 chromium-90-angle-constexpr.patch delete mode 100644 chromium-90-quantization_utils-include.patch delete mode 100644 chromium-90-ruy-include.patch delete mode 100644 chromium-90.0.4430.72-fstatfix.patch delete mode 100644 chromium-90.0.4430.72-widevine-no-download.patch delete mode 100644 chromium-90.0.4430.93-epel7-erase-fix.patch delete mode 100644 chromium-90.0.4430.93-epel7-old-headers-workarounds.patch delete mode 100644 chromium-91-1190561-boo1186948.patch delete mode 100644 chromium-91-libyuv-aarch64.patch delete mode 100644 chromium-91-pcscan-vector-types.patch delete mode 100644 chromium-91.0.4472.114-epel7-erase-fix.patch delete mode 100644 chromium-91.0.4472.77-disable-fontconfig-cache-magic.patch delete mode 100644 chromium-91.0.4472.77-update-highway-0.12.2.patch delete mode 100644 chromium-92-clang-format.patch delete mode 100644 chromium-92-v8-constexpr.patch delete mode 100644 chromium-92.0.4515.107-EnumTable-crash.patch delete mode 100644 chromium-92.0.4515.107-gn-gcc-cleanup.patch delete mode 100644 chromium-92.0.4515.107-norar.patch delete mode 100644 chromium-92.0.4515.107-py3-bootstrap.patch delete mode 100644 chromium-92.0.4515.107-py3-fixes.patch delete mode 100644 chromium-92.0.4515.107-rawhide-gcc-std-max-fix.patch delete mode 100644 chromium-92.0.4515.107-rhel8-force-disable-use_gnome_keyring.patch delete mode 100644 chromium-92.0.4515.107-sandbox-clone3.patch delete mode 100644 chromium-92.0.4515.107-update-highway-0.12.2.patch delete mode 100644 chromium-92.0.4515.107-widevine-other-locations.patch delete mode 100644 chromium-93-BluetoothLowEnergyScanFilter-include.patch delete mode 100644 chromium-93-ClassProperty-include.patch delete mode 100644 chromium-93-ContextSet-permissive.patch delete mode 100644 chromium-93-DevToolsEmbedderMessageDispatcher-include.patch delete mode 100644 chromium-93-FormForest-constexpr.patch delete mode 100644 chromium-93-HashPasswordManager-include.patch delete mode 100644 chromium-93-ScopedTestDialogAutoConfirm-include.patch delete mode 100644 chromium-93-pdfium-include.patch delete mode 100644 chromium-93.0.4577.63-clang-format.patch delete mode 100644 chromium-93.0.4577.63-freetype-2.11.patch delete mode 100644 chromium-93.0.4577.63-missing-cstring.patch delete mode 100644 chromium-93.0.4577.63-mojo-header-fix.patch delete mode 100644 chromium-93.0.4577.63-norar.patch delete mode 100644 chromium-93.0.4577.63-remoting-nodestructor-fix.patch delete mode 100644 chromium-93.0.4577.63-vector-fix.patch delete mode 100644 chromium-93.0.4577.63-widevine-no-download.patch delete mode 100644 chromium-93.0.4577.82-harfbuzz3.patch delete mode 100644 chromium-94-ConversionStorageSql-lambda.patch delete mode 100644 chromium-94-CustomSpaces-include.patch delete mode 100644 chromium-94.0.4606.54-gcc9-drop-rsp-clobber.patch delete mode 100644 chromium-94.0.4606.54-remoting-nodestructor-fix.patch delete mode 100644 chromium-94.0.4606.54-webrtc-BUILD.gn-fix-multiple-defines.patch delete mode 100644 chromium-94.0.4606.61-remoting-extra-qualification.patch delete mode 100644 chromium-94.0.4606.71-PartitionFree-nullptr-fix.patch delete mode 100644 chromium-94.0.4606.81-i686-low-memory-linking-hacks.patch delete mode 100644 chromium-95-BitstreamReader-namespace.patch delete mode 100644 chromium-95-eigen-avx-1.patch delete mode 100644 chromium-95-eigen-avx-2.patch delete mode 100644 chromium-95-eigen-avx-3.patch delete mode 100644 chromium-95-libyuv-aarch64.patch delete mode 100644 chromium-95-libyuv-arm.patch delete mode 100644 chromium-95-maldoca-zlib.patch delete mode 100644 chromium-95-quiche-include.patch delete mode 100644 chromium-95-xfce-maximize.patch delete mode 100644 chromium-95.0.4638.69-missing-cstring.patch delete mode 100644 chromium-96-CommandLine-include.patch delete mode 100644 chromium-96-CouponDB-include.patch delete mode 100644 chromium-96-DrmRenderNodePathFinder-include.patch delete mode 100644 chromium-96-EnumTable-crash.patch delete mode 100644 chromium-96-RestrictedCookieManager-tuple.patch delete mode 100644 chromium-96-xfce-maximize.patch delete mode 100644 chromium-96.0.4664.45-no-const-elements-in-std-vector.patch delete mode 100644 chromium-98-MiraclePtr-gcc-ice.patch delete mode 100644 chromium-98-WaylandFrameManager-check.patch delete mode 100644 chromium-98.0.4758.102-gcc-12-subzero-fix.patch delete mode 100644 chromium-98.0.4758.80-el7-extra-operator==.patch delete mode 100644 chromium-98.0.4758.80-enable-hardware-accelerated-mjpeg.patch delete mode 100644 chromium-98.0.4758.80-epel7-old-cups.patch delete mode 100644 chromium-98.0.4758.80-epel7-old-headers-workarounds.patch delete mode 100644 chromium-98.0.4758.80-fedora-user-agent.patch delete mode 100644 chromium-98.0.4758.80-missing-utility-for-std-exchange.patch delete mode 100644 chromium-98.0.4758.80-remoting-extra-qualification.patch delete mode 100644 chromium-99-AutofillAssistantModelExecutor-NoDestructor.patch delete mode 100644 chromium-99.0.4844.51-fedora-user-agent.patch delete mode 100644 chromium-blink-gcc-diagnostic-pragma.patch delete mode 100644 chromium-clang_lto_visibility_public.patch delete mode 100644 chromium-fix-char_traits.patch delete mode 100644 chromium-freetype-2.11.patch delete mode 100644 chromium-quiche-invalid-offsetof.patch delete mode 100644 chromium-skia-no_sanitize.patch delete mode 100644 chromium-widevine-other-locations.patch delete mode 100644 e0b362edd9b49143b89fc76c4a31dd5603b6fbd0.patch delete mode 100644 enable-vaapi.patch diff --git a/7ae60470cdb0bea4548a0f5e8271b359f9450c79.patch b/7ae60470cdb0bea4548a0f5e8271b359f9450c79.patch deleted file mode 100644 index 983c6d1..0000000 --- a/7ae60470cdb0bea4548a0f5e8271b359f9450c79.patch +++ /dev/null @@ -1,567 +0,0 @@ -From 7ae60470cdb0bea4548a0f5e8271b359f9450c79 Mon Sep 17 00:00:00 2001 -From: Jeffrey Kardatzke -Date: Fri, 5 Feb 2021 03:33:58 +0000 -Subject: [PATCH] vaapi: Update for libva forwards compatibility - -There was a downstream patch applied for protected content for libva. -This patch is now upstreamed, but is not compatible with the downstream -version. This change will allow us to update libva in ChromeOS to an -intermediate version that'll be compatible with both downstream and -upstream. Then we can shift Chrome to the upstream API, and then remove -the downstream compatibility layer from ChromeOS after that and be on -upstream. - -BUG=b:174951211 -TEST=Chrome builds, protected content plays back - -Change-Id: Id06b21daf19a54b340236b354b5f4a828e2362de -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2672690 -Reviewed-by: Andres Calderon Jaramillo -Reviewed-by: J Kardatzke -Commit-Queue: J Kardatzke -Cr-Commit-Position: refs/heads/master@{#850949} ---- - .../h264_vaapi_video_decoder_delegate.cc | 7 + - .../vaapi/h265_vaapi_video_decoder_delegate.h | 7 + - media/gpu/vaapi/va_prot.sigs | 1 - - media/gpu/vaapi/vaapi_utils.h | 7 + - .../gpu/vaapi/vaapi_video_decoder_delegate.cc | 11 +- - .../gpu/vaapi/vaapi_video_decoder_delegate.h | 7 + - media/gpu/vaapi/vaapi_wrapper.cc | 30 +-- - media/gpu/vaapi/vaapi_wrapper.h | 7 + - .../va_protected_content.h | 225 ++---------------- - tools/metrics/histograms/enums.xml | 2 +- - 10 files changed, 75 insertions(+), 229 deletions(-) - -diff --git a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc -index 6e82506082ede..22fa594610540 100644 ---- a/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc -+++ b/media/gpu/vaapi/h264_vaapi_video_decoder_delegate.cc -@@ -4,6 +4,13 @@ - - #include "media/gpu/vaapi/h264_vaapi_video_decoder_delegate.h" - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - - #include "base/memory/aligned_memory.h" -diff --git a/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h b/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h -index d152c3df8a90a..986c2b530076e 100644 ---- a/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h -+++ b/media/gpu/vaapi/h265_vaapi_video_decoder_delegate.h -@@ -5,6 +5,13 @@ - #ifndef MEDIA_GPU_VAAPI_H265_VAAPI_VIDEO_DECODER_DELEGATE_H_ - #define MEDIA_GPU_VAAPI_H265_VAAPI_VIDEO_DECODER_DELEGATE_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - - #include "base/memory/scoped_refptr.h" -diff --git a/media/gpu/vaapi/va_prot.sigs b/media/gpu/vaapi/va_prot.sigs -index 1ffcd61778d11..dd13dafef1add 100644 ---- a/media/gpu/vaapi/va_prot.sigs -+++ b/media/gpu/vaapi/va_prot.sigs -@@ -9,5 +9,4 @@ VAStatus vaCreateProtectedSession(VADisplay dpy, VAConfigID config_id, VAProtect - VAStatus vaDestroyProtectedSession(VADisplay dpy, VAProtectedSessionID protected_session); - VAStatus vaAttachProtectedSession(VADisplay dpy, VAContextID reserved, VAProtectedSessionID protected_session); - VAStatus vaDetachProtectedSession(VADisplay dpy, VAContextID reserved); --VAStatus vaProtectedSessionHwUpdate(VADisplay dpy, VAProtectedSessionID protected_session, VABufferID buf_id); - VAStatus vaProtectedSessionExecute(VADisplay dpy, VAProtectedSessionID protected_session, VABufferID buf_id); -\ No newline at end of file -diff --git a/media/gpu/vaapi/vaapi_utils.h b/media/gpu/vaapi/vaapi_utils.h -index 9bcee23ce96d1..fd42ad2a148e3 100644 ---- a/media/gpu/vaapi/vaapi_utils.h -+++ b/media/gpu/vaapi/vaapi_utils.h -@@ -5,6 +5,13 @@ - #ifndef MEDIA_GPU_VAAPI_VAAPI_UTILS_H_ - #define MEDIA_GPU_VAAPI_VAAPI_UTILS_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - - #include "base/callback_forward.h" -diff --git a/media/gpu/vaapi/vaapi_video_decoder_delegate.cc b/media/gpu/vaapi/vaapi_video_decoder_delegate.cc -index 07b7b3ce03f1b..a0a8ea67bd8c6 100644 ---- a/media/gpu/vaapi/vaapi_video_decoder_delegate.cc -+++ b/media/gpu/vaapi/vaapi_video_decoder_delegate.cc -@@ -133,11 +133,13 @@ VaapiVideoDecoderDelegate::SetupDecryptDecode( - DCHECK_EQ(protected_session_state_, ProtectedSessionState::kCreated); - - if (encryption_scheme_ == EncryptionScheme::kCenc) { -- crypto_params->encryption_type = -- full_sample ? VA_ENCRYPTION_TYPE_CENC_CTR : VA_ENCRYPTION_TYPE_CTR_128; -+ crypto_params->encryption_type = full_sample -+ ? VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR -+ : VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR; - } else { -- crypto_params->encryption_type = -- full_sample ? VA_ENCRYPTION_TYPE_CENC_CBC : VA_ENCRYPTION_TYPE_CBC; -+ crypto_params->encryption_type = full_sample -+ ? VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC -+ : VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC; - } - - // For multi-slice we may already have segment information in here, so -@@ -224,6 +226,7 @@ VaapiVideoDecoderDelegate::SetupDecryptDecode( - memcpy(crypto_params->wrapped_decrypt_blob, - hw_key_data_map_[decrypt_config_->key_id()].data(), - DecryptConfig::kDecryptionKeySize); -+ crypto_params->key_blob_size = DecryptConfig::kDecryptionKeySize; - crypto_params->segment_info = &segments->front(); - #else // if BUILDFLAG(IS_CHROMEOS_ASH) - protected_session_state_ = ProtectedSessionState::kFailed; -diff --git a/media/gpu/vaapi/vaapi_video_decoder_delegate.h b/media/gpu/vaapi/vaapi_video_decoder_delegate.h -index 1e222a41c543c..aeb48a75bd2c9 100644 ---- a/media/gpu/vaapi/vaapi_video_decoder_delegate.h -+++ b/media/gpu/vaapi/vaapi_video_decoder_delegate.h -@@ -5,6 +5,13 @@ - #ifndef MEDIA_GPU_VAAPI_VAAPI_VIDEO_DECODER_DELEGATE_H_ - #define MEDIA_GPU_VAAPI_VAAPI_VIDEO_DECODER_DELEGATE_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - #include - #include -diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc -index 696ffaf00d866..cd2ee37998fbd 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.cc -+++ b/media/gpu/vaapi/vaapi_wrapper.cc -@@ -133,7 +133,7 @@ enum class VaapiFunctions { - kVADestroyProtectedSession = 26, - kVAAttachProtectedSession = 27, - kVADetachProtectedSession = 28, -- kVAProtectedSessionHwUpdate = 29, -+ kVAProtectedSessionHwUpdate_Deprecated = 29, - kVAProtectedSessionExecute = 30, - // Anything else is captured in this last entry. - kOtherVAFunction = 31, -@@ -176,7 +176,7 @@ constexpr std::arraypush_back( -- {VAConfigAttribEncryption, VA_ENCRYPTION_TYPE_CTR_128}); -+ {VAConfigAttribEncryption, VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR}); - required_attribs->push_back( - {VAConfigAttribDecProcessing, VA_DEC_PROCESSING}); - } -@@ -1852,13 +1852,14 @@ bool VaapiWrapper::CreateProtectedSession( - // We have to hold the VABuffer outside of the lock because its destructor - // will acquire the lock when it goes out of scope. We also must do this after - // we create the protected session. -- VAProtectedSessionHwUpdateBuffer hw_update_buf; -+ VAProtectedSessionExecuteBuffer hw_update_buf; - std::unique_ptr hw_update = CreateVABuffer( -- VAProtectedSessionHwUpdateBufferType, sizeof(hw_update_buf)); -+ VAProtectedSessionExecuteBufferType, sizeof(hw_update_buf)); - { - base::AutoLock auto_lock(*va_lock_); - constexpr size_t kHwIdentifierMaxSize = 64; - memset(&hw_update_buf, 0, sizeof(hw_update_buf)); -+ hw_update_buf.function_id = VA_TEE_EXEC_TEE_FUNCID_HW_UPDATE; - hw_update_buf.input.data_size = hw_config.size(); - hw_update_buf.input.data = - static_cast(const_cast(hw_config.data())); -@@ -1868,22 +1869,22 @@ bool VaapiWrapper::CreateProtectedSession( - if (!MapAndCopy_Locked( - hw_update->id(), - {hw_update->type(), hw_update->size(), &hw_update_buf})) { -- LOG(ERROR) << "Failed mapping HwUpdate buf"; -+ LOG(ERROR) << "Failed mapping Execute buf"; - return false; - } - -- VAStatus va_res = vaProtectedSessionHwUpdate( -+ VAStatus va_res = vaProtectedSessionExecute( - va_display_, va_protected_session_id_, hw_update->id()); -- VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAProtectedSessionHwUpdate, -+ VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAProtectedSessionExecute, - false); - - ScopedVABufferMapping mapping(va_lock_, va_display_, hw_update->id()); - if (!mapping.IsValid()) { -- LOG(ERROR) << "Failed mapping returned HwUpdate buf"; -+ LOG(ERROR) << "Failed mapping returned Execute buf"; - return false; - } - auto* hw_update_buf_out = -- reinterpret_cast(mapping.data()); -+ reinterpret_cast(mapping.data()); - if (!hw_update_buf_out->output.data_size) { - LOG(ERROR) << "Received empty HW identifier"; - return false; -@@ -1964,10 +1965,9 @@ bool VaapiWrapper::IsProtectedSessionDead() { - if (va_protected_session_id_ == VA_INVALID_ID) - return false; - -- constexpr uint32_t kVaTeeExecGpuFuncIdIsSessionAlive = 0x40000103; - uint8_t alive; - VAProtectedSessionExecuteBuffer tee_exec_buf = {}; -- tee_exec_buf.function_id = kVaTeeExecGpuFuncIdIsSessionAlive; -+ tee_exec_buf.function_id = VA_TEE_EXEC_TEE_FUNCID_IS_SESSION_ALIVE; - tee_exec_buf.input.data_size = 0; - tee_exec_buf.input.data = nullptr; - tee_exec_buf.output.data_size = sizeof(alive); -@@ -2518,7 +2518,7 @@ std::unique_ptr VaapiWrapper::CreateVABuffer(VABufferType type, - base::AutoLock auto_lock(*va_lock_); - TRACE_EVENT0("media,gpu", "VaapiWrapper::CreateVABufferLocked"); - #if BUILDFLAG(IS_CHROMEOS_ASH) -- VAContextID context_id = type == VAProtectedSessionHwUpdateBufferType -+ VAContextID context_id = type == VAProtectedSessionExecuteBufferType - ? va_protected_session_id_ - : va_context_id_; - #else -@@ -2807,8 +2807,8 @@ bool VaapiWrapper::Initialize(CodecMode mode, - for (auto& attrib : required_attribs) { - if (attrib.type == VAConfigAttribEncryption) { - attrib.value = (encryption_scheme == EncryptionScheme::kCbcs) -- ? VA_ENCRYPTION_TYPE_CBC -- : VA_ENCRYPTION_TYPE_CTR_128; -+ ? VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC -+ : VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR; - } - } - } -diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h -index 29b6864998240..f58723a0e852e 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.h -+++ b/media/gpu/vaapi/vaapi_wrapper.h -@@ -10,6 +10,13 @@ - #ifndef MEDIA_GPU_VAAPI_VAAPI_WRAPPER_H_ - #define MEDIA_GPU_VAAPI_VAAPI_WRAPPER_H_ - -+// TODO(jkardatzke): Remove this once the transition to the new upstream -+// protected content API is complete. This is used to bridge a transition -+// between the libva pull request we used, and what actually landed upstream. -+#ifndef LEGACY_UPSTREAM_PROTECTED_LIBVA -+#define LEGACY_UPSTREAM_PROTECTED_LIBVA -+#endif -+ - #include - #include - #include -diff --git a/third_party/libva_protected_content/va_protected_content.h b/third_party/libva_protected_content/va_protected_content.h -index dfea3ce94a285..c14a77da41389 100644 ---- a/third_party/libva_protected_content/va_protected_content.h -+++ b/third_party/libva_protected_content/va_protected_content.h -@@ -46,6 +46,7 @@ extern "C" { - * @{ - */ - -+#ifdef LEGACY_UPSTREAM_PROTECTED_LIBVA - /** - * - * A protected content function for processing cipher protected content. -@@ -97,16 +98,19 @@ extern "C" { - /** \brief Encryption parameters buffer for content protection usage */ - #define VAEncryptionParameterBufferType ((VABufferType)0x20001) - -+#endif // LEGACY_UPSTREAM_PROTECTED_LIBVA -+ - /**\brief CENC status paramter, used for vendor content protection only. - * The buffer corresponds to #VACencStatusParameters for va/cp*/ - #define VACencStatusParameterBufferType ((VABufferType)0x20002) - -+#ifdef LEGACY_UPSTREAM_PROTECTED_LIBVA - /** attribute values for VAConfigAttribEncryption */ - #define VA_ENCRYPTION_TYPE_NONE 0x00000000 --#define VA_ENCRYPTION_TYPE_CENC_CBC 0x00000002 --#define VA_ENCRYPTION_TYPE_CENC_CTR 0x00000008 --#define VA_ENCRYPTION_TYPE_CTR_128 0x00000010 --#define VA_ENCRYPTION_TYPE_CBC 0x00000020 -+#define VA_ENCRYPTION_TYPE_FULLSAMPLE_CBC 0x00000002 -+#define VA_ENCRYPTION_TYPE_FULLSAMPLE_CTR 0x00000008 -+#define VA_ENCRYPTION_TYPE_SUBSAMPLE_CTR 0x00000010 -+#define VA_ENCRYPTION_TYPE_SUBSAMPLE_CBC 0x00000020 - - /** attribute values for VAConfigAttribContentProtectionSessionMode */ - #define VA_PC_SESSION_MODE_NONE 0x00000000 -@@ -132,18 +136,11 @@ extern "C" { - #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, -+#endif // LEGACY_UPSTREAM_PROTECTED_LIBVA - -- // 0x40001000~0x400001FFF reserved for TEE Exec TEE function -- VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH = 0x40001000, -- --} VA_TEE_EXEC_FUNCTION_ID; -+/** \brief TeeExec Function Codes. */ -+#define VA_TEE_EXEC_TEE_FUNCID_HW_UPDATE 0x40000002 -+#define VA_TEE_EXEC_TEE_FUNCID_IS_SESSION_ALIVE 0x40000103 - - /** \brief values for the encryption return status. */ - typedef enum { -@@ -159,6 +156,7 @@ typedef enum { - VA_ENCRYPTION_STATUS_UNSUPPORT - } VAEncryptionStatus; - -+#ifdef LEGACY_UPSTREAM_PROTECTED_LIBVA - /** \brief structure for encrypted segment info. */ - typedef struct _VAEncryptionSegmentInfo { - /** \brief The offset relative to the start of the bitstream input in -@@ -212,23 +210,12 @@ typedef struct _VAEncryptionParameters { - * encrypted, i.e. the CENC or CBC1 scheme is being used. - */ - uint32_t blocks_stripe_clear; -+ /* Forwards compatibility */ -+ uint32_t key_blob_size; - /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; -+ uint32_t va_reserved[VA_PADDING_MEDIUM - sizeof(uint32_t)]; - } 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. -- uint8_t* -- dst_resource; // The Destination resource. This resource will contain the -- // encrypted data. It should be allocated by the caller. -- uint32_t width; // The width of the surface in Bytes. -- uint32_t height; // The height of the surface in Bytes (pay attention that -- // for NV12 the height(Bytes) = 1.5*height(Pixel)). -- VAEncryptionParameters* -- enc_params; // The encryption parameters as defined by application -- void* reserved_extension; // The reserved extension for future BLT operations --} VA_PROTECTED_BLT_PARAMS; -+#endif // LEGACY_UPSTREAM_PROTECTED_LIBVA - - /** \brief cenc status parameters, corresponding to - * #VACencStatusParameterBufferType*/ -@@ -311,184 +298,6 @@ typedef struct _VACencSliceParameterBufferH264 { - uint32_t va_reserved[VA_PADDING_MEDIUM]; - } VACencSliceParameterBufferH264; - --/** -- * \brief Slice parameter for HEVC cenc decode in main & main 10 profiles. -- * -- * This structure holds information for \c -- * slice_segment_header() and nal_unit_header() of the slice as -- * defined by the HEVC specification. -- * -- */ --typedef struct _VACencSliceParameterBufferHEVC { -- /** \brief Same as the HEVC bitstream syntax element. */ -- uint8_t nal_unit_type; -- /** \brief Corresponds to the HEVC bitstream syntax element. -- * Same as nuh_temporal_id_plus1 - 1*/ -- uint8_t nuh_temporal_id; -- /** \brief Slice type. -- * Corresponds to HEVC syntax element of the same name. */ -- uint8_t slice_type; -- /** \brief Same as the HEVC bitstream syntax element. */ -- uint16_t slice_pic_order_cnt_lsb; -- /** \brief Indicates EOS_NUT or EOB_NUT is detected in picture. */ -- uint16_t has_eos_or_eob; -- -- union { -- struct { -- /** \brief Same as the HEVC bitstream syntax element */ -- uint32_t no_output_of_prior_pics_flag : 1; -- /** \brief Same as the HEVC bitstream syntax element */ -- uint32_t pic_output_flag : 1; -- /** \brief Same as the HEVC bitstream syntax element */ -- uint32_t colour_plane_id : 2; -- /** \brief Reserved for future use, must be zero */ -- uint32_t reserved : 19; -- } bits; -- uint32_t value; -- } slice_fields; -- -- /** \brief Parameters for driver reference frame set */ -- /**@{*/ -- -- /** \brief number of entries as current before in short-term rps -- * Corresponds to NumPocStCurrBefore as the HEVC specification. */ -- uint8_t num_of_curr_before; -- /** \brief number of entries as current after in short-term rps -- * Corresponds to NumPocStCurrAfter as the HEVC specification. */ -- uint8_t num_of_curr_after; -- /** \brief number of entries as current total in short-term rps*/ -- uint8_t num_of_curr_total; -- /** \brief number of entries as foll in short-term rps -- * Corresponds to NumPocStFoll as the HEVC specification.*/ -- uint8_t num_of_foll_st; -- /** \brief number of entries as current in long-term rps -- * Corresponds to NumPocLtCurr as the HEVC specification. */ -- uint8_t num_of_curr_lt; -- /** \brief number of entries as foll in long-term rps -- * Corresponds to NumPocLtFoll as the HEVC specification.*/ -- uint8_t num_of_foll_lt; -- /** \brief delta poc as short-term current before -- * Corresponds to PocStCurrBefore as the HEVC specification. */ -- int32_t delta_poc_curr_before[8]; -- /** \brief delta poc as short-term current after -- * Corresponds to PocStCurrAfter, as the HEVC specification.*/ -- int32_t delta_poc_curr_after[8]; -- /** \brief delta poc as short-term current total */ -- int32_t delta_poc_curr_total[8]; -- /** \brief delta poc as short-term foll -- * Corresponds to PocStFoll as the HEVC specification.*/ -- int32_t delta_poc_foll_st[16]; -- /** \brief delta poc as long-term current -- * Corresponds to PocLtCurr as the HEVC specification.*/ -- int32_t delta_poc_curr_lt[8]; -- /** \brief delta poc as long-term foll -- * Corresponds to PocLtFoll, as the HEVC specification.*/ -- int32_t delta_poc_foll_lt[16]; -- /** \brief delta poc msb present flag -- * Same as the HEVC bitstream syntax element. */ -- uint8_t delta_poc_msb_present_flag[16]; -- /** \brief long-term reference RPS is used for reference by current picture*/ -- uint8_t is_lt_curr_total[8]; -- /** \brief index of reference picture list. [0] is for P and B slice, [1] is -- * for B slice*/ -- uint8_t ref_list_idx[2][16]; -- /**@}*/ -- /** \brief Pointer to the next #VACencSliceParameterBufferHEVC element, -- * or \c nullptr if there is none.*/ -- void* next; -- -- /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; --} VACencSliceParameterBufferHEVC; -- --/** -- * \brief uncompressed header for VP9 cenc decode -- * -- * This structure holds information for \c -- * uncompressed_header() as defined by the VP9 specification. -- * -- */ --typedef struct _VACencSliceParameterBufferVP9 { -- union { -- struct { -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t profile : 2; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t show_existing_frame_flag : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t frame_to_show_map_idx : 3; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t frame_type : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t show_frame : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t error_resilient_mode : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t intra_only : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t ten_or_twelve_bit : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t color_space : 3; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t color_range : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t subsampling_x : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t subsampling_y : 1; -- /** \brief Corresponds to ref_frame_idx[0] -- * as the VP9 specification */ -- uint32_t ref_frame_idx0 : 3; -- /** \brief Corresponds to ref_frame_sign_bias[LAST_FRAME] -- * as the VP9 specification */ -- uint32_t ref_frame_sign_bias0 : 1; -- /** \brief Corresponds to ref_frame_idx[1] -- * as the VP9 specification */ -- uint32_t ref_frame_idx1 : 3; -- /** \brief Corresponds to ref_frame_sign_bias[GOLDEN_FRAME] -- * as the VP9 specification */ -- uint32_t ref_frame_sign_bias1 : 1; -- /** \brief Corresponds to ref_frame_idx[2] -- * as the VP9 specification */ -- uint32_t ref_frame_idx2 : 3; -- /** \brief Corresponds to ref_frame_sign_bias[ALTREF_FRAME] -- * as the VP9 specification */ -- uint32_t ref_frame_sign_bias2 : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t frame_parallel_decoding_mode : 1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint32_t render_and_frame_size_different : 1; -- /** \brief Reserved for future use, must be zero */ -- uint32_t reserved : 1; -- } bits; -- uint32_t value; -- } header_fields; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t frame_width_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t frame_height_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t render_width_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint16_t render_height_minus1; -- /** \brief Same as the VP9 bitstream syntax element. */ -- uint8_t refresh_frame_flags; -- /** \brief Parameters for super frame*/ -- /**@{*/ -- /** \brief Superframe index, from 0 to frames_in_superframe_minus_1. -- * as the VP9 specification */ -- uint8_t sf_index; -- /** \brief Superframe size, corresponds to frame_sizes[ sf_index ] -- * as the VP9 specification */ -- uint32_t sf_frame_size; -- /**@}*/ -- /** \brief Pointer to the next #VACencSliceParameterBufferVP9 element, -- * or \c nullptr if there is none.*/ -- void* next; -- -- /** \brief Reserved bytes for future use, must be zero */ -- uint32_t va_reserved[VA_PADDING_MEDIUM]; --} VACencSliceParameterBufferVP9; -- - /** \brief Cenc Slice Buffer Type*/ - typedef enum { - /** \brief Parsed slice parameters \c VACencSliceParameterBuffer* */ -diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml -index e88db8a3f1201..c1bd0d7db925f 100644 ---- a/tools/metrics/histograms/enums.xml -+++ b/tools/metrics/histograms/enums.xml -@@ -77050,7 +77050,7 @@ Full version information for the fingerprint enum values: - - - -- -+ - - - diff --git a/chromium-100-GLImplementationParts-constexpr.patch b/chromium-100-GLImplementationParts-constexpr.patch deleted file mode 100644 index 437e672..0000000 --- a/chromium-100-GLImplementationParts-constexpr.patch +++ /dev/null @@ -1,92 +0,0 @@ -From d32156fd3773330eca99e9cba5e18db57aaa1a53 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sat, 19 Feb 2022 10:14:24 +0000 -Subject: [PATCH] GCC: make GLImplementationParts constructors constexpr - -Fix build error in GCC, as the constexpr operator== requires its -invocations to be also constexpr. ---- - ui/gl/gl_implementation.cc | 23 ----------------------- - ui/gl/gl_implementation.h | 25 +++++++++++++++++++++++-- - 2 files changed, 23 insertions(+), 25 deletions(-) - -diff --git a/ui/gl/gl_implementation.cc b/ui/gl/gl_implementation.cc -index e4e5456..3e4a47c 100644 ---- a/ui/gl/gl_implementation.cc -+++ b/ui/gl/gl_implementation.cc -@@ -26,29 +26,6 @@ - - namespace gl { - --ANGLEImplementation MakeANGLEImplementation( -- const GLImplementation gl_impl, -- const ANGLEImplementation angle_impl) { -- if (gl_impl == kGLImplementationEGLANGLE) { -- if (angle_impl == ANGLEImplementation::kNone) { -- return ANGLEImplementation::kDefault; -- } else { -- return angle_impl; -- } -- } else { -- return ANGLEImplementation::kNone; -- } --} -- --GLImplementationParts::GLImplementationParts( -- const ANGLEImplementation angle_impl) -- : gl(kGLImplementationEGLANGLE), -- angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} -- --GLImplementationParts::GLImplementationParts(const GLImplementation gl_impl) -- : gl(gl_impl), -- angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) {} -- - bool GLImplementationParts::IsValid() const { - if (angle == ANGLEImplementation::kNone) { - return (gl != kGLImplementationEGLANGLE); -diff --git a/ui/gl/gl_implementation.h b/ui/gl/gl_implementation.h -index 376ed58..a2513ea 100644 ---- a/ui/gl/gl_implementation.h -+++ b/ui/gl/gl_implementation.h -@@ -59,8 +59,14 @@ enum class ANGLEImplementation { - }; - - struct GL_EXPORT GLImplementationParts { -- explicit GLImplementationParts(const ANGLEImplementation angle_impl); -- explicit GLImplementationParts(const GLImplementation gl_impl); -+ constexpr explicit GLImplementationParts(const ANGLEImplementation angle_impl) -+ : gl(kGLImplementationEGLANGLE), -+ angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} -+ -+ constexpr explicit GLImplementationParts(const GLImplementation gl_impl) -+ : gl(gl_impl), -+ angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) { -+ } - - GLImplementation gl = kGLImplementationNone; - ANGLEImplementation angle = ANGLEImplementation::kNone; -@@ -80,6 +86,21 @@ struct GL_EXPORT GLImplementationParts { - bool IsValid() const; - bool IsAllowed(const std::vector& allowed_impls) const; - std::string ToString() const; -+ -+ private: -+ constexpr ANGLEImplementation MakeANGLEImplementation( -+ const GLImplementation gl_impl, -+ const ANGLEImplementation angle_impl) { -+ if (gl_impl == kGLImplementationEGLANGLE) { -+ if (angle_impl == ANGLEImplementation::kNone) { -+ return ANGLEImplementation::kDefault; -+ } else { -+ return angle_impl; -+ } -+ } else { -+ return ANGLEImplementation::kNone; -+ } -+ } - }; - - struct GL_EXPORT GLWindowSystemBindingInfo { --- -2.34.1 - diff --git a/chromium-100-InMilliseconds-constexpr.patch b/chromium-100-InMilliseconds-constexpr.patch deleted file mode 100644 index cf4562a..0000000 --- a/chromium-100-InMilliseconds-constexpr.patch +++ /dev/null @@ -1,97 +0,0 @@ -From da6e3f6071fdabeb96c0805626418414b4a4cea8 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 9 Feb 2022 17:56:21 +0000 -Subject: [PATCH] GCC: make base::InMilliseconds(F,RoundedUp) constexpr - -media::DecodeTimestamp uses it in several constexpr methods. ---- - base/time/time.cc | 24 ------------------------ - base/time/time.h | 30 +++++++++++++++++++++++++++--- - 2 files changed, 27 insertions(+), 27 deletions(-) - -diff --git a/base/time/time.cc b/base/time/time.cc -index 0de273e..e0acda2 100644 ---- a/base/time/time.cc -+++ b/base/time/time.cc -@@ -74,30 +74,6 @@ int TimeDelta::InDaysFloored() const { - : std::numeric_limits::max(); - } - --double TimeDelta::InMillisecondsF() const { -- if (!is_inf()) -- return static_cast(delta_) / Time::kMicrosecondsPerMillisecond; -- return (delta_ < 0) ? -std::numeric_limits::infinity() -- : std::numeric_limits::infinity(); --} -- --int64_t TimeDelta::InMilliseconds() const { -- if (!is_inf()) -- return delta_ / Time::kMicrosecondsPerMillisecond; -- return (delta_ < 0) ? std::numeric_limits::min() -- : std::numeric_limits::max(); --} -- --int64_t TimeDelta::InMillisecondsRoundedUp() const { -- if (!is_inf()) { -- const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; -- // Convert |result| from truncating to ceiling. -- return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) -- : result; -- } -- return delta_; --} -- - double TimeDelta::InMicrosecondsF() const { - if (!is_inf()) - return static_cast(delta_); -diff --git a/base/time/time.h b/base/time/time.h -index c027aab..fb1d78d 100644 ---- a/base/time/time.h -+++ b/base/time/time.h -@@ -216,9 +216,9 @@ class BASE_EXPORT TimeDelta { - constexpr int InMinutes() const; - constexpr double InSecondsF() const; - constexpr int64_t InSeconds() const; -- double InMillisecondsF() const; -- int64_t InMilliseconds() const; -- int64_t InMillisecondsRoundedUp() const; -+ constexpr double InMillisecondsF() const; -+ constexpr int64_t InMilliseconds() const; -+ constexpr int64_t InMillisecondsRoundedUp() const; - constexpr int64_t InMicroseconds() const { return delta_; } - double InMicrosecondsF() const; - constexpr int64_t InNanoseconds() const; -@@ -889,6 +889,30 @@ constexpr int64_t TimeDelta::InSeconds() const { - return is_inf() ? delta_ : (delta_ / Time::kMicrosecondsPerSecond); - } - -+constexpr double TimeDelta::InMillisecondsF() const { -+ if (!is_inf()) -+ return static_cast(delta_) / Time::kMicrosecondsPerMillisecond; -+ return (delta_ < 0) ? -std::numeric_limits::infinity() -+ : std::numeric_limits::infinity(); -+} -+ -+constexpr int64_t TimeDelta::InMilliseconds() const { -+ if (!is_inf()) -+ return delta_ / Time::kMicrosecondsPerMillisecond; -+ return (delta_ < 0) ? std::numeric_limits::min() -+ : std::numeric_limits::max(); -+} -+ -+constexpr int64_t TimeDelta::InMillisecondsRoundedUp() const { -+ if (!is_inf()) { -+ const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; -+ // Convert |result| from truncating to ceiling. -+ return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) -+ : result; -+ } -+ return delta_; -+} -+ - constexpr int64_t TimeDelta::InNanoseconds() const { - return base::ClampMul(delta_, Time::kNanosecondsPerMicrosecond); - } --- -2.34.1 - diff --git a/chromium-100-SCTHashdanceMetadata-move.patch b/chromium-100-SCTHashdanceMetadata-move.patch deleted file mode 100644 index 9039429..0000000 --- a/chromium-100-SCTHashdanceMetadata-move.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 364dc0067d1c20c7a2d21277a7ec0c4419d9bc11 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Wed, 23 Feb 2022 12:18:57 +0100 -Subject: [PATCH] GCC: explicitely move return value of SCTHashdanceMetadata::ToValue - -GCC rejects to do Return Value Optimization in -SCTHashdanceMetadata::ToValue, because the copy constructor is -deleted, and in that scenario RVO is rejected in GCC: - ../../services/network/sct_auditing/sct_auditing_reporter.cc: In member function ‘base::Value network::SCTAuditingReporter::SCTHashdanceMetadata::ToValue() const’: - ../../services/network/sct_auditing/sct_auditing_reporter.cc:191:10: error: use of deleted function ‘base::Value::Value(const base::Value&)’ - 191 | return value; - | ^~~~~ - In file included from ../../services/network/sct_auditing/sct_auditing_reporter.h:14, - from ../../services/network/sct_auditing/sct_auditing_reporter.cc:5: - ../../base/values.h:254:3: note: declared here - 254 | Value(const Value&) = delete; - | ^~~~~ - -Bug: 819294 -Change-Id: I111e51dd10eee7b909d4ac3c0911aac18a589166 ---- - -diff --git a/services/network/sct_auditing/sct_auditing_reporter.cc b/services/network/sct_auditing/sct_auditing_reporter.cc -index a057e8e..365527b 100644 ---- a/services/network/sct_auditing/sct_auditing_reporter.cc -+++ b/services/network/sct_auditing/sct_auditing_reporter.cc -@@ -188,7 +188,7 @@ - kLogIdKey, base::Base64Encode(base::as_bytes(base::make_span(log_id)))); - value.SetKey(kLogMMDKey, base::TimeDeltaToValue(log_mmd)); - value.SetKey(kCertificateExpiry, base::TimeToValue(certificate_expiry)); -- return value; -+ return std::move(value); - } - - // static diff --git a/chromium-100-macro-typo.patch b/chromium-100-macro-typo.patch deleted file mode 100644 index 833f869..0000000 --- a/chromium-100-macro-typo.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1183b14db8bd08d731ff3433c436887de00be3aa Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 18 Feb 2022 16:28:25 +0000 -Subject: [PATCH] Fix typo in non-clang GSL_OWNER macro - -GCC build fails because GSL_OWNER is not defined (GSL_OWNER_ was -the one actually declared). - -Bug: 819294 -Change-Id: I1c3d17cb1c08b9bc0e8a888452da9868c308ddb5 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3472080 -Reviewed-by: Daniel Cheng -Commit-Queue: Daniel Cheng -Cr-Commit-Position: refs/heads/main@{#972974} ---- - -diff --git a/base/compiler_specific.h b/base/compiler_specific.h -index eec5810..1ee8074 100644 ---- a/base/compiler_specific.h -+++ b/base/compiler_specific.h -@@ -386,7 +386,7 @@ - #define GSL_OWNER [[gsl::Owner]] - #define GSL_POINTER [[gsl::Pointer]] - #else --#define GSL_OWNER_ -+#define GSL_OWNER - #define GSL_POINTER - #endif - diff --git a/chromium-100.0.4896.60-missing-utility-for-std-exchange.patch b/chromium-100.0.4896.60-missing-utility-for-std-exchange.patch deleted file mode 100644 index 0bcd6c0..0000000 --- a/chromium-100.0.4896.60-missing-utility-for-std-exchange.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h.missing-utility-for-std-exchange chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h ---- chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h.missing-utility-for-std-exchange 2022-02-25 22:30:02.833745309 +0000 -+++ chromium-98.0.4758.102/base/third_party/symbolize/symbolize.h 2022-02-25 22:30:02.832745344 +0000 -@@ -58,6 +58,8 @@ - #include "config.h" - #include "glog/logging.h" - -+#include -+ - #ifdef HAVE_SYMBOLIZE - - #include diff --git a/chromium-100.0.4896.75-missing-include-tuple.patch b/chromium-100.0.4896.75-missing-include-tuple.patch deleted file mode 100644 index a354ad5..0000000 --- a/chromium-100.0.4896.75-missing-include-tuple.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-100.0.4896.75/net/base/address_list.h.missing-include-tuple chromium-100.0.4896.75/net/base/address_list.h ---- chromium-100.0.4896.75/net/base/address_list.h.missing-include-tuple 2022-04-08 10:03:31.950894611 -0400 -+++ chromium-100.0.4896.75/net/base/address_list.h 2022-04-08 10:03:43.926970267 -0400 -@@ -8,6 +8,7 @@ - #include - - #include -+#include - #include - #include - diff --git a/chromium-100.0.4896.75-missing-include-vector.patch b/chromium-100.0.4896.75-missing-include-vector.patch deleted file mode 100644 index 4e524d8..0000000 --- a/chromium-100.0.4896.75-missing-include-vector.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h.missing-vector chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h ---- chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h.missing-vector 2022-04-11 18:10:09.979195562 -0400 -+++ chromium-100.0.4896.75/media/capabilities/webrtc_video_stats_db.h 2022-04-11 18:10:30.261338074 -0400 -@@ -7,6 +7,7 @@ - - #include - #include -+#include - - #include "base/callback_forward.h" - #include "base/check.h" diff --git a/chromium-100.0.4896.75-old-xkb.patch b/chromium-100.0.4896.75-old-xkb.patch deleted file mode 100644 index e12b244..0000000 --- a/chromium-100.0.4896.75-old-xkb.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc.old-xkb chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc ---- chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc.old-xkb 2022-04-08 10:12:14.725197002 -0400 -+++ chromium-100.0.4896.75/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine.cc 2022-04-08 10:13:04.512511489 -0400 -@@ -31,14 +31,6 @@ - #include "ui/events/keycodes/keyboard_code_conversion.h" - #include "ui/events/keycodes/keyboard_code_conversion_xkb.h" - --// xkb_keymap_key_get_mods_for_level is relatively new (introduced in ver 1.0, --// Sep 6, 2020), thus it is not available on some platform, such as Ubuntu --// 18.04, which we still supports. --// Thus declare the function as weak here, so we can check the availability on --// runtime. --extern "C" __attribute__((weak)) decltype( -- xkb_keymap_key_get_mods_for_level) xkb_keymap_key_get_mods_for_level; -- - namespace ui { - - namespace { -@@ -925,18 +917,10 @@ void XkbKeyboardLayoutEngine::SetKeymap( - const xkb_keysym_t* keysyms; - int num_syms = xkb_keymap_key_get_syms_by_level(keymap, keycode, layout, - level, &keysyms); -- if (xkb_keymap_key_get_mods_for_level) { -- xkb_mod_mask_t masks[100]; // Large enough buffer. -- int num_mods = xkb_keymap_key_get_mods_for_level( -- keymap, keycode, layout, level, masks, std::size(masks)); -- AddEntries(base::make_span(keysyms, num_syms), -- base::make_span(masks, num_mods), keycode); -- } else { - // If not, unfortunately, there's no convenient/efficient way - // to take the possible masks. Thus, use mask 0 always. - constexpr xkb_mod_mask_t kMask[] = {0}; - AddEntries(base::make_span(keysyms, num_syms), kMask, keycode); -- } - } - } - } -@@ -1000,10 +984,7 @@ int XkbKeyboardLayoutEngine::UpdateModif - - DomCode XkbKeyboardLayoutEngine::GetDomCodeByKeysym(uint32_t keysym, - uint32_t modifiers) const { -- // If xkb_keymap_key_get_mods_for_level is not available, all entries are -- // stored with modifiers mask is 0. -- if (!xkb_keymap_key_get_mods_for_level) -- modifiers = 0; -+ modifiers = 0; - - auto iter = xkb_keysym_map_.find(XkbKeysymMapKey(keysym, modifiers)); - if (iter == xkb_keysym_map_.end()) { diff --git a/chromium-100.0.4896.75-remoting-extra-qualification.patch b/chromium-100.0.4896.75-remoting-extra-qualification.patch deleted file mode 100644 index 9d4b625..0000000 --- a/chromium-100.0.4896.75-remoting-extra-qualification.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff -up chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h ---- chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-04-05 20:02:25.525814644 +0000 -+++ chromium-100.0.4896.75/remoting/host/mojom/remoting_mojom_traits.h 2022-04-07 13:35:28.490655471 +0000 -@@ -30,7 +30,7 @@ - namespace mojo { - - template <> --class mojo::StructTraits { -+class StructTraits { - public: - static bool value(bool value) { return value; } - -@@ -41,7 +41,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static float value(float value) { return value; } - -@@ -52,7 +52,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static int32_t value(int32_t value) { return value; } - -@@ -64,7 +64,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static uint32_t value(uint32_t value) { return value; } - -@@ -76,7 +76,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool use_update_notifications( -@@ -101,7 +101,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool enable_curtaining( -@@ -161,7 +161,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t width(const ::webrtc::DesktopSize& size) { -@@ -177,7 +177,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } -@@ -243,7 +243,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static const std::string& mime_type( -@@ -261,7 +261,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool pressed(const ::remoting::protocol::KeyEvent& event) { -@@ -297,7 +297,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static absl::optional x( -@@ -386,7 +386,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const ::webrtc::DesktopSize& dimensions( -@@ -404,7 +404,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const std::string& text(const ::remoting::protocol::TextEvent& event) { -@@ -416,7 +416,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { -@@ -493,7 +493,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TouchEvent::TouchEventType event_type( -@@ -553,7 +553,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TransportRoute::RouteType type( diff --git a/chromium-101.0.4951.41-remoting-extra-qualification.patch b/chromium-101.0.4951.41-remoting-extra-qualification.patch deleted file mode 100644 index c21ac38..0000000 --- a/chromium-101.0.4951.41-remoting-extra-qualification.patch +++ /dev/null @@ -1,165 +0,0 @@ -diff -up chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h ---- chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-04-27 20:08:44.312318089 +0000 -+++ chromium-101.0.4951.41/remoting/host/mojom/remoting_mojom_traits.h 2022-04-28 16:11:30.308481321 +0000 -@@ -32,7 +32,7 @@ - namespace mojo { - - template <> --class mojo::StructTraits { -+class StructTraits { - public: - static bool value(bool value) { return value; } - -@@ -43,7 +43,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static float value(float value) { return value; } - -@@ -54,7 +54,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static int32_t value(int32_t value) { return value; } - -@@ -66,7 +66,7 @@ class mojo::StructTraits --class mojo::StructTraits { -+class StructTraits { - public: - static uint32_t value(uint32_t value) { return value; } - -@@ -78,7 +78,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool use_update_notifications( -@@ -103,7 +103,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool enable_curtaining( -@@ -200,7 +200,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static int32_t left(const ::webrtc::DesktopRect& rect) { return rect.left(); } -@@ -220,7 +220,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t width(const ::webrtc::DesktopSize& size) { -@@ -236,7 +236,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } -@@ -475,7 +475,7 @@ struct EnumTraits --class mojo::StructTraits> { - public: - static int32_t timestamp( -@@ -513,7 +513,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const std::string& mime_type( -@@ -531,7 +531,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static bool pressed(const ::remoting::protocol::KeyEvent& event) { -@@ -567,7 +567,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static absl::optional x( -@@ -656,7 +656,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const ::webrtc::DesktopSize& dimensions( -@@ -674,7 +674,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static const std::string& text(const ::remoting::protocol::TextEvent& event) { -@@ -686,7 +686,7 @@ class mojo::StructTraits --class mojo::StructTraits { - public: - static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { -@@ -763,7 +763,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TouchEvent::TouchEventType event_type( -@@ -823,7 +823,7 @@ struct EnumTraits --class mojo::StructTraits { - public: - static ::remoting::protocol::TransportRoute::RouteType type( diff --git a/chromium-102-fenced_frame_utils-include.patch b/chromium-102-fenced_frame_utils-include.patch deleted file mode 100644 index 61f904b..0000000 --- a/chromium-102-fenced_frame_utils-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7c135a291184b59a59643ed6a8c40b4405ac0175 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 27 Apr 2022 16:01:01 +0000 -Subject: [PATCH] IWYU: add cstring for std::strlen in fenced_frame_utils - ---- - third_party/blink/common/fenced_frame/fenced_frame_utils.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc -index 9e2d3ad..68f4823 100644 ---- a/third_party/blink/common/fenced_frame/fenced_frame_utils.cc -+++ b/third_party/blink/common/fenced_frame/fenced_frame_utils.cc -@@ -4,6 +4,8 @@ - - #include "third_party/blink/public/common/fenced_frame/fenced_frame_utils.h" - -+#include -+ - #include "base/guid.h" - #include "base/strings/string_util.h" - --- -2.35.1 - diff --git a/chromium-102-regex_pattern-array.patch b/chromium-102-regex_pattern-array.patch deleted file mode 100644 index 18058b1..0000000 --- a/chromium-102-regex_pattern-array.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/components/autofill/core/browser/BUILD.gn -+++ b/components/autofill/core/browser/BUILD.gn -@@ -54,6 +54,11 @@ action("regex_patterns_inl_h") { - } - - static_library("browser") { -+ if (is_clang) { -+ cflags = [ -+ "-fbracket-depth=1000", -+ ] -+ } - sources = [ - "address_normalization_manager.cc", - "address_normalization_manager.h", diff --git a/chromium-102-swiftshader-template-instantiation.patch b/chromium-102-swiftshader-template-instantiation.patch deleted file mode 100644 index 13584d5..0000000 --- a/chromium-102-swiftshader-template-instantiation.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 89c498edff683c68df6be0dd224848f4b4af5ae7 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Mon, 25 Apr 2022 13:25:02 +0200 -Subject: [PATCH] GCC: add explicit template instantiation - -Bug: b/223668065 -Change-Id: I97ea197273f2b46b6a47a9fdfbbfb5065fbd8edd -Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/65268 -Kokoro-Result: kokoro -Reviewed-by: Nicolas Capens -Reviewed-by: Alexis Hétu -Commit-Queue: Alexis Hétu -Tested-by: Alexis Hétu ---- - -diff --git a/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp b/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp -index fe87eee..94cac3b 100644 ---- a/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp -+++ b/third_party/swiftshader/third_party/subzero/src/IceInstX8632.cpp -@@ -710,6 +710,11 @@ - } - } - -+template void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, -+ const Variable *Var, -+ const Operand *Src, -+ const GPREmitterRegOp &Emitter); -+ - void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr, - const Operand *Src, const GPREmitterAddrOp &Emitter) { - Assembler *Asm = Func->getAssembler(); -diff --git a/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp b/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp -index 9d655a1..f7097d2 100644 ---- a/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp -+++ b/third_party/swiftshader/third_party/subzero/src/IceInstX8664.cpp -@@ -698,6 +698,11 @@ - } - } - -+template void emitIASRegOpTyGPR(const Cfg *Func, Type Ty, -+ const Variable *Var, -+ const Operand *Src, -+ const GPREmitterRegOp &Emitter); -+ - void emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, const AsmAddress &Addr, - const Operand *Src, const GPREmitterAddrOp &Emitter) { - Assembler *Asm = Func->getAssembler(); diff --git a/chromium-102-symbolize-include.patch b/chromium-102-symbolize-include.patch deleted file mode 100644 index f4ac31d..0000000 --- a/chromium-102-symbolize-include.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9dd0503835dc875807ab63efb1f477bffed2a852 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Mon, 25 Apr 2022 23:18:30 +0000 -Subject: [PATCH] IWYU: add utility for std::exchange - -Bug: 957519 -Change-Id: I307d520fdc34d2452018ed32a505e7e519739410 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3604643 -Reviewed-by: Wez -Commit-Queue: Stephan Hartmann -Cr-Commit-Position: refs/heads/main@{#995855} ---- - -diff --git a/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch b/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch -index b7376d8..72900a19 100644 ---- a/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch -+++ b/base/third_party/symbolize/patches/0001-expose-object-file-helpers.patch -@@ -118,11 +118,12 @@ - index c6f9ec4360ede..00cfa022219e6 100644 - --- a/base/third_party/symbolize/symbolize.h - +++ b/base/third_party/symbolize/symbolize.h --@@ -60,6 +60,8 @@ -+@@ -60,6 +60,9 @@ - - #ifdef HAVE_SYMBOLIZE - - +#include -++#include - + - #if defined(__ELF__) // defined by gcc - #if defined(__OpenBSD__) -diff --git a/base/third_party/symbolize/symbolize.h b/base/third_party/symbolize/symbolize.h -index 99029a9..278078f 100644 ---- a/base/third_party/symbolize/symbolize.h -+++ b/base/third_party/symbolize/symbolize.h -@@ -61,6 +61,7 @@ - #ifdef HAVE_SYMBOLIZE - - #include -+#include - - #if defined(__ELF__) // defined by gcc - #if defined(__OpenBSD__) diff --git a/chromium-103-FrameLoadRequest-type.patch b/chromium-103-FrameLoadRequest-type.patch deleted file mode 100644 index cdace4b..0000000 --- a/chromium-103-FrameLoadRequest-type.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 491bf840da4f76fa3591cc0aa2f4c19cdbe57ec4 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Thu, 12 May 2022 11:58:29 +0000 -Subject: [PATCH] GCC: fix ambiguous references in blink::FrameLoadRequest - -Add namespace to avoid confusion. ---- - third_party/blink/renderer/core/loader/frame_load_request.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/core/loader/frame_load_request.h b/third_party/blink/renderer/core/loader/frame_load_request.h -index 444b25c..a86814d 100644 ---- a/third_party/blink/renderer/core/loader/frame_load_request.h -+++ b/third_party/blink/renderer/core/loader/frame_load_request.h -@@ -179,7 +179,7 @@ struct CORE_EXPORT FrameLoadRequest { - impression_ = impression; - } - -- const absl::optional& Impression() const { return impression_; } -+ const absl::optional& Impression() const { return impression_; } - - bool CanDisplay(const KURL&) const; - --- -2.35.1 - diff --git a/chromium-103-SubstringSetMatcher-packed.patch b/chromium-103-SubstringSetMatcher-packed.patch deleted file mode 100644 index ae27bfc..0000000 --- a/chromium-103-SubstringSetMatcher-packed.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3d274856e792a361336eb4ae1670bc9c1905f0cb Mon Sep 17 00:00:00 2001 -From: Steinar H. Gunderson -Date: Thu, 12 May 2022 16:42:40 +0200 -Subject: [PATCH] Make AhoCorasickNode 4-aligned. - -This should fix an issue where std::vector could allocate unaligned -memory for AhoCorasickNode, and we'd then return a pointer to -inline_edges, where a caller would expect the pointer to be aligned -but it wasn't. - -Change-Id: Id9dff044c61f8e46062c63b8480b18ebc68c4862 ---- - -diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc -index e110047..ef0b750 100644 ---- a/base/substring_set_matcher/substring_set_matcher.cc -+++ b/base/substring_set_matcher/substring_set_matcher.cc -@@ -424,7 +424,12 @@ - edges_.inline_edges[num_edges()] = AhoCorasickEdge{label, node}; - if (label == kFailureNodeLabel) { - // Make sure that kFailureNodeLabel is first. -- std::swap(edges_.inline_edges[0], edges_.inline_edges[num_edges()]); -+ // NOTE: We don't use std::swap here, because GCC -+ // doesn't understand that inline_edges[] is 4-aligned -+ // and gives a warning. -+ AhoCorasickEdge temp = edges_.inline_edges[0]; -+ edges_.inline_edges[0] = edges_.inline_edges[num_edges()]; -+ edges_.inline_edges[num_edges()] = temp; - } - --num_free_edges_; - return; -diff --git a/base/substring_set_matcher/substring_set_matcher.cc b/base/substring_set_matcher/substring_set_matcher.cc -index e110047..ef0b750 100644 ---- a/base/substring_set_matcher/substring_set_matcher.h -+++ b/base/substring_set_matcher/substring_set_matcher.h -@@ -154,8 +154,9 @@ - static constexpr uint32_t kEmptyLabel = 0x103; - - // A node in the trie, packed tightly together so that it occupies 12 bytes -- // (both on 32- and 64-bit platforms). -- class AhoCorasickNode { -+ // (both on 32- and 64-bit platforms), but aligned to at least 4 (see the -+ // comment on edges_). -+ class alignas(AhoCorasickEdge) AhoCorasickNode { - public: - AhoCorasickNode(); - ~AhoCorasickNode(); -@@ -178,6 +179,10 @@ - NodeID GetEdgeNoInline(uint32_t label) const; - void SetEdge(uint32_t label, NodeID node); - const AhoCorasickEdge* edges() const { -+ // NOTE: Returning edges_.inline_edges here is fine, because it's -+ // the first thing in the struct (see the comment on edges_). -+ DCHECK_EQ(0u, reinterpret_cast(edges_.inline_edges) % -+ alignof(AhoCorasickEdge)); - return edges_capacity_ == 0 ? edges_.inline_edges : edges_.edges; - } - -@@ -258,6 +263,11 @@ - // in the first slot if it exists (ie., is not equal to kRootID), since we - // need to access that label during every single node we look at during - // traversal. -+ // -+ // NOTE: Keep this the first member in the struct, so that inline_edges gets -+ // 4-aligned (since the class is marked as such, despite being packed. -+ // Otherwise, edges() can return an unaligned pointer marked as aligned -+ // (the unalignedness gets lost). - static constexpr int kNumInlineEdges = 2; - union { - // Out-of-line edge storage, having room for edges_capacity_ elements. diff --git a/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch b/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch deleted file mode 100644 index e24f9d8..0000000 --- a/chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-103.0.5060.53/tools/grit/grit/util.py.fix-python3 chromium-103.0.5060.53/tools/grit/grit/util.py ---- chromium-103.0.5060.53/tools/grit/grit/util.py.fix-python3 2022-06-30 19:38:05.483590098 +0000 -+++ chromium-103.0.5060.53/tools/grit/grit/util.py 2022-06-30 19:38:14.024304827 +0000 -@@ -209,7 +209,7 @@ def ReadFile(filename, encoding): - mode = 'rb' - encoding = None - else: -- mode = 'rU' -+ mode = 'r' - - with io.open(filename, mode, encoding=encoding) as f: - return f.read() diff --git a/chromium-104.0.5112.101-system-minizip-header-fix.patch b/chromium-104.0.5112.101-system-minizip-header-fix.patch deleted file mode 100644 index acda436..0000000 --- a/chromium-104.0.5112.101-system-minizip-header-fix.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip 2022-08-18 23:16:03.451728329 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc 2022-08-18 23:16:23.966049114 +0000 -@@ -21,8 +21,8 @@ limitations under the License. - #include "absl/status/status.h" // from @com_google_absl - #include "absl/strings/str_format.h" // from @com_google_absl - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" --#include "contrib/minizip/unzip.h" -+#include -+#include - #include "flatbuffers/flatbuffers.h" // from @flatbuffers - #include "tensorflow/lite/schema/schema_generated.h" - #include "tensorflow_lite_support/cc/common.h" -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip 2022-08-18 23:16:52.463105585 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc 2022-08-18 23:17:12.849430606 +0000 -@@ -19,8 +19,8 @@ limitations under the License. - #include - #include - --#include "contrib/minizip/ioapi.h" --#include "contrib/minizip/zip.h" -+#include -+#include - #include "flatbuffers/flatbuffers.h" // from @flatbuffers - #include "tensorflow/lite/schema/schema_generated.h" - #include "tensorflow_lite_support/cc/common.h" -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip 2022-08-18 23:18:14.697382850 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc 2022-08-18 23:18:27.148970583 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip 2022-08-18 20:14:28.116854693 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h 2022-08-18 20:14:28.115854726 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip 2022-08-18 23:19:14.807392634 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc 2022-08-18 23:19:31.177850617 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { -diff -up chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h ---- chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip 2022-08-18 20:14:28.116854693 +0000 -+++ chromium-104.0.5112.101/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h 2022-08-18 20:14:28.116854693 +0000 -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "contrib/minizip/ioapi.h" -+#include - - namespace tflite { - namespace metadata { diff --git a/chromium-105-AdjustMaskLayerGeometry-ceilf.patch b/chromium-105-AdjustMaskLayerGeometry-ceilf.patch deleted file mode 100644 index e347fa0..0000000 --- a/chromium-105-AdjustMaskLayerGeometry-ceilf.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 385068e1eb1cde9629d18ceee1fd13255c70c806 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 22 Jul 2022 18:29:24 +0000 -Subject: [PATCH] libstdc++: use math.h in blink::AdjustMaskLayerGeometry - -libstdc++ does not implement std::ceilf. Use ceilf from math.h -instead. - -Bug: 957519 -Change-Id: I03b5e0a1eb73fdeae34d5f3d2f2e9c8871c52543 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3782841 -Commit-Queue: Stephan Hartmann -Reviewed-by: Juanmi Huertas -Cr-Commit-Position: refs/heads/main@{#1027342} ---- - -diff --git a/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc b/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc -index 4abe1d9..b5b43da 100644 ---- a/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc -+++ b/third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.cc -@@ -4,8 +4,9 @@ - - #include "third_party/blink/renderer/platform/graphics/compositing/adjust_mask_layer_geometry.h" - -+#include - #include --#include -+ - #include "third_party/blink/renderer/platform/graphics/paint/geometry_mapper.h" - #include "third_party/blink/renderer/platform/graphics/paint/transform_paint_property_node.h" - #include "ui/gfx/geometry/size.h" -@@ -29,8 +30,7 @@ - // Map a screen pixel into the layer. - GeometryMapper::SourceToDestinationRect(TransformPaintPropertyNode::Root(), - transform, pixel_rect); -- int outset = -- std::ceilf(std::max(pixel_rect.width(), pixel_rect.height()) * 2); -+ int outset = ceilf(std::max(pixel_rect.width(), pixel_rect.height()) * 2); - // Don't expand too far in extreme cases. - constexpr int kMaxOutset = 1000; - outset = std::min(kMaxOutset, outset); diff --git a/chromium-105-Bitmap-include.patch b/chromium-105-Bitmap-include.patch deleted file mode 100644 index 75d0161..0000000 --- a/chromium-105-Bitmap-include.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8959d9d1c6e4ed083c278ab9e8def20a409052b9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Fri, 22 Jul 2022 16:51:28 +0000 -Subject: [PATCH] IWYU: add memory for std::unique_ptr in disk_cache::Bitmap - -Bug: 957519 -Change-Id: I123198345e5f9062329b7eabe980f312525c268b -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3779530 -Reviewed-by: Maks Orlovich -Commit-Queue: Stephan Hartmann -Cr-Commit-Position: refs/heads/main@{#1027289} ---- - -diff --git a/net/disk_cache/blockfile/bitmap.h b/net/disk_cache/blockfile/bitmap.h -index 07806cf..9ffa98b9 100644 ---- a/net/disk_cache/blockfile/bitmap.h -+++ b/net/disk_cache/blockfile/bitmap.h -@@ -8,6 +8,8 @@ - #include - #include - -+#include -+ - #include "base/memory/raw_ptr.h" - #include "net/base/net_export.h" - diff --git a/chromium-105-Trap-raw_ptr.patch b/chromium-105-Trap-raw_ptr.patch deleted file mode 100644 index d784052..0000000 --- a/chromium-105-Trap-raw_ptr.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 632aad0141fe0008fa9babba4f1f514222fa2cda Mon Sep 17 00:00:00 2001 -From: Matthew Denton -Date: Mon, 01 Aug 2022 21:45:28 +0000 -Subject: [PATCH] [Linux sandbox] cleanup TrapRegistry's "atomics" - -TrapRegistry uses some hacky asm statements as compiler memory barriers -to prevent a signal handler from accessing a deleted array (in the case -that the store of the pointer to the new array is reordered after the -deletion of the old array and the signal handler grabs a pointer to the -old array after it's deleted). - -We have std::atomic_signal_fence for this now, so this uses it. - -This also changes the |trap_array_| pointer back to a raw pointer from -a raw_ptr. Usage of raw_ptr might be awkward as it is also accessed in -a signal handler, and in fact |trap_array_| is an owning pointer -anyway so raw_ptr is unnecessary. - -This came up in https://crrev.com/c/3789266 in which the use of raw_ptr -with the hacky compiler barriers was not supported by GCC. - -SMALL ADDITION: This also removes raw_ptr from the arch_sigsys struct; it was a raw pointer to a code instruction and likely would not have worked. It is also never dereferenced (only its value is used). - -NOTE 1: In technicality, all non-local variables accessed by the signal -handler must be either lock-free std::atomics or volatile sig_atomic_t. -None of Chrome's code does this and in fact, glibc just typedefs -sig_atomic_t to int. The std::atomic_signal_fence is enough on any -architecture. - -NOTE 2: This race condition is unlikely to ever happen even without -compiler barriers. The only time we might be modifying the -|trap_array_| and also accessing it from a signal handler, we must -have already applied a seccomp sandbox that uses traps, and now be -applying another one that uses traps. And to replace the deleted object, -the second sandbox must be getting applied in a multithreaded -environment, otherwise there would be no allocations after the free. - -Bug: 819294 - -Change-Id: I9f1cd417446dd863805a303e9b111bc862cb9ae2 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3788911 -Commit-Queue: Matthew Denton -Reviewed-by: Tom Sepez -Cr-Commit-Position: refs/heads/main@{#1030277} ---- - -diff --git a/sandbox/linux/seccomp-bpf/trap.cc b/sandbox/linux/seccomp-bpf/trap.cc -index cb71a9b..b0c0257 100644 ---- a/sandbox/linux/seccomp-bpf/trap.cc -+++ b/sandbox/linux/seccomp-bpf/trap.cc -@@ -12,12 +12,13 @@ - #include - - #include -+#include - #include - #include - - #include "base/compiler_specific.h" - #include "base/logging.h" --#include "base/memory/raw_ptr.h" -+#include "base/memory/raw_ptr_exclusion.h" - #include "build/build_config.h" - #include "sandbox/linux/bpf_dsl/seccomp_macros.h" - #include "sandbox/linux/seccomp-bpf/die.h" -@@ -29,7 +30,9 @@ - namespace { - - struct arch_sigsys { -- raw_ptr ip; -+ // This is not raw_ptr because it is a pointer to a code address given to us -+ // by the kernel. -+ RAW_PTR_EXCLUSION void* ip; - int nr; - unsigned int arch; - }; -@@ -77,11 +80,7 @@ - - namespace sandbox { - --Trap::Trap() -- : trap_array_(nullptr), -- trap_array_size_(0), -- trap_array_capacity_(0), -- has_unsafe_traps_(false) { -+Trap::Trap() { - // Set new SIGSYS handler - struct sigaction sa = {}; - // In some toolchain, sa_sigaction is not declared in struct sigaction. -@@ -239,7 +238,7 @@ - struct arch_seccomp_data data = { - static_cast(SECCOMP_SYSCALL(ctx)), - SECCOMP_ARCH, -- reinterpret_cast(sigsys.ip.get()), -+ reinterpret_cast(sigsys.ip), - {static_cast(SECCOMP_PARM1(ctx)), - static_cast(SECCOMP_PARM2(ctx)), - static_cast(SECCOMP_PARM3(ctx)), -@@ -333,24 +332,11 @@ - TrapKey* new_trap_array = new TrapKey[trap_array_capacity_]; - std::copy_n(old_trap_array, trap_array_size_, new_trap_array); - -- // Language specs are unclear on whether the compiler is allowed to move -- // the "delete[]" above our preceding assignments and/or memory moves, -- // iff the compiler believes that "delete[]" doesn't have any other -- // global side-effects. -- // We insert optimization barriers to prevent this from happening. -- // The first barrier is probably not needed, but better be explicit in -- // what we want to tell the compiler. -- // The clang developer mailing list couldn't answer whether this is a -- // legitimate worry; but they at least thought that the barrier is -- // sufficient to prevent the (so far hypothetical) problem of re-ordering -- // of instructions by the compiler. -- // -- // TODO(mdempsky): Try to clean this up using base/atomicops or C++11 -- // atomics; see crbug.com/414363. -- asm volatile("" : "=r"(new_trap_array) : "0"(new_trap_array) : "memory"); - trap_array_ = new_trap_array; -- asm volatile("" : "=r"(trap_array_) : "0"(trap_array_) : "memory"); -- -+ // Prevent the compiler from moving delete[] before the store of the -+ // |new_trap_array|, otherwise a concurrent SIGSYS may see a |trap_array_| -+ // that still points to |old_trap_array| after it has been deleted. -+ std::atomic_signal_fence(std::memory_order_release); - delete[] old_trap_array; - } - -diff --git a/sandbox/linux/seccomp-bpf/trap.h b/sandbox/linux/seccomp-bpf/trap.h -index cc17d26..37d2029 100644 ---- a/sandbox/linux/seccomp-bpf/trap.h -+++ b/sandbox/linux/seccomp-bpf/trap.h -@@ -10,7 +10,7 @@ - - #include - --#include "base/memory/raw_ptr.h" -+#include "base/memory/raw_ptr_exclusion.h" - #include "sandbox/linux/bpf_dsl/trap_registry.h" - #include "sandbox/linux/system_headers/linux_signal.h" - #include "sandbox/sandbox_export.h" -@@ -75,11 +75,15 @@ - // events. - static Trap* global_trap_; - -- TrapIds trap_ids_; // Maps from TrapKeys to numeric ids -- raw_ptr trap_array_; // Array of TrapKeys indexed by ids -- size_t trap_array_size_; // Currently used size of array -- size_t trap_array_capacity_; // Currently allocated capacity of array -- bool has_unsafe_traps_; // Whether unsafe traps have been enabled -+ TrapIds trap_ids_; // Maps from TrapKeys to numeric ids -+ // Array of TrapKeys indexed by ids. -+ // -+ // This is not a raw_ptr as it is an owning pointer anyway, and is meant to be -+ // used between normal code and signal handlers. -+ RAW_PTR_EXCLUSION TrapKey* trap_array_ = nullptr; -+ size_t trap_array_size_ = 0; // Currently used size of array -+ size_t trap_array_capacity_ = 0; // Currently allocated capacity of array -+ bool has_unsafe_traps_ = false; // Whether unsafe traps have been enabled - }; - - } // namespace sandbox diff --git a/chromium-105-browser_finder-include.patch b/chromium-105-browser_finder-include.patch deleted file mode 100644 index ab46427..0000000 --- a/chromium-105-browser_finder-include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 41dca8bd0c5e8ac5197d7477c6f01556fb88fb43 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sun, 14 Aug 2022 08:41:11 +0000 -Subject: [PATCH] IWYU: add vector for std::vector in browser_finder.h - ---- - chrome/browser/ui/browser_finder.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/chrome/browser/ui/browser_finder.h b/chrome/browser/ui/browser_finder.h -index f885be0..ad7a184 100644 ---- a/chrome/browser/ui/browser_finder.h -+++ b/chrome/browser/ui/browser_finder.h -@@ -6,6 +6,7 @@ - #define CHROME_BROWSER_UI_BROWSER_FINDER_H_ - - #include -+#include - - #include "ui/display/types/display_constants.h" - #include "ui/gfx/native_widget_types.h" --- -2.35.1 - diff --git a/chromium-105-raw_ptr-noexcept.patch b/chromium-105-raw_ptr-noexcept.patch deleted file mode 100644 index 0c32524..0000000 --- a/chromium-105-raw_ptr-noexcept.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 72b19a6a725809f872a7e7525c9a83bcbda85ec7 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Mon, 25 Jul 2022 09:19:19 +0000 -Subject: [PATCH] GCC: make raw_ptr move assignment operator noexcept - -Required in content::LevelDBScopesOptions, because move assignment -operator is noexcept too. - -Bug: 3762913 -Change-Id: Ic55ade0e15457eb7349fe24203307972d9030a8e -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3782669 -Reviewed-by: Keishi Hattori -Commit-Queue: Stephan Hartmann -Reviewed-by: Bartek Nowierski -Cr-Commit-Position: refs/heads/main@{#1027669} ---- - -diff --git a/base/memory/raw_ptr.h b/base/memory/raw_ptr.h -index 5d8c1cfd..9a62f03 100644 ---- a/base/memory/raw_ptr.h -+++ b/base/memory/raw_ptr.h -@@ -796,7 +796,7 @@ - return *this; - } - -- ALWAYS_INLINE raw_ptr& operator=(raw_ptr&& p) { -+ ALWAYS_INLINE raw_ptr& operator=(raw_ptr&& p) noexcept { - if (LIKELY(this != &p)) { - Impl::ReleaseWrappedPtr(wrapped_ptr_); - wrapped_ptr_ = p.wrapped_ptr_; diff --git a/chromium-105.0.5195.125-fix-wayland-menu.patch b/chromium-105.0.5195.125-fix-wayland-menu.patch deleted file mode 100644 index a4ce851..0000000 --- a/chromium-105.0.5195.125-fix-wayland-menu.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc ---- chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc.fix-wayland-menu 2022-09-23 18:29:51.872286569 +0000 -+++ chromium-105.0.5195.125/ui/ozone/platform/wayland/host/wayland_window.cc 2022-09-23 18:30:18.819376074 +0000 -@@ -950,7 +950,7 @@ void WaylandWindow::ProcessPendingBounds - // window has been applied. - SetWindowGeometry(pending_bounds_dip_); - AckConfigure(serial); -- root_surface()->Commit(); -+ connection()->ScheduleFlush(); - } else if (!pending_configures_.empty() && - pending_bounds_dip_.size() == - pending_configures_.back().bounds_dip.size()) { -diff -up chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc ---- chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc.fix-wayland-menu 2022-09-23 18:30:41.936594397 +0000 -+++ chromium-105.0.5195.125/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc 2022-09-23 18:31:31.703911576 +0000 -@@ -1103,9 +1103,7 @@ TEST_P(WaylandBufferManagerTest, TestCom - EXPECT_CALL(*xdg_surface, AckConfigure(_)).Times(1); - EXPECT_CALL(*mock_surface, Attach(_, _, _)).Times(1); - EXPECT_CALL(*mock_surface, Frame(_)).Times(1); -- // Commit() can be called a second time as part of the configure -> ack -- // sequence. -- EXPECT_CALL(*mock_surface, Commit()).Times(testing::Between(1, 2)); -+ EXPECT_CALL(*mock_surface, Commit()).Times(1); - - ActivateSurface(mock_surface->xdg_surface()); - Sync(); diff --git a/chromium-105.0.5195.52-gn-system.patch b/chromium-105.0.5195.52-gn-system.patch deleted file mode 100644 index e8c0bcc..0000000 --- a/chromium-105.0.5195.52-gn-system.patch +++ /dev/null @@ -1,207 +0,0 @@ -diff -up chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/libusb.gn ---- chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem 2022-09-01 12:23:27.557313611 +0000 -+++ chromium-105.0.5195.52/build/linux/unbundle/libusb.gn 2022-09-01 12:23:27.557313611 +0000 -@@ -0,0 +1,24 @@ -+# Copyright 2016 The Chromium Authors. All rights reserved. -+# Use of this source code is governed by a BSD-style license that can be -+# found in the LICENSE file. -+ -+import("//build/config/linux/pkg_config.gni") -+import("//build/shim_headers.gni") -+ -+pkg_config("system_libusb") { -+ packages = [ "libusb-1.0" ] -+} -+ -+shim_headers("libusb_shim") { -+ root_path = "src/libusb" -+ headers = [ -+ "libusb.h", -+ ] -+} -+ -+source_set("libusb") { -+ deps = [ -+ ":libusb_shim", -+ ] -+ public_configs = [ ":system_libusb" ] -+} -diff -up chromium-105.0.5195.52/build/linux/unbundle/opus.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/opus.gn ---- chromium-105.0.5195.52/build/linux/unbundle/opus.gn.gnsystem 2022-08-24 20:27:57.000000000 +0000 -+++ chromium-105.0.5195.52/build/linux/unbundle/opus.gn 2022-09-01 12:41:57.564878845 +0000 -@@ -1,3 +1,164 @@ -+# Copyright 2016 The Chromium Authors. All rights reserved. -+# Use of this source code is governed by a BSD-style license that can be -+# found in the LICENSE file. -+ -+import("//build/config/linux/pkg_config.gni") -+import("//build/shim_headers.gni") -+import("//testing/test.gni") -+ -+pkg_config("system_opus") { -+ packages = [ "opus" ] -+} -+ -+shim_headers("opus_shim") { -+ root_path = "src/include" -+ headers = [ -+ "opus_custom.h", -+ "opus_defines.h", -+ "opus_multistream.h", -+ "opus_types.h", -+ "opus.h", -+ ] -+} -+ -+source_set("opus") { -+ deps = [ -+ ":opus_shim", -+ ] -+ public_configs = [ ":system_opus" ] -+} -+ -+config("opus_test_config") { -+ include_dirs = [ -+ "src/celt", -+ "src/silk", -+ ] -+ -+ if (is_win) { -+ defines = [ "inline=__inline" ] -+ } -+ if (is_android) { -+ libs = [ "log" ] -+ } -+ if (is_clang) { -+ cflags = [ "-Wno-absolute-value" ] -+ } -+} -+ -+executable("opus_compare") { -+ sources = [ -+ "src/src/opus_compare.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+executable("opus_demo") { -+ sources = [ -+ "src/src/opus_demo.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ "//build/config/sanitizers:deps", -+ "//build/win:default_exe_manifest", -+ ] -+} -+ -+test("test_opus_api") { -+ sources = [ -+ "src/tests/test_opus_api.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_encode") { -+ sources = [ -+ "src/tests/test_opus_encode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+# GN orders flags on a target before flags from configs. The default config -+# adds -Wall, and this flag have to be after -Wall -- so they need to -+# come from a config and can't be on the target directly. -+config("test_opus_decode_config") { -+ # test_opus_decode passes a null pointer to opus_decode() for an argument -+ # marked as requiring a non-null value by the nonnull function attribute, -+ # and expects opus_decode() to fail. Disable the -Wnonnull option to avoid -+ # a compilation error if -Werror is specified. -+ if (is_posix) { -+ cflags = [ "-Wno-nonnull" ] -+ } -+} -+ -+test("test_opus_decode") { -+ sources = [ -+ "src/tests/test_opus_decode.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ":test_opus_decode_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ -+test("test_opus_padding") { -+ sources = [ -+ "src/tests/test_opus_padding.c", -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ -+ "//build/config/compiler:no_chromium_code", -+ ":opus_test_config", -+ ] -+ -+ deps = [ -+ ":opus", -+ ] -+} -+ - # Copyright 2017 The Chromium Authors. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -diff -up chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py ---- chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem 2022-09-01 12:23:27.558313577 +0000 -+++ chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py 2022-09-01 12:36:01.870847125 +0000 -@@ -52,6 +52,7 @@ REPLACEMENTS = { - 'libjpeg': 'third_party/libjpeg.gni', - 'libjxl' : 'third_party/libjxl/BUILD.gn', - 'libpng': 'third_party/libpng/BUILD.gn', -+ 'libusb': 'third_party/libusb/BUILD.gn', - 'libvpx': 'third_party/libvpx/BUILD.gn', - 'libwebp': 'third_party/libwebp/BUILD.gn', - 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/chromium-107.0.5304.101-system-minizip-header-fix.patch b/chromium-107.0.5304.101-system-minizip-header-fix.patch new file mode 100644 index 0000000..5ce7fe5 --- /dev/null +++ b/chromium-107.0.5304.101-system-minizip-header-fix.patch @@ -0,0 +1,65 @@ +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc 2022-11-14 11:51:55.791949494 +0100 +@@ -27,8 +27,8 @@ limitations under the License. + #include "tensorflow_lite_support/cc/port/status_macros.h" + #include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h" + #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" +-#include "third_party/zlib/contrib/minizip/ioapi.h" +-#include "third_party/zlib/contrib/minizip/unzip.h" ++#include ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc 2022-11-14 11:52:36.233736347 +0100 +@@ -26,8 +26,8 @@ limitations under the License. + #include "tensorflow_lite_support/cc/port/statusor.h" + #include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h" + #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" +-#include "third_party/zlib/contrib/minizip/ioapi.h" +-#include "third_party/zlib/contrib/minizip/unzip.h" ++#include ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc.system-minizip 2022-11-09 01:41:13.000000000 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc 2022-11-14 11:48:36.877164150 +0100 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc 2022-11-14 11:53:57.365294462 +0100 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "third_party/zlib/contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { +diff -up chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h +--- chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h.system-minizip 2022-11-14 11:48:36.877164150 +0100 ++++ chromium-107.0.5304.110/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h 2022-11-14 11:54:21.318756738 +0100 +@@ -19,7 +19,7 @@ limitations under the License. + #include + + #include "absl/strings/string_view.h" // from @com_google_absl +-#include "third_party/zlib/contrib/minizip/ioapi.h" ++#include + + namespace tflite { + namespace metadata { diff --git a/chromium-107.0.5304.110-gn-system.patch b/chromium-107.0.5304.110-gn-system.patch new file mode 100644 index 0000000..4c94401 --- /dev/null +++ b/chromium-107.0.5304.110-gn-system.patch @@ -0,0 +1,39 @@ +diff -up chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem chromium-105.0.5195.52/build/linux/unbundle/libusb.gn +--- chromium-105.0.5195.52/build/linux/unbundle/libusb.gn.gnsystem 2022-09-01 12:23:27.557313611 +0000 ++++ chromium-105.0.5195.52/build/linux/unbundle/libusb.gn 2022-09-01 12:23:27.557313611 +0000 +@@ -0,0 +1,24 @@ ++# Copyright 2016 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libusb") { ++ packages = [ "libusb-1.0" ] ++} ++ ++shim_headers("libusb_shim") { ++ root_path = "src/libusb" ++ headers = [ ++ "libusb.h", ++ ] ++} ++ ++source_set("libusb") { ++ deps = [ ++ ":libusb_shim", ++ ] ++ public_configs = [ ":system_libusb" ] ++} +diff -up chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py +--- chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py.gnsystem 2022-09-01 12:23:27.558313577 +0000 ++++ chromium-105.0.5195.52/build/linux/unbundle/replace_gn_files.py 2022-09-01 12:36:01.870847125 +0000 +@@ -52,6 +52,7 @@ REPLACEMENTS = { + 'libjpeg': 'third_party/libjpeg.gni', + 'libjxl' : 'third_party/libjxl/BUILD.gn', + 'libpng': 'third_party/libpng/BUILD.gn', ++ 'libusb': 'third_party/libusb/BUILD.gn', + 'libvpx': 'third_party/libvpx/BUILD.gn', + 'libwebp': 'third_party/libwebp/BUILD.gn', + 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/chromium-103.0.5060.53-remoting-extra-qualification.patch b/chromium-107.0.5304.110-remoting-extra-qualification.patch similarity index 71% rename from chromium-103.0.5060.53-remoting-extra-qualification.patch rename to chromium-107.0.5304.110-remoting-extra-qualification.patch index 37d2acf..9b9ce18 100644 --- a/chromium-103.0.5060.53-remoting-extra-qualification.patch +++ b/chromium-107.0.5304.110-remoting-extra-qualification.patch @@ -1,7 +1,7 @@ -diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h ---- chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-06-27 22:16:20.214876025 +0000 -+++ chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h 2022-06-28 12:44:09.663890774 +0000 -@@ -37,7 +37,7 @@ +diff -up chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h +--- chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h.remoting-extra-qualification 2022-11-20 19:56:00.897740616 +0100 ++++ chromium-107.0.5304.110/remoting/host/mojom/remoting_mojom_traits.h 2022-11-21 09:21:47.967180137 +0100 +@@ -42,7 +42,7 @@ namespace mojo { template <> @@ -10,7 +10,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static bool value(bool value) { return value; } -@@ -48,7 +48,7 @@ class mojo::StructTraits @@ -19,7 +19,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static float value(float value) { return value; } -@@ -59,7 +59,7 @@ class mojo::StructTraits @@ -28,7 +28,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static int32_t value(int32_t value) { return value; } -@@ -71,7 +71,7 @@ class mojo::StructTraits @@ -37,7 +37,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo public: static uint32_t value(uint32_t value) { return value; } -@@ -83,7 +83,7 @@ class mojo::StructTraits @@ -46,7 +46,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopCaptureOptions> { public: static bool use_update_notifications( -@@ -108,7 +108,7 @@ class mojo::StructTraits @@ -55,7 +55,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::DesktopEnvironmentOptions> { public: static bool enable_curtaining( -@@ -205,7 +205,7 @@ struct EnumTraits @@ -64,7 +64,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopRect> { public: static int32_t left(const ::webrtc::DesktopRect& rect) { return rect.left(); } -@@ -225,7 +225,7 @@ class mojo::StructTraits @@ -73,7 +73,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopSize> { public: static int32_t width(const ::webrtc::DesktopSize& size) { -@@ -241,7 +241,7 @@ class mojo::StructTraits @@ -82,7 +82,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::DesktopVector> { public: static int32_t x(const ::webrtc::DesktopVector& vector) { return vector.x(); } -@@ -253,7 +253,7 @@ class mojo::StructTraits @@ -91,7 +91,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::webrtc::MouseCursor> { public: static const webrtc::DesktopSize& image_size( -@@ -506,7 +506,7 @@ struct EnumTraits @@ -100,7 +100,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::std::unique_ptr<::remoting::AudioPacket>> { public: static int32_t timestamp( -@@ -544,7 +544,7 @@ class mojo::StructTraits @@ -109,16 +109,34 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::ClipboardEvent> { public: static const std::string& mime_type( -@@ -562,7 +562,7 @@ class mojo::StructTraits +-class mojo::UnionTraits< ++class UnionTraits< + remoting::mojom::ReadChunkResultDataView, + ::remoting::Result, + ::remoting::protocol::FileTransfer_Error>> { +@@ -606,7 +606,7 @@ class mojo::UnionTraits< + }; + + template <> +-class mojo::StructTraits { + public: + static ::remoting::protocol::FileTransfer_Error_Type type( +@@ -745,7 +745,7 @@ class mojo::UnionTraits< + #endif // BUILDFLAG(IS_WIN) + template <> -class mojo::StructTraits { public: static const ::google::protobuf:: -@@ -576,7 +576,7 @@ class mojo::StructTraits @@ -127,7 +145,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::KeyboardLayout_KeyAction> { public: static remoting::mojom::KeyActionDataView::Tag GetTag( -@@ -609,7 +609,7 @@ class mojo::UnionTraits @@ -136,7 +154,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::KeyboardLayout_KeyBehavior> { public: static const ::google::protobuf::Map< -@@ -967,7 +967,7 @@ struct EnumTraits @@ -145,7 +163,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::KeyEvent> { public: static bool pressed(const ::remoting::protocol::KeyEvent& event) { -@@ -1003,7 +1003,7 @@ class mojo::StructTraits @@ -154,7 +172,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::MouseEvent> { public: static absl::optional x( -@@ -1092,7 +1092,7 @@ class mojo::StructTraits @@ -163,7 +181,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::ScreenResolution> { public: static const ::webrtc::DesktopSize& dimensions( -@@ -1110,7 +1110,7 @@ class mojo::StructTraits @@ -172,7 +190,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TextEvent> { public: static const std::string& text(const ::remoting::protocol::TextEvent& event) { -@@ -1122,7 +1122,7 @@ class mojo::StructTraits @@ -181,7 +199,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TouchEventPoint> { public: static uint32_t id(const ::remoting::protocol::TouchEventPoint& event) { -@@ -1199,7 +1199,7 @@ struct EnumTraits @@ -190,7 +208,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TouchEvent> { public: static ::remoting::protocol::TouchEvent::TouchEventType event_type( -@@ -1259,7 +1259,7 @@ struct EnumTraits @@ -199,7 +217,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::TransportRoute> { public: static ::remoting::protocol::TransportRoute::RouteType type( -@@ -1406,7 +1406,7 @@ struct EnumTraits @@ -208,7 +226,7 @@ diff -up chromium-103.0.5060.53/remoting/host/mojom/remoting_mojom_traits.h.remo ::remoting::protocol::VideoLayout> { public: static const ::google::protobuf::RepeatedPtrField< -@@ -1425,7 +1425,7 @@ class mojo::StructTraits diff --git a/chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch b/chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch deleted file mode 100644 index ddb94a0..0000000 --- a/chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc ---- chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert 2017-05-08 14:58:11.767482431 -0400 -+++ chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc 2017-05-08 14:58:37.722960109 -0400 -@@ -790,15 +790,6 @@ void DeviceDataManagerX11::UpdateScrollC - DCHECK(deviceid >= 0 && deviceid < kMaxDeviceNum); - ScrollInfo& info = scroll_data_[deviceid]; - -- bool legacy_scroll_available = -- (scroll_class_info->flags & XIScrollFlagNoEmulation) == 0; -- // If the device's highest resolution is lower than the resolution of xinput1 -- // then use xinput1's events instead (ie. don't configure smooth scrolling). -- if (legacy_scroll_available && -- std::abs(scroll_class_info->increment) <= 1.0) { -- return; -- } -- - switch (scroll_class_info->scroll_type) { - case XIScrollTypeVertical: - info.vertical.number = scroll_class_info->number; diff --git a/chromium-60.0.3112.78-jpeg-nomangle.patch b/chromium-60.0.3112.78-jpeg-nomangle.patch deleted file mode 100644 index 0b758a4..0000000 --- a/chromium-60.0.3112.78-jpeg-nomangle.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h ---- chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h.nomangle 2017-08-01 15:29:00.870759406 -0400 -+++ chromium-60.0.3112.78/third_party/libjpeg_turbo/jpeglib.h 2017-08-01 15:29:09.326593414 -0400 -@@ -18,10 +18,6 @@ - #ifndef JPEGLIB_H - #define JPEGLIB_H - --/* Begin chromium edits */ --#include "jpeglibmangler.h" --/* End chromium edits */ -- - /* - * First we include the configuration files that record how this - * installation of the JPEG library is set up. jconfig.h can be diff --git a/chromium-68.0.3440.106-master-prefs-path.patch b/chromium-68.0.3440.106-master-prefs-path.patch deleted file mode 100644 index 9304adf..0000000 --- a/chromium-68.0.3440.106-master-prefs-path.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc ---- chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc.etc 2018-08-09 03:12:33.444705798 -0400 -+++ chromium-68.0.3440.106/chrome/browser/first_run/first_run_internal_linux.cc 2018-08-09 03:14:46.275754910 -0400 -@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() { - - base::FilePath MasterPrefsPath() { - // The standard location of the master prefs is next to the chrome binary. -+ // ...but we patch it to use /etc/chromium - base::FilePath master_prefs; -- if (!base::PathService::Get(base::DIR_EXE, &master_prefs)) -- return base::FilePath(); -+ master_prefs = base::FilePath("/etc/chromium"); - return master_prefs.AppendASCII(installer::kDefaultMasterPrefs); - } - diff --git a/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch b/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch deleted file mode 100644 index 0c60643..0000000 --- a/chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-70.0.3538.67/base/test/BUILD.gn.nofc chromium-70.0.3538.67/base/test/BUILD.gn ---- chromium-70.0.3538.67/base/test/BUILD.gn.nofc 2018-10-29 11:29:01.356812567 -0400 -+++ chromium-70.0.3538.67/base/test/BUILD.gn 2018-10-29 11:29:12.631584916 -0400 -@@ -209,9 +209,6 @@ static_library("test_support") { - data_deps = [ - "//third_party/test_fonts", - ] -- if (current_toolchain == host_toolchain) { -- data_deps += [ ":do_generate_fontconfig_caches" ] -- } - } - - if (is_ios) { diff --git a/chromium-73.0.3683.75-norar.patch b/chromium-73.0.3683.75-norar.patch deleted file mode 100644 index d61fd9c..0000000 --- a/chromium-73.0.3683.75-norar.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn ---- chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn.nounrar 2019-03-13 08:59:45.988801102 -0400 -+++ chromium-73.0.3683.75/chrome/common/safe_browsing/BUILD.gn 2019-03-13 09:00:20.244977448 -0400 -@@ -64,41 +64,6 @@ if (safe_browsing_mode == 1) { - ] - } - -- source_set("rar_analyzer") { -- sources = [ -- "rar_analyzer.cc", -- "rar_analyzer.h", -- ] -- -- deps = [ -- ":archive_analyzer_results", -- ":download_type_util", -- ":file_type_policies", -- "//base", -- "//base:i18n", -- "//components/safe_browsing:features", -- "//third_party/unrar:unrar", -- ] -- -- defines = [ -- "_FILE_OFFSET_BITS=64", -- "LARGEFILE_SOURCE", -- "RAR_SMP", -- "SILENT", -- -- # The following is set to disable certain macro definitions in the unrar -- # source code. -- "CHROMIUM_UNRAR", -- -- # Disables exceptions in unrar, replaces them with process termination. -- "UNRAR_NO_EXCEPTIONS", -- ] -- -- public_deps = [ -- "//components/safe_browsing:csd_proto", -- ] -- } -- - source_set("disk_image_type_sniffer_mac") { - sources = [ - "disk_image_type_sniffer_mac.cc", -@@ -167,7 +132,6 @@ source_set("safe_browsing") { - ":archive_analyzer_results", - ":binary_feature_extractor", - ":download_type_util", -- ":rar_analyzer", - "//components/safe_browsing:features", - ] - -diff -up chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS ---- chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS.nounrar 2019-03-11 18:00:54.000000000 -0400 -+++ chromium-73.0.3683.75/chrome/common/safe_browsing/DEPS 2019-03-13 08:59:26.513282690 -0400 -@@ -1,6 +1,5 @@ - include_rules = [ - "+components/safe_browsing", - "+third_party/protobuf", -- "+third_party/unrar", - "+third_party/zlib", - ] -diff -up chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc ---- chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2019-03-13 08:59:26.518282566 -0400 -+++ chromium-73.0.3683.75/chrome/services/file_util/safe_archive_analyzer.cc 2019-03-13 09:01:03.885935483 -0400 -@@ -48,10 +48,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile - void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, - base::File temporary_file, - AnalyzeRarFileCallback callback) { -+#if 0 - DCHECK(rar_file.IsValid()); - - safe_browsing::ArchiveAnalyzerResults results; - safe_browsing::rar_analyzer::AnalyzeRarFile( - std::move(rar_file), std::move(temporary_file), &results); - std::move(callback).Run(results); -+#else -+ NOTREACHED(); -+#endif - } diff --git a/chromium-75.0.3770.100-epel7-stdc++.patch b/chromium-75.0.3770.100-epel7-stdc++.patch deleted file mode 100644 index e4d62a0..0000000 --- a/chromium-75.0.3770.100-epel7-stdc++.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-75.0.3770.100/build/config/BUILD.gn.epel7 chromium-75.0.3770.100/build/config/BUILD.gn ---- chromium-75.0.3770.100/build/config/BUILD.gn.epel7 2019-06-20 10:10:03.099549006 -0400 -+++ chromium-75.0.3770.100/build/config/BUILD.gn 2019-06-20 10:10:21.483158162 -0400 -@@ -267,6 +267,7 @@ config("default_libs") { - "dl", - "pthread", - "rt", -+ "stdc++", - ] - } - } diff --git a/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch b/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch deleted file mode 100644 index c44473d..0000000 --- a/chromium-75.0.3770.80-vaapi-i686-fpermissive.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn.i686permissive chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn ---- chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn.i686permissive 2019-06-10 14:47:37.315515026 -0400 -+++ chromium-75.0.3770.80/media/gpu/vaapi/BUILD.gn 2019-06-10 14:48:25.250604888 -0400 -@@ -11,6 +11,10 @@ import("//ui/ozone/ozone.gni") - - assert(use_vaapi) - -+config("vaapi_permissive") { -+ cflags = [ "-fpermissive" ] -+} -+ - generate_stubs("libva_stubs") { - extra_header = "va_stub_header.fragment" - sigs = [ "va.sigs" ] -@@ -89,6 +93,8 @@ source_set("vaapi") { - deps += [ "//media/gpu/linux" ] - } - -+ configs += [ ":vaapi_permissive" ] -+ - if (use_x11) { - configs += [ "//build/config/linux:x11" ] - deps += [ "//ui/gfx/x" ] diff --git a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch b/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch deleted file mode 100644 index cc91d1e..0000000 --- a/chromium-76.0.3809.100-gcc-no-alignas-and-export.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h ---- chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h.gcc-no-alignas 2019-08-09 16:48:13.000000000 +0200 -+++ chromium-76.0.3809.100/third_party/blink/renderer/core/css/css_property_value_set.h 2019-08-15 21:04:30.231532746 +0200 -@@ -176,8 +176,8 @@ class CSSLazyPropertyParser - DISALLOW_COPY_AND_ASSIGN(CSSLazyPropertyParser); - }; - --class CORE_EXPORT alignas(Member) alignas( -- CSSPropertyValueMetadata) ImmutableCSSPropertyValueSet -+class CORE_EXPORT ALIGNAS(alignof(Member)) -+ ALIGNAS(alignof(CSSPropertyValueMetadata)) ImmutableCSSPropertyValueSet - : public CSSPropertyValueSet { - public: - ImmutableCSSPropertyValueSet(const CSSPropertyValue*, diff --git a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch b/chromium-76.0.3809.100-gcc-remoting-constexpr.patch deleted file mode 100644 index aec3107..0000000 --- a/chromium-76.0.3809.100-gcc-remoting-constexpr.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.cc ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.cc.gcc-constexpr 2019-08-09 16:48:08.000000000 +0200 -+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.cc 2019-08-20 21:29:14.545465656 +0200 -@@ -9,8 +9,7 @@ - namespace remoting { - - // static --const base::TimeDelta MessageTracker::kCleanupInterval = -- base::TimeDelta::FromMinutes(2); -+constexpr base::TimeDelta MessageTracker::kCleanupInterval; - - MessageTracker::MessageTracker() = default; - -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker.h ---- chromium-76.0.3809.100/remoting/signaling/message_tracker.h.gcc-constexpr 2019-08-20 22:02:25.625970954 +0200 -+++ chromium-76.0.3809.100/remoting/signaling/message_tracker.h 2019-08-20 21:28:23.371952434 +0200 -@@ -36,7 +36,8 @@ class MessageTracker final { - - // All IDs older than now - kCleanupInterval will be eventually removed, but - // they are not guaranteed to be immediately removed after the interval. -- static const base::TimeDelta kCleanupInterval; -+ static constexpr base::TimeDelta kCleanupInterval = -+ base::TimeDelta::FromMinutes(2); - - void RemoveExpiredIds(); - -diff -up chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc.gcc-constexpr chromium-76.0.3809.100/remoting/signaling/message_tracker_unittest.cc diff --git a/chromium-76.0.3809.100-vtable-symbol-undefined.patch b/chromium-76.0.3809.100-vtable-symbol-undefined.patch deleted file mode 100644 index 64532df..0000000 --- a/chromium-76.0.3809.100-vtable-symbol-undefined.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc ---- chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-08-20 21:21:24.901899270 +0200 -+++ chromium-76.0.3809.100/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-08-20 21:19:30.361746211 +0200 -@@ -18,6 +18,7 @@ - #include "net/quic/crypto/proof_verifier_chromium.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" -+#include "net/quic/platform/impl/quic_flags_impl.cc" - - DEFINE_QUIC_COMMAND_LINE_FLAG(std::string, - certificate_file, diff --git a/chromium-76.0.3809.132-chromedriver-zlib-fix.patch b/chromium-76.0.3809.132-chromedriver-zlib-fix.patch deleted file mode 100644 index f8b44d0..0000000 --- a/chromium-76.0.3809.132-chromedriver-zlib-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn.fixme chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn ---- chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn.fixme 2019-09-10 15:53:02.871463568 -0400 -+++ chromium-76.0.3809.132/chrome/test/chromedriver/BUILD.gn 2019-09-10 16:57:32.281112323 -0400 -@@ -319,6 +319,7 @@ executable("chromedriver") { - "//net/server:http_server", - "//net/traffic_annotation:test_support", - "//services/network/public/mojom", -+ "//third_party/zlib", - ] - } - diff --git a/chromium-77-clang.patch b/chromium-77-clang.patch deleted file mode 100644 index a57b5a4..0000000 --- a/chromium-77-clang.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/base/location.h b/base/location.h -index c07e747..924db1c 100644 ---- a/base/location.h -+++ b/base/location.h -@@ -18,7 +18,7 @@ - - namespace base { - --#if defined(__has_builtin) -+#if defined(__clang__) - // Clang allows detection of these builtins. - #define SUPPORTS_LOCATION_BUILTINS \ - (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \ diff --git a/chromium-77.0.3865.75-base-gcc-no-alignas.patch b/chromium-77.0.3865.75-base-gcc-no-alignas.patch deleted file mode 100644 index 86a2271..0000000 --- a/chromium-77.0.3865.75-base-gcc-no-alignas.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas chromium-77.0.3865.75/base/task/promise/dependent_list.h ---- chromium-77.0.3865.75/base/task/promise/dependent_list.h.base-gcc-no-alignas 2019-09-13 21:45:51.873172347 +0200 -+++ chromium-77.0.3865.75/base/task/promise/dependent_list.h 2019-09-13 21:46:21.661522514 +0200 -@@ -59,7 +59,7 @@ class BASE_EXPORT DependentList { - - // Align Node on an 8-byte boundary to ensure the first 3 bits are 0 and can - // be used to store additional state (see static_asserts below). -- class BASE_EXPORT alignas(8) Node { -+ class BASE_EXPORT ALIGNAS(8) Node { - public: - Node(); - explicit Node(Node&& other) noexcept; diff --git a/chromium-77.0.3865.75-certificate-transparency.patch b/chromium-77.0.3865.75-certificate-transparency.patch deleted file mode 100644 index 82e2958..0000000 --- a/chromium-77.0.3865.75-certificate-transparency.patch +++ /dev/null @@ -1,539 +0,0 @@ -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc.certificate-transparency 2019-09-12 16:09:52.818635106 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager_browsertest.cc 2019-09-12 16:11:07.662562005 +0200 -@@ -21,6 +21,7 @@ - #include "components/version_info/version_info.h" - #include "content/public/common/content_switches.h" - #include "content/public/common/user_agent.h" -+#include "services/network/public/cpp/network_service_buildflags.h" - #include "services/network/public/mojom/network_context.mojom.h" - #include "services/network/public/mojom/network_service.mojom.h" - #include "testing/gmock/include/gmock/gmock.h" -@@ -356,3 +357,55 @@ IN_PROC_BROWSER_TEST_P(SystemNetworkCont - INSTANTIATE_TEST_SUITE_P(, - SystemNetworkContextManagerFreezeQUICUaBrowsertest, - ::testing::Values(true, false)); -+ -+class SystemNetworkContextManagerCertificateTransparencyBrowsertest -+ : public SystemNetworkContextManagerBrowsertest, -+ public testing::WithParamInterface> { -+ public: -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest() { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ GetParam()); -+ } -+ ~SystemNetworkContextManagerCertificateTransparencyBrowsertest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } -+}; -+ -+#if BUILDFLAG(IS_CT_SUPPORTED) -+IN_PROC_BROWSER_TEST_P( -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest, -+ CertificateTransparencyConfig) { -+ network::mojom::NetworkContextParamsPtr context_params = -+ g_browser_process->system_network_context_manager() -+ ->CreateDefaultNetworkContextParams(); -+ -+ const bool kDefault = -+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_ANDROID) -+ true; -+#else -+ false; -+#endif -+ -+ EXPECT_EQ(GetParam().value_or(kDefault), -+ context_params->enforce_chrome_ct_policy); -+ EXPECT_NE(GetParam().value_or(kDefault), context_params->ct_logs.empty()); -+ -+ if (GetParam().value_or(kDefault)) { -+ bool has_google_log = false; -+ bool has_disqualified_log = false; -+ for (const auto& ct_log : context_params->ct_logs) { -+ has_google_log |= ct_log->operated_by_google; -+ has_disqualified_log |= ct_log->disqualified_at.has_value(); -+ } -+ EXPECT_TRUE(has_google_log); -+ EXPECT_TRUE(has_disqualified_log); -+ } -+} -+#endif -+ -+INSTANTIATE_TEST_SUITE_P( -+ , -+ SystemNetworkContextManagerCertificateTransparencyBrowsertest, -+ ::testing::Values(base::nullopt, true, false)); -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.cc 2019-09-12 16:09:52.819635118 +0200 -@@ -4,11 +4,13 @@ - - #include "chrome/browser/net/system_network_context_manager.h" - -+#include - #include - #include - #include - - #include "base/bind.h" -+#include "base/build_time.h" - #include "base/command_line.h" - #include "base/feature_list.h" - #include "base/logging.h" -@@ -50,6 +52,7 @@ - #include "content/public/common/mime_handler_view_mode.h" - #include "content/public/common/service_names.mojom.h" - #include "content/public/common/user_agent.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/associated_interface_ptr.h" - #include "net/dns/public/util.h" - #include "net/net_buildflags.h" -@@ -79,6 +82,20 @@ - - namespace { - -+constexpr bool kCertificateTransparencyEnabled = -+#if defined(GOOGLE_CHROME_BUILD) && defined(OFFICIAL_BUILD) && \ -+ !defined(OS_ANDROID) -+ // Certificate Transparency is only enabled if: -+ // - Desktop (!OS_ANDROID); OS_IOS does not use this file -+ // - base::GetBuildTime() is deterministic to the source (OFFICIAL_BUILD) -+ // - The build in reliably updatable (GOOGLE_CHROME_BUILD) -+ true; -+#else -+ false; -+#endif -+ -+bool g_enable_certificate_transparency = kCertificateTransparencyEnabled; -+ - // The global instance of the SystemNetworkContextmanager. - SystemNetworkContextManager* g_system_network_context_manager = nullptr; - -@@ -658,14 +675,35 @@ SystemNetworkContextManager::CreateDefau - - bool http_09_on_non_default_ports_enabled = false; - #if !defined(OS_ANDROID) -- // CT is only enabled on Desktop platforms for now. -- network_context_params->enforce_chrome_ct_policy = true; -- for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { -- // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. -- network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -- log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); -- log_info->name = ct_log.log_name; -- network_context_params->ct_logs.push_back(std::move(log_info)); -+ -+ if (g_enable_certificate_transparency) { -+ network_context_params->enforce_chrome_ct_policy = true; -+ network_context_params->ct_log_update_time = base::GetBuildTime(); -+ -+ std::vector operated_by_google_logs = -+ certificate_transparency::GetLogsOperatedByGoogle(); -+ std::vector> disqualified_logs = -+ certificate_transparency::GetDisqualifiedLogs(); -+ for (const auto& ct_log : certificate_transparency::GetKnownLogs()) { -+ // TODO(rsleevi): https://crbug.com/702062 - Remove this duplication. -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ log_info->public_key = std::string(ct_log.log_key, ct_log.log_key_length); -+ log_info->name = ct_log.log_name; -+ -+ std::string log_id = crypto::SHA256HashString(log_info->public_key); -+ log_info->operated_by_google = -+ std::binary_search(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs), log_id); -+ auto it = std::lower_bound( -+ std::begin(disqualified_logs), std::end(disqualified_logs), log_id, -+ [](const auto& disqualified_log, const std::string& log_id) { -+ return disqualified_log.first < log_id; -+ }); -+ if (it != std::end(disqualified_logs) && it->first == log_id) { -+ log_info->disqualified_at = it->second; -+ } -+ network_context_params->ct_logs.push_back(std::move(log_info)); -+ } - } - - const base::Value* value = -@@ -723,6 +761,12 @@ SystemNetworkContextManager::GetHttpAuth - return CreateHttpAuthDynamicParams(g_browser_process->local_state()); - } - -+void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::Optional enabled) { -+ g_enable_certificate_transparency = -+ enabled.value_or(kCertificateTransparencyEnabled); -+} -+ - network::mojom::NetworkContextParamsPtr - SystemNetworkContextManager::CreateNetworkContextParams() { - // TODO(mmenke): Set up parameters here (in memory cookie store, etc). -diff -up chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h ---- chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h.certificate-transparency 2019-09-09 23:55:09.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/net/system_network_context_manager.h 2019-09-12 16:09:52.819635118 +0200 -@@ -139,6 +139,12 @@ class SystemNetworkContextManager { - static network::mojom::HttpAuthDynamicParamsPtr - GetHttpAuthDynamicParamsForTesting(); - -+ // Enables Certificate Transparency and enforcing the Chrome Certificate -+ // Transparency Policy. For test use only. Use base::nullopt_t to reset to -+ // the default state. -+ static void SetEnableCertificateTransparencyForTesting( -+ base::Optional enabled); -+ - private: - class URLLoaderFactoryForSystem; - -diff -up chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/policy/policy_browsertest.cc 2019-09-12 16:09:52.820635131 +0200 -@@ -4836,7 +4836,7 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, - browser()->tab_strip_model()->GetActiveWebContents()->GetTitle()); - } - --IN_PROC_BROWSER_TEST_F(PolicyTest, -+IN_PROC_BROWSER_TEST_F(CertificateTransparencyPolicyTest, - CertificateTransparencyEnforcementDisabledForCas) { - net::EmbeddedTestServer https_server_ok(net::EmbeddedTestServer::TYPE_HTTPS); - https_server_ok.SetSSLConfig(net::EmbeddedTestServer::CERT_OK); -diff -up chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/chrome_expect_ct_reporter_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 -@@ -8,6 +8,7 @@ - #include "base/callback.h" - #include "base/run_loop.h" - #include "base/test/scoped_feature_list.h" -+#include "chrome/browser/net/system_network_context_manager.h" - #include "chrome/browser/profiles/profile.h" - #include "chrome/browser/ssl/cert_verifier_browser_test.h" - #include "chrome/browser/ui/browser.h" -@@ -27,7 +28,17 @@ namespace { - // received by a server. - class ExpectCTBrowserTest : public CertVerifierBrowserTest { - public: -- ExpectCTBrowserTest() : CertVerifierBrowserTest() {} -+ ExpectCTBrowserTest() : CertVerifierBrowserTest() { -+ // Expect-CT reporting depends on actually enforcing Certificate -+ // Transparency. -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ -+ ~ExpectCTBrowserTest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } - - void SetUpOnMainThread() override { - run_loop_ = std::make_unique(); -diff -up chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/security_state_tab_helper_browsertest.cc 2019-09-12 16:09:52.821635143 +0200 -@@ -433,6 +433,13 @@ class SecurityStateTabHelperTest : publi - SecurityStateTabHelperTest() - : https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { - https_server_.ServeFilesFromSourceDirectory(GetChromeTestDataDir()); -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ -+ ~SecurityStateTabHelperTest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); - } - - void SetUpOnMainThread() override { -diff -up chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc ---- chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc.certificate-transparency 2019-09-09 23:55:10.000000000 +0200 -+++ chromium-77.0.3865.75/chrome/browser/ssl/ssl_browsertest.cc 2019-09-12 16:09:52.822635155 +0200 -@@ -1853,8 +1853,14 @@ class CertificateTransparencySSLUITest : - public: - CertificateTransparencySSLUITest() - : CertVerifierBrowserTest(), -- https_server_(net::EmbeddedTestServer::TYPE_HTTPS) {} -- ~CertificateTransparencySSLUITest() override {} -+ https_server_(net::EmbeddedTestServer::TYPE_HTTPS) { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ true); -+ } -+ ~CertificateTransparencySSLUITest() override { -+ SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting( -+ base::nullopt); -+ } - - void SetUpOnMainThread() override { - CertVerifierBrowserTest::SetUpOnMainThread(); -diff -up chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h ---- chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h.certificate-transparency 2019-09-09 23:55:14.000000000 +0200 -+++ chromium-77.0.3865.75/components/certificate_transparency/chrome_ct_policy_enforcer.h 2019-09-12 16:09:52.823635168 +0200 -@@ -45,6 +45,19 @@ class ChromeCTPolicyEnforcer : public ne - - void SetClockForTesting(const base::Clock* clock) { clock_ = clock; } - -+ // TODO(https://crbug.com/999240): These are exposed to allow end-to-end -+ // testing by higher layers (i.e. that the ChromeCTPolicyEnforcer is -+ // correctly constructed). When either this issue or https://crbug.com/848277 -+ // are fixed, the configuration can be tested independently, and these can -+ // be removed. -+ const std::vector& operated_by_google_logs_for_testing() { -+ return operated_by_google_logs_; -+ } -+ const std::vector>& -+ disqualified_logs_for_testing() { -+ return disqualified_logs_; -+ } -+ - private: - // Returns true if the log identified by |log_id| (the SHA-256 hash of the - // log's DER-encoded SPKI) has been disqualified, and sets -diff -up chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context.cc ---- chromium-77.0.3865.75/services/network/network_context.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/network_context.cc 2019-09-12 16:09:52.823635168 +0200 -@@ -36,6 +36,7 @@ - #include "components/prefs/pref_registry_simple.h" - #include "components/prefs/pref_service.h" - #include "components/prefs/pref_service_factory.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/strong_binding.h" - #include "net/base/layered_network_delegate.h" - #include "net/base/load_flags.h" -@@ -1877,16 +1878,6 @@ URLRequestContextOwner NetworkContext::A - base::FeatureList::IsEnabled(features::kNetworkErrorLogging)); - #endif // BUILDFLAG(ENABLE_REPORTING) - --#if BUILDFLAG(IS_CT_SUPPORTED) -- if (params_->enforce_chrome_ct_policy) { -- builder->set_ct_policy_enforcer( -- std::make_unique( -- base::GetBuildTime(), -- certificate_transparency::GetDisqualifiedLogs(), -- certificate_transparency::GetLogsOperatedByGoogle())); -- } --#endif // BUILDFLAG(IS_CT_SUPPORTED) -- - net::HttpNetworkSession::Params session_params; - bool is_quic_force_disabled = false; - if (network_service_ && network_service_->quic_disabled()) -@@ -1936,8 +1927,20 @@ URLRequestContextOwner NetworkContext::A - - #if BUILDFLAG(IS_CT_SUPPORTED) - std::vector> ct_logs; -+ std::vector> disqualified_logs; -+ std::vector operated_by_google_logs; -+ - if (!params_->ct_logs.empty()) { - for (const auto& log : params_->ct_logs) { -+ if (log->operated_by_google || log->disqualified_at) { -+ std::string log_id = crypto::SHA256HashString(log->public_key); -+ if (log->operated_by_google) -+ operated_by_google_logs.push_back(log_id); -+ if (log->disqualified_at) { -+ disqualified_logs.push_back( -+ std::make_pair(log_id, log->disqualified_at.value())); -+ } -+ } - scoped_refptr log_verifier = - net::CTLogVerifier::Create(log->public_key, log->name); - if (!log_verifier) { -@@ -1950,6 +1953,17 @@ URLRequestContextOwner NetworkContext::A - ct_verifier->AddLogs(ct_logs); - builder->set_ct_verifier(std::move(ct_verifier)); - } -+ -+ if (params_->enforce_chrome_ct_policy) { -+ std::sort(std::begin(operated_by_google_logs), -+ std::end(operated_by_google_logs)); -+ std::sort(std::begin(disqualified_logs), std::end(disqualified_logs)); -+ -+ builder->set_ct_policy_enforcer( -+ std::make_unique( -+ params_->ct_log_update_time, disqualified_logs, -+ operated_by_google_logs)); -+ } - #endif // BUILDFLAG(IS_CT_SUPPORTED) - - const base::CommandLine* command_line = -diff -up chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency chromium-77.0.3865.75/services/network/network_context_unittest.cc ---- chromium-77.0.3865.75/services/network/network_context_unittest.cc.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/network_context_unittest.cc 2019-09-12 16:13:10.479056669 +0200 -@@ -2,6 +2,7 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - -+#include - #include - #include - #include -@@ -38,10 +39,12 @@ - #include "base/threading/thread_task_runner_handle.h" - #include "base/time/default_clock.h" - #include "base/time/default_tick_clock.h" -+#include "base/time/time.h" - #include "build/build_config.h" - #include "components/network_session_configurator/browser/network_session_configurator.h" - #include "components/network_session_configurator/common/network_switches.h" - #include "components/prefs/testing_pref_service.h" -+#include "crypto/sha2.h" - #include "mojo/public/cpp/bindings/remote.h" - #include "mojo/public/cpp/bindings/self_owned_receiver.h" - #include "mojo/public/cpp/system/data_pipe_utils.h" -@@ -115,6 +118,11 @@ - #include "url/scheme_host_port.h" - #include "url/url_constants.h" - -+#if BUILDFLAG(IS_CT_SUPPORTED) -+#include "components/certificate_transparency/chrome_ct_policy_enforcer.h" -+#include "services/network/public/mojom/ct_log_info.mojom.h" -+#endif -+ - #if !BUILDFLAG(DISABLE_FTP_SUPPORT) - #include "net/ftp/ftp_auth_cache.h" - #endif // !BUILDFLAG(DISABLE_FTP_SUPPORT) -@@ -5958,6 +5966,72 @@ TEST_F(NetworkContextSplitCacheTest, - true /* was_cached */, true /* is_navigation */); - } - -+#if BUILDFLAG(IS_CT_SUPPORTED) -+TEST_F(NetworkContextTest, CertificateTransparencyConfig) { -+ mojom::NetworkContextParamsPtr params = CreateContextParams(); -+ params->enforce_chrome_ct_policy = true; -+ params->ct_log_update_time = base::Time::Now(); -+ -+ // The log public keys do not matter for the test, so invalid keys are used. -+ // However, because the log IDs are derived from the SHA-256 hash of the log -+ // key, the log keys are generated such that qualified logs are in the form -+ // of four digits (e.g. "0000", "1111"), while disqualified logs are in the -+ // form of four letters (e.g. "AAAA", "BBBB"). -+ -+ for (int i = 0; i < 6; ++i) { -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ // Shift to ASCII '0' (0x30) -+ log_info->public_key = std::string(4, 0x30 + static_cast(i)); -+ log_info->name = std::string(4, 0x30 + static_cast(i)); -+ log_info->operated_by_google = i % 2; -+ -+ params->ct_logs.push_back(std::move(log_info)); -+ } -+ for (int i = 0; i < 3; ++i) { -+ network::mojom::CTLogInfoPtr log_info = network::mojom::CTLogInfo::New(); -+ // Shift to ASCII 'A' (0x41) -+ log_info->public_key = std::string(4, 0x41 + static_cast(i)); -+ log_info->name = std::string(4, 0x41 + static_cast(i)); -+ log_info->operated_by_google = false; -+ log_info->disqualified_at = base::TimeDelta::FromSeconds(i); -+ -+ params->ct_logs.push_back(std::move(log_info)); -+ } -+ std::unique_ptr network_context = -+ CreateContextWithParams(std::move(params)); -+ -+ net::CTPolicyEnforcer* request_enforcer = -+ network_context->url_request_context()->ct_policy_enforcer(); -+ ASSERT_TRUE(request_enforcer); -+ -+ // Completely unsafe if |enforce_chrome_ct_policy| is false. -+ certificate_transparency::ChromeCTPolicyEnforcer* policy_enforcer = -+ reinterpret_cast( -+ request_enforcer); -+ -+ EXPECT_TRUE(std::is_sorted( -+ policy_enforcer->operated_by_google_logs_for_testing().begin(), -+ policy_enforcer->operated_by_google_logs_for_testing().end())); -+ EXPECT_TRUE( -+ std::is_sorted(policy_enforcer->disqualified_logs_for_testing().begin(), -+ policy_enforcer->disqualified_logs_for_testing().end())); -+ -+ EXPECT_THAT( -+ policy_enforcer->operated_by_google_logs_for_testing(), -+ ::testing::UnorderedElementsAreArray({crypto::SHA256HashString("1111"), -+ crypto::SHA256HashString("3333"), -+ crypto::SHA256HashString("5555")})); -+ EXPECT_THAT(policy_enforcer->disqualified_logs_for_testing(), -+ ::testing::UnorderedElementsAre( -+ ::testing::Pair(crypto::SHA256HashString("AAAA"), -+ base::TimeDelta::FromSeconds(0)), -+ ::testing::Pair(crypto::SHA256HashString("BBBB"), -+ base::TimeDelta::FromSeconds(1)), -+ ::testing::Pair(crypto::SHA256HashString("CCCC"), -+ base::TimeDelta::FromSeconds(2)))); -+} -+#endif -+ - } // namespace - - } // namespace network -diff -up chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom ---- chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/public/mojom/ct_log_info.mojom 2019-09-12 16:09:52.824635180 +0200 -@@ -4,6 +4,8 @@ - - module network.mojom; - -+import "mojo/public/mojom/base/time.mojom"; -+ - // A single Certificate Transparency Log configuration. - struct CTLogInfo { - // The DER-encoded SubjectPublicKeyInfo of the log. -@@ -14,4 +16,13 @@ struct CTLogInfo { - // The human-readable, log-supplied log name. Note that this will not be - // translated. - string name; -+ -+ // Whether or not the log should should be considered a Google Log for the -+ // purposes of enforcing the "Certificate Transparency in Chrome" policy. -+ bool operated_by_google = false; -+ -+ // If set, the time since the Unix Epoch when the log was disqualified. This -+ // is used to determine the "once or currently qualified" status of the log. -+ // If the log is currently qualified, this will not be set. -+ mojo_base.mojom.TimeDelta? disqualified_at; - }; -diff -up chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom ---- chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom.certificate-transparency 2019-09-09 23:55:22.000000000 +0200 -+++ chromium-77.0.3865.75/services/network/public/mojom/network_context.mojom 2019-09-12 16:09:52.825635192 +0200 -@@ -239,15 +239,6 @@ struct NetworkContextParams { - [EnableIf=is_android] - bool check_clear_text_permitted = false; - -- // True if the "Certificate Transparency in Chrome" policy (see -- // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should -- // be enforced for certificates and connections. -- // -- // See //net/docs/certificate-transparency.md before setting this flag to -- // true. -- [EnableIf=is_ct_supported] -- bool enforce_chrome_ct_policy = false; -- - // Enables HTTP/0.9 on ports other than 80 for HTTP and 443 for HTTPS. - bool http_09_on_non_default_ports_enabled = false; - -@@ -300,6 +291,15 @@ struct NetworkContextParams { - // servers, so they can discover misconfigurations. - bool enable_certificate_reporting = false; - -+ // True if the "Certificate Transparency in Chrome" policy (see -+ // https://github.com/chromium/ct-policy/blob/master/ct_policy.md) should -+ // be enforced for certificates and connections. -+ // -+ // See //net/docs/certificate-transparency.md before setting this flag to -+ // true. -+ [EnableIf=is_ct_supported] -+ bool enforce_chrome_ct_policy = false; -+ - // Enables Expect CT reporting, which sends reports for opted-in sites that - // don't serve sufficient Certificate Transparency information. - [EnableIf=is_ct_supported] -@@ -311,6 +311,13 @@ struct NetworkContextParams { - [EnableIf=is_ct_supported] - array ct_logs; - -+ // When the Certificate Transparency logs in |ct_logs| were last updated. If -+ // |enforce_chrome_ct_policy| is set, and |ct_log_update_time| is not -+ // sufficiently recent, enforcement of the "Certificate Transparency in -+ // Chrome" policy will be disabled. -+ [EnableIf=is_ct_supported] -+ mojo_base.mojom.Time ct_log_update_time; -+ - // Specifies the path to the directory where NSS will store its database. - [EnableIf=is_chromeos] - mojo_base.mojom.FilePath? nss_path; diff --git a/chromium-77.0.3865.75-gcc-abstract-class.patch b/chromium-77.0.3865.75-gcc-abstract-class.patch deleted file mode 100644 index 6d77299..0000000 --- a/chromium-77.0.3865.75-gcc-abstract-class.patch +++ /dev/null @@ -1,61 +0,0 @@ -From f08cb0022527081c078e8b96062e6c9b4fbda151 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 26 Jul 2019 16:48:06 +0000 -Subject: [PATCH] BinaryUploadService: change parameter passing that cannot afford abstract class - -The method UploadForDeepScanning gets a Request as parameter. But Request is an -abstract class, so GCC will not allow that declaration (polimorphycs should be -passed by reference). Use std::unique_ptr so BinaryUploadService can assume -ownership. - -Bug: 819294 -Change-Id: I9e8c75cc92b01abd704d9049b0421555377da5ba -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713550 -Reviewed-by: Daniel Rubery -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#681333} ---- - -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -index 6430c89..4e90487 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.cc -@@ -10,7 +10,7 @@ - namespace safe_browsing { - - void BinaryUploadService::UploadForDeepScanning( -- BinaryUploadService::Request request) { -+ std::unique_ptr request) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - NOTREACHED(); - } -diff --git a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -index d2dfd83..9b6f395 100644 ---- a/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -+++ b/chrome/browser/safe_browsing/download_protection/binary_upload_service.h -@@ -5,6 +5,8 @@ - #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_BINARY_UPLOAD_SERVICE_H_ - -+#include -+ - #include "base/callback.h" - #include "components/safe_browsing/proto/webprotect.pb.h" - -@@ -40,6 +42,7 @@ - public: - // |callback| will run on the UI thread. - explicit Request(Callback callback); -+ virtual ~Request() = default; - Request(const Request&) = delete; - Request& operator=(const Request&) = delete; - -@@ -67,7 +70,7 @@ - // Upload the given file contents for deep scanning. The results will be - // returned asynchronously by calling |request|'s |callback|. This must be - // called on the UI thread. -- void UploadForDeepScanning(Request request); -+ void UploadForDeepScanning(std::unique_ptr request); - }; - - } // namespace safe_browsing diff --git a/chromium-77.0.3865.75-harfbuzz-subset.patch b/chromium-77.0.3865.75-harfbuzz-subset.patch deleted file mode 100644 index 55d78d1..0000000 --- a/chromium-77.0.3865.75-harfbuzz-subset.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Mon, 29 Jul 2019 10:54:28 +0000 -Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz is true - -When building HarfBuzz as part of Chromium, there is a single source set -with all the files we need in the build. - -Upstream HarfBuzz, on the other hand, produces a few different libraries: -harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is -true, we were only looking for (and using) harfbuzz.pc with pkg-config even -though we also use symbols from libharfbuzz-subset.so. This resulted in -errors when linking: - - ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': - SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' - ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' - -as reported in -https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ - -Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 -Auto-Submit: Raphael Kubo da Costa -Commit-Queue: Dominik Röttsches -Reviewed-by: Dominik Röttsches -Cr-Commit-Position: refs/heads/master@{#681760} ---- - -diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn -index 37d8e33..72013eb1d 100644 ---- a/third_party/harfbuzz-ng/BUILD.gn -+++ b/third_party/harfbuzz-ng/BUILD.gn -@@ -16,7 +16,10 @@ - "//third_party:freetype_harfbuzz", - "//third_party/freetype:freetype_source", - ] -- packages = [ "harfbuzz" ] -+ packages = [ -+ "harfbuzz", -+ "harfbuzz-subset", -+ ] - } - } else { - config("harfbuzz_config") { diff --git a/chromium-77.0.3865.75-missing-limits.patch b/chromium-77.0.3865.75-missing-limits.patch deleted file mode 100644 index 3ac1770..0000000 --- a/chromium-77.0.3865.75-missing-limits.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 -From: Dave Tapuska -Date: Mon, 12 Aug 2019 22:30:13 +0000 -Subject: [PATCH] Fix build failure due to missing include for std::numeric_limits usage. - -Some configurations fail to build, limits should have been included. - -BUG=992832 - -Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 -Commit-Queue: Dave Tapuska -Reviewed-by: Mostyn Bramley-Moore -Cr-Commit-Position: refs/heads/master@{#686214} ---- - -diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc -index 384566a..68d83e1 100644 ---- a/third_party/blink/renderer/platform/exported/web_time_range.cc -+++ b/third_party/blink/renderer/platform/exported/web_time_range.cc -@@ -31,6 +31,7 @@ - #include "third_party/blink/public/platform/web_time_range.h" - - #include -+#include - - namespace blink { - diff --git a/chromium-77.0.3865.75-unbundle-zlib.patch b/chromium-77.0.3865.75-unbundle-zlib.patch deleted file mode 100644 index d6c45ad..0000000 --- a/chromium-77.0.3865.75-unbundle-zlib.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e1bbdec720a333937bd1b990ae0f7ee97db0d3b0 Mon Sep 17 00:00:00 2001 -From: Your Name -Date: Fri, 28 Jun 2019 15:56:23 +0000 -Subject: [PATCH] update zlib - ---- - third_party/perfetto/gn/BUILD.gn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn -index c951f5f..297eee3 100644 ---- a/third_party/perfetto/gn/BUILD.gn -+++ b/third_party/perfetto/gn/BUILD.gn -@@ -200,7 +200,7 @@ group("zlib") { - "//buildtools:zlib", - ] - } else if (build_with_chromium) { -- public_configs = [ "//third_party/zlib:zlib_config" ] -+ public_configs = [ "//third_party/zlib:system_zlib" ] - public_deps = [ - "//third_party/zlib", - ] --- -2.21.0 - diff --git a/chromium-77.0.3865.90-linked-hash-set.patch b/chromium-77.0.3865.90-linked-hash-set.patch deleted file mode 100644 index f921f1a..0000000 --- a/chromium-77.0.3865.90-linked-hash-set.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 -From: Jeremy Roman -Date: Wed, 07 Aug 2019 13:26:48 +0000 -Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset initialization would be bad. - -Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. - -Bug: 980025 -Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 -Reviewed-by: Kentaro Hara -Reviewed-by: Yutaka Hirano -Commit-Queue: Jeremy Roman -Cr-Commit-Position: refs/heads/master@{#684731} ---- - -diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h -index 0efc8fb..90063cb 100644 ---- a/third_party/blink/renderer/platform/fonts/font_cache_key.h -+++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h -@@ -133,6 +133,10 @@ - - struct FontCacheKeyTraits : WTF::SimpleClassHashTraits { - STATIC_ONLY(FontCacheKeyTraits); -+ -+ // std::string's empty state need not be zero in all implementations, -+ // and it is held within FontFaceCreationParams. -+ static const bool kEmptyValueIsZero = false; - }; - - } // namespace blink -diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -index b35b6e9..77e524c 100644 ---- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h -+++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h -@@ -146,6 +146,11 @@ - LinkedHashSetNodeBase* next) - : LinkedHashSetNodeBase(prev, next), value_(value) {} - -+ LinkedHashSetNode(ValueArg&& value, -+ LinkedHashSetNodeBase* prev, -+ LinkedHashSetNodeBase* next) -+ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} -+ - LinkedHashSetNode(LinkedHashSetNode&& other) - : LinkedHashSetNodeBase(std::move(other)), - value_(std::move(other.value_)) {} -@@ -445,10 +450,13 @@ - - // The slot is empty when the next_ field is zero so it's safe to zero - // the backing. -- static const bool kEmptyValueIsZero = true; -+ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; - - static const bool kHasIsEmptyValueFunction = true; - static bool IsEmptyValue(const Node& node) { return !node.next_; } -+ static Node EmptyValue() { -+ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); -+ } - - static const int kDeletedValue = -1; - -diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -index 4c3f899..cd1be00 100644 ---- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -+++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc -@@ -487,6 +487,7 @@ - }; - - struct Complicated { -+ Complicated() : Complicated(0) {} - Complicated(int value) : simple_(value) { objects_constructed_++; } - - Complicated(const Complicated& other) : simple_(other.simple_) { -@@ -495,9 +496,6 @@ - - Simple simple_; - static int objects_constructed_; -- -- private: -- Complicated() = delete; - }; - - int Complicated::objects_constructed_ = 0; -@@ -731,4 +729,45 @@ - - } // anonymous namespace - -+// A unit type which objects to its state being initialized wrong. -+struct InvalidZeroValue { -+ InvalidZeroValue() = default; -+ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} -+ ~InvalidZeroValue() { CHECK(ok_); } -+ bool IsHashTableDeletedValue() const { return deleted_; } -+ -+ bool ok_ = true; -+ bool deleted_ = false; -+}; -+ -+template <> -+struct HashTraits : SimpleClassHashTraits { -+ static const bool kEmptyValueIsZero = false; -+}; -+ -+template <> -+struct DefaultHash { -+ struct Hash { -+ static unsigned GetHash(const InvalidZeroValue&) { return 0; } -+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { -+ return true; -+ } -+ }; -+}; -+ -+template -+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; -+ -+using InvalidZeroValueSetTypes = -+ testing::Types, -+ ListHashSet, -+ LinkedHashSet>; -+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); -+ -+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { -+ using Set = TypeParam; -+ Set set; -+ set.insert(InvalidZeroValue()); -+} -+ - } // namespace WTF diff --git a/chromium-78-protobuf-RepeatedPtrField-export.patch b/chromium-78-protobuf-RepeatedPtrField-export.patch deleted file mode 100644 index ddb9e80..0000000 --- a/chromium-78-protobuf-RepeatedPtrField-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 --class RepeatedPtrField final : private internal::RepeatedPtrFieldBase { -+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase { - public: - RepeatedPtrField(); - explicit RepeatedPtrField(Arena* arena); diff --git a/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch b/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch deleted file mode 100644 index 6785b09..0000000 --- a/chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h ---- chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:16.153251961 -0400 -+++ chromium-78.0.3904.70/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2019-10-23 08:58:36.896862347 -0400 -@@ -1486,7 +1486,7 @@ struct kernel_stat { - "d"(LSS_SYSCALL_ARG(parent_tidptr)), - "r"(LSS_SYSCALL_ARG(newtls)), - "r"(LSS_SYSCALL_ARG(child_tidptr)) -- : "rsp", "memory", "r8", "r10", "r11", "rcx"); -+ : "memory", "r8", "r10", "r11", "rcx"); - } - LSS_RETURN(int, __res); - } -diff -up chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h ---- chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h.gcc9 2019-10-23 08:58:59.623435488 -0400 -+++ chromium-78.0.3904.70/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h 2019-10-23 08:59:16.113125772 -0400 -@@ -1485,7 +1485,7 @@ struct kernel_stat { - "d"(LSS_SYSCALL_ARG(parent_tidptr)), - "r"(LSS_SYSCALL_ARG(newtls)), - "r"(LSS_SYSCALL_ARG(child_tidptr)) -- : "rsp", "memory", "r8", "r10", "r11", "rcx"); -+ : "memory", "r8", "r10", "r11", "rcx"); - } - LSS_RETURN(int, __res); - } diff --git a/chromium-78.0.3904.70-unbundle-zlib.patch b/chromium-78.0.3904.70-unbundle-zlib.patch deleted file mode 100644 index 155990e..0000000 --- a/chromium-78.0.3904.70-unbundle-zlib.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn.unbundle-zlib chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn ---- chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn.unbundle-zlib 2019-10-23 09:25:44.419884187 -0400 -+++ chromium-78.0.3904.70/third_party/perfetto/gn/BUILD.gn 2019-10-23 09:29:53.553442745 -0400 -@@ -276,7 +276,7 @@ if (enable_perfetto_trace_processor || e - "//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-vtable-symbol-undefined.patch b/chromium-78.0.3904.70-vtable-symbol-undefined.patch deleted file mode 100644 index 13751a2..0000000 --- a/chromium-78.0.3904.70-vtable-symbol-undefined.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc ---- chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc.vtable-symbol-undefined 2019-10-23 09:12:08.754351798 -0400 -+++ chromium-78.0.3904.70/net/quic/platform/impl/quic_default_proof_providers_impl.cc 2019-10-23 09:19:28.278431430 -0400 -@@ -18,6 +18,7 @@ - #include "net/quic/crypto/proof_verifier_chromium.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_flags.h" - #include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h" -+#include "net/quic/platform/impl/quic_flags_impl.cc" - - DEFINE_QUIC_COMMAND_LINE_FLAG( - bool, diff --git a/chromium-79-gcc-ambiguous-nodestructor.patch b/chromium-79-gcc-ambiguous-nodestructor.patch deleted file mode 100644 index d43a091..0000000 --- a/chromium-79-gcc-ambiguous-nodestructor.patch +++ /dev/null @@ -1,39 +0,0 @@ -From af77dc4014ead3d898fdc8a7a70fe5063ac9b102 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 25 Oct 2019 19:01:29 +0000 -Subject: [PATCH] GCC: use brace-initializer for DohUpgrade vector - -Constructing NoDestructor with parenthesis constructor is ambiguous -in GCC. Use brace-initializer to avoid that problem. This fixes this -build error: - -Bug: 819294 -Change-Id: I00dda42daa1794d11e022f26ac07f92e599d106d -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879910 -Reviewed-by: Eric Orth -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#709569} ---- - -diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc -index 14997c4..637b6f2 100644 ---- a/net/dns/dns_util.cc -+++ b/net/dns/dns_util.cc -@@ -144,7 +144,7 @@ - // DohProviderId histogram suffix list in - // tools/metrics/histograms/histograms.xml. - static const base::NoDestructor> -- upgradable_servers({ -+ upgradable_servers{{ - DohUpgradeEntry( - "CleanBrowsingAdult", - {"185.228.168.10", "185.228.169.11", "2a0d:2a00:1::1", -@@ -215,7 +215,7 @@ - {"9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9"}, - {"dns.quad9.net", "dns9.quad9.net"} /* DoT hostname */, - {"https://dns.quad9.net/dns-query", true /* use_post */}), -- }); -+ }}; - return *upgradable_servers; - } - diff --git a/chromium-79-gcc-permissive.patch b/chromium-79-gcc-permissive.patch deleted file mode 100644 index c42d569..0000000 --- a/chromium-79-gcc-permissive.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 528e9a3e1f25bd264549c4c7779748abfd16bb1c Mon Sep 17 00:00:00 2001 -From: Jan Wilken Dörrie -Date: Fri, 18 Oct 2019 11:45:24 +0000 -Subject: [PATCH] Reland "GCC: Fix base::internal::InvokeFuncImpl" - -This is a reland of 9293d5c86eec1c34fc00716645400b44a14e764e - -Original change's description: -> GCC: Fix base::internal::InvokeFuncImpl -> -> GCC doesn't like that the Value data member has no out-of-line -> definition. The problem is triggered specifically only when compiling -> -> components/services/leveldb/leveldb_database_impl.cc -> -> which has lambda functions returning locally-defined classes. -> -> The current code works as-is in C++17 mode which introduces the concept -> of inline variables, but in C++14 we need either an explicit out-of-line -> definition or a function member instead of a data member. -> -> Use std::integral_constant for defining the value. -> -> Bug: 819294 -> Change-Id: I5c68e14ce3fa9d8b4d8a2cb42d7f9b53938aabf3 -> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1862451 -> Reviewed-by: Jan Wilken Dörrie -> Reviewed-by: Daniel Cheng -> Commit-Queue: Jüri Valdmann -> Cr-Commit-Position: refs/heads/master@{#706384} - -Bug: 819294 -Change-Id: I3d5a52ddc6815516e2239f9347c60de06bf765a2 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1865212 -Reviewed-by: Daniel Cheng -Commit-Queue: Jan Wilken Dörrie -Cr-Commit-Position: refs/heads/master@{#707329} ---- - -diff --git a/base/bind.h b/base/bind.h -index 7a400af..1070ce6 100644 ---- a/base/bind.h -+++ b/base/bind.h -@@ -187,18 +187,15 @@ - // well-formed. Using `Invoker::Run` with a OnceCallback triggers a - // static_assert, which is why the ternary expression does not compile. - // TODO(crbug.com/752720): Remove this indirection once we have `if constexpr`. --template --struct InvokeFuncImpl; -+template -+constexpr auto GetInvokeFunc(std::true_type) { -+ return Invoker::RunOnce; -+} - - template --struct InvokeFuncImpl { -- static constexpr auto Value = &Invoker::RunOnce; --}; -- --template --struct InvokeFuncImpl { -- static constexpr auto Value = &Invoker::Run; --}; -+constexpr auto GetInvokeFunc(std::false_type) { -+ return Invoker::Run; -+} - - template