diff --git a/.chromium.metadata b/.chromium.metadata index 0b7c6962..8a2803a3 100644 --- a/.chromium.metadata +++ b/.chromium.metadata @@ -1,4 +1,4 @@ -75c83e35f8f1cedca68b0a48509421b08efa71ef SOURCES/chromium-126.0.6478.182-clean.tar.xz +768e9e27489af159bdcd95789cab8a9ddca34337 SOURCES/chromium-127.0.6533.72-clean.tar.xz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz 3e94bb4f999c636293bc745b02d98e7925da5616 SOURCES/node-v20.6.1-linux-arm64.tar.xz diff --git a/.gitignore b/.gitignore index 6807f432..a6af0a01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -SOURCES/chromium-126.0.6478.182-clean.tar.xz +SOURCES/chromium-127.0.6533.72-clean.tar.xz SOURCES/linux-arm64-0.19.2.tgz SOURCES/linux-x64-0.19.2.tgz SOURCES/node-v20.6.1-linux-arm64.tar.xz diff --git a/SOURCES/add-ppc64-architecture-string.patch b/SOURCES/add-ppc64-architecture-string.patch new file mode 100644 index 00000000..72ea1641 --- /dev/null +++ b/SOURCES/add-ppc64-architecture-string.patch @@ -0,0 +1,11 @@ +--- a/base/system/sys_info.cc ++++ b/base/system/sys_info.cc +@@ -255,6 +255,8 @@ + return "ARM"; + #elif defined(ARCH_CPU_ARM64) + return "ARM_64"; ++#elif defined(ARCH_CPU_PPC64) ++ return "PPC_64"; + #elif defined(ARCH_CPU_RISCV64) + return "RISCV_64"; + #else diff --git a/SOURCES/chromium-108-el7-wayland-strndup-error.patch b/SOURCES/chromium-108-el7-wayland-strndup-error.patch deleted file mode 100644 index 11478678..00000000 --- a/SOURCES/chromium-108-el7-wayland-strndup-error.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c ---- chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c.me 2022-12-27 16:14:22.507496575 +0100 -+++ chromium-108.0.5359.124/third_party/wayland/src/src/scanner.c 2022-12-27 16:35:17.617573610 +0100 -@@ -26,6 +26,7 @@ - */ - - #include "wayland-version.h" -+#include "config.h" // HAVE_STRNDUP - - #include - #include diff --git a/SOURCES/chromium-110-epel7-old-headers-workarounds.patch b/SOURCES/chromium-110-epel7-old-headers-workarounds.patch deleted file mode 100644 index cb91763b..00000000 --- a/SOURCES/chromium-110-epel7-old-headers-workarounds.patch +++ /dev/null @@ -1,141 +0,0 @@ -diff -up chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc.me chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc ---- chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc.me 2023-02-08 20:34:02.700010846 +0100 -+++ chromium-110.0.5481.77/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc 2023-02-08 20:35:30.455580670 +0100 -@@ -4,7 +4,9 @@ - - #include "sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.h" - --#include -+#ifndef KCMP_FILE -+#define KCMP_FILE 0 -+#endif - - #include "media/gpu/buildflags.h" - #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h" -diff -up chromium-99.0.4844.51/mojo/core/channel_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/mojo/core/channel_linux.cc ---- chromium-99.0.4844.51/mojo/core/channel_linux.cc.epel7-header-workarounds 2022-02-28 19:05:54.000000000 -0500 -+++ chromium-99.0.4844.51/mojo/core/channel_linux.cc 2022-03-05 14:50:49.876812909 -0500 -@@ -44,6 +44,25 @@ - #include "base/android/build_info.h" - #endif - -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif -+#ifndef F_GET_SEALS -+#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+ - #ifndef EFD_ZERO_ON_WAKE - #define EFD_ZERO_ON_WAKE O_NOFOLLOW - #endif -diff -up chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ---- chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.epel7-header-workarounds 2022-03-05 14:50:49.877812915 -0500 -+++ chromium-99.0.4844.51/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2022-03-05 15:15:02.536867009 -0500 -@@ -53,6 +53,25 @@ - - #endif // BUILDFLAG(IS_ANDROID) - -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif -+#ifndef F_GET_SEALS -+#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+ - #if defined(__arm__) && !defined(MAP_STACK) - #define MAP_STACK 0x20000 // Daisy build environment has old headers. - #endif -diff -up chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc ---- chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-28 19:05:55.000000000 -0500 -+++ chromium-99.0.4844.51/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc 2022-03-05 14:50:49.877812915 -0500 -@@ -6,7 +6,24 @@ - - #include - #include --#include -+#ifndef KCMP_FILE -+#define KCMP_FILE 0 -+#endif -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif - #include - - // Some arch's (arm64 for instance) unistd.h don't pull in symbols used here -diff -up chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc ---- chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc.epel7-header-workarounds 2022-02-28 19:05:55.000000000 -0500 -+++ chromium-99.0.4844.51/sandbox/policy/linux/bpf_gpu_policy_linux.cc 2022-03-05 14:50:49.877812915 -0500 -@@ -22,6 +22,22 @@ - #include "sandbox/policy/linux/sandbox_linux.h" - #include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" - -+#ifndef F_LINUX_SPECIFIC_BASE -+#define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_SEAL_SEAL -+#define F_SEAL_SEAL 0x0001 -+#endif -+#ifndef F_SEAL_SHRINK -+#define F_SEAL_SHRINK 0x0002 -+#endif -+#ifndef F_SEAL_GROW -+#define F_SEAL_GROW 0x0004 -+#endif -+#ifndef F_ADD_SEALS -+#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+#endif -+ - using sandbox::bpf_dsl::AllOf; - using sandbox::bpf_dsl::Allow; - using sandbox::bpf_dsl::Arg; -diff -up chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc ---- chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc.epel7-header-workarounds 2022-02-28 19:06:49.000000000 -0500 -+++ chromium-99.0.4844.51/ui/events/ozone/evdev/event_converter_evdev_impl.cc 2022-03-05 14:50:49.877812915 -0500 -@@ -23,6 +23,10 @@ - #include "ui/events/ozone/evdev/numberpad_metrics.h" - #endif - -+#ifndef SW_PEN_INSERTED -+#define SW_PEN_INSERTED 0x0f /* set = pen inserted */ -+#endif -+ - namespace ui { - - namespace { diff --git a/SOURCES/chromium-114-wireless-el7.patch b/SOURCES/chromium-114-wireless-el7.patch deleted file mode 100644 index 9776e905..00000000 --- a/SOURCES/chromium-114-wireless-el7.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc.me chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc ---- chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc.me 2023-05-13 12:09:44.423727385 +0200 -+++ chromium-114.0.5735.26/sandbox/policy/linux/bpf_network_policy_linux.cc 2023-05-13 17:52:19.934347246 +0200 -@@ -11,7 +11,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -48,6 +47,10 @@ using sandbox::syscall_broker::BrokerPro - #define F2FS_IOC_GET_FEATURES _IOR(0xf5, 12, uint32_t) - #endif - -+#if !defined(SIOCGIWNAME) -+#define SIOCGIWNAME 0x8B01 -+#endif -+ - namespace sandbox::policy { - - namespace { diff --git a/SOURCES/chromium-115-buildflag-el7.patch b/SOURCES/chromium-115-buildflag-el7.patch deleted file mode 100644 index d3e2a7d4..00000000 --- a/SOURCES/chromium-115-buildflag-el7.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc.buildflag-el7 chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc ---- chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc.buildflag-el7 2023-06-07 21:48:29.000000000 +0200 -+++ chromium-115.0.5790.24/components/omnibox/browser/omnibox_edit_model.cc 2023-06-17 16:50:46.373867625 +0200 -@@ -79,7 +79,7 @@ - #include "ui/gfx/vector_icon_types.h" - #endif - --#if BUILDFLAG(GOOGLE_CHROME_BRANDING) -+#ifdef GOOGLE_CHROME_BRANDING - #include "components/vector_icons/vector_icons.h" // nogncheck - #endif - -@@ -631,7 +631,7 @@ bool OmniboxEditModel::ShouldShowCurrent - - ui::ImageModel OmniboxEditModel::GetSuperGIcon(int image_size, - bool dark_mode) const { --#if BUILDFLAG(GOOGLE_CHROME_BRANDING) -+#ifdef GOOGLE_CHROME_BRANDING - if (dark_mode) { - return ui::ImageModel::FromVectorIcon( - vector_icons::kGoogleGLogoMonochromeIcon, ui::kColorRefPrimary100, diff --git a/SOURCES/chromium-115-el7-compiler-SkColor4f.patch b/SOURCES/chromium-115-el7-compiler-SkColor4f.patch deleted file mode 100644 index 7e17cb0f..00000000 --- a/SOURCES/chromium-115-el7-compiler-SkColor4f.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc ---- chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me 2023-06-24 10:38:11.011511463 +0200 -+++ chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc 2023-06-24 13:07:35.865375884 +0200 -@@ -84,6 +84,7 @@ CanvasStyle::CanvasStyle(const CanvasSty - - void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags, - float global_alpha) const { -+ SkColor4f custom_color = SkColor4f{0.0f, 0.0f, 0.0f, global_alpha}; - switch (type_) { - case kColor: - ApplyColorToFlags(flags, global_alpha); -@@ -91,12 +92,12 @@ void CanvasStyle::ApplyToFlags(cc::Paint - case kGradient: - GetCanvasGradient()->GetGradient()->ApplyToFlags(flags, SkMatrix::I(), - ImageDrawOptions()); -- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha)); -+ flags.setColor(custom_color); - break; - case kImagePattern: - GetCanvasPattern()->GetPattern()->ApplyToFlags( - flags, AffineTransformToSkMatrix(GetCanvasPattern()->GetTransform())); -- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha)); -+ flags.setColor(custom_color); - break; - default: - NOTREACHED(); diff --git a/SOURCES/chromium-117-el7-string-convert.patch b/SOURCES/chromium-117-el7-string-convert.patch deleted file mode 100644 index cb48e4b2..00000000 --- a/SOURCES/chromium-117-el7-string-convert.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc -diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me chromium-117.0.5938.62/net/dns/host_resolver_cache.h ---- chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me 2023-09-14 15:21:24.632965004 +0200 -+++ chromium-117.0.5938.62/net/dns/host_resolver_cache.h 2023-09-15 09:15:48.511300845 +0200 -@@ -143,12 +143,14 @@ class NET_EXPORT HostResolverCache final - } - - bool operator()(const Key& lhs, const KeyRef& rhs) const { -+ const std::string rhs_domain_name{rhs.domain_name}; - return std::tie(lhs.domain_name, lhs.network_anonymization_key) < -- std::tie(rhs.domain_name, *rhs.network_anonymization_key); -+ std::tie(rhs_domain_name, *rhs.network_anonymization_key); - } - - bool operator()(const KeyRef& lhs, const Key& rhs) const { -- return std::tie(lhs.domain_name, *lhs.network_anonymization_key) < -+ const std::string lhs_domain_name{lhs.domain_name}; -+ return std::tie(lhs_domain_name, *lhs.network_anonymization_key) < - std::tie(rhs.domain_name, rhs.network_anonymization_key); - } - }; diff --git a/SOURCES/chromium-118-el7_v4l2_quantization.patch b/SOURCES/chromium-118-el7_v4l2_quantization.patch deleted file mode 100644 index 638863bb..00000000 --- a/SOURCES/chromium-118-el7_v4l2_quantization.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc ---- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc.me 2023-10-07 12:24:51.194618144 +0200 -+++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.cc 2023-10-07 12:26:30.727448581 +0200 -@@ -1219,7 +1219,7 @@ void V4L2CaptureDelegate::SetErrorState( - client_->OnError(error, from_here, reason); - } - --#if BUILDFLAG(IS_LINUX) -+#if 0 //BUILDFLAG(IS_LINUX) - gfx::ColorSpace V4L2CaptureDelegate::BuildColorSpaceFromv4l2() { - v4l2_colorspace v4l2_primary = (v4l2_colorspace)video_fmt_.fmt.pix.colorspace; - v4l2_quantization v4l2_range = -diff -up chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h ---- chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h.me 2023-10-07 12:29:35.588406023 +0200 -+++ chromium-118.0.5993.54/media/capture/video/linux/v4l2_capture_delegate.h 2023-10-07 12:28:42.057036014 +0200 -@@ -133,7 +133,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate - const base::Location& from_here, - const std::string& reason); - --#if BUILDFLAG(IS_LINUX) -+#if 0 //BUILDFLAG(IS_LINUX) - // Systems which describe a "color space" usually map that to one or more of - // {primary, matrix, transfer, range}. BuildColorSpaceFromv4l2() will use the - // matched value as first priority. Otherwise, if there is no best matching diff --git a/SOURCES/chromium-120-system-libusb.patch b/SOURCES/chromium-120-system-libusb.patch deleted file mode 100644 index 0c5bd59e..00000000 --- a/SOURCES/chromium-120-system-libusb.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -up chromium-120.0.6099.35/build/linux/unbundle/libusb.gn.system-libusb chromium-120.0.6099.35/build/linux/unbundle/libusb.gn ---- chromium-120.0.6099.35/build/linux/unbundle/libusb.gn.system-libusb 2023-11-22 20:31:32.000000000 +0100 -+++ chromium-120.0.6099.35/build/linux/unbundle/libusb.gn 2023-11-26 11:46:14.559263668 +0100 -@@ -1,3 +1,27 @@ -+# 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" ] -+} - import("//build/config/linux/pkg_config.gni") - import("//build/shim_headers.gni") - -diff -up chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py.system-libusb chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py ---- chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py.system-libusb 2023-11-26 11:46:14.559263668 +0100 -+++ chromium-120.0.6099.35/build/linux/unbundle/replace_gn_files.py 2023-11-26 12:05:20.542665877 +0100 -@@ -56,6 +56,7 @@ REPLACEMENTS = { - 'libevent': 'third_party/libevent/BUILD.gn', - 'libjpeg': 'third_party/libjpeg.gni', - 'libpng': 'third_party/libpng/BUILD.gn', -+ 'libusb': 'third_party/libusb/BUILD.gn', - 'libsecret' : 'third_party/libsecret/BUILD.gn', - 'libusb': 'third_party/libusb/BUILD.gn', - 'libvpx': 'third_party/libvpx/BUILD.gn', diff --git a/SOURCES/chromium-121-el7-clang-version-warning.patch b/SOURCES/chromium-121-el7-clang-version-warning.patch deleted file mode 100644 index bc86eb23..00000000 --- a/SOURCES/chromium-121-el7-clang-version-warning.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- chromium-121.0.6167.57/third_party/libc++/src/include/__config.orig 2024-01-16 18:38:00.995930774 +0100 -+++ chromium-121.0.6167.57/third_party/libc++/src/include/__config 2024-01-16 18:43:47.056517289 +0100 -@@ -32,11 +32,7 @@ - - // Warn if a compiler version is used that is not supported anymore - // LLVM RELEASE Update the minimum compiler versions --# if defined(_LIBCPP_CLANG_VER) --# if _LIBCPP_CLANG_VER < 1600 --# warning "Libc++ only supports Clang 16 and later" --# endif --# elif defined(_LIBCPP_APPLE_CLANG_VER) -+# if defined(_LIBCPP_APPLE_CLANG_VER) - # if _LIBCPP_APPLE_CLANG_VER < 1500 - # warning "Libc++ only supports AppleClang 15 and later" - # endif diff --git a/SOURCES/chromium-122-el7-extra-operator.patch b/SOURCES/chromium-122-el7-extra-operator.patch deleted file mode 100644 index 0f65681b..00000000 --- a/SOURCES/chromium-122-el7-extra-operator.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-122.0.6261.69/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.me chromium-122.0.6261.69/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h ---- chromium-122.0.6261.69/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h.me 2024-02-24 13:02:58.931586003 +0100 -+++ chromium-122.0.6261.69/third_party/pdfium/core/fxcrt/fx_memory_wrappers.h 2024-02-24 13:03:33.152251546 +0100 -@@ -82,6 +82,7 @@ struct FxPartitionAllocAllocator { - } - - // There's no state, so they are all the same, -+ bool operator==(const FxPartitionAllocAllocator&) const { return true; } - bool operator==(const FxPartitionAllocAllocator& that) { return true; } - bool operator!=(const FxPartitionAllocAllocator& that) { return false; } - }; diff --git a/SOURCES/chromium-122-el7-inline-function.patch b/SOURCES/chromium-122-el7-inline-function.patch deleted file mode 100644 index fa3689c4..00000000 --- a/SOURCES/chromium-122-el7-inline-function.patch +++ /dev/null @@ -1,62 +0,0 @@ - -ld.lld: error: undefined symbol: unsigned long cc::PaintOpWriter::SerializedSize() - -diff -up chromium-122.0.6261.69/cc/paint/paint_op_writer.h.me chromium-122.0.6261.69/cc/paint/paint_op_writer.h ---- chromium-122.0.6261.69/cc/paint/paint_op_writer.h.me 2024-02-25 12:04:07.008177603 +0100 -+++ chromium-122.0.6261.69/cc/paint/paint_op_writer.h 2024-02-25 12:14:45.972117522 +0100 -@@ -112,7 +112,17 @@ class CC_PAINT_EXPORT PaintOpWriter { - - private: - template -- static constexpr size_t SerializedSizeSimple(); -+ static constexpr size_t SerializedSizeSimple() { -+ static_assert(!std::is_pointer_v); -+ return base::bits::AlignUp(sizeof(T), kDefaultAlignment); -+ } -+ -+ // size_t is always serialized as two uint32_ts to make the serialized result -+ // portable between 32bit and 64bit processes. -+ template <> -+ constexpr size_t SerializedSizeSimple() { -+ return base::bits::AlignUp(2 * sizeof(uint32_t), kDefaultAlignment); -+ } - - public: - // SerializedSize() returns the maximum serialized size of the given type or -@@ -123,7 +133,10 @@ class CC_PAINT_EXPORT PaintOpWriter { - // deserialization, and make it possible to allow dynamic sizing for some - // data types (see the specialized/overloaded functions). - template -- static constexpr size_t SerializedSize(); -+ static constexpr size_t SerializedSize() { -+ static_assert(std::is_arithmetic_v || std::is_enum_v); -+ return SerializedSizeSimple(); -+ } - template - static constexpr size_t SerializedSize(const T& data); - static size_t SerializedSize(const PaintImage& image); -@@ -439,24 +452,6 @@ class CC_PAINT_EXPORT PaintOpWriter { - }; - - template --constexpr size_t PaintOpWriter::SerializedSizeSimple() { -- static_assert(!std::is_pointer_v); -- return base::bits::AlignUp(sizeof(T), kDefaultAlignment); --} -- --// size_t is always serialized as two uint32_ts to make the serialized result --// portable between 32bit and 64bit processes. --template <> --constexpr size_t PaintOpWriter::SerializedSizeSimple() { -- return base::bits::AlignUp(2 * sizeof(uint32_t), kDefaultAlignment); --} -- --template --constexpr size_t PaintOpWriter::SerializedSize() { -- static_assert(std::is_arithmetic_v || std::is_enum_v); -- return SerializedSizeSimple(); --} --template - constexpr size_t PaintOpWriter::SerializedSize(const T& data) { - return SerializedSizeSimple(); - } diff --git a/SOURCES/chromium-122-revert-av1enc-el9.patch b/SOURCES/chromium-122-revert-av1enc-el9.patch deleted file mode 100644 index 5861bc6d..00000000 --- a/SOURCES/chromium-122-revert-av1enc-el9.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -up chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc ---- chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.me 2023-05-21 10:05:00.357860329 +0200 -+++ chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.cc 2023-05-21 10:18:09.665432735 +0200 -@@ -41,7 +41,6 @@ - #include "media/gpu/gpu_video_encode_accelerator_helpers.h" - #include "media/gpu/h264_dpb.h" - #include "media/gpu/macros.h" --#include "media/gpu/vaapi/av1_vaapi_video_encoder_delegate.h" - #include "media/gpu/vaapi/h264_vaapi_video_encoder_delegate.h" - #include "media/gpu/vaapi/va_surface.h" - #include "media/gpu/vaapi/vaapi_common.h" -@@ -200,7 +199,7 @@ bool VaapiVideoEncodeAccelerator::Initia - - const VideoCodec codec = VideoCodecProfileToVideoCodec(config.output_profile); - if (codec != VideoCodec::kH264 && codec != VideoCodec::kVP8 && -- codec != VideoCodec::kVP9 && codec != VideoCodec::kAV1) { -+ codec != VideoCodec::kVP9) { - MEDIA_LOG(ERROR, media_log.get()) - << "Unsupported profile: " << GetProfileName(config.output_profile); - return false; -@@ -293,7 +292,6 @@ void VaapiVideoEncodeAccelerator::Initia - break; - case VideoCodec::kVP8: - case VideoCodec::kVP9: -- case VideoCodec::kAV1: - mode = VaapiWrapper::kEncodeConstantQuantizationParameter; - break; - default: -@@ -356,12 +354,6 @@ void VaapiVideoEncodeAccelerator::Initia - vaapi_wrapper_, error_cb); - } - break; -- case VideoCodec::kAV1: -- if (!IsConfiguredForTesting()) { -- encoder_ = std::make_unique( -- vaapi_wrapper_, error_cb); -- } -- break; - default: - NOTREACHED() << "Unsupported codec type " << GetCodecName(output_codec_); - return; -@@ -835,10 +827,6 @@ VaapiVideoEncodeAccelerator::CreateEncod - case VideoCodec::kVP9: - picture = new VaapiVP9Picture(std::move(reconstructed_surface)); - break; -- case VideoCodec::kAV1: -- picture = new VaapiAV1Picture(/*display_va_surface=*/nullptr, -- std::move(reconstructed_surface)); -- break; - default: - return nullptr; - } -diff -up chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn ---- chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200 -+++ chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn 2023-05-20 13:14:10.756183626 +0200 -@@ -38,8 +38,6 @@ source_set("vaapi") { - sources = [ - "av1_vaapi_video_decoder_delegate.cc", - "av1_vaapi_video_decoder_delegate.h", -- "av1_vaapi_video_encoder_delegate.cc", -- "av1_vaapi_video_encoder_delegate.h", - "h264_vaapi_video_decoder_delegate.cc", - "h264_vaapi_video_decoder_delegate.h", - "h264_vaapi_video_encoder_delegate.cc", -diff -up chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc.me chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc ---- chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc.me 2023-11-02 15:08:30.921325747 +0100 -+++ chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.cc 2023-11-02 15:09:46.123692602 +0100 -@@ -3124,6 +3124,7 @@ bool VaapiWrapper::GetSupportedPackedHea - return true; - } - -+#if 0 //disable AV1 due to old libva on epel9 - bool VaapiWrapper::GetMinAV1SegmentSize(VideoCodecProfile profile, - uint32_t& min_seg_size) { - CHECK(!enforce_sequence_affinity_ || -@@ -3141,6 +3142,7 @@ bool VaapiWrapper::GetMinAV1SegmentSize( - - return true; - } -+#endif - - bool VaapiWrapper::BlitSurface(const VASurface& va_surface_src, - const VASurface& va_surface_dest, -diff -up chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h.me chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h ---- chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h.me 2023-11-02 15:09:58.973928395 +0100 -+++ chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h 2023-11-02 15:10:45.990791114 +0100 -@@ -553,9 +553,11 @@ class MEDIA_GPU_EXPORT VaapiWrapper - bool& packed_pps, - bool& packed_slice); - -+#if 0 //disable AV1 due to old libva on epel9 - // Gets the minimum segment block size supported for AV1 encoding. - [[nodiscard]] bool GetMinAV1SegmentSize(VideoCodecProfile profile, - uint32_t& min_seg_size); -+#endif - - // Blits a VASurface |va_surface_src| into another VASurface - // |va_surface_dest| applying pixel format conversion, cropping diff --git a/SOURCES/chromium-123-el7-clang-build-failure.patch b/SOURCES/chromium-123-el7-clang-build-failure.patch deleted file mode 100644 index 4b04d7ad..00000000 --- a/SOURCES/chromium-123-el7-clang-build-failure.patch +++ /dev/null @@ -1,228 +0,0 @@ -commit 57526b8dc45b2e6c67bba7306f1dde73b1f2910c -Author: sisidovski -Date: Tue Oct 24 09:32:49 2023 +0000 - - Remove unused items from the RaceNetworkRequest hashmap - - When the AutoPreload or the race-network-and-fetch-handler option in the - static routing API is enabled, network requests are dispatched and - URLLoaderFactories are held in a hashmap in ServiceWorkerGlobalScope. - Those are consumed inside the fetch handler when fetch(e.request) is - called. But if the fetch handler doesn't call fetch() e.g. fallback, - those hashmap items does not have a chance to be removed. - - This CL changes the hashmap items to be removed when the fetch event - finishes, and the URLLoaderFactory is still not consumed at that time. - This may loose the dedupe capability if fetch() is called later e.g. - setTimeout(() => fetch()), but it makes sense to prioritize keeping the - hashmap small. - - Change-Id: I51bdc9d5eb5185f2b5b4df6ee785715b1180c848 - Bug: 1492640 - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4964840 - Reviewed-by: Minoru Chikamune - Commit-Queue: Yoshisato Yanagisawa - Reviewed-by: Yoshisato Yanagisawa - Cr-Commit-Position: refs/heads/main@{#1214064} - -diff -up chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc.me chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc ---- chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc.me 2024-03-18 10:34:27.604707632 +0100 -+++ chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.cc 2024-03-18 11:52:14.309983505 +0100 -@@ -46,7 +46,6 @@ - #include "services/network/public/cpp/cross_origin_embedder_policy.h" - #include "services/network/public/mojom/cookie_manager.mojom-blink.h" - #include "services/network/public/mojom/cross_origin_embedder_policy.mojom.h" --#include "services/network/public/mojom/url_loader_factory.mojom-blink.h" - #include "third_party/blink/public/common/features.h" - #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h" - #include "third_party/blink/public/mojom/notifications/notification.mojom-blink.h" -@@ -1097,10 +1096,6 @@ void ServiceWorkerGlobalScope::DidHandle - TRACE_ID_WITH_SCOPE(kServiceWorkerGlobalScopeTraceScope, - TRACE_ID_LOCAL(event_id)), - TRACE_EVENT_FLAG_FLOW_IN, "status", MojoEnumToString(status)); -- -- // Delete the URLLoaderFactory for the RaceNetworkRequest if it's not used. -- RemoveItemFromRaceNetworkRequests(event_id); -- - if (!RunEventCallback(&fetch_event_callbacks_, event_queue_.get(), event_id, - status)) { - // The event may have been aborted. Its response callback also needs to be -@@ -1500,7 +1495,6 @@ void ServiceWorkerGlobalScope::AbortCall - response_callback_iter->value->TakeValue().reset(); - fetch_response_callbacks_.erase(response_callback_iter); - } -- RemoveItemFromRaceNetworkRequests(event_id); - - // Run the event callback with the error code. - auto event_callback_iter = fetch_event_callbacks_.find(event_id); -@@ -1588,11 +1582,52 @@ void ServiceWorkerGlobalScope::StartFetc - - if (params->race_network_request_loader_factory && - params->request->service_worker_race_network_request_token) { -- InsertNewItemToRaceNetworkRequests( -- event_id, -- params->request->service_worker_race_network_request_token.value(), -- std::move(params->race_network_request_loader_factory), -- params->request->url); -+ auto insert_result = race_network_request_loader_factories_.insert( -+ String(params->request->service_worker_race_network_request_token -+ ->ToString()), -+ std::move(params->race_network_request_loader_factory)); -+ -+ // DumpWithoutCrashing if the token is empty, or not inserted as a new entry -+ // to |race_network_request_loader_factories_|. -+ // TODO(crbug.com/1492640) Remove DumpWithoutCrashing once we collect data -+ // and identify the cause. -+ static bool has_dumped_without_crashing_for_empty_token = false; -+ static bool has_dumped_without_crashing_for_not_new_entry = false; -+ if (!has_dumped_without_crashing_for_empty_token && -+ params->request->service_worker_race_network_request_token -+ ->is_empty()) { -+ has_dumped_without_crashing_for_empty_token = true; -+ SCOPED_CRASH_KEY_BOOL( -+ "SWGlobalScope", "empty_race_token", -+ params->request->service_worker_race_network_request_token -+ ->is_empty()); -+ SCOPED_CRASH_KEY_STRING64( -+ "SWGlobalScope", "race_token_string", -+ params->request->service_worker_race_network_request_token -+ ->ToString()); -+ SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry", -+ insert_result.is_new_entry); -+ SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url", -+ params->request->url.GetString().Utf8()); -+ base::debug::DumpWithoutCrashing(); -+ } -+ if (!has_dumped_without_crashing_for_not_new_entry && -+ !insert_result.is_new_entry) { -+ has_dumped_without_crashing_for_not_new_entry = true; -+ SCOPED_CRASH_KEY_BOOL( -+ "SWGlobalScope", "empty_race_token", -+ params->request->service_worker_race_network_request_token -+ ->is_empty()); -+ SCOPED_CRASH_KEY_STRING64( -+ "SWGlobalScope", "race_token_string", -+ params->request->service_worker_race_network_request_token -+ ->ToString()); -+ SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry", -+ insert_result.is_new_entry); -+ SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url", -+ params->request->url.GetString().Utf8()); -+ base::debug::DumpWithoutCrashing(); -+ } - } - - Request* request = Request::Create( -@@ -2805,71 +2840,12 @@ bool ServiceWorkerGlobalScope::SetAttrib - std::optional> - ServiceWorkerGlobalScope::FindRaceNetworkRequestURLLoaderFactory( - const base::UnguessableToken& token) { -- std::unique_ptr result = -- race_network_requests_.Take(String(token.ToString())); -+ mojo::PendingRemote result = -+ race_network_request_loader_factories_.Take(String(token.ToString())); - if (result) { -- race_network_request_fetch_event_ids_.erase(result->fetch_event_id); -- return std::optional< -- mojo::PendingRemote>( -- std::move(result->url_loader_factory)); -+ return result; - } - return std::nullopt; - } - --void ServiceWorkerGlobalScope::InsertNewItemToRaceNetworkRequests( -- int fetch_event_id, -- const base::UnguessableToken& token, -- mojo::PendingRemote -- url_loader_factory, -- const KURL& request_url) { -- auto race_network_request_token = String(token.ToString()); -- auto info = std::make_unique( -- fetch_event_id, race_network_request_token, -- std::move(url_loader_factory)); -- race_network_request_fetch_event_ids_.insert(fetch_event_id, info.get()); -- auto insert_result = race_network_requests_.insert(race_network_request_token, -- std::move(info)); -- -- // DumpWithoutCrashing if the token is empty, or not inserted as a new entry -- // to |race_network_request_loader_factories_|. -- // TODO(crbug.com/1492640) Remove DumpWithoutCrashing once we collect data -- // and identify the cause. -- static bool has_dumped_without_crashing_for_empty_token = false; -- static bool has_dumped_without_crashing_for_not_new_entry = false; -- if (!has_dumped_without_crashing_for_empty_token && token.is_empty()) { -- has_dumped_without_crashing_for_empty_token = true; -- SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "empty_race_token", -- token.is_empty()); -- SCOPED_CRASH_KEY_STRING64("SWGlobalScope", "race_token_string", -- token.ToString()); -- SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry", -- insert_result.is_new_entry); -- SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url", -- request_url.GetString().Utf8()); -- base::debug::DumpWithoutCrashing(); -- } -- if (!has_dumped_without_crashing_for_not_new_entry && -- !insert_result.is_new_entry) { -- has_dumped_without_crashing_for_not_new_entry = true; -- SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "empty_race_token", -- token.is_empty()); -- SCOPED_CRASH_KEY_STRING64("SWGlobalScope", "race_token_string", -- token.ToString()); -- SCOPED_CRASH_KEY_BOOL("SWGlobalScope", "race_insert_new_entry", -- insert_result.is_new_entry); -- SCOPED_CRASH_KEY_STRING256("SWGlobalScope", "race_request_url", -- request_url.GetString().Utf8()); -- base::debug::DumpWithoutCrashing(); -- } --} -- --void ServiceWorkerGlobalScope::RemoveItemFromRaceNetworkRequests( -- int fetch_event_id) { -- RaceNetworkRequestInfo* info = -- race_network_request_fetch_event_ids_.Take(fetch_event_id); -- if (info) { -- race_network_requests_.erase(info->token); -- } --} -- - } // namespace blink -diff -up chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h.me chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h ---- chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h.me 2024-03-18 10:26:14.905817501 +0100 -+++ chromium-123.0.6312.46/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.h 2024-03-18 11:47:58.202198028 +0100 -@@ -623,14 +623,6 @@ class MODULES_EXPORT ServiceWorkerGlobal - // ServiceWorker.FetchEvent.QueuingTime histogram. - void RecordQueuingTime(base::TimeTicks created_time); - -- void InsertNewItemToRaceNetworkRequests( -- int fetch_event_id, -- const base::UnguessableToken& token, -- mojo::PendingRemote -- url_loader_factory, -- const KURL& request_url); -- void RemoveItemFromRaceNetworkRequests(int fetch_event_id); -- - Member clients_; - Member registration_; - Member<::blink::ServiceWorker> service_worker_; -@@ -776,17 +768,10 @@ class MODULES_EXPORT ServiceWorkerGlobal - - blink::BlinkStorageKey storage_key_; - -- struct RaceNetworkRequestInfo { -- int fetch_event_id; -- String token; -- mojo::PendingRemote -- url_loader_factory; -- }; - // TODO(crbug.com/918702) WTF::HashMap cannot use base::UnguessableToken as a - // key. As a workaround uses WTF::String as a key instead. -- HashMap> -- race_network_requests_; -- HashMap race_network_request_fetch_event_ids_; -+ HashMap> -+ race_network_request_loader_factories_; - - HeapMojoAssociatedRemote - remote_associated_interfaces_{this}; diff --git a/SOURCES/chromium-123-rust-clap_lex.patch b/SOURCES/chromium-123-rust-clap_lex.patch deleted file mode 100644 index 61bd1943..00000000 --- a/SOURCES/chromium-123-rust-clap_lex.patch +++ /dev/null @@ -1,133 +0,0 @@ -diff -Nur chromium-123.0.6312.46/third_party/rust/chromium_crates_io/vendor/clap_lex-0.7.0/src/ext.rs.me chromium-123.0.6312.46/third_party/rust/chromium_crates_io/vendor/clap_lex-0.7.0/src/ext.rs ---- chromium-123.0.6312.46/third_party/rust/chromium_crates_io/vendor/clap_lex-0.7.0/src/ext.rs.me 2024-03-13 20:36:17.000000000 +0100 -+++ chromium-123.0.6312.46/third_party/rust/chromium_crates_io/vendor/clap_lex-0.7.0/src/ext.rs 2024-03-13 00:38:18.000000000 +0100 -@@ -2,9 +2,6 @@ - - pub trait OsStrExt: private::Sealed { - /// Converts to a string slice. -- /// -- /// The Utf8Error is guaranteed to have a valid UTF8 boundary -- /// in its `valid_up_to()` - fn try_str(&self) -> Result<&str, std::str::Utf8Error>; - /// Returns `true` if the given pattern matches a sub-slice of - /// this string slice. -@@ -183,7 +180,7 @@ - - impl OsStrExt for OsStr { - fn try_str(&self) -> Result<&str, std::str::Utf8Error> { -- let bytes = self.as_encoded_bytes(); -+ let bytes = to_bytes(self); - std::str::from_utf8(bytes) - } - -@@ -192,22 +189,22 @@ - } - - fn find(&self, needle: &str) -> Option { -- let bytes = self.as_encoded_bytes(); -+ let bytes = to_bytes(self); - (0..=self.len().checked_sub(needle.len())?) - .find(|&x| bytes[x..].starts_with(needle.as_bytes())) - } - - fn strip_prefix(&self, prefix: &str) -> Option<&OsStr> { -- let bytes = self.as_encoded_bytes(); -+ let bytes = to_bytes(self); - bytes.strip_prefix(prefix.as_bytes()).map(|s| { - // SAFETY: -- // - This came from `as_encoded_bytes` -- // - Since `prefix` is `&str`, any split will be along UTF-8 boundary -- unsafe { OsStr::from_encoded_bytes_unchecked(s) } -+ // - This came from `to_bytes` -+ // - Since `prefix` is `&str`, any split will be along UTF-8 boundarie -+ unsafe { to_os_str_unchecked(s) } - }) - } - fn starts_with(&self, prefix: &str) -> bool { -- let bytes = self.as_encoded_bytes(); -+ let bytes = to_bytes(self); - bytes.starts_with(prefix.as_bytes()) - } - -@@ -222,18 +219,13 @@ - fn split_once(&self, needle: &'_ str) -> Option<(&OsStr, &OsStr)> { - let start = self.find(needle)?; - let end = start + needle.len(); -- let haystack = self.as_encoded_bytes(); -+ let haystack = to_bytes(self); - let first = &haystack[0..start]; - let second = &haystack[end..]; - // SAFETY: -- // - This came from `as_encoded_bytes` -- // - Since `needle` is `&str`, any split will be along UTF-8 boundary -- unsafe { -- Some(( -- OsStr::from_encoded_bytes_unchecked(first), -- OsStr::from_encoded_bytes_unchecked(second), -- )) -- } -+ // - This came from `to_bytes` -+ // - Since `needle` is `&str`, any split will be along UTF-8 boundarie -+ unsafe { Some((to_os_str_unchecked(first), to_os_str_unchecked(second))) } - } - } - -@@ -243,6 +235,45 @@ - impl Sealed for std::ffi::OsStr {} - } - -+/// Allow access to raw bytes -+/// -+/// As the non-UTF8 encoding is not defined, the bytes only make sense when compared with -+/// 7-bit ASCII or `&str` -+/// -+/// # Compatibility -+/// -+/// There is no guarantee how non-UTF8 bytes will be encoded, even within versions of this crate -+/// (since its dependent on rustc) -+fn to_bytes(s: &OsStr) -> &[u8] { -+ // SAFETY: -+ // - Lifetimes are the same -+ // - Types are compatible (`OsStr` is effectively a transparent wrapper for `[u8]`) -+ // - The primary contract is that the encoding for invalid surrogate code points is not -+ // guaranteed which isn't a problem here -+ // -+ // There is a proposal to support this natively (https://github.com/rust-lang/rust/pull/95290) -+ // but its in limbo -+ unsafe { std::mem::transmute(s) } -+} -+ -+/// Restore raw bytes as `OsStr` -+/// -+/// # Safety -+/// -+/// - `&[u8]` must either by a `&str` or originated with `to_bytes` within the same binary -+/// - Any splits of the original `&[u8]` must be done along UTF-8 boundaries -+unsafe fn to_os_str_unchecked(s: &[u8]) -> &OsStr { -+ // SAFETY: -+ // - Lifetimes are the same -+ // - Types are compatible (`OsStr` is effectively a transparent wrapper for `[u8]`) -+ // - The primary contract is that the encoding for invalid surrogate code points is not -+ // guaranteed which isn't a problem here -+ // -+ // There is a proposal to support this natively (https://github.com/rust-lang/rust/pull/95290) -+ // but its in limbo -+ std::mem::transmute(s) -+} -+ - pub struct Split<'s, 'n> { - haystack: Option<&'s OsStr>, - needle: &'n str, -@@ -275,10 +306,7 @@ - /// - /// `index` must be at a valid UTF-8 boundary - pub(crate) unsafe fn split_at(os: &OsStr, index: usize) -> (&OsStr, &OsStr) { -- let bytes = os.as_encoded_bytes(); -+ let bytes = to_bytes(os); - let (first, second) = bytes.split_at(index); -- ( -- OsStr::from_encoded_bytes_unchecked(first), -- OsStr::from_encoded_bytes_unchecked(second), -- ) -+ (to_os_str_unchecked(first), to_os_str_unchecked(second)) - } diff --git a/SOURCES/chromium-124-el7-size_t.patch b/SOURCES/chromium-124-el7-size_t.patch deleted file mode 100644 index 3ca84eef..00000000 --- a/SOURCES/chromium-124-el7-size_t.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h.me chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h ---- chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h.me 2024-05-06 08:32:09.637210958 +0200 -+++ chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h 2024-05-06 08:32:26.485518448 +0200 -@@ -63,10 +63,10 @@ class IdAllocator : public IdAllocatorGe - - // Tries to allocate `n` IDs. Returns a vector of `n` valid IDs or an empty - // vector, if not enough IDs are available. -- std::vector AllocateMultiple(size_t n) { -+ std::vector AllocateMultiple(std::size_t n) { - std::vector res; - res.reserve(n); -- for (size_t i = 0; i < n; i++) { -+ for (std::size_t i = 0; i < n; i++) { - T id = Allocate(); - if (id) { - res.push_back(id); diff --git a/SOURCES/chromium-124-el7-workaround_clang_bug-structured_binding.patch b/SOURCES/chromium-124-el7-workaround_clang_bug-structured_binding.patch deleted file mode 100644 index 727e4f5d..00000000 --- a/SOURCES/chromium-124-el7-workaround_clang_bug-structured_binding.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc ---- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200 -+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200 -@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui - void CdmPromiseAdapter::Clear(ClearReason reason) { - // Reject all outstanding promises. - DCHECK(thread_checker_.CalledOnValidThread()); -- for (auto& [promise_id, promise] : promises_) { -+ for (auto& [p_i, p_e] : promises_) { -+ auto& promise_id = p_i; -+ auto& promise = p_e; - TRACE_EVENT_NESTABLE_ASYNC_END1( - "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id), - "status", "cleared"); -diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc ---- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200 -+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200 -@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP - return; - } - -- auto [document_url, key, callback] = std::move(*request); -+ auto [d_u, key, callback] = std::move(*request); -+ auto document_url = d_u; - - DCHECK(document_url.is_valid()); - TRACE_EVENT1("ServiceWorker", -diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc ---- chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than 2023-12-19 17:57:56.205197246 +0100 -+++ chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc 2023-12-19 18:10:13.778634531 +0100 -@@ -3527,8 +3527,8 @@ void GridLayoutAlgorithm::PlaceGridItems - DCHECK(out_row_break_between); - - const auto& container_space = GetConstraintSpace(); -- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData(); -- -+ const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData(); -+ const auto& layout_data = l_d; - const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree(); - const auto container_writing_direction = - container_space.GetWritingDirection(); -@@ -3691,8 +3691,9 @@ void GridLayoutAlgorithm::PlaceGridItems - - // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true. - const auto& constraint_space = GetConstraintSpace(); -- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData(); -- -+ const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData(); -+ const auto& grid_items = g_i; -+ const auto& layout_data = l_d; - const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree(); - const auto container_writing_direction = - constraint_space.GetWritingDirection(); -diff -up chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc ---- chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me 2024-02-25 18:03:51.654579579 +0100 -+++ chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc 2024-02-25 18:12:45.144287750 +0100 -@@ -136,7 +136,8 @@ void PrewarmHttpDiskCacheManager::MaybeP - std::pair origin_and_url; - std::swap(origin_and_url, queued_jobs_.front()); - queued_jobs_.pop(); -- const auto& [origin, url] = origin_and_url; -+ const auto& [origin, u] = origin_and_url; -+ const auto& url = u; - TRACE_EVENT_WITH_FLOW1( - "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob", - TRACE_ID_LOCAL(this), ---- chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc.workaround_clang_bug-structured_binding 2024-05-05 16:22:47.581070868 +0200 -+++ chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc 2024-05-05 16:27:18.859972481 +0200 -@@ -417,7 +417,8 @@ - } - - SCOPED_CRASH_KEY_STRING256("SWRace", "request_url", request_.url.spec()); -- auto [read_result, read_buffer] = read_buffer_manager_->ReadData(); -+ auto [r, read_buffer] = read_buffer_manager_->ReadData(); -+ auto read_result = r; - TRACE_EVENT_WITH_FLOW2("ServiceWorker", - "ServiceWorkerRaceNetworkRequestURLLoaderClient::Read", - TRACE_ID_LOCAL(this), diff --git a/SOURCES/chromium-124-arm64-memory_tagging.patch b/SOURCES/chromium-124-el8-arm64-memory_tagging.patch similarity index 100% rename from SOURCES/chromium-124-arm64-memory_tagging.patch rename to SOURCES/chromium-124-el8-arm64-memory_tagging.patch diff --git a/SOURCES/chromium-124-libdav1d-aarch64.patch b/SOURCES/chromium-124-el8-libdav1d-aarch64.patch similarity index 100% rename from SOURCES/chromium-124-libdav1d-aarch64.patch rename to SOURCES/chromium-124-el8-libdav1d-aarch64.patch diff --git a/SOURCES/chromium-124-typename.patch b/SOURCES/chromium-124-typename.patch deleted file mode 100644 index a4c73647..00000000 --- a/SOURCES/chromium-124-typename.patch +++ /dev/null @@ -1,429 +0,0 @@ -diff -up chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h ---- chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename 2024-05-01 01:46:40.000000000 +0200 -+++ chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h 2024-05-05 16:32:57.377654043 +0200 -@@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot(); - - // A class that meets C++ named requirements, Allocator. - template --InternalAllocator::value_type* InternalAllocator::allocate( -+typename InternalAllocator::value_type* InternalAllocator::allocate( - std::size_t count) { - PA_CHECK(count <= - std::numeric_limits::max() / sizeof(value_type)); -diff -up chromium-124.0.6367.118/base/containers/heap_array.h.typename chromium-124.0.6367.118/base/containers/heap_array.h ---- chromium-124.0.6367.118/base/containers/heap_array.h.typename 2024-05-01 01:46:40.000000000 +0200 -+++ chromium-124.0.6367.118/base/containers/heap_array.h 2024-05-05 16:32:57.377654043 +0200 -@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray { - static_assert(!std::is_reference_v, - "HeapArray cannot hold reference types"); - -- using iterator = base::span::iterator; -- using const_iterator = base::span::iterator; -+ using iterator = typename base::span::iterator; -+ using const_iterator = typename base::span::iterator; - - // Allocates initialized memory capable of holding `size` elements. No memory - // is allocated for zero-sized arrays. -diff -up chromium-124.0.6367.118/base/containers/map_util.h.typename chromium-124.0.6367.118/base/containers/map_util.h ---- chromium-124.0.6367.118/base/containers/map_util.h.typename 2024-05-01 01:46:40.000000000 +0200 -+++ chromium-124.0.6367.118/base/containers/map_util.h 2024-05-05 16:36:15.062228596 +0200 -@@ -44,7 +44,7 @@ constexpr internal::MappedType* Fin - template >::element_type> -+ typename std::pointer_traits>::element_type> - constexpr const MappedElementType* FindPtrOrNull(const Map& map, - const Key& key) { - auto it = map.find(key); -@@ -60,7 +60,7 @@ constexpr const MappedElementType* FindP - template >::element_type> -+ typename std::pointer_traits>::element_type> - constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) { - auto it = map.find(key); - return it != map.end() ? base::to_address(it->second) : nullptr; -diff -up chromium-124.0.6367.118/base/functional/bind_internal.h.typename chromium-124.0.6367.118/base/functional/bind_internal.h ---- chromium-124.0.6367.118/base/functional/bind_internal.h.typename 2024-05-01 01:46:40.000000000 +0200 -+++ chromium-124.0.6367.118/base/functional/bind_internal.h 2024-05-05 16:32:57.375653992 +0200 -@@ -1505,11 +1505,11 @@ template - struct ParamCanBeBound { - private: -- using UnwrappedParam = BindArgument::template ForwardedAs< -+ using UnwrappedParam = typename BindArgument::template ForwardedAs< - Unwrapped>::template ToParamWithType; -- using ParamStorage = BindArgument::template ToParamWithType< -+ using ParamStorage = typename BindArgument::template ToParamWithType< - Param>::template StoredAs; -- using BoundStorage = -+ using BoundStorage = typename - BindArgument::template BoundAs::template StoredAs; - - template - class FunctionRef { - template ::RunType> -+ typename RunType = typename internal::FunctorTraits::RunType> - static constexpr bool kCompatibleFunctor = - std::convertible_to, R> && - std::same_as, internal::TypeList>; -diff -up chromium-124.0.6367.118/base/types/fixed_array.h.typename chromium-124.0.6367.118/base/types/fixed_array.h ---- chromium-124.0.6367.118/base/types/fixed_array.h.typename 2024-05-01 01:46:41.000000000 +0200 -+++ chromium-124.0.6367.118/base/types/fixed_array.h 2024-05-05 16:32:57.378654068 +0200 -@@ -27,8 +27,8 @@ template { - public: - using absl::FixedArray::FixedArray; -- explicit FixedArray(absl::FixedArray::size_type n, -- const absl::FixedArray::allocator_type& a = -+ explicit FixedArray(typename absl::FixedArray::size_type n, -+ const typename absl::FixedArray::allocator_type& a = - typename absl::FixedArray::allocator_type()) - : FixedArray(n, T(), a) {} - }; -diff -up chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc ---- chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2024-05-01 01:46:45.000000000 +0200 -+++ chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc 2024-05-05 16:32:57.375653992 +0200 -@@ -95,7 +95,7 @@ ItemSortKey GetSortKey(const Item& item) - // Helper to get an iterator to the last element in the cache. The cache - // must not be empty. - template --SortedItems::const_iterator GetLastIter(const SortedItems& cache) { -+typename SortedItems::const_iterator GetLastIter(const SortedItems& cache) { - CHECK(!cache.empty()); - auto it = cache.end(); - return std::prev(it); -@@ -1179,9 +1179,9 @@ bool DownloadBubbleUpdateService::CacheM - } - - template --SortedItems::iterator -+typename SortedItems::iterator - DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter( -- SortedItems::iterator iter, -+ typename SortedItems::iterator iter, - SortedItems& cache, - IterMap& iter_map) { - CHECK(iter != cache.end()); -diff -up chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h ---- chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename 2024-05-01 01:46:48.000000000 +0200 -+++ chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h 2024-05-05 16:32:57.378654068 +0200 -@@ -121,7 +121,7 @@ class CommandBase { - template - class CommandWithLock : public CommandBase { - public: -- using LockDescription = LockType::LockDescription; -+ using LockDescription = typename LockType::LockDescription; - explicit CommandWithLock(const std::string& name, - LockDescription initial_lock_request); - -diff -up chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h ---- chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h.typename 2024-05-01 01:46:48.000000000 +0200 -+++ chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h 2024-05-05 16:32:57.378654068 +0200 -@@ -106,7 +106,7 @@ class WebAppLockManager; - template - class WebAppCommand : public internal::CommandWithLock { - public: -- using LockDescription = LockType::LockDescription; -+ using LockDescription = typename LockType::LockDescription; - using CallbackType = base::OnceCallback; - using ShutdownArgumentsTuple = std::tuple...>; - -diff -up chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h ---- chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename 2024-05-01 01:46:48.000000000 +0200 -+++ chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h 2024-05-05 16:32:57.379654093 +0200 -@@ -369,7 +369,7 @@ class WebAppCommandScheduler { - // command system. - template - void ScheduleCallback(const std::string& operation_name, -- LockType::LockDescription lock_description, -+ typename LockType::LockDescription lock_description, - CallbackCommand callback, - base::OnceClosure on_complete, - const base::Location& location = FROM_HERE) { -@@ -387,7 +387,7 @@ class WebAppCommandScheduler { - typename CallbackReturnValue = std::decay_t> - void ScheduleCallbackWithResult( - const std::string& operation_name, -- LockType::LockDescription lock_description, -+ typename LockType::LockDescription lock_description, - CallbackCommand callback, - base::OnceCallback on_complete, - CallbackReturnValue arg_for_shutdown, -diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h ---- chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h.typename 2024-05-01 01:46:52.000000000 +0200 -+++ chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h 2024-05-05 16:32:57.376654018 +0200 -@@ -26,7 +26,7 @@ void SetExecutionRequestTemplate( - - // Request is set by the feature and should always be typed. - auto typed_request = -- static_cast(request_metadata); -+ static_cast(request_metadata); - *(logging_data->mutable_request_data()) = typed_request; - } - -diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h ---- chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename 2024-05-01 01:46:52.000000000 +0200 -+++ chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h 2024-05-05 16:32:57.376654018 +0200 -@@ -33,7 +33,7 @@ class ModelQualityLogEntry { - } - - template -- FeatureType::Quality* quality_data() { -+ typename FeatureType::Quality* quality_data() { - return FeatureType::GetLoggingData(*log_ai_data_request_) - ->mutable_quality_data(); - } -diff -up chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h ---- chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename 2024-05-01 01:46:52.000000000 +0200 -+++ chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h 2024-05-05 16:32:57.379654093 +0200 -@@ -242,7 +242,7 @@ class TFLiteModelExecutor : public Model - void SendForBatchExecution( - BatchExecutionCallback callback_on_complete, - base::TimeTicks start_time, -- ModelExecutor::ConstRefInputVector inputs) -+ typename ModelExecutor::ConstRefInputVector inputs) - override { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -264,7 +264,7 @@ class TFLiteModelExecutor : public Model - // Starts the synchronous execution of the model. Returns model outputs. - // Model needs to be loaded. Synchronous calls do not load or unload model. - std::vector> SendForBatchExecutionSync( -- ModelExecutor::ConstRefInputVector inputs) -+ typename ModelExecutor::ConstRefInputVector inputs) - override { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -422,7 +422,7 @@ class TFLiteModelExecutor : public Model - // executes it on the model execution thread. - void LoadModelFileAndBatchExecute( - BatchExecutionCallback callback_on_complete, -- ModelExecutor::ConstRefInputVector inputs) { -+ typename ModelExecutor::ConstRefInputVector inputs) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - -@@ -439,7 +439,7 @@ class TFLiteModelExecutor : public Model - - // Batch executes the loaded model for inputs. - void BatchExecuteLoadedModel( -- ModelExecutor::ConstRefInputVector inputs, -+ typename ModelExecutor::ConstRefInputVector inputs, - std::vector>* outputs) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -499,7 +499,7 @@ class TFLiteModelExecutor : public Model - // Unloads the model if needed. - void BatchExecuteLoadedModelAndRunCallback( - BatchExecutionCallback callback_on_complete, -- ModelExecutor::ConstRefInputVector inputs, -+ typename ModelExecutor::ConstRefInputVector inputs, - ExecutionStatus execution_status) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -diff -up chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h ---- chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename 2024-05-01 01:46:54.000000000 +0200 -+++ chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h 2024-05-05 16:32:57.379654093 +0200 -@@ -424,7 +424,7 @@ class RetryingFetcherImpl final : public - RetryingFetcherImpl(const RetryingFetcherImpl&) = delete; - RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete; - -- void Start(ProtoFetcher::Callback callback) override { -+ void Start(typename ProtoFetcher::Callback callback) override { - callback_ = std::move(callback); - Retry(); - } -@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public - } - - // Client callback. -- TypedProtoFetcher::Callback callback_; -+ typename TypedProtoFetcher::Callback callback_; - - // Retry controls. - base::OneShotTimer timer_; -@@ -490,7 +490,7 @@ class ParallelFetchManager { - // Deferred fetcher is required because it should be started after it is - // stored internally. - using Fetcher = ProtoFetcher; -- using KeyType = base::IDMap>::KeyType; -+ using KeyType = typename base::IDMap>::KeyType; - - public: - // Provides fresh instances of a deferred fetcher for each fetch. -@@ -506,7 +506,7 @@ class ParallelFetchManager { - - // Starts the fetch. Underlying fetcher is stored internally, and will be - // cleaned up after finish or when this manager is destroyed. -- void Fetch(const Request& request, Fetcher::Callback callback) { -+ void Fetch(const Request& request, typename Fetcher::Callback callback) { - CHECK(callback) << "Use base::DoNothing() instead of empty callback."; - KeyType key = requests_in_flight_.Add(MakeFetcher(request)); - requests_in_flight_.Lookup(key)->Start( -diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h ---- chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename 2024-05-01 01:46:59.000000000 +0200 -+++ chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h 2024-05-05 16:32:57.376654018 +0200 -@@ -90,7 +90,7 @@ template - { c[i] } -> std::same_as; - } - struct ArrayTraits { -- using Element = Container::value_type; -+ using Element = typename Container::value_type; - - // vector-like containers have no built-in null. - static bool IsNull(const Container& c) { return false; } -diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h ---- chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename 2024-05-01 01:46:59.000000000 +0200 -+++ chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h 2024-05-05 16:32:57.377654043 +0200 -@@ -127,7 +127,7 @@ using VecValueType = typename Vec::value - - template - using VecPtrLikeUnderlyingValueType = -- std::pointer_traits>::element_type; -+ typename std::pointer_traits>::element_type; - - } // namespace internal - -diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h ---- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename 2024-05-05 16:32:57.376654018 +0200 -+++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h 2024-05-05 16:39:07.015158335 +0200 -@@ -245,7 +245,7 @@ class PairAsyncIterable { - private: - virtual IterationSource* CreateIterationSource( - ScriptState* script_state, -- IterationSource::Kind kind, -+ typename IterationSource::Kind kind, - InitArgs... args, - ExceptionState& exception_state) = 0; - }; -@@ -291,7 +291,7 @@ class ValueAsyncIterable { - private: - virtual IterationSource* CreateIterationSource( - ScriptState* script_state, -- IterationSource::Kind kind, -+ typename IterationSource::Kind kind, - InitArgs... args, - ExceptionState& exception_state) = 0; - }; -diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h ---- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename 2024-05-01 01:47:03.000000000 +0200 -+++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h 2024-05-05 16:32:57.380654118 +0200 -@@ -173,7 +173,7 @@ class ScriptPromiseProperty final - template - requires std::derived_from - static T DefaultPromiseResultValue() { -- return T(static_cast(0)); -+ return T(static_cast(0)); - } - - State state_ = kPending; -diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h ---- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.typename 2024-05-01 01:47:03.000000000 +0200 -+++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h 2024-05-05 16:32:57.380654118 +0200 -@@ -389,7 +389,7 @@ class ScriptPromiseResolverTyped : publi - - private: - using TypedResolver = -- ScriptPromiseTyped::InternalResolverTyped; -+ typename ScriptPromiseTyped::InternalResolverTyped; - }; - - } // namespace blink -diff -up chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc ---- chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename 2024-05-01 01:47:04.000000000 +0200 -+++ chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2024-05-05 16:32:57.376654018 +0200 -@@ -210,7 +210,7 @@ class HTMLFastPathParser { - using Span = base::span; - using USpan = base::span; - // 32 matches that used by HTMLToken::Attribute. -- typedef std::conditional, -+ typedef typename std::conditional, - UCharLiteralBuffer<32>, - LCharLiteralBuffer<32>>::type LiteralBufferType; - static_assert(std::is_same_v || std::is_same_v); -diff -up chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h ---- chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename 2024-05-01 01:47:05.000000000 +0200 -+++ chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h 2024-05-05 16:32:57.378654068 +0200 -@@ -2006,7 +2006,7 @@ struct HashTableConstIteratorAdapter { - static_assert(!IsTraceable::value); - - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; -@@ -2058,7 +2058,7 @@ struct HashTableConstIteratorAdapter< - - public: - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; -@@ -2112,7 +2112,7 @@ struct HashTableIteratorAdapter { - static_assert(!IsTraceable::value); - - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; -@@ -2160,7 +2160,7 @@ struct HashTableIteratorAdapter< - - public: - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; -diff -up chromium-124.0.6367.118/base/containers/to_vector.h.me chromium-124.0.6367.118/base/containers/to_vector.h ---- chromium-124.0.6367.118/base/containers/to_vector.h.me 2024-05-06 12:39:58.312899455 +0200 -+++ chromium-124.0.6367.118/base/containers/to_vector.h 2024-05-06 12:40:22.014635715 +0200 -@@ -30,7 +30,7 @@ template > - auto ToVector(Range&& range, Proj proj = {}) { - using ProjectedType = -- std::projected, Proj>::value_type; -+ typename std::projected, Proj>::value_type; - std::vector container; - container.reserve(std::size(range)); - ranges::transform(std::forward(range), std::back_inserter(container), -diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h ---- chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me 2024-05-06 20:13:29.067800309 +0200 -+++ chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h 2024-05-06 20:13:44.671084222 +0200 -@@ -19,7 +19,7 @@ proto::ModelExecutionFeature GetModelExe - // Helper method to get the quality_data from `log_ai_data_request` for - // different features. - template --FeatureType::Quality* GetModelQualityData( -+typename FeatureType::Quality* GetModelQualityData( - proto::LogAiDataRequest* log_ai_data_request) { - return FeatureType::GetLoggingData(*log_ai_data_request) - ->mutable_quality_data(); -diff -up chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h ---- chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me 2024-05-07 08:54:42.099316020 +0200 -+++ chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h 2024-05-07 08:57:18.304022672 +0200 -@@ -445,8 +445,8 @@ class CORE_EXPORT ObjectPaintProperties - PaintPropertyChangeType Update( - NodeId node_id, - const ParentType& parent, -- NodeType::State&& state, -- const NodeType::AnimationState& animation_state = -+ typename NodeType::State&& state, -+ const typename NodeType::AnimationState& animation_state = - NodeType::AnimationState()) { - // First, check if we need to add a new node. - if (!nodes_.HasField(node_id)) { diff --git a/SOURCES/chromium-125-el-NativeValueTraits-p1.patch b/SOURCES/chromium-125-el-NativeValueTraits-p1.patch deleted file mode 100644 index ad0c8a86..00000000 --- a/SOURCES/chromium-125-el-NativeValueTraits-p1.patch +++ /dev/null @@ -1,739 +0,0 @@ -revert as workaround for compiler error with old clang < 17 - -commit 940af9f2c87b436559b97c53763aa9eaaf1254eb -Author: Jeremy Roman -Date: Wed Nov 15 16:24:54 2023 +0000 - - Use C++20 features to simplify blink::NativeValueTraitsBase. - - These allow some of the metaprogramming bits to be simplified a little. - - Change-Id: I052b4397586d21348401616e1792afdb9662f975 - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5030335 - Reviewed-by: Yuki Shiino - Commit-Queue: Jeremy Roman - Cr-Commit-Position: refs/heads/main@{#1224978} - ---- a/third_party/blink/renderer/bindings/core/v8/native_value_traits.h -+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits.h -@@ -5,7 +5,6 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_H_ - #define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_H_ - --#include - #include - - #include "third_party/blink/renderer/bindings/core/v8/idl_types_base.h" -@@ -31,7 +30,7 @@ class ExceptionState; - // return toInt32(isolate, value, exceptionState, NormalConversion); - // } - // } --template -+template - struct NativeValueTraits; - - // This declaration serves only as a blueprint for specializations: the -@@ -46,15 +45,22 @@ struct NativeValueTraits; - - namespace bindings { - -+template -+struct NativeValueTraitsHasIsNull : std::false_type {}; -+ - template --struct ImplTypeFor { -- using type = T; --}; -+struct NativeValueTraitsHasIsNull< -+ T, -+ std::void_t().IsNull())>> : std::true_type {}; - - template -- requires std::derived_from --struct ImplTypeFor { -- using type = typename T::ImplType; -+struct NativeValueTraitsHasNullValue { -+ // true if |T| supports IDL null value. -+ static constexpr bool value = -+ // ScriptValue, String, and union types have IsNull member function. -+ bindings::NativeValueTraitsHasIsNull::value || -+ // Pointer types have nullptr as IDL null value. -+ std::is_pointer::value; - }; - - } // namespace bindings -@@ -72,17 +78,37 @@ struct ImplTypeFor { - // If present, |NullValue()| will be used when converting from the nullable type - // T?, and should be used if the impl type has an existing "null" state. If not - // present, WTF::Optional will be used to wrap the type. --template -+template - struct NativeValueTraitsBase { - STATIC_ONLY(NativeValueTraitsBase); - -- using ImplType = bindings::ImplTypeFor::type; -+ using ImplType = T; -+ -+ static constexpr bool has_null_value = -+ bindings::NativeValueTraitsHasNullValue::value; -+ -+ template -+ static decltype(auto) ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state, -+ ExtraArgs... extra_args) { -+ return NativeValueTraits>::NativeValue( -+ isolate, value, exception_state, -+ std::forward(extra_args)...); -+ } -+}; -+ -+template -+struct NativeValueTraitsBase< -+ T, -+ std::enable_if_t::value>> { -+ STATIC_ONLY(NativeValueTraitsBase); -+ -+ using ImplType = typename T::ImplType; - -- // Pointer types have nullptr as IDL null value. -- // ScriptValue, String, and union types have IsNull member function. - static constexpr bool has_null_value = -- std::is_pointer_v || -- requires(ImplType value) { value.IsNull(); }; -+ bindings::NativeValueTraitsHasNullValue::value; - - // This should only be true for certain subclasses of ScriptWrappable - // that satisfy the assumptions of CreateIDLSequenceFromV8ArraySlow() with ---- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc -+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc -@@ -7,7 +7,6 @@ - #include "third_party/blink/renderer/core/core_export.h" - #include "third_party/blink/renderer/core/execution_context/execution_context.h" - #include "third_party/blink/renderer/core/frame/web_feature.h" --#include "third_party/blink/renderer/core/typed_arrays/flexible_array_buffer_view.h" - #include "third_party/blink/renderer/core/typed_arrays/typed_flexible_array_buffer_view.h" - - namespace blink { -@@ -698,11 +697,12 @@ DOMArrayBufferBase* NativeValueTraits< - // ArrayBufferView - - template -- requires std::derived_from --NotShared NativeValueTraits>::NativeValue( -- v8::Isolate* isolate, -- v8::Local value, -- ExceptionState& exception_state) { -+NotShared NativeValueTraits< -+ NotShared, -+ typename std::enable_if_t::value>>:: -+ NativeValue(v8::Isolate* isolate, -+ v8::Local value, -+ ExceptionState& exception_state) { - return NativeValueImpl< - RecipeTrait>, ToDOMViewType, - Nullablity::kIsNotNullable, BufferSizeCheck::kCheck, -@@ -711,12 +711,13 @@ NotShared NativeValueTraits -- requires std::derived_from --NotShared NativeValueTraits>::ArgumentValue( -- v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+NotShared NativeValueTraits< -+ NotShared, -+ typename std::enable_if_t::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl< - RecipeTrait>, ToDOMViewType, - Nullablity::kIsNotNullable, BufferSizeCheck::kCheck, -@@ -727,11 +728,12 @@ NotShared NativeValueTraits -- requires std::derived_from --MaybeShared NativeValueTraits>::NativeValue( -- v8::Isolate* isolate, -- v8::Local value, -- ExceptionState& exception_state) { -+MaybeShared NativeValueTraits< -+ MaybeShared, -+ typename std::enable_if_t::value>>:: -+ NativeValue(v8::Isolate* isolate, -+ v8::Local value, -+ ExceptionState& exception_state) { - return NativeValueImpl>, - ToDOMViewType, - Nullablity::kIsNotNullable, BufferSizeCheck::kCheck, -@@ -740,12 +742,13 @@ MaybeShared NativeValueTraits -- requires std::derived_from --MaybeShared NativeValueTraits>::ArgumentValue( -- v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+MaybeShared NativeValueTraits< -+ MaybeShared, -+ typename std::enable_if_t::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl>, - ToDOMViewType, - Nullablity::kIsNotNullable, BufferSizeCheck::kCheck, -@@ -756,12 +759,12 @@ MaybeShared NativeValueTraits -- requires std::derived_from --MaybeShared --NativeValueTraits>>::NativeValue( -- v8::Isolate* isolate, -- v8::Local value, -- ExceptionState& exception_state) { -+MaybeShared NativeValueTraits< -+ IDLBufferSourceTypeNoSizeLimit>, -+ typename std::enable_if_t::value>>:: -+ NativeValue(v8::Isolate* isolate, -+ v8::Local value, -+ ExceptionState& exception_state) { - return NativeValueImpl< - RecipeTrait>, ToDOMViewType, - Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck, -@@ -770,12 +773,13 @@ NativeValueTraits -- requires std::derived_from --MaybeShared NativeValueTraits>>::ArgumentValue(v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+MaybeShared NativeValueTraits< -+ IDLBufferSourceTypeNoSizeLimit>, -+ typename std::enable_if_t::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl< - RecipeTrait>, ToDOMViewType, - Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck, -@@ -786,11 +790,12 @@ MaybeShared NativeValueTraits -- requires std::derived_from --NotShared NativeValueTraits>>::NativeValue( -- v8::Isolate* isolate, -- v8::Local value, -- ExceptionState& exception_state) { -+NotShared NativeValueTraits< -+ IDLNullable>, -+ typename std::enable_if_t::value>>:: -+ NativeValue(v8::Isolate* isolate, -+ v8::Local value, -+ ExceptionState& exception_state) { - return NativeValueImpl< - RecipeTrait>, ToDOMViewType, - Nullablity::kIsNullable, BufferSizeCheck::kCheck, -@@ -799,12 +804,13 @@ NotShared NativeValueTraits -- requires std::derived_from --NotShared NativeValueTraits>>::ArgumentValue( -- v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+NotShared NativeValueTraits< -+ IDLNullable>, -+ typename std::enable_if_t::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl< - RecipeTrait>, ToDOMViewType, - Nullablity::kIsNullable, BufferSizeCheck::kCheck, -@@ -815,11 +821,12 @@ NotShared NativeValueTraits -- requires std::derived_from --MaybeShared NativeValueTraits>>::NativeValue( -- v8::Isolate* isolate, -- v8::Local value, -- ExceptionState& exception_state) { -+MaybeShared NativeValueTraits< -+ IDLNullable>, -+ typename std::enable_if_t::value>>:: -+ NativeValue(v8::Isolate* isolate, -+ v8::Local value, -+ ExceptionState& exception_state) { - return NativeValueImpl>, - ToDOMViewType, - Nullablity::kIsNullable, BufferSizeCheck::kCheck, -@@ -828,12 +835,13 @@ MaybeShared NativeValueTraits -- requires std::derived_from --MaybeShared NativeValueTraits>>::ArgumentValue( -- v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+MaybeShared NativeValueTraits< -+ IDLNullable>, -+ typename std::enable_if_t::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl>, - ToDOMViewType, - Nullablity::kIsNullable, BufferSizeCheck::kCheck, -@@ -844,9 +852,9 @@ MaybeShared NativeValueTraits -- requires std::derived_from --MaybeShared --NativeValueTraits>>>:: -+MaybeShared NativeValueTraits< -+ IDLNullable>>, -+ typename std::enable_if_t::value>>:: - ArgumentValue(v8::Isolate* isolate, - int argument_index, - v8::Local value, -@@ -861,11 +869,13 @@ NativeValueTraits -- requires std::derived_from --T NativeValueTraits::ArgumentValue(v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+T NativeValueTraits::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl, ToFlexibleArrayBufferView, - Nullablity::kIsNotNullable, BufferSizeCheck::kCheck, - ResizableAllowance::kDisallowResizable, -@@ -877,12 +887,13 @@ T NativeValueTraits::ArgumentValue(v8 - // ArrayBufferView - - template -- requires std::derived_from --T NativeValueTraits>::ArgumentValue( -- v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+T NativeValueTraits, -+ typename std::enable_if_t< -+ std::is_base_of::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl< - RecipeTrait, ToFlexibleArrayBufferView, Nullablity::kIsNotNullable, - BufferSizeCheck::kDoNotCheck, ResizableAllowance::kDisallowResizable, -@@ -893,12 +904,13 @@ T NativeValueTraits -- requires std::derived_from --T NativeValueTraits>::ArgumentValue( -- v8::Isolate* isolate, -- int argument_index, -- v8::Local value, -- ExceptionState& exception_state) { -+T NativeValueTraits, -+ typename std::enable_if_t< -+ std::is_base_of::value>>:: -+ ArgumentValue(v8::Isolate* isolate, -+ int argument_index, -+ v8::Local value, -+ ExceptionState& exception_state) { - return ArgumentValueImpl, ToFlexibleArrayBufferView, - Nullablity::kIsNullable, BufferSizeCheck::kCheck, - ResizableAllowance::kDisallowResizable, ---- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h -+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h -@@ -5,9 +5,7 @@ - #ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_IMPL_H_ - #define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_IMPL_H_ - --#include - #include --#include - - #include "third_party/blink/renderer/bindings/core/v8/idl_types.h" - #include "third_party/blink/renderer/bindings/core/v8/native_value_traits.h" -@@ -718,8 +716,9 @@ struct CORE_EXPORT NativeValueTraits< - }; - - template -- requires std::derived_from --struct NativeValueTraits { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t::value>> { - // NotShared or MaybeShared should be used instead. - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -731,8 +730,9 @@ struct NativeValueTraits { - }; - - template -- requires std::derived_from --struct NativeValueTraits> { -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t::value>> { - // NotShared or MaybeShared should be used instead. - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -744,8 +744,9 @@ struct NativeValueTraits> - }; - - template -- requires std::derived_from --struct NativeValueTraits> -+struct NativeValueTraits< -+ NotShared, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - static NotShared NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -758,8 +759,9 @@ struct NativeValueTraits> - }; - - template -- requires std::derived_from --struct NativeValueTraits>> -+struct NativeValueTraits< -+ IDLNullable>, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - static NotShared NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -772,8 +774,9 @@ struct NativeValueTraits -- requires std::derived_from --struct NativeValueTraits> -+struct NativeValueTraits< -+ MaybeShared, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - static MaybeShared NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -786,8 +789,9 @@ struct NativeValueTraits> - }; - - template -- requires std::derived_from --struct NativeValueTraits>> -+struct NativeValueTraits< -+ IDLBufferSourceTypeNoSizeLimit>, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - // FlexibleArrayBufferView uses this in its implementation, so we cannot - // delete it. -@@ -802,8 +806,9 @@ struct NativeValueTraits -- requires std::derived_from --struct NativeValueTraits>> -+struct NativeValueTraits< -+ IDLNullable>, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - static MaybeShared NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -816,9 +821,9 @@ struct NativeValueTraits -- requires std::derived_from - struct NativeValueTraits< -- IDLNullable>>> -+ IDLNullable>>, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - // BufferSourceTypeNoSizeLimit must be used only as arguments. - static MaybeShared NativeValue(v8::Isolate* isolate, -@@ -832,8 +837,11 @@ struct NativeValueTraits< - }; - - template -- requires std::derived_from --struct NativeValueTraits : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t< -+ std::is_base_of::value>> -+ : public NativeValueTraitsBase { - // FlexibleArrayBufferView must be used only as arguments. - static T NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -846,8 +854,10 @@ struct NativeValueTraits : public Nat - }; - - template -- requires std::derived_from --struct NativeValueTraits> -+struct NativeValueTraits< -+ IDLBufferSourceTypeNoSizeLimit, -+ typename std::enable_if_t< -+ std::is_base_of::value>> - : public NativeValueTraitsBase { - // BufferSourceTypeNoSizeLimit and FlexibleArrayBufferView must be used only - // as arguments. -@@ -862,8 +872,11 @@ struct NativeValueTraits -- requires std::derived_from --struct NativeValueTraits> : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t< -+ std::is_base_of::value>> -+ : public NativeValueTraitsBase { - // FlexibleArrayBufferView must be used only as arguments. - static T NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -1199,8 +1212,9 @@ NativeValueTraits>::Nativ - } - - template -- requires NativeValueTraits>::has_null_value --struct NativeValueTraits>> -+struct NativeValueTraits>, -+ typename std::enable_if_t< -+ NativeValueTraits>::has_null_value>> - : public NativeValueTraitsBase>*> { - using ImplType = typename NativeValueTraits>::ImplType*; - -@@ -1276,8 +1290,9 @@ struct NativeValueTraits> - : public NativeValueTraits> {}; - - template -- requires NativeValueTraits>::has_null_value --struct NativeValueTraits>> -+struct NativeValueTraits>, -+ typename std::enable_if_t< -+ NativeValueTraits>::has_null_value>> - : public NativeValueTraits>> {}; - - // Record types -@@ -1407,8 +1422,10 @@ struct NativeValueTraits - - // Callback function types - template -- requires std::derived_from --struct NativeValueTraits : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t::value>> -+ : public NativeValueTraitsBase { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, - ExceptionState& exception_state) { -@@ -1431,8 +1448,9 @@ struct NativeValueTraits : public Nat - }; - - template -- requires std::derived_from --struct NativeValueTraits> -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -1461,8 +1479,10 @@ struct NativeValueTraits> - - // Callback interface types - template -- requires std::derived_from --struct NativeValueTraits : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t::value>> -+ : public NativeValueTraitsBase { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, - ExceptionState& exception_state) { -@@ -1486,8 +1506,9 @@ struct NativeValueTraits : public Nat - - // Interface types - template -- requires std::derived_from --struct NativeValueTraits> -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -1516,8 +1537,11 @@ struct NativeValueTraits> - - // Dictionary types - template -- requires std::derived_from --struct NativeValueTraits : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t< -+ std::is_base_of::value>> -+ : public NativeValueTraitsBase { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, - ExceptionState& exception_state) { -@@ -1528,11 +1552,14 @@ struct NativeValueTraits : public Nat - // We don't support nullable dictionary types in general since it's quite - // confusing and often misused. - template -- requires std::derived_from && -- (std::same_as || -- std::same_as || -- std::same_as) --struct NativeValueTraits> : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t< -+ std::is_base_of::value && -+ (std::is_same::value || -+ std::is_same::value || -+ std::is_same::value)>> -+ : public NativeValueTraitsBase { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, - ExceptionState& exception_state) { -@@ -1544,8 +1571,11 @@ struct NativeValueTraits> - - // Enumeration types - template -- requires std::derived_from --struct NativeValueTraits : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t< -+ std::is_base_of::value>> -+ : public NativeValueTraitsBase { - static T NativeValue(v8::Isolate* isolate, - v8::Local value, - ExceptionState& exception_state) { -@@ -1555,8 +1585,10 @@ struct NativeValueTraits : public Nat - - // Interface types - template -- requires std::derived_from --struct NativeValueTraits : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t::value>> -+ : public NativeValueTraitsBase { - // This signifies that CreateIDLSequenceFromV8ArraySlow() may apply - // certain optimization based on assumptions about `NativeValue()` - // implementation below. For subclasses of ScriptWrappable that have -@@ -1593,8 +1625,9 @@ struct NativeValueTraits : public Nat - }; - - template -- requires std::derived_from --struct NativeValueTraits> -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t::value>> - : public NativeValueTraitsBase> { - static inline T* NativeValue(v8::Isolate* isolate, - v8::Local value, -@@ -1629,8 +1662,10 @@ struct NativeValueTraits> - }; - - template -- requires std::derived_from --struct NativeValueTraits : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ T, -+ typename std::enable_if_t::value>> -+ : public NativeValueTraitsBase { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, - ExceptionState& exception_state) { -@@ -1646,8 +1681,10 @@ struct NativeValueTraits : public Nat - }; - - template -- requires std::derived_from --struct NativeValueTraits> : public NativeValueTraitsBase { -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t::value>> -+ : public NativeValueTraitsBase { - static T* NativeValue(v8::Isolate* isolate, - v8::Local value, - ExceptionState& exception_state) { -@@ -1668,8 +1705,9 @@ struct NativeValueTraits> - - // Nullable types - template -- requires(!NativeValueTraits::has_null_value) --struct NativeValueTraits> -+struct NativeValueTraits< -+ IDLNullable, -+ typename std::enable_if_t::has_null_value>> - : public NativeValueTraitsBase> { - // https://webidl.spec.whatwg.org/#es-nullable-type - using ImplType = -@@ -1701,8 +1739,9 @@ struct NativeValueTraits -- requires std::is_arithmetic_v::ImplType> --struct NativeValueTraits> -+struct NativeValueTraits, -+ typename std::enable_if_t::ImplType>::value>> - : public NativeValueTraitsBase::ImplType> { - using ImplType = typename NativeValueTraits::ImplType; - -@@ -1724,8 +1763,9 @@ struct NativeValueTraits> - }; - - template -- requires std::is_pointer_v::ImplType> --struct NativeValueTraits> -+struct NativeValueTraits, -+ typename std::enable_if_t::ImplType>::value>> - : public NativeValueTraitsBase::ImplType> { - using ImplType = typename NativeValueTraits::ImplType; - diff --git a/SOURCES/chromium-125-el-NativeValueTraits-p2.patch b/SOURCES/chromium-125-el-NativeValueTraits-p2.patch deleted file mode 100644 index 477378b9..00000000 --- a/SOURCES/chromium-125-el-NativeValueTraits-p2.patch +++ /dev/null @@ -1,144 +0,0 @@ -revert as workaround for compiler error with old clang < 17 - -commit ce71348a09f6689dd01a68db64b172191d0182d8 -Author: Andrey Kosyakov -Date: Thu Dec 21 18:38:38 2023 +0000 - - [bindings] Use v8::Array::Iterate for converting script wrappables - - - This changes CreateIDLSequenceFromV8Array to use the new - v8::Array::Iterate() operation. - This speeds up the "execBundles" part of the microbenchmark - at crbug.com/dawn/1858 by around 3x. - This depends on crrev.com/c/4846594 landing (and rolling) first. - - This is a slight re-work of https://crrev.com/c/4847447/3, - originally by jkummerow@chromium.org - - Bug: v8:14218, dawn:1858, 1511239 - Change-Id: Ia266556d05b4d53e6942e12609d1c08882b4ff0f - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5132129 - Commit-Queue: Andrey Kosyakov - Reviewed-by: Yuki Shiino - Cr-Commit-Position: refs/heads/main@{#1240236} - ---- a/third_party/blink/renderer/bindings/core/v8/native_value_traits.h 2024-05-13 20:23:41.165774029 +0200 -+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits.h 2024-05-13 20:27:58.994663485 +0200 -@@ -110,12 +110,6 @@ struct NativeValueTraitsBase< - static constexpr bool has_null_value = - bindings::NativeValueTraitsHasNullValue::value; - -- // This should only be true for certain subclasses of ScriptWrappable -- // that satisfy the assumptions of CreateIDLSequenceFromV8ArraySlow() with -- // regards to how NativeValue() is implemented for the underlying type. -- static constexpr bool supports_scriptwrappable_specific_fast_array_iteration = -- false; -- - template - static decltype(auto) ArgumentValue(v8::Isolate* isolate, - int argument_index, ---- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h 2024-05-13 20:23:47.295915837 +0200 -+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h 2024-05-13 20:27:21.649808564 +0200 -@@ -1050,87 +1050,11 @@ CreateIDLSequenceFromV8ArraySlow(v8::Iso - return {}; - } - -- using ResultType = typename NativeValueTraits>::ImplType; -- ResultType result; -+ typename NativeValueTraits>::ImplType result; - result.ReserveInitialCapacity(length); - v8::Local current_context = isolate->GetCurrentContext(); - v8::TryCatch try_block(isolate); - -- // Fast path -- we're creating a sequence of script wrappables, which can be -- // done by directly getting underlying object as long as array types are -- // homogeneous. With ScriptWrappables, we don't expect to enter JS during -- // iteration, so we can rely on v8::Array::Iterate() which is much faster than -- // iterating an array on the client side of the v8. Additionally, for most -- // subsptyes of ScriptWrappables, we can speed up type checks (see more on -- // that below next to supports_scriptwrappable_specific_fast_array_iteration -- // check. -- if constexpr (std::is_base_of_v) { -- struct CallbackData { -- STACK_ALLOCATED(); -- -- public: -- v8::Isolate* isolate; -- v8::TypecheckWitness witness; -- ResultType& result; -- ExceptionState& exception_state; -- CallbackData(v8::Isolate* isolate, -- ResultType& result, -- ExceptionState& exception_state) -- : isolate(isolate), -- witness(isolate), -- result(result), -- exception_state(exception_state) {} -- }; -- -- CallbackData callback_data(isolate, result, exception_state); -- v8::Array::IterationCallback callback = [](uint32_t index, -- v8::Local v8_element, -- void* data) { -- CallbackData* callback_data = reinterpret_cast(data); -- v8::Isolate* isolate = callback_data->isolate; -- // 3.4. Initialize Si to the result of converting nextItem to an IDL value -- // of type T. -- v8::TypecheckWitness& witness = callback_data->witness; -- // We can speed up type check by taking advantage of V8's type witness, -- // provided traits' NativeValue implementation doesn't have additional -- // logic beyond checking the type and calling ToScriptWrappable(). -- if constexpr ( -- NativeValueTraits< -- T>::supports_scriptwrappable_specific_fast_array_iteration) { -- if (witness.Matches(v8_element)) { -- auto&& value = ToScriptWrappable(isolate, v8_element.As()) -- ->template ToImpl(); -- callback_data->result.push_back(std::move(value)); -- return v8::Array::CallbackResult::kContinue; -- } -- } -- auto&& element = NativeValueTraits::NativeValue( -- isolate, v8_element, callback_data->exception_state); -- if (callback_data->exception_state.HadException()) { -- // It doesn't matter whether we return `kException` or `kBreak` here, -- // as that only affects the return value of `v8_array->Iterate()`, -- // which we are ignoring. -- return v8::Array::CallbackResult::kException; -- } -- if constexpr ( -- NativeValueTraits< -- T>::supports_scriptwrappable_specific_fast_array_iteration) { -- witness.Update(v8_element); -- } -- callback_data->result.push_back(std::move(element)); -- return v8::Array::CallbackResult::kContinue; -- }; -- if (!v8_array->Iterate(current_context, callback, &callback_data) -- .IsJust()) { -- if (try_block.HasCaught()) { -- exception_state.RethrowV8Exception(try_block.Exception()); -- } -- DCHECK(exception_state.HadException()); -- return {}; -- } -- return result; -- } -- - // Array length may change if array is mutated during iteration. - for (uint32_t i = 0; i < v8_array->Length(); ++i) { - v8::Local v8_element; -@@ -1590,12 +1514,6 @@ struct NativeValueTraits< - T, - typename std::enable_if_t::value>> - : public NativeValueTraitsBase { -- // This signifies that CreateIDLSequenceFromV8ArraySlow() may apply -- // certain optimization based on assumptions about `NativeValue()` -- // implementation below. For subclasses of ScriptWrappable that have -- // different implementation of NativeValue(), this should remain false. -- static constexpr bool supports_scriptwrappable_specific_fast_array_iteration = -- true; - - static inline T* NativeValue(v8::Isolate* isolate, - v8::Local value, diff --git a/SOURCES/chromium-125-el7-assert.patch b/SOURCES/chromium-125-el7-assert.patch deleted file mode 100644 index e76feda1..00000000 --- a/SOURCES/chromium-125-el7-assert.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h.assert chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h ---- chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h.assert 2024-05-18 19:33:37.165243577 +0200 -+++ chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h 2024-05-18 19:45:51.224995489 +0200 -@@ -185,7 +185,7 @@ class WebUIContentsWrapperT : public Web - supports_draggable_regions, - T::GetWebUIName()), - webui_url_(webui_url) { -- static_assert( -+ assert( - views_metrics::IsValidWebUINameVariant("." + T::GetWebUIName())); - if (is_ready_to_show()) { - CHECK(GetWebUIController()); -diff -up chromium-125.0.6422.60/v8/src/base/small-vector.h.assert chromium-125.0.6422.60/v8/src/base/small-vector.h ---- chromium-125.0.6422.60/v8/src/base/small-vector.h.assert 2024-05-15 23:48:18.000000000 +0200 -+++ chromium-125.0.6422.60/v8/src/base/small-vector.h 2024-05-17 12:33:58.745651173 +0200 -@@ -22,7 +22,7 @@ template ::value); - - public: diff --git a/SOURCES/chromium-125-el7-default-constructor-involving-anonymous-union.patch b/SOURCES/chromium-125-el7-default-constructor-involving-anonymous-union.patch deleted file mode 100644 index fc385623..00000000 --- a/SOURCES/chromium-125-el7-default-constructor-involving-anonymous-union.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc ---- chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union 2024-05-15 23:46:17.000000000 +0200 -+++ chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc 2024-05-17 12:33:58.684649909 +0200 -@@ -12,7 +12,7 @@ - - namespace variations { - --UIStringOverrider::UIStringOverrider() = default; -+UIStringOverrider::UIStringOverrider() {} - - UIStringOverrider::UIStringOverrider(base::span resource_hashes, - base::span resource_indices) -diff -up chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc ---- chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union 2024-05-15 23:46:17.000000000 +0200 -+++ chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc 2024-05-17 12:33:58.685649929 +0200 -@@ -46,7 +46,7 @@ size_t GetResultSizeBytes(const HeaderDi - - } // namespace - --HeaderDirectFromSellerSignals::Result::Result() = default; -+HeaderDirectFromSellerSignals::Result::Result() {} - - HeaderDirectFromSellerSignals::Result::Result( - std::optional seller_signals, -diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h ---- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union 2024-05-18 09:52:22.385330304 +0200 -+++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h 2024-05-18 09:52:51.023891525 +0200 -@@ -36,7 +36,7 @@ class FrozenArray final : public binding - using const_iterator = typename VectorType::const_iterator; - using const_reverse_iterator = typename VectorType::const_reverse_iterator; - -- FrozenArray() = default; -+ FrozenArray() {} - explicit FrozenArray(VectorType array) : array_(std::move(array)) {} - ~FrozenArray() override = default; - diff --git a/SOURCES/chromium-125-el7-old-libdrm.patch b/SOURCES/chromium-125-el7-old-libdrm.patch deleted file mode 100644 index ab629774..00000000 --- a/SOURCES/chromium-125-el7-old-libdrm.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc ---- chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2024-05-16 20:43:26.619455300 +0200 -+++ chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc 2024-05-16 20:45:18.120716278 +0200 -@@ -9,6 +9,14 @@ - #include "base/logging.h" - #include "base/notreached.h" - -+// the libdrm in EL-7 is too old to have this define -+#ifndef DRM_FORMAT_P010 -+#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0') -+#endif -+#ifndef DRM_FORMAT_ABGR16161616F -+#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H') -+#endif -+ - namespace ui { - - int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format) { diff --git a/SOURCES/chromium-125-el7-optional-workaround-assert.patch b/SOURCES/chromium-125-el7-optional-workaround-assert.patch deleted file mode 100644 index 7e78085c..00000000 --- a/SOURCES/chromium-125-el7-optional-workaround-assert.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- chromium-125.0.6422.60/optional.orig 2024-05-20 00:12:50.152306289 +0200 -+++ chromium-125.0.6422.60/optional 2024-05-20 00:12:28.041823631 +0200 -@@ -474,7 +474,7 @@ - constexpr _Tp& - _M_get() noexcept - { -- __glibcxx_assert(this->_M_is_engaged()); -+ //__glibcxx_assert(this->_M_is_engaged()); - return static_cast<_Dp*>(this)->_M_payload._M_get(); - } - diff --git a/SOURCES/chromium-125-el7-typename.patch b/SOURCES/chromium-125-el7-typename.patch deleted file mode 100644 index fc86a523..00000000 --- a/SOURCES/chromium-125-el7-typename.patch +++ /dev/null @@ -1,417 +0,0 @@ -diff -up chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h ---- chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename 2024-05-15 23:45:49.000000000 +0200 -+++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h 2024-05-17 12:33:58.735650966 +0200 -@@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot(); - - // A class that meets C++ named requirements, Allocator. - template --InternalAllocator::value_type* InternalAllocator::allocate( -+typename InternalAllocator::value_type* InternalAllocator::allocate( - std::size_t count) { - PA_CHECK(count <= - std::numeric_limits::max() / sizeof(value_type)); -diff -up chromium-125.0.6422.60/base/containers/heap_array.h.typename chromium-125.0.6422.60/base/containers/heap_array.h ---- chromium-125.0.6422.60/base/containers/heap_array.h.typename 2024-05-17 13:51:39.923426461 +0200 -+++ chromium-125.0.6422.60/base/containers/heap_array.h 2024-05-17 13:54:01.866085730 +0200 -@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray { - static_assert(!std::is_reference_v, - "HeapArray cannot hold reference types"); - -- using iterator = base::span::iterator; -- using const_iterator = base::span::iterator; -+ using iterator = typename base::span::iterator; -+ using const_iterator = typename base::span::iterator; - // We don't put this default value in the template parameter list to allow the - // static_assert on is_reference_v to give a nicer error message. - using deleter_type = std:: -diff -up chromium-125.0.6422.60/base/containers/map_util.h.typename chromium-125.0.6422.60/base/containers/map_util.h ---- chromium-125.0.6422.60/base/containers/map_util.h.typename 2024-05-15 23:45:49.000000000 +0200 -+++ chromium-125.0.6422.60/base/containers/map_util.h 2024-05-17 12:33:58.735650966 +0200 -@@ -44,7 +44,7 @@ constexpr internal::MappedType* Fin - template >::element_type> -+ typename std::pointer_traits>::element_type> - constexpr const MappedElementType* FindPtrOrNull(const Map& map, - const Key& key) { - auto it = map.find(key); -@@ -60,7 +60,7 @@ constexpr const MappedElementType* FindP - template >::element_type> -+ typename std::pointer_traits>::element_type> - constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) { - auto it = map.find(key); - return it != map.end() ? base::to_address(it->second) : nullptr; -diff -up chromium-125.0.6422.60/base/containers/to_vector.h.typename chromium-125.0.6422.60/base/containers/to_vector.h ---- chromium-125.0.6422.60/base/containers/to_vector.h.typename 2024-05-15 23:45:49.000000000 +0200 -+++ chromium-125.0.6422.60/base/containers/to_vector.h 2024-05-17 12:33:58.736650987 +0200 -@@ -30,7 +30,7 @@ template > - auto ToVector(Range&& range, Proj proj = {}) { - using ProjectedType = -- std::projected, Proj>::value_type; -+ typename std::projected, Proj>::value_type; - std::vector container; - container.reserve(std::size(range)); - ranges::transform(std::forward(range), std::back_inserter(container), -diff -up chromium-125.0.6422.60/base/functional/bind_internal.h.typename chromium-125.0.6422.60/base/functional/bind_internal.h ---- chromium-125.0.6422.60/base/functional/bind_internal.h.typename 2024-05-15 23:45:49.000000000 +0200 -+++ chromium-125.0.6422.60/base/functional/bind_internal.h 2024-05-17 12:33:58.736650987 +0200 -@@ -1505,11 +1505,11 @@ template - struct ParamCanBeBound { - private: -- using UnwrappedParam = BindArgument::template ForwardedAs< -+ using UnwrappedParam = typename BindArgument::template ForwardedAs< - Unwrapped>::template ToParamWithType; -- using ParamStorage = BindArgument::template ToParamWithType< -+ using ParamStorage = typename BindArgument::template ToParamWithType< - Param>::template StoredAs; -- using BoundStorage = -+ using BoundStorage = typename - BindArgument::template BoundAs::template StoredAs; - - template - class FunctionRef { - template ::RunType> -+ typename RunType = typename internal::FunctorTraits::RunType> - static constexpr bool kCompatibleFunctor = - std::convertible_to, R> && - std::same_as, internal::TypeList>; -diff -up chromium-125.0.6422.60/base/types/fixed_array.h.typename chromium-125.0.6422.60/base/types/fixed_array.h ---- chromium-125.0.6422.60/base/types/fixed_array.h.typename 2024-05-15 23:45:50.000000000 +0200 -+++ chromium-125.0.6422.60/base/types/fixed_array.h 2024-05-17 12:33:58.737651008 +0200 -@@ -27,8 +27,8 @@ template { - public: - using absl::FixedArray::FixedArray; -- explicit FixedArray(absl::FixedArray::size_type n, -- const absl::FixedArray::allocator_type& a = -+ explicit FixedArray(typename absl::FixedArray::size_type n, -+ const typename absl::FixedArray::allocator_type& a = - typename absl::FixedArray::allocator_type()) - : FixedArray(n, T(), a) {} - }; -diff -up chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc ---- chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2024-05-15 23:46:00.000000000 +0200 -+++ chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc 2024-05-17 12:33:58.737651008 +0200 -@@ -94,7 +94,7 @@ ItemSortKey GetSortKey(const Item& item) - // Helper to get an iterator to the last element in the cache. The cache - // must not be empty. - template --SortedItems::const_iterator GetLastIter(const SortedItems& cache) { -+typename SortedItems::const_iterator GetLastIter(const SortedItems& cache) { - CHECK(!cache.empty()); - auto it = cache.end(); - return std::prev(it); -@@ -1173,9 +1173,9 @@ bool DownloadBubbleUpdateService::CacheM - } - - template --SortedItems::iterator -+typename SortedItems::iterator - DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter( -- SortedItems::iterator iter, -+ typename SortedItems::iterator iter, - SortedItems& cache, - IterMap& iter_map) { - CHECK(iter != cache.end()); -diff -up chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h.typename chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h ---- chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h.typename 2024-05-15 23:46:06.000000000 +0200 -+++ chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h 2024-05-17 12:33:58.737651008 +0200 -@@ -121,7 +121,7 @@ class CommandBase { - template - class CommandWithLock : public CommandBase { - public: -- using LockDescription = LockType::LockDescription; -+ using LockDescription = typename LockType::LockDescription; - explicit CommandWithLock(const std::string& name, - LockDescription initial_lock_request); - -diff -up chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h.typename chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h ---- chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h.typename 2024-05-15 23:46:06.000000000 +0200 -+++ chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h 2024-05-17 12:33:58.738651028 +0200 -@@ -106,7 +106,7 @@ class WebAppLockManager; - template - class WebAppCommand : public internal::CommandWithLock { - public: -- using LockDescription = LockType::LockDescription; -+ using LockDescription = typename LockType::LockDescription; - using CallbackType = base::OnceCallback; - using ShutdownArgumentsTuple = std::tuple...>; - -diff -up chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h.typename chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h ---- chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h.typename 2024-05-15 23:46:06.000000000 +0200 -+++ chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h 2024-05-17 12:33:58.738651028 +0200 -@@ -373,7 +373,7 @@ class WebAppCommandScheduler { - // command system. - template - void ScheduleCallback(const std::string& operation_name, -- LockType::LockDescription lock_description, -+ typename LockType::LockDescription lock_description, - CallbackCommand callback, - base::OnceClosure on_complete, - const base::Location& location = FROM_HERE) { -@@ -391,7 +391,7 @@ class WebAppCommandScheduler { - typename CallbackReturnValue = std::decay_t> - void ScheduleCallbackWithResult( - const std::string& operation_name, -- LockType::LockDescription lock_description, -+ typename LockType::LockDescription lock_description, - CallbackCommand callback, - base::OnceCallback on_complete, - CallbackReturnValue arg_for_shutdown, -diff -up chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h ---- chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h.typename 2024-05-15 23:46:13.000000000 +0200 -+++ chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h 2024-05-17 12:33:58.738651028 +0200 -@@ -26,7 +26,7 @@ void SetExecutionRequestTemplate( - - // Request is set by the feature and should always be typed. - auto typed_request = -- static_cast(request_metadata); -+ static_cast(request_metadata); - *(logging_data->mutable_request_data()) = typed_request; - } - -diff -up chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h ---- chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename 2024-05-15 23:46:13.000000000 +0200 -+++ chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h 2024-05-17 12:33:58.738651028 +0200 -@@ -33,7 +33,7 @@ class ModelQualityLogEntry { - } - - template -- FeatureType::Quality* quality_data() { -+ typename FeatureType::Quality* quality_data() { - return FeatureType::GetLoggingData(*log_ai_data_request_) - ->mutable_quality_data(); - } -diff -up chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h.typename chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h ---- chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h.typename 2024-05-15 23:46:13.000000000 +0200 -+++ chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h 2024-05-17 12:33:58.739651049 +0200 -@@ -20,7 +20,7 @@ std::optional Get - // Helper method to get the quality_data from `log_ai_data_request` for - // different features. - template --FeatureType::Quality* GetModelQualityData( -+typename FeatureType::Quality* GetModelQualityData( - proto::LogAiDataRequest* log_ai_data_request) { - return FeatureType::GetLoggingData(*log_ai_data_request) - ->mutable_quality_data(); -diff -up chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h.typename chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h ---- chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h.typename 2024-05-15 23:46:13.000000000 +0200 -+++ chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h 2024-05-17 12:33:58.739651049 +0200 -@@ -242,7 +242,7 @@ class TFLiteModelExecutor : public Model - void SendForBatchExecution( - BatchExecutionCallback callback_on_complete, - base::TimeTicks start_time, -- ModelExecutor::ConstRefInputVector inputs) -+ typename ModelExecutor::ConstRefInputVector inputs) - override { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -264,7 +264,7 @@ class TFLiteModelExecutor : public Model - // Starts the synchronous execution of the model. Returns model outputs. - // Model needs to be loaded. Synchronous calls do not load or unload model. - std::vector> SendForBatchExecutionSync( -- ModelExecutor::ConstRefInputVector inputs) -+ typename ModelExecutor::ConstRefInputVector inputs) - override { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -422,7 +422,7 @@ class TFLiteModelExecutor : public Model - // executes it on the model execution thread. - void LoadModelFileAndBatchExecute( - BatchExecutionCallback callback_on_complete, -- ModelExecutor::ConstRefInputVector inputs) { -+ typename ModelExecutor::ConstRefInputVector inputs) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - -@@ -439,7 +439,7 @@ class TFLiteModelExecutor : public Model - - // Batch executes the loaded model for inputs. - void BatchExecuteLoadedModel( -- ModelExecutor::ConstRefInputVector inputs, -+ typename ModelExecutor::ConstRefInputVector inputs, - std::vector>* outputs) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -499,7 +499,7 @@ class TFLiteModelExecutor : public Model - // Unloads the model if needed. - void BatchExecuteLoadedModelAndRunCallback( - BatchExecutionCallback callback_on_complete, -- ModelExecutor::ConstRefInputVector inputs, -+ typename ModelExecutor::ConstRefInputVector inputs, - ExecutionStatus execution_status) { - DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -diff -up chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h.typename chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h ---- chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h.typename 2024-05-15 23:46:15.000000000 +0200 -+++ chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h 2024-05-17 12:33:58.739651049 +0200 -@@ -458,7 +458,7 @@ class RetryingFetcherImpl final : public - RetryingFetcherImpl(const RetryingFetcherImpl&) = delete; - RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete; - -- void Start(ProtoFetcher::Callback callback) override { -+ void Start(typename ProtoFetcher::Callback callback) override { - callback_ = std::move(callback); - Retry(); - } -@@ -504,7 +504,7 @@ class RetryingFetcherImpl final : public - } - - // Client callback. -- TypedProtoFetcher::Callback callback_; -+ typename TypedProtoFetcher::Callback callback_; - - // Retry controls. - base::OneShotTimer timer_; -@@ -525,7 +525,7 @@ class ParallelFetchManager { - // Deferred fetcher is required because it should be started after it is - // stored internally. - using Fetcher = ProtoFetcher; -- using KeyType = base::IDMap>::KeyType; -+ using KeyType = typename base::IDMap>::KeyType; - - public: - // Provides fresh instances of a deferred fetcher for each fetch. -@@ -541,7 +541,7 @@ class ParallelFetchManager { - - // Starts the fetch. Underlying fetcher is stored internally, and will be - // cleaned up after finish or when this manager is destroyed. -- void Fetch(const Request& request, Fetcher::Callback callback) { -+ void Fetch(const Request& request, typename Fetcher::Callback callback) { - CHECK(callback) << "Use base::DoNothing() instead of empty callback."; - KeyType key = requests_in_flight_.Add(MakeFetcher(request)); - requests_in_flight_.Lookup(key)->Start( -diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h.typename chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h ---- chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h.typename 2024-05-15 23:46:29.000000000 +0200 -+++ chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h 2024-05-17 12:33:58.739651049 +0200 -@@ -90,7 +90,7 @@ template - { c[i] } -> std::same_as; - } - struct ArrayTraits { -- using Element = Container::value_type; -+ using Element = typename Container::value_type; - - // vector-like containers have no built-in null. - static bool IsNull(const Container& c) { return false; } -diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h.typename chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h ---- chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h.typename 2024-05-15 23:46:30.000000000 +0200 -+++ chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h 2024-05-17 12:33:58.740651070 +0200 -@@ -127,7 +127,7 @@ using VecValueType = typename Vec::value - - template - using VecPtrLikeUnderlyingValueType = -- std::pointer_traits>::element_type; -+ typename std::pointer_traits>::element_type; - - } // namespace internal - -diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h ---- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename 2024-05-15 23:46:40.000000000 +0200 -+++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h 2024-05-17 12:33:58.740651070 +0200 -@@ -245,7 +245,7 @@ class PairAsyncIterable { - private: - virtual IterationSource* CreateIterationSource( - ScriptState* script_state, -- IterationSource::Kind kind, -+ typename IterationSource::Kind kind, - InitArgs... args, - ExceptionState& exception_state) = 0; - }; -@@ -291,7 +291,7 @@ class ValueAsyncIterable { - private: - virtual IterationSource* CreateIterationSource( - ScriptState* script_state, -- IterationSource::Kind kind, -+ typename IterationSource::Kind kind, - InitArgs... args, - ExceptionState& exception_state) = 0; - }; -diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h ---- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename 2024-05-15 23:46:40.000000000 +0200 -+++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h 2024-05-17 12:33:58.740651070 +0200 -@@ -171,7 +171,7 @@ class ScriptPromiseProperty final - template - requires std::derived_from - static T DefaultPromiseResultValue() { -- return T(static_cast(0)); -+ return T(static_cast(0)); - } - - State state_ = kPending; -diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc ---- chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename 2024-05-15 23:46:41.000000000 +0200 -+++ chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2024-05-17 12:33:58.741651090 +0200 -@@ -210,7 +210,7 @@ class HTMLFastPathParser { - using Span = base::span; - using USpan = base::span; - // 32 matches that used by HTMLToken::Attribute. -- typedef std::conditional, -+ typedef typename std::conditional, - UCharLiteralBuffer<32>, - LCharLiteralBuffer<32>>::type LiteralBufferType; - static_assert(std::is_same_v || std::is_same_v); -diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h.typename chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h ---- chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h.typename 2024-05-15 23:46:41.000000000 +0200 -+++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h 2024-05-17 12:33:58.741651090 +0200 -@@ -445,8 +445,8 @@ class CORE_EXPORT ObjectPaintProperties - PaintPropertyChangeType Update( - NodeId node_id, - const ParentType& parent, -- NodeType::State&& state, -- const NodeType::AnimationState& animation_state = -+ typename NodeType::State&& state, -+ const typename NodeType::AnimationState& animation_state = - NodeType::AnimationState()) { - // First, check if we need to add a new node. - if (!nodes_.HasField(node_id)) { -diff -up chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h.typename chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h ---- chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h.typename 2024-05-15 23:46:43.000000000 +0200 -+++ chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h 2024-05-17 12:33:58.742651111 +0200 -@@ -2013,7 +2013,7 @@ struct HashTableConstIteratorAdapter { - static_assert(!IsTraceable::value); - - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; -@@ -2065,7 +2065,7 @@ struct HashTableConstIteratorAdapter< - - public: - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; -@@ -2119,7 +2119,7 @@ struct HashTableIteratorAdapter { - static_assert(!IsTraceable::value); - - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; -@@ -2167,7 +2167,7 @@ struct HashTableIteratorAdapter< - - public: - using iterator_category = std::bidirectional_iterator_tag; -- using value_type = HashTableType::ValueType; -+ using value_type = typename HashTableType::ValueType; - using difference_type = ptrdiff_t; - using pointer = value_type*; - using reference = value_type&; diff --git a/SOURCES/chromium-126-clang16-buildflags.patch b/SOURCES/chromium-126-clang16-buildflags.patch deleted file mode 100644 index cba25fda..00000000 --- a/SOURCES/chromium-126-clang16-buildflags.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-buildflag chromium-126.0.6478.26/build/config/compiler/BUILD.gn ---- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-buildflag 2024-06-02 14:55:55.298242780 +0200 -+++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 15:04:43.839882669 +0200 -@@ -1889,9 +1889,6 @@ config("default_warnings") { - - # TODO(crbug.com/40286317): Evaluate and possibly enable. - "-Wno-vla-extension", -- -- # TODO(crbug.com/40284799): Fix and re-enable. -- "-Wno-thread-safety-reference-return", - ] - - cflags_cc += [ -@@ -1902,7 +1899,7 @@ config("default_warnings") { - if (!is_nacl) { - cflags_cc += [ - # TODO(crbug.com/41486292): Fix and re-enable. -- "-Wno-c++11-narrowing-const-reference", -+ "-Wno-c++11-narrowing", - ] - } - } diff --git a/SOURCES/chromium-126-clang16-disable-auto-upgrade-debug-info.patch b/SOURCES/chromium-126-clang16-disable-auto-upgrade-debug-info.patch deleted file mode 100644 index f7915962..00000000 --- a/SOURCES/chromium-126-clang16-disable-auto-upgrade-debug-info.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-disable-auto-upgrade-debug-info chromium-126.0.6478.26/build/config/compiler/BUILD.gn ---- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-disable-auto-upgrade-debug-info 2024-06-02 18:00:17.914641767 +0200 -+++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 18:02:32.153544892 +0200 -@@ -780,7 +780,7 @@ config("compiler") { - - # We only use one version of LLVM within a build so there's no need to - # upgrade debug info, which can be expensive since it runs the verifier. -- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ] -+ ldflags += [ "" ] - } - - # TODO(crbug.com/335365324): Enable on other platforms. diff --git a/SOURCES/chromium-126-el7-colormap.patch b/SOURCES/chromium-126-el7-colormap.patch deleted file mode 100644 index 1c0002b0..00000000 --- a/SOURCES/chromium-126-el7-colormap.patch +++ /dev/null @@ -1,681 +0,0 @@ -diff -up chromium-126.0.6478.26/ash/style/ash_color_mixer_unittest.cc.mee chromium-126.0.6478.26/ash/style/ash_color_mixer_unittest.cc ---- chromium-126.0.6478.26/ash/style/ash_color_mixer_unittest.cc.mee 2024-05-29 18:00:44.000000000 +0200 -+++ chromium-126.0.6478.26/ash/style/ash_color_mixer_unittest.cc 2024-06-03 16:22:10.549568854 +0200 -@@ -37,6 +37,9 @@ void InitializeColorProvider(const ui::C - // Roughly mimics the ColorMixer configuration for Ash. - ash::AddCrosStylesColorMixer(&color_provider, key); - ash::AddAshColorMixer(&color_provider, key); -+ -+ // Populates the color map with computed color values. -+ color_provider.GenerateColorMap(); - } - - // Initializes the `color_provider` with `seed_color` and the relevant -diff -up chromium-126.0.6478.26/chrome/browser/chrome_content_browser_client_browsertest.cc.mee chromium-126.0.6478.26/chrome/browser/chrome_content_browser_client_browsertest.cc ---- chromium-126.0.6478.26/chrome/browser/chrome_content_browser_client_browsertest.cc.mee 2024-05-29 18:00:52.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/chrome_content_browser_client_browsertest.cc 2024-06-03 16:22:10.550568873 +0200 -@@ -602,6 +602,7 @@ class PrefersColorSchemeTest - explicit MockColorProviderSource(bool is_dark) { - key_.color_mode = is_dark ? ui::ColorProviderKey::ColorMode::kDark - : ui::ColorProviderKey::ColorMode::kLight; -+ provider_.GenerateColorMap(); - } - MockColorProviderSource(const MockColorProviderSource&) = delete; - MockColorProviderSource& operator=(const MockColorProviderSource&) = delete; -diff -up chromium-126.0.6478.26/chrome/browser/themes/browser_theme_pack_unittest.cc.mee chromium-126.0.6478.26/chrome/browser/themes/browser_theme_pack_unittest.cc ---- chromium-126.0.6478.26/chrome/browser/themes/browser_theme_pack_unittest.cc.mee 2024-05-29 18:00:57.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/themes/browser_theme_pack_unittest.cc 2024-06-03 16:22:10.550568873 +0200 -@@ -750,6 +750,7 @@ TEST_F(BrowserThemePackTest, TestCreateC - "omnibox_background": [120, 140, 160] })"; - LoadColorJSON(color_json); - theme_pack().AddColorMixers(&provider, ui::ColorProviderKey()); -+ provider.GenerateColorMap(); - EXPECT_EQ(SkColorSetRGB(0, 20, 40), provider.GetColor(kColorToolbar)); - EXPECT_EQ(SkColorSetRGB(60, 80, 100), provider.GetColor(kColorOmniboxText)); - EXPECT_EQ(SkColorSetRGB(120, 140, 160), -diff -up chromium-126.0.6478.26/chrome/browser/ui/color/material_new_tab_page_color_mixer_unittest.cc.mee chromium-126.0.6478.26/chrome/browser/ui/color/material_new_tab_page_color_mixer_unittest.cc ---- chromium-126.0.6478.26/chrome/browser/ui/color/material_new_tab_page_color_mixer_unittest.cc.mee 2024-05-29 18:00:58.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/color/material_new_tab_page_color_mixer_unittest.cc 2024-06-03 16:22:10.551568891 +0200 -@@ -26,6 +26,7 @@ class MaterialNewTabPageColorMixerTest : - void AddMaterialColorMixers() { - AddColorMixers(&color_provider_, color_provider_key_); - AddChromeColorMixers(&color_provider_, color_provider_key_); -+ color_provider_.GenerateColorMap(); - } - - private: -diff -up chromium-126.0.6478.26/chrome/browser/ui/color/new_tab_page_color_mixer_unittest.cc.mee chromium-126.0.6478.26/chrome/browser/ui/color/new_tab_page_color_mixer_unittest.cc ---- chromium-126.0.6478.26/chrome/browser/ui/color/new_tab_page_color_mixer_unittest.cc.mee 2024-05-29 18:00:58.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/color/new_tab_page_color_mixer_unittest.cc 2024-06-03 16:22:10.551568891 +0200 -@@ -33,6 +33,7 @@ TEST(NewTabPageColorMixer, LightAndDarkT - if (color_utils::IsDark(toolbar_color)) - key.color_mode = ui::ColorProviderKey::ColorMode::kDark; - AddNewTabPageColorMixer(&provider, key); -+ provider.GenerateColorMap(); - - EXPECT_EQ(provider.GetColor(kColorToolbar), toolbar_color); - EXPECT_EQ(provider.GetColor(kColorNewTabPageBackground), toolbar_color); -@@ -51,6 +52,7 @@ TEST(NewTabPageColorMixer, CustomColorCo - key.custom_theme = - base::WrapRefCounted(new CustomThemeSupplier(ThemeType::kAutogenerated)); - AddNewTabPageColorMixer(&provider, key); -+ provider.GenerateColorMap(); - - EXPECT_EQ(provider.GetColor(kColorToolbar), gfx::kGoogleGreen300); - EXPECT_EQ(provider.GetColor(kColorNewTabPageBackground), -@@ -72,6 +74,7 @@ TEST(NewTabPageColorMixer, DefaultColorC - key.custom_theme = - base::WrapRefCounted(new CustomThemeSupplier(ThemeType::kAutogenerated)); - AddNewTabPageColorMixer(&provider, key); -+ provider.GenerateColorMap(); - - EXPECT_EQ(provider.GetColor(kColorToolbar), kSampleToolbarColor); - EXPECT_EQ(provider.GetColor(kColorNewTabPageBackground), kSampleToolbarColor); -diff -up chromium-126.0.6478.26/chrome/browser/ui/color/tools/dump_colors.cc.mee chromium-126.0.6478.26/chrome/browser/ui/color/tools/dump_colors.cc ---- chromium-126.0.6478.26/chrome/browser/ui/color/tools/dump_colors.cc.mee 2024-05-29 18:00:58.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/color/tools/dump_colors.cc 2024-06-03 16:22:10.551568891 +0200 -@@ -56,6 +56,7 @@ int main(int argc, const char* argv[]) { - ui::AddColorMixers(provider, key); - color::AddComponentsColorMixers(provider, key); - AddChromeColorMixers(provider, key); -+ provider->GenerateColorMap(); - }; - ui::ColorProvider light_provider, dark_provider, light_high_contrast_provider, - dark_high_contrast_provider; -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc.mee chromium-126.0.6478.26/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc ---- chromium-126.0.6478.26/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc.mee 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc 2024-06-03 16:22:10.552568911 +0200 -@@ -117,7 +117,7 @@ class MockLogoService : public search_pr - - class MockColorProviderSource : public ui::ColorProviderSource { - public: -- MockColorProviderSource() = default; -+ MockColorProviderSource() { color_provider_.GenerateColorMap(); } - MockColorProviderSource(const MockColorProviderSource&) = delete; - MockColorProviderSource& operator=(const MockColorProviderSource&) = delete; - ~MockColorProviderSource() override = default; -diff -up chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_browsertest.cc.mee chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_browsertest.cc ---- chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_browsertest.cc.mee 2024-05-29 18:01:13.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_browsertest.cc 2024-06-03 16:22:10.553568929 +0200 -@@ -6300,7 +6300,7 @@ IN_PROC_BROWSER_TEST_F(WebContentsImplSt - - class MockColorProviderSource : public ui::ColorProviderSource { - public: -- MockColorProviderSource() = default; -+ MockColorProviderSource() { provider_.GenerateColorMap(); } - MockColorProviderSource(const MockColorProviderSource&) = delete; - MockColorProviderSource& operator=(const MockColorProviderSource&) = delete; - ~MockColorProviderSource() override = default; -diff -up chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_unittest.cc.mee chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_unittest.cc ---- chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_unittest.cc.mee 2024-05-29 18:01:13.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/web_contents/web_contents_impl_unittest.cc 2024-06-03 16:22:10.554568949 +0200 -@@ -337,7 +337,7 @@ class MockPageBroadcast : public TestPag - - class TestColorProviderSource : public ui::ColorProviderSource { - public: -- TestColorProviderSource() = default; -+ TestColorProviderSource() { provider_.GenerateColorMap(); } - - const ui::ColorProvider* GetColorProvider() const override { - return &provider_; -diff -up chromium-126.0.6478.26/content/public/test/render_view_test.cc.mee chromium-126.0.6478.26/content/public/test/render_view_test.cc ---- chromium-126.0.6478.26/content/public/test/render_view_test.cc.mee 2024-05-29 18:01:14.000000000 +0200 -+++ chromium-126.0.6478.26/content/public/test/render_view_test.cc 2024-06-03 16:22:10.554568949 +0200 -@@ -150,7 +150,7 @@ class FailingURLLoaderFactory : public n - - class MockColorProviderSource : public ui::ColorProviderSource { - public: -- explicit MockColorProviderSource() = default; -+ explicit MockColorProviderSource() { provider_.GenerateColorMap(); } - MockColorProviderSource(const MockColorProviderSource&) = delete; - MockColorProviderSource& operator=(const MockColorProviderSource&) = delete; - ~MockColorProviderSource() override = default; -diff -up chromium-126.0.6478.26/extensions/browser/extension_host.cc.mee chromium-126.0.6478.26/extensions/browser/extension_host.cc ---- chromium-126.0.6478.26/extensions/browser/extension_host.cc.mee 2024-05-29 18:01:22.000000000 +0200 -+++ chromium-126.0.6478.26/extensions/browser/extension_host.cc 2024-06-03 16:22:10.555568967 +0200 -@@ -58,7 +58,7 @@ namespace { - // the UI-less extension background page. - class NoOpColorProviderSource : public ui::ColorProviderSource { - public: -- NoOpColorProviderSource() = default; -+ NoOpColorProviderSource() { color_provider_.GenerateColorMap(); } - NoOpColorProviderSource(const NoOpColorProviderSource&) = delete; - NoOpColorProviderSource& operator=(const NoOpColorProviderSource&) = delete; - ~NoOpColorProviderSource() override = default; -diff -up chromium-126.0.6478.26/third_party/blink/renderer/core/layout/layout_theme.cc.mee chromium-126.0.6478.26/third_party/blink/renderer/core/layout/layout_theme.cc ---- chromium-126.0.6478.26/third_party/blink/renderer/core/layout/layout_theme.cc.mee 2024-05-29 18:01:39.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/blink/renderer/core/layout/layout_theme.cc 2024-06-03 16:22:10.555568967 +0200 -@@ -677,7 +677,7 @@ Color LayoutTheme::SystemColorFromColorP - CSSValueID css_value_id, - mojom::blink::ColorScheme color_scheme, - const ui::ColorProvider* color_provider) const { -- CHECK(color_provider->HasMixers()); -+ CHECK(!color_provider->IsColorMapEmpty()); - SkColor system_theme_color; - switch (css_value_id) { - case CSSValueID::kActivetext: -diff -up chromium-126.0.6478.26/ui/base/models/image_model_unittest.cc.mee chromium-126.0.6478.26/ui/base/models/image_model_unittest.cc ---- chromium-126.0.6478.26/ui/base/models/image_model_unittest.cc.mee 2024-05-29 18:02:31.000000000 +0200 -+++ chromium-126.0.6478.26/ui/base/models/image_model_unittest.cc 2024-06-03 16:22:10.555568967 +0200 -@@ -224,6 +224,7 @@ TEST(ImageModelTest, ShouldRasterizeEmpt - - TEST(ImageModelTest, ShouldRasterizeVectorIcon) { - ui::ColorProvider color_provider; -+ color_provider.GenerateColorMap(); - gfx::ImageSkia image_skia = - ui::ImageModel::FromVectorIcon(vector_icons::kSyncIcon) - .Rasterize(&color_provider); -diff -up chromium-126.0.6478.26/ui/color/color_provider.cc.mee chromium-126.0.6478.26/ui/color/color_provider.cc ---- chromium-126.0.6478.26/ui/color/color_provider.cc.mee 2024-06-03 16:03:15.596432761 +0200 -+++ chromium-126.0.6478.26/ui/color/color_provider.cc 2024-06-03 16:22:10.555568967 +0200 -@@ -4,7 +4,6 @@ - - #include "ui/color/color_provider.h" - --#include - #include - #include - #include -@@ -18,106 +17,6 @@ - - namespace ui { - --//////////////////////////////////////////////////////////////////////////////// --// ColorProvider::ColorProviderInternal: -- --class ColorProvider::ColorProviderInternal { -- public: -- using Mixers = std::forward_list; -- -- ColorProviderInternal() = default; -- ColorProviderInternal(const ColorProviderInternal&) = delete; -- ColorProviderInternal& operator=(const ColorProviderInternal&) = delete; -- ~ColorProviderInternal() = default; -- -- ColorMixer& AddMixer() { -- color_map_.clear(); -- mixers_.emplace_after( -- first_postprocessing_mixer_, -- base::BindRepeating([](const ColorMixer* mixer) { return mixer; }, -- GetLastNonPostprocessingMixer()), -- base::BindRepeating(&ColorProvider::ColorProviderInternal:: -- GetLastNonPostprocessingMixer, -- base::Unretained(this))); -- -- return *std::next(first_postprocessing_mixer_, 1); -- } -- -- ColorMixer& AddPostprocessingMixer() { -- color_map_.clear(); -- if (first_postprocessing_mixer_ == mixers_.before_begin()) { -- // The first postprocessing mixer points to the last regular mixer. -- auto previous_mixer_getter = base::BindRepeating( -- &ColorProvider::ColorProviderInternal::GetLastNonPostprocessingMixer, -- base::Unretained(this)); -- mixers_.emplace_front(previous_mixer_getter, previous_mixer_getter); -- first_postprocessing_mixer_ = mixers_.begin(); -- } else { -- // Other postprocessing mixers point to the next postprocessing mixer. -- auto previous_mixer_getter = -- base::BindRepeating([](const ColorMixer* mixer) { return mixer; }, -- base::Unretained(&mixers_.front())); -- mixers_.emplace_front(previous_mixer_getter, previous_mixer_getter); -- } -- return mixers_.front(); -- } -- -- SkColor GetColor(ColorId id) const { -- auto i = color_map_.find(id); -- if (i == color_map_.end()) { -- if (mixers_.empty()) { -- DVLOG(2) << "ColorProvider::GetColor: No mixers defined!"; -- return gfx::kPlaceholderColor; -- } -- DVLOG(2) << "ColorProvider::GetColor: Computing color for ColorId: " -- << ColorIdName(id); -- const SkColor color = mixers_.front().GetResultColor(id); -- if (color == gfx::kPlaceholderColor) { -- return gfx::kPlaceholderColor; -- } -- i = color_map_.insert({id, color}).first; -- } -- -- DVLOG(2) << "ColorProvider::GetColor: ColorId: " << ColorIdName(id) -- << " Value: " << SkColorName(i->second); -- return i->second; -- } -- -- const ColorMixer* GetLastNonPostprocessingMixer() const { -- const auto it = std::next(first_postprocessing_mixer_, 1); -- return (it == mixers_.cend()) ? nullptr : &(*it); -- } -- -- bool HasMixers() const { return !mixers_.empty(); } -- -- void SetColorForTesting(ColorId id, SkColor color) { color_map_[id] = color; } -- -- void GenerateColorMapForTesting() { -- for (const auto& mixer : mixers_) { -- const auto mixer_color_ids = mixer.GetDefinedColorIds(); -- for (const auto color_id : mixer_color_ids) { -- GetColor(color_id); -- } -- } -- } -- -- const ColorProvider::ColorMap& color_map_for_testing() { return color_map_; } -- -- private: -- // The entire color pipeline, in reverse order (that is, the "last" mixer is -- // at the front). -- Mixers mixers_; -- -- // The first mixer in the chain that is a "postprocessing" mixer. -- Mixers::iterator first_postprocessing_mixer_ = mixers_.before_begin(); -- -- // A cached map of ColorId => SkColor mappings for this provider. -- mutable ColorMap color_map_; --}; -- --//////////////////////////////////////////////////////////////////////////////// --// ColorProvider: -- - ColorProvider::ColorProvider() = default; - - ColorProvider::ColorProvider(ColorProvider&&) = default; -@@ -127,31 +26,96 @@ ColorProvider& ColorProvider::operator=( - ColorProvider::~ColorProvider() = default; - - ColorMixer& ColorProvider::AddMixer() { -- return internal_->AddMixer(); -+ DCHECK(!color_map_); -+ -+ mixers_.emplace_after( -+ first_postprocessing_mixer_, -+ base::BindRepeating([](const ColorMixer* mixer) { return mixer; }, -+ GetLastNonPostprocessingMixer()), -+ base::BindRepeating(&ColorProvider::GetLastNonPostprocessingMixer, -+ base::Unretained(this))); -+ -+ return *std::next(first_postprocessing_mixer_, 1); - } - - ColorMixer& ColorProvider::AddPostprocessingMixer() { -- return internal_->AddPostprocessingMixer(); -+ DCHECK(!color_map_); -+ -+ if (first_postprocessing_mixer_ == mixers_.before_begin()) { -+ // The first postprocessing mixer points to the last regular mixer. -+ auto previous_mixer_getter = base::BindRepeating( -+ &ColorProvider::GetLastNonPostprocessingMixer, base::Unretained(this)); -+ mixers_.emplace_front(previous_mixer_getter, previous_mixer_getter); -+ first_postprocessing_mixer_ = mixers_.begin(); -+ } else { -+ // Other postprocessing mixers point to the next postprocessing mixer. -+ auto previous_mixer_getter = -+ base::BindRepeating([](const ColorMixer* mixer) { return mixer; }, -+ base::Unretained(&mixers_.front())); -+ mixers_.emplace_front(previous_mixer_getter, previous_mixer_getter); -+ } -+ return mixers_.front(); - } - - SkColor ColorProvider::GetColor(ColorId id) const { -- return internal_->GetColor(id); --} -+ CHECK(color_map_); -+ auto i = color_map_->find(id); -+ return i == color_map_->end() ? gfx::kPlaceholderColor : i->second; -+} -+ -+void ColorProvider::GenerateColorMap() { -+ // This should only be called to generate the `color_map_` once. -+ DCHECK(!color_map_); -+ -+ if (mixers_.empty()) -+ DVLOG(2) << "ColorProvider::GenerateColorMap: No mixers defined!"; -+ -+ // Iterate over associated mixers and extract the ColorIds defined for this -+ // provider. -+ std::set color_ids; -+ for (const auto& mixer : mixers_) { -+ const auto mixer_color_ids = mixer.GetDefinedColorIds(); -+ color_ids.insert(mixer_color_ids.begin(), mixer_color_ids.end()); -+ } -+ -+ // Iterate through all defined ColorIds and seed the `color_map` with the -+ // computed values. Use a std::map rather than a base::flat_map since it has -+ // frequent inserts and could grow very large. -+ std::map color_map; -+ for (const auto& color_id : color_ids) { -+ SkColor resulting_color = mixers_.front().GetResultColor(color_id); -+ DVLOG(2) << "GenerateColorMap:" -+ << " Color Id: " << ColorIdName(color_id) -+ << " Resulting Color: " << SkColorName(resulting_color); -+ color_map.insert({color_id, resulting_color}); -+ } -+ -+ // Construct the color_map_. -+ color_map_ = ColorMap(color_map.begin(), color_map.end()); - --bool ColorProvider::HasMixers() const { -- return internal_->HasMixers(); -+ // Clear away all associated mixers as these are no longer needed. -+ mixers_.clear(); -+ first_postprocessing_mixer_ = mixers_.before_begin(); - } - --void ColorProvider::SetColorForTesting(ColorId id, SkColor color) { -- internal_->SetColorForTesting(id, color); // IN-TEST -+bool ColorProvider::IsColorMapEmpty() const { -+ DCHECK(color_map_); -+ return color_map_->empty(); - } - --void ColorProvider::GenerateColorMapForTesting() { -- internal_->GenerateColorMapForTesting(); // IN-TEST -+void ColorProvider::SetColorForTesting(ColorId id, SkColor color) { -+ if (color_map_) { -+ (*color_map_)[id] = color; -+ } else { -+ if (mixers_.empty()) -+ AddMixer(); -+ (*std::next(first_postprocessing_mixer_, 1))[id] = {color}; -+ } - } - --const ColorProvider::ColorMap& ColorProvider::color_map_for_testing() { -- return internal_->color_map_for_testing(); // IN-TEST -+const ColorMixer* ColorProvider::GetLastNonPostprocessingMixer() const { -+ const auto it = std::next(first_postprocessing_mixer_, 1); -+ return (it == mixers_.cend()) ? nullptr : &(*it); - } - - } // namespace ui -diff -up chromium-126.0.6478.26/ui/color/color_provider.h.mee chromium-126.0.6478.26/ui/color/color_provider.h ---- chromium-126.0.6478.26/ui/color/color_provider.h.mee 2024-06-03 16:13:48.739166275 +0200 -+++ chromium-126.0.6478.26/ui/color/color_provider.h 2024-06-03 16:22:10.555568967 +0200 -@@ -5,11 +5,12 @@ - #ifndef UI_COLOR_COLOR_PROVIDER_H_ - #define UI_COLOR_COLOR_PROVIDER_H_ - --#include -+#include - #include - #include - - #include "base/component_export.h" -+#include "base/containers/flat_map.h" - #include "third_party/skia/include/core/SkColor.h" - #include "ui/color/color_id.h" - #include "ui/color/color_mixer.h" -@@ -24,7 +25,7 @@ namespace ui { - // TODO(pkasting): Figure out ownership model and lifetime. - class COMPONENT_EXPORT(COLOR) ColorProvider { - public: -- using ColorMap = std::map; -+ using ColorMap = base::flat_map; - - ColorProvider(); - ColorProvider(const ColorProvider&) = delete; -@@ -48,25 +49,39 @@ class COMPONENT_EXPORT(COLOR) ColorProvi - // |id|. - SkColor GetColor(ColorId id) const; - -- // Returns true if mixers is not empty. It's the case for some browser -+ // Generates the `color_map_` used by this provider for all ColorIds defined -+ // by attached mixers. After the map is generated attached mixers and their -+ // associated objects are discarded. Mixers should not be added to the -+ // provider after this has been called. -+ void GenerateColorMap(); -+ -+ // Returns true if the color_map_ is empty. It's the case for some browser - // tests that run in single process mode but access colors that are - // initialized on renderer process launch, for example, controls in - // NaiveThemeBase and its children classes. Please see more details: - // https://crbug.com/1376775. -- bool HasMixers() const; -+ bool IsColorMapEmpty() const; - - void SetColorForTesting(ColorId id, SkColor color); -- void GenerateColorMapForTesting(); -- const ColorMap& color_map_for_testing(); -+ const ColorMap& color_map_for_testing() { return *color_map_; } - - private: -- // ColorProviderInternal provides the actual implementation of ColorProvider. -- // It's non-movable and non-copyable so that ColorMixer's callbacks can safely -- // bind to it. -- class ColorProviderInternal; -+ using Mixers = std::forward_list; - -- std::unique_ptr internal_ = -- std::make_unique(); -+ // Returns the last mixer in the chain that is not a "postprocessing" mixer, -+ // or nullptr. -+ const ColorMixer* GetLastNonPostprocessingMixer() const; -+ -+ // The entire color pipeline, in reverse order (that is, the "last" mixer is -+ // at the front). -+ Mixers mixers_; -+ -+ // The first mixer in the chain that is a "postprocessing" mixer. -+ Mixers::iterator first_postprocessing_mixer_ = mixers_.before_begin(); -+ -+ // A cached map of ColorId => SkColor mappings for this provider. This will be -+ // generated in the call to `GenerateColorMap()`. -+ std::optional color_map_; - }; - - } // namespace ui -diff -up chromium-126.0.6478.26/ui/color/color_provider_manager.cc.mee chromium-126.0.6478.26/ui/color/color_provider_manager.cc ---- chromium-126.0.6478.26/ui/color/color_provider_manager.cc.mee 2024-05-29 18:02:31.000000000 +0200 -+++ chromium-126.0.6478.26/ui/color/color_provider_manager.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -109,6 +109,7 @@ ColorProvider* ColorProviderManager::Get - if (!initializer_list_->empty()) - initializer_list_->Notify(provider.get(), key); - -+ provider->GenerateColorMap(); - RecordTimeSpentInitializingColorProvider(timer.Elapsed()); - ++num_providers_initialized_; - -diff -up chromium-126.0.6478.26/ui/color/color_provider_unittest.cc.mee chromium-126.0.6478.26/ui/color/color_provider_unittest.cc ---- chromium-126.0.6478.26/ui/color/color_provider_unittest.cc.mee 2024-05-29 18:02:31.000000000 +0200 -+++ chromium-126.0.6478.26/ui/color/color_provider_unittest.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -17,6 +17,7 @@ namespace { - // Tests that when there are no mixers, GetColor() returns a placeholder value. - TEST(ColorProviderTest, GetColorNoMixers) { - ColorProvider provider; -+ provider.GenerateColorMap(); - EXPECT_EQ(gfx::kPlaceholderColor, provider.GetColor(kColorTest0)); - } - -@@ -25,6 +26,7 @@ TEST(ColorProviderTest, GetColorNoMixers - TEST(ColorProviderTest, SingleMixer) { - ColorProvider provider; - provider.AddMixer()[kColorTest0] = {SK_ColorGREEN}; -+ provider.GenerateColorMap(); - EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0)); - EXPECT_EQ(gfx::kPlaceholderColor, provider.GetColor(kColorTest1)); - } -@@ -35,6 +37,7 @@ TEST(ColorProviderTest, NonOverlappingMi - ColorProvider provider; - provider.AddMixer()[kColorTest0] = {SK_ColorGREEN}; - provider.AddMixer()[kColorTest1] = {SK_ColorRED}; -+ provider.GenerateColorMap(); - EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0)); - EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest1)); - } -@@ -45,6 +48,7 @@ TEST(ColorProviderTest, OverlappingMixer - ColorProvider provider; - provider.AddMixer()[kColorTest0] = {SK_ColorGREEN}; - provider.AddMixer()[kColorTest0] = {SK_ColorRED}; -+ provider.GenerateColorMap(); - EXPECT_EQ(SK_ColorRED, provider.GetColor(kColorTest0)); - } - -@@ -55,6 +59,7 @@ TEST(ColorProviderTest, WithProcessing) - provider.AddMixer()[kColorTest0] = {SK_ColorBLACK}; - provider.AddPostprocessingMixer()[kColorTest0] = - GetColorWithMaxContrast(FromTransformInput()); -+ provider.GenerateColorMap(); - EXPECT_EQ(SK_ColorWHITE, provider.GetColor(kColorTest0)); - } - -@@ -65,6 +70,7 @@ TEST(ColorProviderTest, WithProcessingAd - provider.AddPostprocessingMixer()[kColorTest0] = - GetColorWithMaxContrast(FromTransformInput()); - provider.AddMixer()[kColorTest0] = {SK_ColorBLACK}; -+ provider.GenerateColorMap(); - EXPECT_EQ(SK_ColorWHITE, provider.GetColor(kColorTest0)); - } - -@@ -76,6 +82,7 @@ TEST(ColorProviderTest, Redefinition) { - mixer0[kColorTest0] = {SK_ColorBLACK}; - mixer0[kColorTest1] = AlphaBlend(SK_ColorRED, kColorTest0, 0x01); - provider.AddMixer()[kColorTest0] = {SK_ColorWHITE}; -+ provider.GenerateColorMap(); - EXPECT_EQ(SK_ColorWHITE, provider.GetColor(kColorTest0)); - EXPECT_FALSE(color_utils::IsDark(provider.GetColor(kColorTest1))); - } -@@ -90,6 +97,7 @@ TEST(ColorProviderTest, RedefinitionWith - provider.AddMixer()[kColorTest0] = {SK_ColorWHITE}; - provider.AddPostprocessingMixer()[kColorTest0] = - GetColorWithMaxContrast(FromTransformInput()); -+ provider.GenerateColorMap(); - EXPECT_NE(SK_ColorWHITE, provider.GetColor(kColorTest0)); - EXPECT_FALSE(color_utils::IsDark(provider.GetColor(kColorTest1))); - } -@@ -97,6 +105,7 @@ TEST(ColorProviderTest, RedefinitionWith - TEST(ColorProviderTest, SetColorForTesting) { - ColorProvider provider; - provider.SetColorForTesting(kColorTest0, SK_ColorGREEN); -+ provider.GenerateColorMap(); - EXPECT_EQ(SK_ColorGREEN, provider.GetColor(kColorTest0)); - EXPECT_EQ(gfx::kPlaceholderColor, provider.GetColor(kColorTest1)); - provider.SetColorForTesting(kColorTest1, SK_ColorBLUE); -diff -up chromium-126.0.6478.26/ui/color/color_provider_utils.cc.mee chromium-126.0.6478.26/ui/color/color_provider_utils.cc ---- chromium-126.0.6478.26/ui/color/color_provider_utils.cc.mee 2024-05-29 18:02:31.000000000 +0200 -+++ chromium-126.0.6478.26/ui/color/color_provider_utils.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -367,6 +367,7 @@ ColorProvider CreateColorProviderFromRen - - for (const auto& table : kRendererColorIdMap) - mixer[table.color_id] = {renderer_color_map.at(table.renderer_color_id)}; -+ color_provider.GenerateColorMap(); - - return color_provider; - } -@@ -425,6 +426,7 @@ ColorProvider CreateEmulatedForcedColors - mixer[kColorSeparator] = {kColorMidground}; - CompleteDefaultNonWebNativeRendererColorIdsDefinition(mixer); - -+ color_provider.GenerateColorMap(); - return color_provider; - } - -@@ -479,6 +481,7 @@ ColorProvider CreateEmulatedForcedColors - mixer[kColorWebNativeControlSliderHovered] = {SK_ColorCYAN}; - mixer[kColorWebNativeControlSliderPressed] = {SK_ColorCYAN}; - -+ color_provider.GenerateColorMap(); - return color_provider; - } - -@@ -652,6 +655,7 @@ ColorProvider COMPONENT_EXPORT(COLOR) - SkColorSetRGB(0x37, 0x93, 0xFF)}; - } - -+ color_provider.GenerateColorMap(); - return color_provider; - } - -diff -up chromium-126.0.6478.26/ui/color/color_provider_utils_unittest.cc.mee chromium-126.0.6478.26/ui/color/color_provider_utils_unittest.cc ---- chromium-126.0.6478.26/ui/color/color_provider_utils_unittest.cc.mee 2024-05-29 18:02:31.000000000 +0200 -+++ chromium-126.0.6478.26/ui/color/color_provider_utils_unittest.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -49,6 +49,7 @@ TEST_F(ColorProviderUtilsTest, RendererC - ui::ColorMixer& mixer = color_provider.AddMixer(); - for (int i = ui::kUiColorsStart + 1; i < ui::kUiColorsEnd; ++i) - mixer[i] = {static_cast(i)}; -+ color_provider.GenerateColorMap(); - - // The size of the RendererColorMap should match number of defined - // RendererColorIds. -@@ -60,7 +61,6 @@ TEST_F(ColorProviderUtilsTest, RendererC - // also match the number of defined RendererColorIds. - auto new_color_provider = - ui::CreateColorProviderFromRendererColorMap(renderer_color_map); -- new_color_provider.GenerateColorMapForTesting(); - EXPECT_EQ(kTotaltRendererColorIds, - new_color_provider.color_map_for_testing().size()); - } -@@ -73,6 +73,7 @@ TEST_F(ColorProviderUtilsTest, ColorProv - for (int i = ui::kUiColorsStart + 1; i < ui::kUiColorsEnd; ++i) { - mixer[i] = {static_cast(i)}; - } -+ color_provider.GenerateColorMap(); - - // A renderer color map generated from its source provider should have - // equivalent mappings. -@@ -84,6 +85,7 @@ TEST_F(ColorProviderUtilsTest, ColorProv - // Providers with different renderer color mappings should not be flagged as - // equivalent. - ui::ColorProvider new_color_provider; -+ new_color_provider.GenerateColorMap(); - EXPECT_FALSE(IsRendererColorMappingEquivalent(&new_color_provider, - renderer_color_map)); - } -@@ -119,6 +121,7 @@ TEST_F(ColorProviderUtilsTest, DefaultBl - ui::ColorProvider random_color_provider; - ui::ColorMixer& mixer = random_color_provider.AddMixer(); - mixer[ui::kColorPrimaryBackground] = {SK_ColorWHITE}; -+ random_color_provider.GenerateColorMap(); - ui::RendererColorMap random_color_map = - ui::CreateRendererColorMap(random_color_provider); - -diff -up chromium-126.0.6478.26/ui/color/sys_color_mixer_unittest.cc.mee chromium-126.0.6478.26/ui/color/sys_color_mixer_unittest.cc ---- chromium-126.0.6478.26/ui/color/sys_color_mixer_unittest.cc.mee 2024-05-29 18:02:31.000000000 +0200 -+++ chromium-126.0.6478.26/ui/color/sys_color_mixer_unittest.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -36,6 +36,7 @@ class SysColorMixerTest - - AddRefColorMixer(&color_provider_, key); - AddSysColorMixer(&color_provider_, key); -+ color_provider_.GenerateColorMap(); - } - - protected: -diff -up chromium-126.0.6478.26/ui/native_theme/native_theme_base.cc.mee chromium-126.0.6478.26/ui/native_theme/native_theme_base.cc ---- chromium-126.0.6478.26/ui/native_theme/native_theme_base.cc.mee 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/native_theme/native_theme_base.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -1763,9 +1763,8 @@ bool NativeThemeBase::IsColorPipelineSup - ControlColorId color_id) const { - // Color providers are not yet supported on Android so we need to check that - // the color_provider is not null here. -- if (!color_provider || !color_provider->HasMixers()) { -+ if (!color_provider || color_provider->IsColorMapEmpty()) - return false; -- } - - static constexpr auto kControlColorIdsSet = - base::MakeFixedFlatSet({kBorder, -diff -up chromium-126.0.6478.26/ui/native_theme/native_theme_fluent_unittest.cc.mee chromium-126.0.6478.26/ui/native_theme/native_theme_fluent_unittest.cc ---- chromium-126.0.6478.26/ui/native_theme/native_theme_fluent_unittest.cc.mee 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/native_theme/native_theme_fluent_unittest.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -134,6 +134,7 @@ TEST_P(NativeThemeFluentTest, VerifyArro - TEST_F(NativeThemeFluentTest, PaintThumbRoundedCorners) { - cc::RecordPaintCanvas canvas; - ColorProvider color_provider; -+ color_provider.GenerateColorMap(); - constexpr gfx::Rect kRect(15, 100); - // `is_web_test` is `false` by default. - const NativeTheme::ScrollbarThumbExtraParams extra_params; -diff -up chromium-126.0.6478.26/ui/wm/core/shadow_controller_unittest.cc.mee chromium-126.0.6478.26/ui/wm/core/shadow_controller_unittest.cc ---- chromium-126.0.6478.26/ui/wm/core/shadow_controller_unittest.cc.mee 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/wm/core/shadow_controller_unittest.cc 2024-06-03 16:22:10.556568986 +0200 -@@ -285,6 +285,7 @@ TEST_F(ShadowControllerTest, SetColorsMa - mixer[ui::kColorShadowValueAmbientShadowElevationTwelve] = {SK_ColorRED}; - mixer[ui::kColorShadowValueKeyShadowElevationTwentyFour] = {SK_ColorGREEN}; - mixer[ui::kColorShadowValueAmbientShadowElevationTwentyFour] = {SK_ColorBLUE}; -+ color_provider.GenerateColorMap(); - - shadow->SetElevationToColorsMap( - ShadowController::GenerateShadowColorsMap(&color_provider)); diff --git a/SOURCES/chromium-126-el7-constexpr.patch b/SOURCES/chromium-126-el7-constexpr.patch deleted file mode 100644 index 45042fe5..00000000 --- a/SOURCES/chromium-126-el7-constexpr.patch +++ /dev/null @@ -1,248 +0,0 @@ -diff -up chromium-126.0.6478.26/chrome/browser/ui/lens/lens_untrusted_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/lens/lens_untrusted_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/lens/lens_untrusted_ui.h.constexpr 2024-05-29 18:00:58.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/lens/lens_untrusted_ui.h 2024-06-02 23:51:25.539916606 +0200 -@@ -47,7 +47,7 @@ class LensUntrustedUI : public Untrusted - mojo::PendingReceiver - receiver); - -- static constexpr std::string GetWebUIName() { return "LensUntrusted"; } -+ static const std::string GetWebUIName() { return "LensUntrusted"; } - - private: - // lens::mojom::LensPageHandlerFactory: -diff -up chromium-126.0.6478.26/chrome/browser/ui/lens/search_bubble_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/lens/search_bubble_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/lens/search_bubble_ui.h.constexpr 2024-05-29 18:00:58.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/lens/search_bubble_ui.h 2024-06-02 23:51:25.539916606 +0200 -@@ -25,7 +25,7 @@ class SearchBubbleUI : public TopChromeW - mojo::PendingReceiver - receiver); - -- static constexpr std::string GetWebUIName() { return "LensSearchBubble"; } -+ static const std::string GetWebUIName() { return "LensSearchBubble"; } - - private: - // lens::mojom::SearchBubblePageHandlerFactory -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.constexpr 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h 2024-06-02 23:51:25.539916606 +0200 -@@ -55,7 +55,7 @@ class ShoppingInsightsSidePanelUI - mojo::PendingReceiver< - shopping_service::mojom::ShoppingServiceHandlerFactory> receiver); - -- static constexpr std::string GetWebUIName() { -+ static const std::string GetWebUIName() { - return "ShoppingInsightsSidePanel"; - } - -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/compose/compose_untrusted_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.constexpr 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/compose/compose_untrusted_ui.h 2024-06-02 23:51:25.540916630 +0200 -@@ -58,7 +58,7 @@ class ComposeUntrustedUI - triggering_web_contents_ = web_contents->GetWeakPtr(); - } - -- static constexpr std::string GetWebUIName() { return "Compose"; } -+ static const std::string GetWebUIName() { return "Compose"; } - - private: - void CreateComposeSessionUntrustedPageHandler( -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.constexpr 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h 2024-06-02 23:51:25.540916630 +0200 -@@ -75,7 +75,7 @@ class BookmarksSidePanelUI - commerce::ShoppingListContextMenuController* - GetShoppingListContextMenuController(); - -- static constexpr std::string GetWebUIName() { return "BookmarksSidePanel"; } -+ static const std::string GetWebUIName() { return "BookmarksSidePanel"; } - - private: - // side_panel::mojom::BookmarksPageHandlerFactory: -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.constexpr 2024-06-03 18:20:28.504604071 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h 2024-06-03 18:20:44.559016497 +0200 -@@ -34,7 +34,7 @@ class CompanionSidePanelUntrustedUI - // Gets a weak pointer to this object. - base::WeakPtr GetWeakPtr(); - -- static constexpr std::string GetWebUIName() { -+ static const std::string GetWebUIName() { - return "CompanionSidePanelUntrusted"; - } - -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.constexpr 2024-06-03 18:13:52.741282949 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h 2024-06-03 18:14:34.718442888 +0200 -@@ -111,7 +111,7 @@ class CustomizeChromeUI - side_panel::customize_chrome::mojom::CustomizeToolbarHandlerFactory> - receiver); - -- static constexpr std::string GetWebUIName() { return "CustomizeChrome"; } -+ static const std::string GetWebUIName() { return "CustomizeChrome"; } - - private: - // side_panel::mojom::CustomizeChromePageHandlerFactory -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.constexpr 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h 2024-06-02 23:51:25.540916630 +0200 -@@ -70,7 +70,7 @@ class HistoryClustersSidePanelUI : publi - void DidFinishNavigation( - content::NavigationHandle* navigation_handle) override; - -- static constexpr std::string GetWebUIName() { -+ static const std::string GetWebUIName() { - return "HistoryClustersSidePanel"; - } - -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.constexpr 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h 2024-06-02 23:51:25.540916630 +0200 -@@ -41,7 +41,7 @@ class PerformanceSidePanelUI - mojo::PendingReceiver - pending_receiver); - -- static constexpr std::string GetWebUIName() { return "PerformanceSidePanel"; } -+ static const std::string GetWebUIName() { return "PerformanceSidePanel"; } - - private: - // side_panel::mojom::PerformancePageHandlerFactory: -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.constexpr 2024-05-29 18:01:00.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h 2024-06-02 23:51:25.541916654 +0200 -@@ -55,7 +55,7 @@ class ReadAnythingUntrustedUI - mojo::PendingReceiver - receiver); - -- static constexpr std::string GetWebUIName() { -+ static const std::string GetWebUIName() { - return "ReadAnythingUntrusted"; - } - -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.constexpr 2024-05-29 18:01:00.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h 2024-06-02 23:51:25.541916654 +0200 -@@ -58,7 +58,7 @@ class ReadingListUI : public TopChromeWe - - void SetActiveTabURL(const GURL& url); - -- static constexpr std::string GetWebUIName() { return "ReadingList"; } -+ static const std::string GetWebUIName() { return "ReadingList"; } - - private: - // reading_list::mojom::PageHandlerFactory: -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.constexpr 2024-05-29 18:01:00.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h 2024-06-02 23:51:25.541916654 +0200 -@@ -35,7 +35,7 @@ class UserNotesSidePanelUI - - void set_browser(Browser* browser) { browser_ = browser; } - -- static constexpr std::string GetWebUIName() { return "UserNotesSidePanel"; } -+ static const std::string GetWebUIName() { return "UserNotesSidePanel"; } - - private: - // user_notes::mojom::UserNotesPageHandlerFactory -diff -up chromium-126.0.6478.26/chrome/browser/ui/webui/tab_search/tab_search_ui.h.constexpr chromium-126.0.6478.26/chrome/browser/ui/webui/tab_search/tab_search_ui.h ---- chromium-126.0.6478.26/chrome/browser/ui/webui/tab_search/tab_search_ui.h.constexpr 2024-05-29 18:01:00.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/webui/tab_search/tab_search_ui.h 2024-06-02 23:51:25.542916677 +0200 -@@ -58,7 +58,7 @@ class TabSearchUI : public TopChromeWebU - return page_handler_.get(); - } - -- static constexpr std::string GetWebUIName() { return "TabSearch"; } -+ static const std::string GetWebUIName() { return "TabSearch"; } - - private: - // tab_search::mojom::PageHandlerFactory -diff -up chromium-126.0.6478.26/components/autofill/core/browser/data_model/autofill_i18n_api.h.constexpr chromium-126.0.6478.26/components/autofill/core/browser/data_model/autofill_i18n_api.h ---- chromium-126.0.6478.26/components/autofill/core/browser/data_model/autofill_i18n_api.h.constexpr 2024-05-29 18:01:05.000000000 +0200 -+++ chromium-126.0.6478.26/components/autofill/core/browser/data_model/autofill_i18n_api.h 2024-06-02 23:51:25.542916677 +0200 -@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio - // Country code that represents autofill's legacy address hierarchy model as - // stored `kAutofillModelRules`. As a workaround for GCC we declare the - // std::string constexpr first. --constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"}; --constexpr AddressCountryCode kLegacyHierarchyCountryCode = -+const inline std::string kLegacyHierarchyCountryCodeString{"XX"}; -+const AddressCountryCode kLegacyHierarchyCountryCode = - AddressCountryCode(kLegacyHierarchyCountryCodeString); - - // Creates an instance of the address hierarchy model corresponding to the -diff -up chromium-126.0.6478.26/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.constexpr chromium-126.0.6478.26/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py ---- chromium-126.0.6478.26/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.constexpr 2024-05-29 18:01:05.000000000 +0200 -+++ chromium-126.0.6478.26/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-06-02 23:51:36.322172739 +0200 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/opt/rh/rh-python38/root/usr/bin/python - - # Copyright 2020 The Chromium Authors - # Use of this source code is governed by a BSD-style license that can be -@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam - yield '// Checks if all the matching patterns for the given PatternSources' - yield '// and language are the same - meaning that computing predictions for' - yield '// both is unnecessary, since it will yield the same result.' -- yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,' -+ yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,' - yield ' PatternSource b,' - yield ' LanguageCode lang_code) {' - yield ' if (a == b) {' -diff -up chromium-126.0.6478.26/components/autofill/core/browser/metrics/log_event.h.constexpr chromium-126.0.6478.26/components/autofill/core/browser/metrics/log_event.h ---- chromium-126.0.6478.26/components/autofill/core/browser/metrics/log_event.h.constexpr 2024-05-29 18:01:05.000000000 +0200 -+++ chromium-126.0.6478.26/components/autofill/core/browser/metrics/log_event.h 2024-06-02 23:51:25.542916677 +0200 -@@ -57,7 +57,7 @@ struct IsRequired { - // This function is not defined and consteval. Therefore, any evaluation will - // fail and fail at compile time. - template -- consteval operator T(); // NOLINT -+ operator T(); // NOLINT - }; - - } // namespace internal -diff -up chromium-126.0.6478.26/components/history/core/browser/history_types.h.constexpr chromium-126.0.6478.26/components/history/core/browser/history_types.h ---- chromium-126.0.6478.26/components/history/core/browser/history_types.h.constexpr 2024-05-29 18:01:06.000000000 +0200 -+++ chromium-126.0.6478.26/components/history/core/browser/history_types.h 2024-06-02 23:51:25.542916677 +0200 -@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL - typedef std::map VisitSourceMap; - - // Constant used to represent that no app_id is used for matching. --inline constexpr std::optional kNoAppIdFilter = std::nullopt; -+inline const std::optional kNoAppIdFilter = std::nullopt; - - // VisitRow ------------------------------------------------------------------- - -diff -up chromium-126.0.6478.26/components/omnibox/browser/on_device_tail_model_service.cc.constexpr chromium-126.0.6478.26/components/omnibox/browser/on_device_tail_model_service.cc ---- chromium-126.0.6478.26/components/omnibox/browser/on_device_tail_model_service.cc.constexpr 2024-05-29 18:01:07.000000000 +0200 -+++ chromium-126.0.6478.26/components/omnibox/browser/on_device_tail_model_service.cc 2024-06-02 23:51:25.543916702 +0200 -@@ -30,7 +30,7 @@ namespace { - // The maximum idle time before the model executor is unloaded from memory. - constexpr base::TimeDelta kMaxExecutorIdleSeconds = base::Seconds(60); - // Constants for TFlite model validation. --constexpr std::string kTestPrefix = "face"; -+const std::string kTestPrefix = "face"; - constexpr std::string_view kModelValidationSwitchName = - "omnibox-on-device-tail-model-validation"; - -diff -up chromium-126.0.6478.26/services/network/shared_dictionary/simple_url_pattern_matcher.cc.constexpr chromium-126.0.6478.26/services/network/shared_dictionary/simple_url_pattern_matcher.cc ---- chromium-126.0.6478.26/services/network/shared_dictionary/simple_url_pattern_matcher.cc.constexpr 2024-05-29 18:01:36.000000000 +0200 -+++ chromium-126.0.6478.26/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-06-02 23:51:25.543916702 +0200 -@@ -28,17 +28,17 @@ namespace network { - namespace { - - // https://urlpattern.spec.whatwg.org/#default-options --constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "", -+const liburlpattern::Options kDefaultOptions = {.delimiter_list = "", - .prefix_list = "", - .sensitive = true, - .strict = true}; - // https://urlpattern.spec.whatwg.org/#hostname-options --constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".", -+const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".", - .prefix_list = "", - .sensitive = true, - .strict = true}; - // https://urlpattern.spec.whatwg.org/#pathname-options --constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/", -+const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/", - .prefix_list = "/", - .sensitive = true, - .strict = true}; diff --git a/SOURCES/chromium-126-el7-include-fcntl-memfd.patch b/SOURCES/chromium-126-el7-include-fcntl-memfd.patch deleted file mode 100644 index 3bafca4b..00000000 --- a/SOURCES/chromium-126-el7-include-fcntl-memfd.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -up chromium-126.0.6478.26/third_party/wayland/src/cursor/os-compatibility.c.el7-memfd-fcntl-include chromium-126.0.6478.26/third_party/wayland/src/cursor/os-compatibility.c ---- chromium-126.0.6478.26/third_party/wayland/src/cursor/os-compatibility.c.el7-memfd-fcntl-include 2024-05-29 18:03:08.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/wayland/src/cursor/os-compatibility.c 2024-06-02 15:13:21.636638066 +0200 -@@ -29,7 +29,8 @@ - - #include - #include --#include -+#include // for F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL -+#include // for MFD_CLOEXEC - #include - #include - #include -diff -up chromium-126.0.6478.26/third_party/wayland/src/src/wayland-shm.c.el7-memfd-fcntl-include chromium-126.0.6478.26/third_party/wayland/src/src/wayland-shm.c ---- chromium-126.0.6478.26/third_party/wayland/src/src/wayland-shm.c.el7-memfd-fcntl-include 2024-05-29 18:03:08.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/wayland/src/src/wayland-shm.c 2024-06-02 15:13:21.635638045 +0200 -@@ -44,7 +44,7 @@ - #include - #include - #include --#include -+#include - - #include "wayland-os.h" - #include "wayland-util.h" -diff -up chromium-126.0.6478.26/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.el7-memfd-fcntl-include chromium-126.0.6478.26/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc ---- chromium-126.0.6478.26/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.el7-memfd-fcntl-include 2024-06-02 15:13:21.636638066 +0200 -+++ chromium-126.0.6478.26/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc 2024-06-02 15:16:18.202679909 +0200 -@@ -5,6 +5,7 @@ - #include "ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.h" - - #include -+#include - - #include - #include -diff -up chromium-126.0.6478.26/v8/src/base/platform/platform-posix.cc.el7-memfd-fcntl-include chromium-126.0.6478.26/v8/src/base/platform/platform-posix.cc ---- chromium-126.0.6478.26/v8/src/base/platform/platform-posix.cc.el7-memfd-fcntl-include 2024-05-29 18:03:35.000000000 +0200 -+++ chromium-126.0.6478.26/v8/src/base/platform/platform-posix.cc 2024-06-02 15:13:21.635638045 +0200 -@@ -60,6 +60,7 @@ - - #if V8_OS_LINUX - #include // for prctl -+#include // for MFD_CLOEXEC - #endif - - #if defined(V8_OS_FUCHSIA) diff --git a/SOURCES/chromium-126-el7-interator.patch b/SOURCES/chromium-126-el7-interator.patch deleted file mode 100644 index 9b630a86..00000000 --- a/SOURCES/chromium-126-el7-interator.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h.me chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h ---- chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h.me 2024-06-03 15:01:54.724207324 +0200 -+++ chromium-126.0.6478.26/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h 2024-06-03 14:58:16.244189794 +0200 -@@ -144,7 +144,7 @@ class QUICHE_NO_EXPORT QuicIntervalDeque - // for efficient std::lower_bound() calls. - class QUICHE_NO_EXPORT Iterator { - public: -- using iterator_category = std::random_access_iterator_tag; -+ using iterator_category = std::forward_iterator_tag; - using value_type = T; - using difference_type = std::ptrdiff_t; - using pointer = T*; diff --git a/SOURCES/chromium-126-el7-no_matching_constructor.patch b/SOURCES/chromium-126-el7-no_matching_constructor.patch deleted file mode 100644 index fdc351af..00000000 --- a/SOURCES/chromium-126-el7-no_matching_constructor.patch +++ /dev/null @@ -1,1961 +0,0 @@ -diff -up chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc ---- chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor 2024-05-29 18:00:45.000000000 +0200 -+++ chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc 2024-06-02 23:51:25.487915366 +0200 -@@ -86,7 +86,7 @@ bool LightweightQuarantineBranch::Quaran - - // Put the entry onto the list. - branch_size_in_bytes_ += usable_size; -- slots_.emplace_back(slot_start, usable_size); -+ slots_.emplace_back() = {slot_start, usable_size}; - - // Swap randomly so that the quarantine list remain shuffled. - // This is not uniformly random, but sufficiently random. -diff -up chromium-126.0.6478.26/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor chromium-126.0.6478.26/base/metrics/persistent_histogram_allocator.cc ---- chromium-126.0.6478.26/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor 2024-05-29 18:00:45.000000000 +0200 -+++ chromium-126.0.6478.26/base/metrics/persistent_histogram_allocator.cc 2024-06-02 23:51:25.487915366 +0200 -@@ -225,13 +225,13 @@ PersistentSparseHistogramDataManager::Lo - // The sample-record could be for any sparse histogram. Add the reference - // to the appropriate collection for later use. - if (found_id == match_id) { -- found_records.emplace_back(ref, value); -+ found_records.emplace_back() = {ref, value}; - found = true; - } else { - std::vector* samples = - GetSampleMapRecordsWhileLocked(found_id); - CHECK(samples); -- samples->emplace_back(ref, value); -+ samples->emplace_back() = {ref, value}; - } - } - -diff -up chromium-126.0.6478.26/base/nix/mime_util_xdg.cc.no_matching_constructor chromium-126.0.6478.26/base/nix/mime_util_xdg.cc ---- chromium-126.0.6478.26/base/nix/mime_util_xdg.cc.no_matching_constructor 2024-05-29 18:00:45.000000000 +0200 -+++ chromium-126.0.6478.26/base/nix/mime_util_xdg.cc 2024-06-02 23:51:25.488915391 +0200 -@@ -56,7 +56,7 @@ void LoadAllMimeCacheFiles(MimeTypeMap& - for (const auto& path : GetXDGDataSearchLocations(env.get())) { - FilePath mime_cache = path.Append("mime/mime.cache"); - if (GetFileInfo(mime_cache, &info) && ParseMimeTypes(mime_cache, map)) { -- files.emplace_back(mime_cache, info.last_modified); -+ files.emplace_back() = {mime_cache, info.last_modified}; - } - } - } -diff -up chromium-126.0.6478.26/base/trace_event/trace_log.cc.no_matching_constructor chromium-126.0.6478.26/base/trace_event/trace_log.cc ---- chromium-126.0.6478.26/base/trace_event/trace_log.cc.no_matching_constructor 2024-05-29 18:00:45.000000000 +0200 -+++ chromium-126.0.6478.26/base/trace_event/trace_log.cc 2024-06-02 23:51:25.489915414 +0200 -@@ -2026,8 +2026,8 @@ void TraceLog::SetTraceBufferForTesting( - - void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) { - AutoLock lock(track_event_lock_); -- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config, -- args.backend_type); -+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config, -+ args.backend_type}; - } - - void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) { -diff -up chromium-126.0.6478.26/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/content_settings/one_time_permission_provider.cc ---- chromium-126.0.6478.26/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2024-05-29 18:00:52.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/content_settings/one_time_permission_provider.cc 2024-06-02 23:51:25.489915414 +0200 -@@ -259,8 +259,8 @@ void OneTimePermissionProvider::OnSuspen - - while (rule_iterator && rule_iterator->HasNext()) { - auto rule = rule_iterator->Next(); -- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern, -- rule->secondary_pattern); -+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern, -+ rule->secondary_pattern}; - permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( - setting_type, - permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND); -@@ -362,8 +362,8 @@ void OneTimePermissionProvider::DeleteEn - auto rule = rule_iterator->Next(); - if (rule->primary_pattern.Matches(origin_gurl) && - rule->secondary_pattern.Matches(origin_gurl)) { -- patterns_to_delete.emplace_back( -- content_setting_type, rule->primary_pattern, rule->secondary_pattern); -+ patterns_to_delete.emplace_back() = { -+ content_setting_type, rule->primary_pattern, rule->secondary_pattern}; - permissions::PermissionUmaUtil::RecordOneTimePermissionEvent( - content_setting_type, trigger_event); - } -diff -up chromium-126.0.6478.26/chrome/browser/dips/dips_bounce_detector.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/dips/dips_bounce_detector.cc ---- chromium-126.0.6478.26/chrome/browser/dips/dips_bounce_detector.cc.no_matching_constructor 2024-06-03 23:39:30.778285708 +0200 -+++ chromium-126.0.6478.26/chrome/browser/dips/dips_bounce_detector.cc 2024-06-03 23:42:17.873038214 +0200 -@@ -511,11 +511,11 @@ UrlAndSourceId RedirectChainDetector::Ge - // We can't use RenderFrameHost::GetLastCommittedURL() because that returns an - // empty URL while the tab is closing (i.e. within - // WebContentsObserver::WebContentsDestroyed) -- return UrlAndSourceId( -+ return UrlAndSourceId{ - WebContentsObserver::web_contents()->GetLastCommittedURL(), - WebContentsObserver::web_contents() - ->GetPrimaryMainFrame() -- ->GetPageUkmSourceId()); -+ ->GetPageUkmSourceId()}; - } - - void RedirectChainDetector::HandleRedirectChain( -@@ -619,8 +619,8 @@ void DIPSBounceDetector::DidStartNavigat - !client_detection_state_.has_value()) { - server_bounce_detection_state->navigation_start = - delegate_->GetLastCommittedURL().url.is_empty() -- ? UrlAndSourceId(navigation_handle->GetInitiator(), -- ukm::kInvalidSourceId) -+ ? UrlAndSourceId{navigation_handle->GetInitiator(), -+ ukm::kInvalidSourceId} - : delegate_->GetLastCommittedURL(); - return; - } -@@ -961,8 +961,8 @@ void DIPSBounceDetector::DidFinishNaviga - - for (size_t i = 0; i < access_types.size() - 1; i++) { - redirects.push_back(std::make_unique( -- /*url=*/UrlAndSourceId(navigation_handle->GetRedirectChain()[i], -- navigation_handle->GetRedirectSourceId(i)), -+ /*url=*/UrlAndSourceId{navigation_handle->GetRedirectChain()[i], -+ navigation_handle->GetRedirectSourceId(i)}, - /*redirect_type=*/DIPSRedirectType::kServer, - /*access_type=*/access_types[i], - /*time=*/clock_->Now())); -@@ -971,16 +971,16 @@ void DIPSBounceDetector::DidFinishNaviga - if (navigation_handle->HasCommitted()) { - committed_redirect_context_.AppendCommitted( - std::move(server_state->navigation_start), std::move(redirects), -- UrlAndSourceId(navigation_handle->GetURL(), -- navigation_handle->GetNextPageUkmSourceId()), -+ UrlAndSourceId{navigation_handle->GetURL(), -+ navigation_handle->GetNextPageUkmSourceId()}, - current_page_has_sticky_activation); - } else { - // For uncommitted navigations, treat the last URL visited as a server - // redirect, so it is considered a potential tracker. - const size_t i = access_types.size() - 1; - redirects.push_back(std::make_unique( -- /*url=*/UrlAndSourceId(navigation_handle->GetRedirectChain()[i], -- navigation_handle->GetRedirectSourceId(i)), -+ /*url=*/UrlAndSourceId{navigation_handle->GetRedirectChain()[i], -+ navigation_handle->GetRedirectSourceId(i)}, - /*redirect_type=*/DIPSRedirectType::kServer, - /*access_type=*/access_types[i], - /*time=*/clock_->Now())); -diff -up chromium-126.0.6478.26/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc ---- chromium-126.0.6478.26/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2024-05-29 18:00:52.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2024-06-02 23:51:25.489915414 +0200 -@@ -67,8 +67,8 @@ base::flat_mapinsert(std::make_pair( - "supported.test", -- SAMLProfileAttributes("placeholderName", "placeholderDomain", -- "placeholderToken"))); -+ SAMLProfileAttributes{"placeholderName", "placeholderDomain", -+ "placeholderToken"})); - - // Extract domains and attributes from the command line switch. - const base::CommandLine& command_line = -diff -up chromium-126.0.6478.26/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc ---- chromium-126.0.6478.26/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.no_matching_constructor 2024-05-29 18:00:53.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc 2024-06-02 23:51:25.490915438 +0200 -@@ -385,7 +385,7 @@ bool ShouldBlockAccessToPath(const base: - DCHECK(block.path); - blocked_path = base::FilePath(block.path); - } -- rules.emplace_back(blocked_path, block.type); -+ rules.emplace_back() = {blocked_path, block.type}; - } - - base::FilePath nearest_ancestor; -@@ -1685,11 +1685,11 @@ void ChromeFileSystemAccessPermissionCon - // profile's directory, assuming the profile dir is a child of the user data - // dir. - std::vector extra_rules; -- extra_rules.emplace_back(profile_->GetPath().DirName(), kBlockAllChildren); -+ extra_rules.emplace_back() = {profile_->GetPath().DirName(), kBlockAllChildren}; - if (g_browser_process->profile_manager()) { -- extra_rules.emplace_back( -+ extra_rules.emplace_back() = { - g_browser_process->profile_manager()->user_data_dir(), -- kBlockAllChildren); -+ kBlockAllChildren}; - } - - base::ThreadPool::PostTaskAndReplyWithResult( -diff -up chromium-126.0.6478.26/chrome/browser/performance_manager/mechanisms/page_discarder.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/performance_manager/mechanisms/page_discarder.cc ---- chromium-126.0.6478.26/chrome/browser/performance_manager/mechanisms/page_discarder.cc.no_matching_constructor 2024-05-29 18:00:54.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/performance_manager/mechanisms/page_discarder.cc 2024-06-02 23:51:25.490915438 +0200 -@@ -53,7 +53,7 @@ std::vector - if (lifecycle_unit->DiscardTab( - discard_reason, - /*memory_footprint_estimate=*/proxy.second)) { -- discard_events.emplace_back(base::TimeTicks::Now(), proxy.second); -+ discard_events.emplace_back() = {base::TimeTicks::Now(), proxy.second}; - } - } - return discard_events; -diff -up chromium-126.0.6478.26/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/renderer_context_menu/render_view_context_menu.cc ---- chromium-126.0.6478.26/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor 2024-05-29 18:00:54.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-06-02 23:51:25.492915486 +0200 -@@ -4044,10 +4044,10 @@ void RenderViewContextMenu::ExecOpenComp - autofill::LocalFrameToken frame_token = driver->GetFrameToken(); - client->GetManager().OpenCompose( - *driver, -- autofill::FormGlobalId( -- frame_token, autofill::FormRendererId(params_.form_renderer_id)), -- autofill::FieldGlobalId( -- frame_token, autofill::FieldRendererId(params_.field_renderer_id)), -+ autofill::FormGlobalId{ -+ frame_token, autofill::FormRendererId(params_.form_renderer_id)}, -+ autofill::FieldGlobalId{ -+ frame_token, autofill::FieldRendererId(params_.field_renderer_id)}, - compose::ComposeManagerImpl::UiEntryPoint::kContextMenu); - GetBrowser()->window()->NotifyPromoFeatureUsed( - compose::features::kEnableCompose); -diff -up chromium-126.0.6478.26/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/autofill/autofill_context_menu_manager.cc ---- chromium-126.0.6478.26/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor 2024-05-29 18:00:58.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/autofill/autofill_context_menu_manager.cc 2024-06-02 23:51:25.492915486 +0200 -@@ -383,8 +383,8 @@ void AutofillContextMenuManager::Execute - AutofillManager& manager) { - auto& driver = static_cast(manager.driver()); - driver.browser_events().RendererShouldTriggerSuggestions( -- FieldGlobalId(driver.GetFrameToken(), -- FieldRendererId(params_.field_renderer_id)), -+ FieldGlobalId{driver.GetFrameToken(), -+ FieldRendererId(params_.field_renderer_id)}, - AutofillSuggestionTriggerSource::kManualFallbackPayments); - LogManualFallbackContextMenuEntryAccepted( - static_cast(manager), -diff -up chromium-126.0.6478.26/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/omnibox/chrome_omnibox_client.cc ---- chromium-126.0.6478.26/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2024-05-29 18:00:58.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2024-06-02 23:51:25.492915486 +0200 -@@ -512,10 +512,10 @@ void ChromeOmniboxClient::OnAutocomplete - alternative_nav_match); - - // Store the details necessary to open the omnibox match via browser commands. -- location_bar_->set_navigation_params(LocationBar::NavigationParams( -+ location_bar_->set_navigation_params(LocationBar::NavigationParams{ - destination_url, disposition, transition, match_selection_timestamp, - destination_url_entered_without_scheme, -- destination_url_entered_with_http_scheme, match.extra_headers)); -+ destination_url_entered_with_http_scheme, match.extra_headers}); - - if (browser_) { - auto navigation = chrome::OpenCurrentURL(browser_); -diff -up chromium-126.0.6478.26/chrome/browser/ui/safety_hub/menu_notification_service.h.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/safety_hub/menu_notification_service.h ---- chromium-126.0.6478.26/chrome/browser/ui/safety_hub/menu_notification_service.h.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/safety_hub/menu_notification_service.h 2024-06-02 23:51:25.493915509 +0200 -@@ -24,6 +24,7 @@ struct MenuNotificationEntry { - int command = 0; - std::u16string label; - safety_hub::SafetyHubModuleType module; -+ MenuNotificationEntry(auto c, auto l, auto m) : command(c), label(l), module(m) { } - }; - - namespace { -diff -up chromium-126.0.6478.26/chrome/browser/ui/views/frame/contents_layout_manager.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/views/frame/contents_layout_manager.cc ---- chromium-126.0.6478.26/chrome/browser/ui/views/frame/contents_layout_manager.cc.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/views/frame/contents_layout_manager.cc 2024-06-02 23:51:25.493915509 +0200 -@@ -44,20 +44,20 @@ views::ProposedLayout ContentsLayoutMana - - // DevTools cares about the specific position, so we have to compensate RTL - // layout here. -- layouts.child_layouts.emplace_back( -+ layouts.child_layouts.emplace_back() = { - devtools_view_.get(), devtools_view_->GetVisible(), - host_view()->GetMirroredRect(new_devtools_bounds), -- views::SizeBounds(container_size)); -- layouts.child_layouts.emplace_back( -+ views::SizeBounds(container_size)}; -+ layouts.child_layouts.emplace_back() = { - contents_view_.get(), contents_view_->GetVisible(), - host_view()->GetMirroredRect(new_contents_bounds), -- views::SizeBounds(container_size)); -+ views::SizeBounds(container_size)}; - - // Enterprise watermark view is always overlaid, even when empty. - if (watermark_view_) { -- layouts.child_layouts.emplace_back( -+ layouts.child_layouts.emplace_back() = { - watermark_view_.get(), watermark_view_->GetVisible(), -- gfx::Rect(0, 0, width, height), views::SizeBounds(container_size)); -+ gfx::Rect(0, 0, width, height), views::SizeBounds(container_size)}; - } - layouts.host_size = gfx::Size(width, height); - return layouts; -diff -up chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc ---- chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2024-06-03 18:31:02.456804349 +0200 -@@ -78,8 +78,8 @@ EmbeddedPermissionPromptAskView::GetButt - buttons.push_back(allow_always); - } - } else { -- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW), -- ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId); -+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW), -+ ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId}; - } - return buttons; - } -diff -up chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h ---- chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2024-06-02 23:51:25.494915534 +0200 -@@ -87,6 +87,7 @@ class EmbeddedPermissionPromptBaseView : - struct RequestLineConfiguration { - const raw_ptr icon; - std::u16string message; -+ RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { } - }; - - struct ButtonConfiguration { -diff -up chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc ---- chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2024-06-02 23:51:25.494915534 +0200 -@@ -88,8 +88,8 @@ EmbeddedPermissionPromptPolicyView::GetR - std::vector - EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() const { - std::vector buttons; -- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), -- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal); -+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), -+ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal}; - return buttons; - } - -diff -up chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc ---- chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc 2024-06-02 23:51:25.494915534 +0200 -@@ -66,13 +66,13 @@ EmbeddedPermissionPromptPreviouslyDenied - std::vector - EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const { - std::vector buttons; -- buttons.emplace_back( -+ buttons.emplace_back() = { - l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING), -- ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal); -+ ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal}; - -- buttons.emplace_back( -+ buttons.emplace_back() = { - l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME), -- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId); -+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId}; - - return buttons; - } -diff -up chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc ---- chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2024-06-02 23:51:25.495915557 +0200 -@@ -77,13 +77,13 @@ EmbeddedPermissionPromptPreviouslyGrante - std::vector - EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const { - std::vector buttons; -- buttons.emplace_back( -+ buttons.emplace_back() = { - l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING), - ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal, -- kContinueAllowingId); -+ kContinueAllowingId}; - -- buttons.emplace_back( -+ buttons.emplace_back() = { - l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING), -- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId); -+ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId}; - return buttons; - } -diff -up chromium-126.0.6478.26/chrome/browser/ui/views/tabs/tab_style_views.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/views/tabs/tab_style_views.cc ---- chromium-126.0.6478.26/chrome/browser/ui/views/tabs/tab_style_views.cc.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/views/tabs/tab_style_views.cc 2024-06-02 23:51:25.495915557 +0200 -@@ -1214,10 +1214,10 @@ SkPath ChromeRefresh2023TabStyleViews::G - - // Radii are clockwise from top left. - const SkVector radii[4] = { -- SkVector(top_content_corner_radius, top_content_corner_radius), -- SkVector(top_content_corner_radius, top_content_corner_radius), -- SkVector(bottom_content_corner_radius, bottom_content_corner_radius), -- SkVector(bottom_content_corner_radius, bottom_content_corner_radius)}; -+ SkVector{top_content_corner_radius, top_content_corner_radius}, -+ SkVector{top_content_corner_radius, top_content_corner_radius}, -+ SkVector{bottom_content_corner_radius, bottom_content_corner_radius}, -+ SkVector{bottom_content_corner_radius, bottom_content_corner_radius}}; - SkRRect rrect; - rrect.setRectRadii(SkRect::MakeLTRB(left, top, right, bottom), radii); - SkPath path; -diff -up chromium-126.0.6478.26/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor chromium-126.0.6478.26/chrome/browser/ui/web_applications/sub_apps_service_impl.cc ---- chromium-126.0.6478.26/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor 2024-05-29 18:00:59.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/browser/ui/web_applications/sub_apps_service_impl.cc 2024-06-02 23:51:25.496915581 +0200 -@@ -108,7 +108,7 @@ AddOptionsFromMojo( - ConvertPathToUrl(sub_app->manifest_id_path, origin)); - ASSIGN_OR_RETURN(GURL install_url, - ConvertPathToUrl(sub_app->install_url_path, origin)); -- sub_apps.emplace_back(std::move(manifest_id), std::move(install_url)); -+ sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)}; - } - return sub_apps; - } -@@ -440,7 +440,7 @@ void SubAppsServiceImpl::ScheduleSubAppI - base::BindOnce( - [](webapps::ManifestId manifest_id, const webapps::AppId& app_id, - webapps::InstallResultCode result_code) { -- return SubAppInstallResult(manifest_id, app_id, result_code); -+ return SubAppInstallResult{manifest_id, app_id, result_code}; - }, - manifest_id) - .Then(concurrent.CreateCallback()), -diff -up chromium-126.0.6478.26/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-126.0.6478.26/chrome/test/chromedriver/capabilities.cc ---- chromium-126.0.6478.26/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2024-05-29 18:01:01.000000000 +0200 -+++ chromium-126.0.6478.26/chrome/test/chromedriver/capabilities.cc 2024-06-02 23:51:25.496915581 +0200 -@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base:: - "'version' field of type string"); - } - -- brands.emplace_back(*brand, *version); -+ brands.emplace_back() = {*brand, *version}; - } - - client_hints.brands = std::move(brands); -@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base:: - "a 'version' field of type string"); - } - -- full_version_list.emplace_back(*brand, *version); -+ full_version_list.emplace_back() = {*brand, *version}; - } - - client_hints.full_version_list = std::move(full_version_list); -diff -up chromium-126.0.6478.26/components/attribution_reporting/aggregatable_utils.cc.no_matching_constructor chromium-126.0.6478.26/components/attribution_reporting/aggregatable_utils.cc ---- chromium-126.0.6478.26/components/attribution_reporting/aggregatable_utils.cc.no_matching_constructor 2024-05-29 18:01:05.000000000 +0200 -+++ chromium-126.0.6478.26/components/attribution_reporting/aggregatable_utils.cc 2024-06-02 23:51:25.497915604 +0200 -@@ -33,7 +33,7 @@ std::vector GetN - } - - if (generate_func(i)) { -- reports.emplace_back(fake_source_time); -+ reports.emplace_back() = {fake_source_time}; - } - } - return reports; -diff -up chromium-126.0.6478.26/components/attribution_reporting/registration_info.cc.no_matching_constructor chromium-126.0.6478.26/components/attribution_reporting/registration_info.cc ---- chromium-126.0.6478.26/components/attribution_reporting/registration_info.cc.no_matching_constructor 2024-05-29 18:01:05.000000000 +0200 -+++ chromium-126.0.6478.26/components/attribution_reporting/registration_info.cc 2024-06-02 23:51:25.497915604 +0200 -@@ -96,7 +96,7 @@ RegistrationInfo::ParseInfo(const net::s - - ASSIGN_OR_RETURN(bool report_header_errors, ParseReportHeaderErrors(dict)); - -- return RegistrationInfo(preferred_platform, report_header_errors); -+ return RegistrationInfo{preferred_platform, report_header_errors}; - } - - } // namespace attribution_reporting -diff -up chromium-126.0.6478.26/components/autofill/content/renderer/form_autofill_util.cc.no_matching_constructor chromium-126.0.6478.26/components/autofill/content/renderer/form_autofill_util.cc ---- chromium-126.0.6478.26/components/autofill/content/renderer/form_autofill_util.cc.no_matching_constructor 2024-05-29 18:01:05.000000000 +0200 -+++ chromium-126.0.6478.26/components/autofill/content/renderer/form_autofill_util.cc 2024-06-02 23:51:25.497915604 +0200 -@@ -2279,7 +2279,7 @@ std::vector Address - } - - base::span observations_data = s.ColumnBlob(3); -- field_type_values.emplace_back( -+ field_type_values.emplace_back() = { - type, s.ColumnString16(1), s.ColumnInt(2), - std::vector(observations_data.begin(), -- observations_data.end())); -+ observations_data.end())}; - - if (type == ADDRESS_HOME_COUNTRY) { - country_code = base::UTF16ToUTF8(s.ColumnString16(1)); -diff -up chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc ---- chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor 2024-05-29 18:01:05.000000000 +0200 -+++ chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc 2024-06-02 23:51:25.498915629 +0200 -@@ -169,9 +169,9 @@ class ContactInfoProfileSetter { - CHECK(observations.empty()); - for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation : - metadata.observations()) { -- observations.emplace_back(proto_observation.type(), -+ observations.emplace_back() = {proto_observation.type(), - ProfileTokenQuality::FormSignatureHash( -- proto_observation.form_hash())); -+ proto_observation.form_hash())}; - } - } - } -diff -up chromium-126.0.6478.26/components/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor chromium-126.0.6478.26/components/invalidation/impl/fcm_invalidation_service.cc ---- chromium-126.0.6478.26/components/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor 2024-05-29 18:01:06.000000000 +0200 -+++ chromium-126.0.6478.26/components/invalidation/impl/fcm_invalidation_service.cc 2024-06-02 23:51:25.498915629 +0200 -@@ -98,7 +98,7 @@ bool FCMInvalidationService::UpdateInter - DVLOG(2) << "Subscribing to topics: " << topic_set.size(); - TopicMap topic_map; - for (const auto& topic_name : topic_set) { -- topic_map[topic_name] = TopicMetadata(handler->IsPublicTopic(topic_name)); -+ topic_map[topic_name] = TopicMetadata{handler->IsPublicTopic(topic_name)}; - } - // TODO(crbug.com/40675708): UpdateRegisteredTopics() should be renamed to - // clarify that it actually updates whether topics need subscription (aka -diff -up chromium-126.0.6478.26/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor chromium-126.0.6478.26/components/memory_pressure/unnecessary_discard_monitor.cc ---- chromium-126.0.6478.26/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor 2024-05-29 18:01:07.000000000 +0200 -+++ chromium-126.0.6478.26/components/memory_pressure/unnecessary_discard_monitor.cc 2024-06-02 23:51:25.498915629 +0200 -@@ -92,8 +92,8 @@ void UnnecessaryDiscardMonitor::OnDiscar - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - if (current_reclaim_event_) { - // Cache this kill event along with the time it took place. -- current_reclaim_event_kills_.emplace_back(memory_freed_kb, -- discard_complete_time); -+ current_reclaim_event_kills_.emplace_back() = {memory_freed_kb, -+ discard_complete_time}; - } - } - -diff -up chromium-126.0.6478.26/components/password_manager/core/browser/password_manager.cc.no_matching_constructor chromium-126.0.6478.26/components/password_manager/core/browser/password_manager.cc ---- chromium-126.0.6478.26/components/password_manager/core/browser/password_manager.cc.no_matching_constructor 2024-05-29 18:01:07.000000000 +0200 -+++ chromium-126.0.6478.26/components/password_manager/core/browser/password_manager.cc 2024-06-02 23:51:25.498915629 +0200 -@@ -686,7 +686,7 @@ void PasswordManager::OnUserModifiedNonP - it->second.last_change = base::Time::Now(); - } else { - possible_usernames_.Put( -- PossibleUsernameFieldIdentifier(driver_id, renderer_id), -+ PossibleUsernameFieldIdentifier{driver_id, renderer_id}, - PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()), - renderer_id, value, base::Time::Now(), driver_id, - autocomplete_attribute_has_username, -diff -up chromium-126.0.6478.26/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor chromium-126.0.6478.26/components/password_manager/core/browser/password_suggestion_generator.cc ---- chromium-126.0.6478.26/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor 2024-05-29 18:01:07.000000000 +0200 -+++ chromium-126.0.6478.26/components/password_manager/core/browser/password_suggestion_generator.cc 2024-06-03 18:08:15.650577186 +0200 -@@ -156,7 +156,7 @@ void MaybeAppendManagePasswordsEntry(std - SuggestionType::kAllSavedPasswordsEntry); - // The UI code will pick up an icon from the resources based on the string. - suggestion.trailing_icon = Suggestion::Icon::kGooglePasswordManager; -- suggestions->emplace_back(std::move(suggestion)); -+ suggestions->emplace_back() = {std::move(suggestion)}; - } - - // If |field_suggestion| matches |field_content|, creates a Suggestion out of it -@@ -201,7 +201,7 @@ void AppendSuggestionIfMatching(const st - suggestion.trailing_icon = CreateStoreIcon(from_account_store); - } - #endif -- suggestions->emplace_back(std::move(suggestion)); -+ suggestions->emplace_back() = {std::move(suggestion)}; - } - } - -@@ -233,8 +233,8 @@ void GetSuggestions(const autofill::Pass - - void AddPasswordUsernameChildSuggestion(const std::u16string& username, - Suggestion& suggestion) { -- suggestion.children.emplace_back( -- username, SuggestionType::kPasswordFieldByFieldFilling); -+ suggestion.children.emplace_back() = { -+ username, SuggestionType::kPasswordFieldByFieldFilling}; - } - - void AddFillPasswordChildSuggestion(Suggestion& suggestion, -@@ -244,11 +244,11 @@ void AddFillPasswordChildSuggestion(Sugg - l10n_util::GetStringUTF16( - IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_FILL_PASSWORD_ENTRY), - SuggestionType::kFillPassword); -- fill_password.payload = Suggestion::PasswordSuggestionDetails( -+ fill_password.payload = Suggestion::PasswordSuggestionDetails{ - credential.password, - GetHumanReadableRealm(credential.GetFirstSignonRealm()), -- is_cross_origin.value()); -- suggestion.children.emplace_back(std::move(fill_password)); -+ is_cross_origin.value()}; -+ suggestion.children.emplace_back() = {std::move(fill_password)}; - } - - void AddViewPasswordDetailsChildSuggestion(Suggestion& suggestion) { -@@ -257,7 +257,7 @@ void AddViewPasswordDetailsChildSuggesti - IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_VIEW_DETAILS_ENTRY), - SuggestionType::kViewPasswordDetails); - view_password_details.icon = Suggestion::Icon::kKey; -- suggestion.children.emplace_back(std::move(view_password_details)); -+ suggestion.children.emplace_back() = {std::move(view_password_details)}; - } - - void AppendManualFallbackSuggestions(const CredentialUIEntry& credential, -@@ -278,9 +278,9 @@ void AppendManualFallbackSuggestions(con - const std::u16string maybe_username = - ReplaceEmptyUsername(credential.username, &replaced); - suggestion.additional_label = maybe_username; -- suggestion.payload = Suggestion::PasswordSuggestionDetails( -+ suggestion.payload = Suggestion::PasswordSuggestionDetails{ - credential.password, base::UTF8ToUTF16(kDisplaySingonRealm), -- is_cross_origin.value()); -+ is_cross_origin.value()}; - suggestion.is_acceptable = on_password_form.value(); - - if (!replaced) { -@@ -290,7 +290,7 @@ void AppendManualFallbackSuggestions(con - suggestion.children.emplace_back(SuggestionType::kSeparator); - AddViewPasswordDetailsChildSuggestion(suggestion); - -- suggestions->emplace_back(std::move(suggestion)); -+ suggestions->emplace_back() = {std::move(suggestion)}; - } - } - -@@ -363,27 +363,27 @@ std::vector PasswordSuggesti - if (uses_passkeys && delegate->OfferPasskeysFromAnotherDeviceOption()) { - bool listed_passkeys = delegate->GetPasskeys().has_value() && - delegate->GetPasskeys()->size() > 0; -- suggestions.emplace_back(CreateWebAuthnEntry(listed_passkeys)); -+ suggestions.emplace_back() = {CreateWebAuthnEntry(listed_passkeys)}; - } - #endif - - // Add password generation entry, if available. - if (offers_generation) { -- suggestions.emplace_back( -- show_account_storage_optin -+ suggestions.emplace_back() = -+ {show_account_storage_optin - ? CreateEntryToOptInToAccountStorageThenGenerate() -- : CreateGenerationEntry()); -+ : CreateGenerationEntry()}; - } - - // Add button to opt into using the account storage for passwords and then - // suggest. - if (show_account_storage_optin) { -- suggestions.emplace_back(CreateEntryToOptInToAccountStorageThenFill()); -+ suggestions.emplace_back() = {CreateEntryToOptInToAccountStorageThenFill()}; - } - - // Add button to sign-in which unlocks the previously used account store. - if (show_account_storage_resignin) { -- suggestions.emplace_back(CreateEntryToReSignin()); -+ suggestions.emplace_back() = {CreateEntryToReSignin()}; - } - - // Add "Manage all passwords" link to settings. -@@ -401,10 +401,10 @@ PasswordSuggestionGenerator::GetManualFa - const bool generate_sections = - !suggested_credentials.empty() && !credentials.empty(); - if (generate_sections) { -- suggestions.emplace_back( -+ suggestions.emplace_back() = { - l10n_util::GetStringUTF16( - IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_SUGGESTED_PASSWORDS_SECTION_TITLE), -- SuggestionType::kTitle); -+ SuggestionType::kTitle}; - } - - std::set suggested_signon_realms; -@@ -415,10 +415,10 @@ PasswordSuggestionGenerator::GetManualFa - } - - if (generate_sections) { -- suggestions.emplace_back( -+ suggestions.emplace_back() = { - l10n_util::GetStringUTF16( - IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_ALL_PASSWORDS_SECTION_TITLE), -- SuggestionType::kTitle); -+ SuggestionType::kTitle}; - } - - // Only the "All passwords" section should be sorted alphabetically. -diff -up chromium-126.0.6478.26/components/performance_manager/worker_watcher.cc.no_matching_constructor chromium-126.0.6478.26/components/performance_manager/worker_watcher.cc ---- chromium-126.0.6478.26/components/performance_manager/worker_watcher.cc.no_matching_constructor 2024-05-29 18:01:08.000000000 +0200 -+++ chromium-126.0.6478.26/components/performance_manager/worker_watcher.cc 2024-06-02 23:51:25.499915653 +0200 -@@ -244,7 +244,7 @@ void WorkerWatcher::OnWorkerCreated( - DCHECK(insertion_result.second); - - absl::visit( -- base::Overloaded( -+ base::Overloaded{ - [&, - this](const content::GlobalRenderFrameHostId& render_frame_host_id) { - AddFrameClientConnection(insertion_result.first->second.get(), -@@ -253,7 +253,7 @@ void WorkerWatcher::OnWorkerCreated( - [&, this](blink::DedicatedWorkerToken dedicated_worker_token) { - ConnectDedicatedWorkerClient(insertion_result.first->second.get(), - dedicated_worker_token); -- }), -+ }}, - creator); - } - -@@ -270,7 +270,7 @@ void WorkerWatcher::OnBeforeWorkerDestro - // First disconnect the creator's node from this worker node. - - absl::visit( -- base::Overloaded( -+ base::Overloaded{ - [&, - this](const content::GlobalRenderFrameHostId& render_frame_host_id) { - RemoveFrameClientConnection(worker_node.get(), -@@ -279,7 +279,7 @@ void WorkerWatcher::OnBeforeWorkerDestro - [&, this](blink::DedicatedWorkerToken dedicated_worker_token) { - DisconnectDedicatedWorkerClient(worker_node.get(), - dedicated_worker_token); -- }), -+ }}, - creator); - - // Disconnect all child workers before destroying the node. -@@ -456,7 +456,7 @@ void WorkerWatcher::OnControlleeAdded( - const std::string& client_uuid, - const content::ServiceWorkerClientInfo& client_info) { - absl::visit( -- base::Overloaded( -+ base::Overloaded{ - [&, this](content::GlobalRenderFrameHostId render_frame_host_id) { - // For window clients, it is necessary to wait until the navigation - // has committed to a RenderFrameHost. -@@ -494,7 +494,7 @@ void WorkerWatcher::OnControlleeAdded( - ConnectSharedWorkerClient(service_worker_node, - shared_worker_token); - } -- }), -+ }}, - client_info); - } - -@@ -534,7 +534,7 @@ void WorkerWatcher::OnControlleeRemoved( - return; - - absl::visit( -- base::Overloaded( -+ base::Overloaded{ - [&, this](content::GlobalRenderFrameHostId render_frame_host_id) { - RemoveFrameClientConnection(worker_node, render_frame_host_id); - }, -@@ -544,7 +544,7 @@ void WorkerWatcher::OnControlleeRemoved( - }, - [&, this](blink::SharedWorkerToken shared_worker_token) { - DisconnectSharedWorkerClient(worker_node, shared_worker_token); -- }), -+ }}, - client); - } - -@@ -820,7 +820,7 @@ void WorkerWatcher::ConnectAllServiceWor - - for (const auto& kv : it->second) { - absl::visit( -- base::Overloaded( -+ base::Overloaded{ - [&, this](content::GlobalRenderFrameHostId render_frame_host_id) { - AddFrameClientConnection(service_worker_node, - render_frame_host_id); -@@ -832,7 +832,7 @@ void WorkerWatcher::ConnectAllServiceWor - [&, this](blink::SharedWorkerToken shared_worker_token) { - ConnectSharedWorkerClient(service_worker_node, - shared_worker_token); -- }), -+ }}, - kv.second); - } - } -@@ -847,7 +847,7 @@ void WorkerWatcher::DisconnectAllService - - for (const auto& kv : it->second) { - absl::visit( -- base::Overloaded( -+ base::Overloaded{ - [&, this]( - const content::GlobalRenderFrameHostId& render_frame_host_id) { - RemoveFrameClientConnection(service_worker_node, -@@ -861,7 +861,7 @@ void WorkerWatcher::DisconnectAllService - [&, this](const blink::SharedWorkerToken& shared_worker_token) { - DisconnectSharedWorkerClient(service_worker_node, - shared_worker_token); -- }), -+ }}, - kv.second); - } - } -diff -up chromium-126.0.6478.26/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-126.0.6478.26/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc ---- chromium-126.0.6478.26/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2024-06-02 23:51:25.499915653 +0200 -@@ -1719,7 +1719,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut - - // Issue readbacks from the surfaces: - for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) { -- SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height()); -+ SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()}; - SkImageInfo dst_info = SkImageInfo::Make( - size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType, - kUnpremul_SkAlphaType); -diff -up chromium-126.0.6478.26/content/browser/download/save_package.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/download/save_package.cc ---- chromium-126.0.6478.26/content/browser/download/save_package.cc.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/download/save_package.cc 2024-06-02 23:51:25.500915676 +0200 -@@ -802,8 +802,8 @@ void SavePackage::Finish() { - if (download_) { - std::vector files; - for (auto& item : saved_success_items_) { -- files.emplace_back(item.second->full_path(), item.second->url(), -- item.second->referrer().url); -+ files.emplace_back() = {item.second->full_path(), item.second->url(), -+ item.second->referrer().url}; - } - download::DownloadSaveItemData::AttachItemData(download_, std::move(files)); - } -diff -up chromium-126.0.6478.26/content/browser/fenced_frame/fenced_frame_config.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/fenced_frame/fenced_frame_config.cc ---- chromium-126.0.6478.26/content/browser/fenced_frame/fenced_frame_config.cc.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/fenced_frame/fenced_frame_config.cc 2024-06-02 23:51:25.500915676 +0200 -@@ -407,7 +407,7 @@ void FencedFrameProperties::UpdateParent - feature, allow_list.AllowedOrigins(), allow_list.SelfIfMatches(), - allow_list.MatchesAll(), allow_list.MatchesOpaqueSrc()); - } -- parent_permissions_info_.emplace(parsed_policies, parent_origin); -+ parent_permissions_info_.emplace() = {parsed_policies, parent_origin}; - } - - } // namespace content -diff -up chromium-126.0.6478.26/content/browser/first_party_sets/first_party_set_parser.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/first_party_sets/first_party_set_parser.cc ---- chromium-126.0.6478.26/content/browser/first_party_sets/first_party_set_parser.cc.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/first_party_sets/first_party_set_parser.cc 2024-06-02 23:51:25.501915701 +0200 -@@ -774,7 +774,7 @@ FirstPartySetParser::ParseSetsFromEnterp - context.GetPolicySetsFromList( - policy.FindList(kFirstPartySetPolicyAdditionsField), - PolicySetType::kAddition)); -- return ParsedPolicySetLists(std::move(replacements), std::move(additions)); -+ return ParsedPolicySetLists{std::move(replacements), std::move(additions)}; - }(); - - context.PostProcessSetLists(set_lists); -diff -up chromium-126.0.6478.26/content/browser/gpu/compositor_util.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/gpu/compositor_util.cc ---- chromium-126.0.6478.26/content/browser/gpu/compositor_util.cc.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/gpu/compositor_util.cc 2024-06-02 23:51:25.501915701 +0200 -@@ -108,7 +108,7 @@ std::vector GetGpuFeatur - *base::CommandLine::ForCurrentProcess(); - - std::vector features; -- features.emplace_back( -+ features.emplace_back() = { - "2d_canvas", - SafeGetFeatureStatus( - gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, -@@ -116,13 +116,13 @@ std::vector GetGpuFeatur - DisableInfo::Problem( - "Accelerated 2D canvas is unavailable: either disabled " - "via blocklist or the command line."), -- true); -- features.emplace_back( -+ true}; -+ features.emplace_back() = { - "canvas_oop_rasterization", - SafeGetFeatureStatus( - gpu_feature_info, gpu::GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION, -- command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))); -- features.emplace_back( -+ command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))}; -+ features.emplace_back() = { - "gpu_compositing", - // TODO(rivr): Replace with a check to see which backend is used for - // compositing; do the same for GPU rasterization if it's enabled. For -@@ -136,16 +136,16 @@ std::vector GetGpuFeatur - "about:flags " - "or the command line. The browser will fall back to software " - "compositing and hardware acceleration will be unavailable."), -- true); -- features.emplace_back( -+ true}; -+ features.emplace_back() = { - "webgl", - SafeGetFeatureStatus(gpu_feature_info, - gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL, - command_line.HasSwitch(switches::kDisableWebGL)), - DisableInfo::Problem( - "WebGL has been disabled via blocklist or the command line."), -- false); -- features.emplace_back( -+ false}; -+ features.emplace_back() = { - "video_decode", - SafeGetFeatureStatus( - gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE, -@@ -156,8 +156,8 @@ std::vector GetGpuFeatur - DisableInfo::Problem( - "Accelerated video decode has been disabled, either via blocklist, " - "about:flags or the command line."), -- true); -- features.emplace_back( -+ true}; -+ features.emplace_back() = { - "video_encode", - SafeGetFeatureStatus( - gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE, -@@ -169,33 +169,33 @@ std::vector GetGpuFeatur - DisableInfo::Problem( - "Accelerated video encode has been disabled, either via blocklist, " - "about:flags or the command line."), -- true); -- features.emplace_back( -+ true}; -+ features.emplace_back() = { - "rasterization", - SafeGetFeatureStatus(gpu_feature_info, - gpu::GPU_FEATURE_TYPE_GPU_TILE_RASTERIZATION), - DisableInfo::Problem( - "Accelerated rasterization has been disabled, either via blocklist, " - "about:flags or the command line."), -- true); -- features.emplace_back( -+ true}; -+ features.emplace_back() = { - "opengl", SafeGetFeatureStatus(gpu_feature_info, -- gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)); -+ gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)}; - #if BUILDFLAG(ENABLE_VULKAN) -- features.emplace_back( -+ features.emplace_back() = { - "vulkan", -- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)); -+ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)}; - #endif -- features.emplace_back( -+ features.emplace_back() = { - "multiple_raster_threads", -- GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)); -+ GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)}; - #if BUILDFLAG(IS_ANDROID) -- features.emplace_back( -+ features.emplace_back() = { - "surface_control", - SafeGetFeatureStatus(gpu_feature_info, -- gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)); -+ gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)}; - #endif -- features.emplace_back( -+ features.emplace_back() = { - "webgl2", - SafeGetFeatureStatus( - gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL2, -@@ -203,12 +203,12 @@ std::vector GetGpuFeatur - command_line.HasSwitch(switches::kDisableWebGL2)), - DisableInfo::Problem( - "WebGL2 has been disabled via blocklist or the command line."), -- false); -- features.emplace_back("raw_draw", -- GetFakeFeatureStatus(features::IsUsingRawDraw())); -- features.emplace_back("direct_rendering_display_compositor", -- GetFakeFeatureStatus(features::IsDrDcEnabled())); -- features.emplace_back( -+ false}; -+ features.emplace_back() = {"raw_draw", -+ GetFakeFeatureStatus(features::IsUsingRawDraw())}; -+ features.emplace_back() = {"direct_rendering_display_compositor", -+ GetFakeFeatureStatus(features::IsDrDcEnabled())}; -+ features.emplace_back() = { - "webgpu", - SafeGetFeatureStatus( - gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGPU, -@@ -216,14 +216,14 @@ std::vector GetGpuFeatur - !base::FeatureList::IsEnabled(::features::kWebGPUService)), - DisableInfo::Problem( - "WebGPU has been disabled via blocklist or the command line."), -- false); -- features.emplace_back( -+ false}; -+ features.emplace_back() = { - "skia_graphite", - SafeGetFeatureStatus(gpu_feature_info, -- gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)); -- features.emplace_back( -+ gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)}; -+ features.emplace_back() = { - "webnn", -- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)); -+ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)}; - return features; - } - -diff -up chromium-126.0.6478.26/content/browser/interest_group/header_direct_from_seller_signals.h.no_matching_constructor chromium-126.0.6478.26/content/browser/interest_group/header_direct_from_seller_signals.h ---- chromium-126.0.6478.26/content/browser/interest_group/header_direct_from_seller_signals.h.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/interest_group/header_direct_from_seller_signals.h 2024-06-02 23:51:25.501915701 +0200 -@@ -133,6 +133,7 @@ class CONTENT_EXPORT HeaderDirectFromSel - - // The Ad-Auction-Signals response served by `origin`. - std::string response_json; -+ UnprocessedResponse(auto u, auto s) : origin(u), response_json(s) { } - }; - - // Information from ParseAndFind() calls used by ParseAndFindCompleted. -diff -up chromium-126.0.6478.26/content/browser/interest_group/interest_group_auction.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/interest_group/interest_group_auction.cc ---- chromium-126.0.6478.26/content/browser/interest_group/interest_group_auction.cc.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/interest_group/interest_group_auction.cc 2024-06-02 23:51:25.503915748 +0200 -@@ -616,7 +616,7 @@ bool SampleDebugReport( - blink::features::kFledgeDebugReportRestrictedCooldown.Get() != - base::Milliseconds(0))) { - new_debug_report_lockout_and_cooldowns.debug_report_cooldown_map[origin] = -- DebugReportCooldown(now_nearest_next_hour, cooldown_type); -+ DebugReportCooldown{now_nearest_next_hour, cooldown_type}; - } - - return can_send_debug_report; -diff -up chromium-126.0.6478.26/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/interest_group/interest_group_storage.cc ---- chromium-126.0.6478.26/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor 2024-05-29 18:01:12.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/interest_group/interest_group_storage.cc 2024-06-04 13:23:48.279501017 +0200 -@@ -204,8 +204,8 @@ blink::InterestGroup::Ad FromInterestGro - for (const auto& origin : *maybe_allowed_reporting_origins) { - const std::string* origin_str = origin.GetIfString(); - DCHECK(origin_str); -- allowed_reporting_origins_vector.emplace_back( -- DeserializeOrigin(*origin_str)); -+ allowed_reporting_origins_vector.emplace_back() = { -+ DeserializeOrigin(*origin_str)}; - } - result.allowed_reporting_origins = - std::move(allowed_reporting_origins_vector); -@@ -249,7 +249,7 @@ std::optional(std::move(pairs)); - } -@@ -307,8 +307,8 @@ DeserializeInterestGroupAdVectorJson(con - for (const auto& ad_value : ads_value->GetList()) { - const base::Value::Dict* dict = ad_value.GetIfDict(); - if (dict) { -- result.emplace_back( -- FromInterestGroupAdValue(passkey, *dict, for_components)); -+ result.emplace_back() = { -+ FromInterestGroupAdValue(passkey, *dict, for_components)}; - } - } - return result; -@@ -352,8 +352,8 @@ DeserializeInterestGroupAdVectorProto(co - ad_proto.allowed_reporting_origins_size()); - for (const std::string& allowed_reporting_origin : - ad_proto.allowed_reporting_origins()) { -- allowed_reporting_origins_vector.emplace_back( -- DeserializeOrigin(allowed_reporting_origin)); -+ allowed_reporting_origins_vector.emplace_back() = { -+ DeserializeOrigin(allowed_reporting_origin)}; - } - ad.allowed_reporting_origins = - std::move(allowed_reporting_origins_vector); -@@ -400,13 +400,13 @@ DeserializeStringSizeMap(const std::stri - if (!width_val || !width_units_val || !height_val || !height_units_val) { - return std::nullopt; - } -- result.emplace_back(entry.first, -+ result.emplace_back() = {entry.first, - blink::AdSize(width_val->GetDouble(), - static_cast( - width_units_val->GetInt()), - height_val->GetDouble(), - static_cast( -- height_units_val->GetInt()))); -+ height_units_val->GetInt()))}; - } - return result; - } -@@ -440,9 +440,9 @@ DeserializeStringStringVectorMap(const s - DCHECK(list && list->is_list()); - std::vector result_sizes; - for (base::Value& size : list->GetList()) { -- result_sizes.emplace_back(size.GetString()); -+ result_sizes.emplace_back() = {size.GetString()}; - } -- result.emplace_back(entry.first, result_sizes); -+ result.emplace_back() = {entry.first, result_sizes}; - } - return result; - } -@@ -512,8 +512,8 @@ DeserializeSellerCapabilitiesMap(const s - if (!base::StringToInt64(*value_string, &value_bitmask)) { - return std::nullopt; - } -- result.emplace_back(DeserializeOrigin(entry.first), -- DeserializeSellerCapabilities(value_bitmask)); -+ result.emplace_back() = {DeserializeOrigin(entry.first), -+ DeserializeSellerCapabilities(value_bitmask)}; - } - return result; - } -@@ -2499,7 +2499,7 @@ std::optional> - if (!DoRemoveInterestGroup(db, blink::InterestGroupKey(owner, name))) { - return std::nullopt; - } -- cleared_interest_groups.emplace_back(std::move(name)); -+ cleared_interest_groups.emplace_back() = {std::move(name)}; - } - if (!transaction.Commit()) { - return std::nullopt; -@@ -3432,7 +3432,7 @@ bool DoRemoveInterestGroupsMatchingOwner - load.BindTime(2, expiring_after); - - while (load.Step()) { -- owner_joiner_names.emplace_back(load.ColumnString(0)); -+ owner_joiner_names.emplace_back() = {load.ColumnString(0)}; - } - - for (const auto& name : owner_joiner_names) { -@@ -3462,8 +3462,8 @@ DoGetAllInterestGroupOwnerJoinerPairs(sq - load.Reset(true); - load.BindTime(0, expiring_after); - while (load.Step()) { -- result.emplace_back(DeserializeOrigin(load.ColumnString(0)), -- DeserializeOrigin(load.ColumnString(1))); -+ result.emplace_back() = {DeserializeOrigin(load.ColumnString(0)), -+ DeserializeOrigin(load.ColumnString(1))}; - } - if (!load.Succeeded()) { - return std::nullopt; -@@ -3596,9 +3596,9 @@ std::optional DoGet - return std::nullopt; - } - -- return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0), -+ return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0), - static_cast( -- cooldown_debugging_only_report.ColumnInt(1))); -+ cooldown_debugging_only_report.ColumnInt(1))}; - } - - void DoGetDebugReportCooldowns( -@@ -3726,10 +3726,10 @@ DoGetKAnonymityData(sql::Database& db, - - std::vector k_anon_data; - while (interest_group_kanon_query.Step()) { -- k_anon_data.emplace_back( -+ k_anon_data.emplace_back() = { - /*hashed_key=*/interest_group_kanon_query.ColumnString(0), - /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1), -- /*last_updated=*/interest_group_kanon_query.ColumnTime(2)); -+ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)}; - } - if (!interest_group_kanon_query.Succeeded()) { - return std::nullopt; -@@ -3826,12 +3826,12 @@ DoGetInterestGroupsForUpdate(sql::Databa - continue; - } - -- result.emplace_back( -+ result.emplace_back() = { - blink::InterestGroupKey( - owner, get_interest_group_update_parameters.ColumnString(0)), - update_url.value(), - DeserializeOrigin( -- get_interest_group_update_parameters.ColumnString(2))); -+ get_interest_group_update_parameters.ColumnString(2))}; - } - if (!get_interest_group_update_parameters.Succeeded()) { - return std::nullopt; -@@ -4080,8 +4080,8 @@ DoGetInterestGroupNamesForJoiningOrigin( - load.BindTime(1, now); - - while (load.Step()) { -- result.emplace_back(DeserializeOrigin(load.ColumnString(0)), -- load.ColumnString(1)); -+ result.emplace_back() = {DeserializeOrigin(load.ColumnString(0)), -+ load.ColumnString(1)}; - } - if (!load.Succeeded()) { - return std::nullopt; -@@ -4319,9 +4319,9 @@ bool ClearExpiredInterestGroups(sql::Dat - expired_interest_group.BindTime(0, expiration_before); - std::vector expired_groups; - while (expired_interest_group.Step()) { -- expired_groups.emplace_back( -+ expired_groups.emplace_back() = { - DeserializeOrigin(expired_interest_group.ColumnString(0)), -- expired_interest_group.ColumnString(1)); -+ expired_interest_group.ColumnString(1)}; - } - if (!expired_interest_group.Succeeded()) { - DLOG(ERROR) << "ClearExpiredInterestGroups could not get expired groups."; -@@ -4377,8 +4377,8 @@ bool ClearExcessiveStorage(sql::Database - cum_size = 0; - } - if (cum_size + group_size > max_owner_storage_size) { -- groups_to_remove.emplace_back(std::move(group_owner), -- std::move(group_name)); -+ groups_to_remove.emplace_back() = {std::move(group_owner), -+ std::move(group_name)}; - } else { - cum_size += group_size; - } -@@ -4522,7 +4522,7 @@ DoGetBiddingAndAuctionServerKeys(sql::Da - std::vector keys; - keys.reserve(key_protos.keys_size()); - for (auto& key_proto : *key_protos.mutable_keys()) { -- keys.emplace_back(std::move(*key_proto.mutable_key()), key_proto.id()); -+ keys.emplace_back() = {std::move(*key_proto.mutable_key()), key_proto.id()}; - } - return {expiration, keys}; - } -diff -up chromium-126.0.6478.26/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/renderer_host/render_frame_host_impl.cc ---- chromium-126.0.6478.26/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2024-05-29 18:01:13.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/renderer_host/render_frame_host_impl.cc 2024-06-02 23:51:25.507915843 +0200 -@@ -8964,7 +8964,7 @@ void RenderFrameHostImpl::SendFencedFram - for (const blink::FencedFrame::ReportingDestination& destination : - destinations) { - SendFencedFrameReportingBeaconInternal( -- DestinationEnumEvent(event_type, event_data, cross_origin_exposed), -+ DestinationEnumEvent{event_type, event_data, cross_origin_exposed}, - destination); - } - } -@@ -8995,7 +8995,7 @@ void RenderFrameHostImpl::SendFencedFram - } - - SendFencedFrameReportingBeaconInternal( -- DestinationURLEvent(destination_url, cross_origin_exposed), -+ DestinationURLEvent{destination_url, cross_origin_exposed}, - blink::FencedFrame::ReportingDestination::kBuyer); - } - -@@ -9126,7 +9126,7 @@ void RenderFrameHostImpl::MaybeSendFence - data = info->data; - } - initiator_rfh->SendFencedFrameReportingBeaconInternal( -- AutomaticBeaconEvent(event_type, data), destination, -+ AutomaticBeaconEvent{event_type, data}, destination, - navigation_request.GetNavigationId()); - } - } else { -@@ -9137,7 +9137,7 @@ void RenderFrameHostImpl::MaybeSendFence - for (blink::FencedFrame::ReportingDestination destination : - info->destinations) { - initiator_rfh->SendFencedFrameReportingBeaconInternal( -- AutomaticBeaconEvent(event_type, info->data), destination, -+ AutomaticBeaconEvent{event_type, info->data}, destination, - navigation_request.GetNavigationId()); - } - } -diff -up chromium-126.0.6478.26/content/browser/service_worker/service_worker_container_host.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/service_worker/service_worker_container_host.cc ---- chromium-126.0.6478.26/content/browser/service_worker/service_worker_container_host.cc.no_matching_constructor 2024-05-29 18:01:13.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/service_worker/service_worker_container_host.cc 2024-06-02 23:51:25.508915867 +0200 -@@ -1076,7 +1076,7 @@ blink::mojom::ServiceWorkerClientType Se - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(client_info_); - return absl::visit( -- base::Overloaded( -+ base::Overloaded{ - [](GlobalRenderFrameHostId render_frame_host_id) { - return blink::mojom::ServiceWorkerClientType::kWindow; - }, -@@ -1085,7 +1085,7 @@ blink::mojom::ServiceWorkerClientType Se - }, - [](blink::SharedWorkerToken shared_worker_token) { - return blink::mojom::ServiceWorkerClientType::kSharedWorker; -- }), -+ }}, - *client_info_); - } - -diff -up chromium-126.0.6478.26/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc ---- chromium-126.0.6478.26/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.no_matching_constructor 2024-05-29 18:01:13.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc 2024-06-02 23:51:25.508915867 +0200 -@@ -370,10 +370,10 @@ ServiceWorkerMainResourceLoaderIntercept - } - auto* storage_partition = process->GetStoragePartition(); - -- return absl::visit(base::Overloaded([&, this](auto token) { -+ return absl::visit(base::Overloaded{[&, this](auto token) { - return GetStorageKeyFromWorkerHost(storage_partition, - token, origin); -- }), -+ }}, - *worker_token_); - } - -diff -up chromium-126.0.6478.26/content/browser/worker_host/dedicated_worker_host.cc.no_matching_constructor chromium-126.0.6478.26/content/browser/worker_host/dedicated_worker_host.cc ---- chromium-126.0.6478.26/content/browser/worker_host/dedicated_worker_host.cc.no_matching_constructor 2024-05-29 18:01:13.000000000 +0200 -+++ chromium-126.0.6478.26/content/browser/worker_host/dedicated_worker_host.cc 2024-06-02 23:51:25.509915891 +0200 -@@ -258,7 +258,7 @@ void DedicatedWorkerHost::StartScriptLoa - RenderFrameHostImpl* creator_render_frame_host = nullptr; - DedicatedWorkerHost* creator_worker = nullptr; - -- absl::visit(base::Overloaded( -+ absl::visit(base::Overloaded{ - [&](const GlobalRenderFrameHostId& render_frame_host_id) { - creator_render_frame_host = - RenderFrameHostImpl::FromID(render_frame_host_id); -@@ -266,7 +266,7 @@ void DedicatedWorkerHost::StartScriptLoa - [&](blink::DedicatedWorkerToken dedicated_worker_token) { - creator_worker = service_->GetDedicatedWorkerHostFromToken( - dedicated_worker_token); -- }), -+ }}, - creator_); - - if (!creator_render_frame_host && !creator_worker) { -diff -up chromium-126.0.6478.26/extensions/browser/service_worker/service_worker_task_queue.cc.no_matching_constructor chromium-126.0.6478.26/extensions/browser/service_worker/service_worker_task_queue.cc ---- chromium-126.0.6478.26/extensions/browser/service_worker/service_worker_task_queue.cc.no_matching_constructor 2024-05-29 18:01:23.000000000 +0200 -+++ chromium-126.0.6478.26/extensions/browser/service_worker/service_worker_task_queue.cc 2024-06-02 23:51:25.509915891 +0200 -@@ -394,8 +394,8 @@ bool ServiceWorkerTaskQueue::IsReadyToRu - return false; - } - -- const SequencedContextId context_id(extension->id(), browser_context_, -- *activation_token); -+ const SequencedContextId context_id{extension->id(), browser_context_, -+ *activation_token}; - const WorkerState* worker_state = GetWorkerState(context_id); - - if (!worker_state || !worker_state->worker_id_) { -diff -up chromium-126.0.6478.26/gpu/command_buffer/client/shared_image_interface.h.no_matching_constructor chromium-126.0.6478.26/gpu/command_buffer/client/shared_image_interface.h ---- chromium-126.0.6478.26/gpu/command_buffer/client/shared_image_interface.h.no_matching_constructor 2024-05-29 18:01:25.000000000 +0200 -+++ chromium-126.0.6478.26/gpu/command_buffer/client/shared_image_interface.h 2024-06-02 23:51:25.510915914 +0200 -@@ -64,19 +64,19 @@ struct SharedImageInfo { - SkAlphaType alpha_type, - uint32_t usage, - std::string_view debug_label) -- : meta(format, size, color_space, surface_origin, alpha_type, usage), -+ : meta{format, size, color_space, surface_origin, alpha_type, usage}, - debug_label(debug_label) {} - SharedImageInfo(const viz::SharedImageFormat& format, - gfx::Size size, - const gfx::ColorSpace& color_space, - uint32_t usage, - std::string_view debug_label) -- : meta(format, -+ : meta{format, - size, - color_space, - kTopLeft_GrSurfaceOrigin, - kPremul_SkAlphaType, -- usage), -+ usage}, - debug_label(debug_label) {} - // This constructor exists only to support the DEPRECATED CreareSharedImage - // call below that accepts a GpuMemoryBuffer. This should be removed when that -diff -up chromium-126.0.6478.26/gpu/command_buffer/service/shared_image_interface_in_process.cc.no_matching_constructor chromium-126.0.6478.26/gpu/command_buffer/service/shared_image_interface_in_process.cc ---- chromium-126.0.6478.26/gpu/command_buffer/service/shared_image_interface_in_process.cc.no_matching_constructor 2024-05-29 18:01:26.000000000 +0200 -+++ chromium-126.0.6478.26/gpu/command_buffer/service/shared_image_interface_in_process.cc 2024-06-02 23:51:25.510915914 +0200 -@@ -622,12 +622,12 @@ SharedImageInterfaceInProcess::CreateSha - - return base::MakeRefCounted( - mailbox, -- SharedImageMetadata( -+ SharedImageMetadata{ - viz::GetSinglePlaneSharedImageFormat( - GetPlaneBufferFormat(plane, gpu_memory_buffer->GetFormat())), - gpu_memory_buffer->GetSize(), si_info.meta.color_space, - si_info.meta.surface_origin, si_info.meta.alpha_type, -- si_info.meta.usage), -+ si_info.meta.usage}, - GenUnverifiedSyncToken(), holder_, gpu_memory_buffer->GetType()); - } - -diff -up chromium-126.0.6478.26/gpu/ipc/client/client_shared_image_interface.cc.no_matching_constructor chromium-126.0.6478.26/gpu/ipc/client/client_shared_image_interface.cc ---- chromium-126.0.6478.26/gpu/ipc/client/client_shared_image_interface.cc.no_matching_constructor 2024-05-29 18:01:26.000000000 +0200 -+++ chromium-126.0.6478.26/gpu/ipc/client/client_shared_image_interface.cc 2024-06-02 23:51:25.510915914 +0200 -@@ -251,11 +251,11 @@ scoped_refptr ClientS - AddMailbox(proxy_->CreateSharedImage( - buffer_format, plane, gpu_memory_buffer->GetSize(), si_info, - gpu_memory_buffer->CloneHandle())), -- SharedImageMetadata(viz::GetSinglePlaneSharedImageFormat( -+ SharedImageMetadata{viz::GetSinglePlaneSharedImageFormat( - GetPlaneBufferFormat(plane, buffer_format)), - gpu_memory_buffer->GetSize(), - si_info.meta.color_space, si_info.meta.surface_origin, -- si_info.meta.alpha_type, si_info.meta.usage), -+ si_info.meta.alpha_type, si_info.meta.usage}, - GenUnverifiedSyncToken(), holder_, gpu_memory_buffer->GetType()); - } - -@@ -297,13 +297,13 @@ ClientSharedImageInterface::CreateSwapCh - return ClientSharedImageInterface::SwapChainSharedImages( - base::MakeRefCounted( - mailboxes.front_buffer, -- SharedImageMetadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ SharedImageMetadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - sync_token, holder_, gfx::EMPTY_BUFFER), - base::MakeRefCounted( - mailboxes.back_buffer, -- SharedImageMetadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ SharedImageMetadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - sync_token, holder_, gfx::EMPTY_BUFFER)); - } - -@@ -361,8 +361,8 @@ scoped_refptr ClientS - - return base::MakeRefCounted( - mailbox, -- SharedImageMetadata(format, size, color_space, surface_origin, alpha_type, -- usage), -+ SharedImageMetadata{format, size, color_space, surface_origin, alpha_type, -+ usage}, - GenUnverifiedSyncToken(), holder_, gfx::EMPTY_BUFFER); - } - -diff -up chromium-126.0.6478.26/gpu/ipc/service/gpu_channel_shared_image_interface.cc.no_matching_constructor chromium-126.0.6478.26/gpu/ipc/service/gpu_channel_shared_image_interface.cc ---- chromium-126.0.6478.26/gpu/ipc/service/gpu_channel_shared_image_interface.cc.no_matching_constructor 2024-06-03 16:54:58.998196626 +0200 -+++ chromium-126.0.6478.26/gpu/ipc/service/gpu_channel_shared_image_interface.cc 2024-06-03 16:55:23.722729949 +0200 -@@ -392,12 +392,12 @@ GpuChannelSharedImageInterface::CreateSh - - return base::MakeRefCounted( - mailbox, -- SharedImageMetadata( -+ SharedImageMetadata{ - viz::GetSinglePlaneSharedImageFormat( - GetPlaneBufferFormat(plane, gpu_memory_buffer->GetFormat())), - gpu_memory_buffer->GetSize(), si_info.meta.color_space, - si_info.meta.surface_origin, si_info.meta.alpha_type, -- si_info.meta.usage), -+ si_info.meta.usage}, - GenUnverifiedSyncToken(), holder_, gpu_memory_buffer->GetType()); - } - -diff -up chromium-126.0.6478.26/net/dns/host_resolver_cache.cc.no_matching_constructor chromium-126.0.6478.26/net/dns/host_resolver_cache.cc ---- chromium-126.0.6478.26/net/dns/host_resolver_cache.cc.no_matching_constructor 2024-05-29 18:01:34.000000000 +0200 -+++ chromium-126.0.6478.26/net/dns/host_resolver_cache.cc 2024-06-02 23:51:25.511915939 +0200 -@@ -368,7 +368,7 @@ void HostResolverCache::Set( - - std::string domain_name = result->domain_name(); - entries_.emplace( -- Key(std::move(domain_name), network_anonymization_key), -+ Key{std::move(domain_name), network_anonymization_key}, - Entry(std::move(result), source, secure, staleness_generation)); - - if (entries_.size() > max_entries_) { -diff -up chromium-126.0.6478.26/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc.no_matching_constructor chromium-126.0.6478.26/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc ---- chromium-126.0.6478.26/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc.no_matching_constructor 2024-05-29 18:01:38.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc 2024-06-02 23:51:25.513915986 +0200 -@@ -8533,7 +8533,7 @@ std::optional ConsumeI - default: - return std::nullopt; - } -- return InsetAreaKeyword(css_parsing_utils::ConsumeIdent(range), type); -+ return InsetAreaKeyword{css_parsing_utils::ConsumeIdent(range), type}; - } - - } // namespace -diff -up chromium-126.0.6478.26/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc.no_matching_constructor chromium-126.0.6478.26/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc ---- chromium-126.0.6478.26/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc.no_matching_constructor 2024-05-29 18:01:39.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc 2024-06-02 23:51:25.513915986 +0200 -@@ -591,7 +591,7 @@ AnchorEvaluatorImpl::ComputeInsetAreaOff - right = Evaluate(query.value(), position_anchor, - /* inset_area_offsets */ std::nullopt); - } -- return InsetAreaOffsets(top, bottom, left, right); -+ return InsetAreaOffsets{top, bottom, left, right}; - } - - PhysicalRect AnchorEvaluatorImpl::InsetAreaModifiedContainingBlock( -diff -up chromium-126.0.6478.26/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.no_matching_constructor chromium-126.0.6478.26/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc ---- chromium-126.0.6478.26/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.no_matching_constructor 2024-05-29 18:01:40.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc 2024-06-02 23:51:25.514916010 +0200 -@@ -181,8 +181,8 @@ AudioRendererMixer* AudioRendererMixerMa - DVLOG(1) << "Not reusing mixer with errors: " << it->second.mixer; - - // Move bad mixers out of the reuse map. -- dead_mixers_.emplace_back(std::move(it->second.mixer), -- it->second.ref_count); -+ dead_mixers_.emplace_back() = {std::move(it->second.mixer), -+ it->second.ref_count}; - mixers_.erase(it); - } - -@@ -228,7 +228,7 @@ void AudioRendererMixerManager::ReturnMi - } - } else if (dead_it == dead_mixers_.end() && mixer_ref.mixer->HasSinkError()) { - // Move bad mixers out of the reuse map. -- dead_mixers_.emplace_back(std::move(mixer_ref.mixer), mixer_ref.ref_count); -+ dead_mixers_.emplace_back() = {std::move(mixer_ref.mixer), mixer_ref.ref_count}; - mixers_.erase(it); - } - } -diff -up chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/font_palette.h ---- chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2024-05-29 18:01:41.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/font_palette.h 2024-06-02 23:51:25.514916010 +0200 -@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ - Color::ColorSpace color_interpolation_space, - std::optional hue_interpolation_method) { - return base::AdoptRef(new FontPalette( -- start, end, NonNormalizedPercentages(start_percentage, end_percentage), -+ start, end, NonNormalizedPercentages{start_percentage, end_percentage}, - normalized_percentage, alpha_multiplier, color_interpolation_space, - hue_interpolation_method)); - } -@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ - double normalized_percentage) { - double end_percentage = normalized_percentage * 100.0; - double start_percentage = 100.0 - end_percentage; -- return NonNormalizedPercentages(start_percentage, end_percentage); -+ return NonNormalizedPercentages{start_percentage, end_percentage}; - } - - double GetAlphaMultiplier() const { -diff -up chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/palette_interpolation.cc ---- chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2024-05-29 18:01:41.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2024-06-02 23:51:25.515916034 +0200 -@@ -31,7 +31,7 @@ Vector - color_interpolation_space, hue_interpolation_method, start_color, - end_color, percentage, alpha_multiplier); - -- FontPalette::FontPaletteOverride result_color_record(i, result_color); -+ FontPalette::FontPaletteOverride result_color_record{static_cast(i), result_color}; - result_color_records.push_back(result_color_record); - } - return result_color_records; -diff -up chromium-126.0.6478.26/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor chromium-126.0.6478.26/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp ---- chromium-126.0.6478.26/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor 2024-05-29 18:03:05.000000000 +0200 -+++ chromium-126.0.6478.26/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp 2024-06-02 23:51:25.515916034 +0200 -@@ -512,7 +512,7 @@ void CPDF_RenderStatus::ProcessClipPath( - } else { - m_pDevice->SetClip_PathFill( - *pPath, &mtObj2Device, -- CFX_FillRenderOptions(ClipPath.GetClipType(i))); -+ CFX_FillRenderOptions{ClipPath.GetClipType(i)}); - } - } - -diff -up chromium-126.0.6478.26/ui/base/wayland/color_manager_util.h.no_matching_constructor chromium-126.0.6478.26/ui/base/wayland/color_manager_util.h ---- chromium-126.0.6478.26/ui/base/wayland/color_manager_util.h.no_matching_constructor 2024-05-29 18:02:31.000000000 +0200 -+++ chromium-126.0.6478.26/ui/base/wayland/color_manager_util.h 2024-06-03 12:58:12.205983691 +0200 -@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base:: - zcr_color_manager_v1_chromaticity_names, - PrimaryVersion>( - {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB, -- PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB, -- kDefaultSinceVersion)}, -+ PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::BT470M, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::SMPTE240M, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::XYZ_D50, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::SMPTEST428_1, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::SMPTEST431_2, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM, -- PrimaryVersion( -+ PrimaryVersion{ - gfx::ColorSpace::PrimaryID::FILM, -- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}}); -+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}}); - - // A map from the zcr_color_manager_v1 eotf_names enum values - // representing well-known EOTFs, to their equivalent TransferIDs. -@@ -107,68 +107,68 @@ constexpr auto kEotfMap = base::MakeFixe - zcr_color_manager_v1_eotf_names, - TransferVersion>({ - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, -- TransferVersion(gfx::ColorSpace::TransferID::LINEAR, -- kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::LINEAR, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB, -- TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, -- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709, -- TransferVersion(gfx::ColorSpace::TransferID::BT709, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT709, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087, -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA24, -- kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA24, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB, - // This is ever so slightly inaccurate. The number ought to be - // 2.19921875f, not 2.2 -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA22, -- kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA22, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, -- TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)}, -+ TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, -- TransferVersion(gfx::ColorSpace::TransferID::HLG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::HLG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M, -- TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M, -- TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1, -- TransferVersion( -+ TransferVersion{ - gfx::ColorSpace::TransferID::SMPTEST428_1, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG, -- TransferVersion(gfx::ColorSpace::TransferID::LOG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::LOG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT, -- TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4, -- TransferVersion( -+ TransferVersion{ - gfx::ColorSpace::TransferID::IEC61966_2_4, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG, -- TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10, -- TransferVersion(gfx::ColorSpace::TransferID::BT2020_10, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT2020_10, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12, -- TransferVersion(gfx::ColorSpace::TransferID::BT2020_12, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::BT2020_12, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS, -- TransferVersion( -+ TransferVersion{ - gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18, -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA18, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA18, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28, -- TransferVersion(gfx::ColorSpace::TransferID::GAMMA28, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)}, -+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA28, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}}, - }); - - // A map from the SDR zcr_color_manager_v1 eotf_names enum values -@@ -177,18 +177,18 @@ constexpr auto kEotfMap = base::MakeFixe - constexpr auto kTransferMap = - base::MakeFixedFlatMap({ - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, -- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB, -- TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709, -- TransferFnVersion( -+ TransferFnVersion{ - SkNamedTransferFnExt::kRec709, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087, -- TransferFnVersion(gamma24, kDefaultSinceVersion)}, -+ TransferFnVersion{gamma24, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB, -- TransferFnVersion(SkNamedTransferFnExt::kA98RGB, -- kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFnExt::kA98RGB, -+ kDefaultSinceVersion}}, - }); - - // A map from the HDR zcr_color_manager_v1 eotf_names enum values -@@ -197,67 +197,67 @@ constexpr auto kTransferMap = - constexpr auto kHDRTransferMap = - base::MakeFixedFlatMap( - {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, -- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, -- TransferFnVersion( -+ TransferFnVersion{ - SkNamedTransferFnExt::kSRGB, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, -- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)}, -+ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, -- TransferFnVersion(SkNamedTransferFn::kHLG, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, -+ TransferFnVersion{SkNamedTransferFn::kHLG, -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10, -- TransferFnVersion( -+ TransferFnVersion{ - SkNamedTransferFnExt::kSRGBExtended1023Over510, -- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}}); -+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}}); - - // A map from zcr_color_manager_v1 matrix_names enum values to - // gfx::ColorSpace::MatrixIDs. - constexpr auto kMatrixMap = - base::MakeFixedFlatMap( - {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB, -- MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709, -- MatrixVersion(gfx::ColorSpace::MatrixID::BT709, -- kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::BT709, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG, -- MatrixVersion( -+ MatrixVersion{ - gfx::ColorSpace::MatrixID::BT470BG, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)}, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL, -- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL, -- kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC, -- MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG, -- MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX, -- MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR, -- MatrixVersion(gfx::ColorSpace::MatrixID::GBR, -- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::GBR, -+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M, -- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M, -- kDefaultSinceVersion)}, -+ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M, -- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M, -- kDefaultSinceVersion)}}); -+ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M, -+ kDefaultSinceVersion}}}); - - // A map from zcr_color_manager_v1 range_names enum values to - // gfx::ColorSpace::RangeIDs. - constexpr auto kRangeMap = - base::MakeFixedFlatMap( - {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED, -- RangeVersion(gfx::ColorSpace::RangeID::LIMITED, -- kDefaultSinceVersion)}, -+ RangeVersion{gfx::ColorSpace::RangeID::LIMITED, -+ kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL, -- RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)}, -+ RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}}, - {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED, -- RangeVersion(gfx::ColorSpace::RangeID::DERIVED, -- kDefaultSinceVersion)}}); -+ RangeVersion{gfx::ColorSpace::RangeID::DERIVED, -+ kDefaultSinceVersion}}}); - - zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity( - gfx::ColorSpace::PrimaryID primaryID, -@@ -280,4 +280,4 @@ zcr_color_manager_v1_eotf_names ToColorM - - } // namespace ui::wayland - --#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ -\ Kein Zeilenumbruch am Dateiende. -+#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ -diff -up chromium-126.0.6478.26/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-126.0.6478.26/ui/gtk/gtk_ui.cc ---- chromium-126.0.6478.26/ui/gtk/gtk_ui.cc.no_matching_constructor 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/gtk/gtk_ui.cc 2024-06-02 23:51:25.516916057 +0200 -@@ -1001,11 +1001,11 @@ display::DisplayConfig GtkUi::GetDisplay - GdkRectangle geometry; - gdk_monitor_get_geometry(monitor, &geometry); - int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor)); -- config.display_geometries.emplace_back( -+ config.display_geometries.emplace_back() = { - gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y, - monitor_scale * geometry.width, - monitor_scale * geometry.height), -- monitor_scale * font_scale); -+ static_cast(monitor_scale * font_scale)}; - } - return config; - } -diff -up chromium-126.0.6478.26/ui/views/controls/button/label_button.cc.no_matching_constructor chromium-126.0.6478.26/ui/views/controls/button/label_button.cc ---- chromium-126.0.6478.26/ui/views/controls/button/label_button.cc.no_matching_constructor 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/views/controls/button/label_button.cc 2024-06-02 23:51:25.516916057 +0200 -@@ -392,11 +392,11 @@ ProposedLayout LabelButton::CalculatePro - - gfx::Rect image_area = GetLocalBounds(); - -- layouts.child_layouts.emplace_back( -+ layouts.child_layouts.emplace_back() = { - ink_drop_container_.get(), - static_cast(GetLayoutManager()) - ->CanBeVisible(ink_drop_container_.get()), -- image_area, SizeBounds()); -+ image_area, SizeBounds()}; - - gfx::Insets insets = GetInsets(); - // If the button have a limited space to fit in, the image and the label -@@ -448,11 +448,11 @@ ProposedLayout LabelButton::CalculatePro - } else if (horizontal_alignment == gfx::ALIGN_RIGHT) { - image_origin.Offset(image_area.width() - image_size.width(), 0); - } -- layouts.child_layouts.emplace_back( -+ layouts.child_layouts.emplace_back() = { - const_cast(this)->image_container_view(), - static_cast(GetLayoutManager()) - ->CanBeVisible(image_container_view()), -- gfx::Rect(image_origin, image_size), SizeBounds()); -+ gfx::Rect(image_origin, image_size), SizeBounds()}; - - gfx::Rect label_bounds = label_area; - if (label_area.width() == label_size.width()) { -@@ -466,11 +466,11 @@ ProposedLayout LabelButton::CalculatePro - } - } - -- layouts.child_layouts.emplace_back( -+ layouts.child_layouts.emplace_back() = { - label_.get(), - static_cast(GetLayoutManager()) - ->CanBeVisible(label_.get()), -- label_bounds, SizeBounds()); -+ label_bounds, SizeBounds()}; - layouts.host_size = - gfx::Size(size_bounds.width().value(), size_bounds.height().value()); - -diff -up chromium-126.0.6478.26/ui/views/controls/editable_combobox/editable_combobox.cc.no_matching_constructor chromium-126.0.6478.26/ui/views/controls/editable_combobox/editable_combobox.cc ---- chromium-126.0.6478.26/ui/views/controls/editable_combobox/editable_combobox.cc.no_matching_constructor 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/views/controls/editable_combobox/editable_combobox.cc 2024-06-02 23:51:25.517916081 +0200 -@@ -492,16 +492,16 @@ ProposedLayout EditableCombobox::Calcula - layout.host_size = - gfx::Size(size_bounds.width().value(), size_bounds.height().value()); - } -- layout.child_layouts.emplace_back( -+ layout.child_layouts.emplace_back() = { - textfield_.get(), textfield_->GetVisible(), -- gfx::Rect(0, 0, layout.host_size.width(), layout.host_size.height())); -+ gfx::Rect(0, 0, layout.host_size.width(), layout.host_size.height())}; - const int preferred_width = - control_elements_container_->GetPreferredSize({}).width(); -- layout.child_layouts.emplace_back( -+ layout.child_layouts.emplace_back() = { - control_elements_container_.get(), - control_elements_container_->GetVisible(), - gfx::Rect(layout.host_size.width() - preferred_width, 0, preferred_width, -- layout.host_size.height())); -+ layout.host_size.height())}; - return layout; - } - -diff -up chromium-126.0.6478.26/ui/views/layout/box_layout.cc.no_matching_constructor chromium-126.0.6478.26/ui/views/layout/box_layout.cc ---- chromium-126.0.6478.26/ui/views/layout/box_layout.cc.no_matching_constructor 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/views/layout/box_layout.cc 2024-06-02 23:51:25.517916081 +0200 -@@ -325,7 +325,7 @@ void BoxLayout::InitializeChildData(BoxL - data.child_data.emplace_back(); - BoxChildData& child_data = data.child_data.back(); - -- data.layout.child_layouts.emplace_back(child, true); -+ data.layout.child_layouts.emplace_back() = {child, true}; - - gfx::Insets* margins = child ? child->GetProperty(kMarginsKey) : nullptr; - if (margins) { -diff -up chromium-126.0.6478.26/ui/views/window/dialog_client_view.cc.no_matching_constructor chromium-126.0.6478.26/ui/views/window/dialog_client_view.cc ---- chromium-126.0.6478.26/ui/views/window/dialog_client_view.cc.no_matching_constructor 2024-05-29 18:02:32.000000000 +0200 -+++ chromium-126.0.6478.26/ui/views/window/dialog_client_view.cc 2024-06-02 23:51:25.518916106 +0200 -@@ -206,16 +206,16 @@ ProposedLayout DialogClientView::Calcula - const int container_height = - button_row_container_->GetHeightForWidth(size_bounds.width().value()); - const int container_y = size_bounds.height().value() - container_height; -- layouts.child_layouts.emplace_back( -+ layouts.child_layouts.emplace_back() = { - button_row_container_.get(), button_row_container_->GetVisible(), - gfx::Rect(0, container_y, size_bounds.width().value(), container_height), -- size_bounds); -+ size_bounds}; - if (contents_view()) { - gfx::Rect contents_bounds(size_bounds.width().value(), container_y); - contents_bounds.Inset(GetDialogDelegate()->margins()); -- layouts.child_layouts.emplace_back(contents_view(), -+ layouts.child_layouts.emplace_back() = {contents_view(), - contents_view()->GetVisible(), -- contents_bounds, size_bounds); -+ contents_bounds, size_bounds}; - } - layouts.host_size = - gfx::Size(size_bounds.width().value(), size_bounds.height().value()); diff --git a/SOURCES/chromium-126-el7-old-cups.patch b/SOURCES/chromium-126-el7-old-cups.patch deleted file mode 100644 index 68210869..00000000 --- a/SOURCES/chromium-126-el7-old-cups.patch +++ /dev/null @@ -1,137 +0,0 @@ -diff -up chromium-126.0.6478.26/printing/backend/cups_helper.cc.el7cups chromium-126.0.6478.26/printing/backend/cups_helper.cc ---- chromium-126.0.6478.26/printing/backend/cups_helper.cc.el7cups 2024-06-03 17:16:32.197509643 +0200 -+++ chromium-126.0.6478.26/printing/backend/cups_helper.cc 2024-06-03 17:32:23.028376333 +0200 -@@ -41,18 +41,6 @@ namespace printing { - // This section contains helper code for PPD parsing for semantic capabilities. - namespace { - --// Function availability can be tested by checking whether its address is not --// nullptr. Weak symbols remove the need for platform specific build flags and --// allow for appropriate CUPS usage on platforms with non-uniform version --// support, namely Linux. --#define WEAK_CUPS_FN(x) extern "C" __attribute__((weak)) decltype(x) x -- --WEAK_CUPS_FN(httpConnect2); -- --// Timeout for establishing a CUPS connection. It is expected that cupsd is --// able to start and respond on all systems within this duration. --constexpr base::TimeDelta kCupsTimeout = base::Seconds(5); -- - // CUPS default max copies value (parsed from kCupsMaxCopies PPD attribute). - constexpr int32_t kDefaultMaxCopies = 9999; - constexpr char kCupsMaxCopies[] = "cupsMaxCopies"; -@@ -761,8 +749,7 @@ const int kDefaultIPPServerPort = 631; - // Helper wrapper around http_t structure, with connection and cleanup - // functionality. - HttpConnectionCUPS::HttpConnectionCUPS(const GURL& print_server_url, -- http_encryption_t encryption, -- bool blocking) { -+ http_encryption_t encryption) { - // If we have an empty url, use default print server. - if (print_server_url.is_empty()) - return; -@@ -771,31 +758,22 @@ HttpConnectionCUPS::HttpConnectionCUPS(c - if (port == url::PORT_UNSPECIFIED) - port = kDefaultIPPServerPort; - -- if (httpConnect2) { -- http_.reset(httpConnect2(print_server_url.host().c_str(), port, -- /*addrlist=*/nullptr, AF_UNSPEC, encryption, -- blocking ? 1 : 0, kCupsTimeout.InMilliseconds(), -- /*cancel=*/nullptr)); -- } else { -- // Continue to use deprecated CUPS calls because because older Linux -- // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6. -- http_.reset( -+ http_.reset( - httpConnectEncrypt(print_server_url.host().c_str(), port, encryption)); -- } - - if (!http_) { - LOG(ERROR) << "CP_CUPS: Failed connecting to print server: " - << print_server_url; - return; - } -- -- if (!httpConnect2) { -- httpBlocking(http(), blocking ? 1 : 0); -- } - } - - HttpConnectionCUPS::~HttpConnectionCUPS() = default; - -+void HttpConnectionCUPS::SetBlocking(bool blocking) { -+ httpBlocking(http(), blocking ? 1 : 0); -+} -+ - http_t* HttpConnectionCUPS::http() { - return http_.get(); - } -diff -up chromium-126.0.6478.26/printing/backend/cups_helper.h.el7cups chromium-126.0.6478.26/printing/backend/cups_helper.h ---- chromium-126.0.6478.26/printing/backend/cups_helper.h.el7cups 2024-06-03 17:23:35.923307842 +0200 -+++ chromium-126.0.6478.26/printing/backend/cups_helper.h 2024-06-03 17:25:50.887855460 +0200 -@@ -36,10 +36,11 @@ constexpr cups_ptype_t kDestinationsFilt - class COMPONENT_EXPORT(PRINT_BACKEND) HttpConnectionCUPS { - public: - HttpConnectionCUPS(const GURL& print_server_url, -- http_encryption_t encryption, -- bool blocking); -+ http_encryption_t encryption); - ~HttpConnectionCUPS(); - -+ void SetBlocking(bool blocking); -+ - http_t* http(); - - private: -diff -up chromium-126.0.6478.26/printing/backend/print_backend_cups.cc.el7cups chromium-126.0.6478.26/printing/backend/print_backend_cups.cc ---- chromium-126.0.6478.26/printing/backend/print_backend_cups.cc.el7cups 2024-06-03 17:26:44.607871149 +0200 -+++ chromium-126.0.6478.26/printing/backend/print_backend_cups.cc 2024-06-03 17:29:15.889810651 +0200 -@@ -149,7 +149,7 @@ mojom::ResultCode PrintBackendCUPS::Enum - // not showing as available. Using cupsEnumDests() allows us to do our own - // filtering should any duplicates occur. - CupsDestsData dests_data = {0, nullptr}; -- ipp_status_t last_error = IPP_STATUS_OK; -+ ipp_status_t last_error = IPP_OK; - if (print_server_url_.is_empty()) { - VLOG(1) << "CUPS: using cupsEnumDests to enumerate printers"; - if (!cupsEnumDests(CUPS_DEST_FLAGS_NONE, kCupsTimeoutMs, -@@ -176,7 +176,7 @@ mojom::ResultCode PrintBackendCUPS::Enum - // no printer drivers installed. Rely upon CUPS error code to distinguish - // between these. - DCHECK(!dests_data.dests); -- if (last_error != IPP_STATUS_ERROR_NOT_FOUND) { -+ if (last_error != IPP_NOT_FOUND) { - VLOG(1) << "CUPS: Error getting printers from CUPS server" - << ", server: " << print_server_url_ - << ", error: " << static_cast(last_error) << " - " -@@ -311,7 +311,8 @@ int PrintBackendCUPS::GetDests(cups_dest - if (print_server_url_.is_empty()) - return cupsGetDests2(CUPS_HTTP_DEFAULT, dests); - -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - - // This call must be made in the same scope as `http` because its destructor - // closes the connection. -@@ -337,7 +338,8 @@ base::FilePath PrintBackendCUPS::GetPPD( - // connection will timeout after 10 seconds of no data period. And it will - // return the same way as if data was completely and successfully - // downloaded. -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - ppd_file_path = cupsGetPPD2(http.http(), name); - // Check if the get full PPD, since non-blocking call may simply return - // normally after timeout expired. -@@ -373,7 +375,8 @@ ScopedDestination PrintBackendCUPS::GetN - // Use default (local) print server. - dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer_name.c_str(), nullptr); - } else { -- HttpConnectionCUPS http(print_server_url_, cups_encryption_, blocking_); -+ HttpConnectionCUPS http(print_server_url_, cups_encryption_); -+ http.SetBlocking(blocking_); - dest = cupsGetNamedDest(http.http(), printer_name.c_str(), nullptr); - } - return ScopedDestination(dest); diff --git a/SOURCES/chromium-126-el7-rust-c_string.patch b/SOURCES/chromium-126-el7-rust-c_string.patch deleted file mode 100644 index 98817e5b..00000000 --- a/SOURCES/chromium-126-el7-rust-c_string.patch +++ /dev/null @@ -1,1667 +0,0 @@ -replace c_string as it is not supported by old rust in el7 - -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/clone.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/clone.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/clone.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/clone.rs -@@ -1338,6 +1338,7 @@ impl Clone for crate::Lit { - match self { - crate::Lit::Str(v0) => crate::Lit::Str(v0.clone()), - crate::Lit::ByteStr(v0) => crate::Lit::ByteStr(v0.clone()), -+ crate::Lit::CStr(v0) => crate::Lit::CStr(v0.clone()), - crate::Lit::Byte(v0) => crate::Lit::Byte(v0.clone()), - crate::Lit::Char(v0) => crate::Lit::Char(v0.clone()), - crate::Lit::Int(v0) => crate::Lit::Int(v0.clone()), -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/debug.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/debug.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/debug.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/debug.rs -@@ -1958,6 +1958,7 @@ impl Debug for crate::Lit { - match self { - crate::Lit::Str(v0) => v0.debug(formatter, "Str"), - crate::Lit::ByteStr(v0) => v0.debug(formatter, "ByteStr"), -+ crate::Lit::CStr(v0) => v0.debug(formatter, "CStr"), - crate::Lit::Byte(v0) => v0.debug(formatter, "Byte"), - crate::Lit::Char(v0) => v0.debug(formatter, "Char"), - crate::Lit::Int(v0) => v0.debug(formatter, "Int"), -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/eq.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/eq.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/eq.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/eq.rs -@@ -1300,6 +1300,7 @@ impl PartialEq for crate::Lit { - match (self, other) { - (crate::Lit::Str(self0), crate::Lit::Str(other0)) => self0 == other0, - (crate::Lit::ByteStr(self0), crate::Lit::ByteStr(other0)) => self0 == other0, -+ (crate::Lit::CStr(self0), crate::Lit::CStr(other0)) => self0 == other0, - (crate::Lit::Byte(self0), crate::Lit::Byte(other0)) => self0 == other0, - (crate::Lit::Char(self0), crate::Lit::Char(other0)) => self0 == other0, - (crate::Lit::Int(self0), crate::Lit::Int(other0)) => self0 == other0, -@@ -1325,6 +1326,8 @@ impl Eq for crate::LitByte {} - #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] - impl Eq for crate::LitByteStr {} - #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -+impl Eq for crate::LitCStr {} -+#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] - impl Eq for crate::LitChar {} - #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] - impl Eq for crate::LitFloat {} -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/fold.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/fold.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/fold.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/fold.rs -@@ -581,6 +581,9 @@ pub trait Fold { - fn fold_lit_byte_str(&mut self, i: crate::LitByteStr) -> crate::LitByteStr { - fold_lit_byte_str(self, i) - } -+ fn fold_lit_cstr(&mut self, i: crate::LitCStr) -> crate::LitCStr { -+ fold_lit_cstr(self, i) -+ } - fn fold_lit_char(&mut self, i: crate::LitChar) -> crate::LitChar { - fold_lit_char(self, i) - } -@@ -2628,6 +2631,7 @@ where - crate::Lit::ByteStr(_binding_0) => { - crate::Lit::ByteStr(f.fold_lit_byte_str(_binding_0)) - } -+ crate::Lit::CStr(_binding_0) => crate::Lit::CStr(f.fold_lit_cstr(_binding_0)), - crate::Lit::Byte(_binding_0) => crate::Lit::Byte(f.fold_lit_byte(_binding_0)), - crate::Lit::Char(_binding_0) => crate::Lit::Char(f.fold_lit_char(_binding_0)), - crate::Lit::Int(_binding_0) => crate::Lit::Int(f.fold_lit_int(_binding_0)), -@@ -2663,6 +2667,15 @@ where - node.set_span(span); - node - } -+pub fn fold_lit_cstr(f: &mut F, node: crate::LitCStr) -> crate::LitCStr -+where -+ F: Fold + ?Sized, -+{ -+ let span = f.fold_span(node.span()); -+ let mut node = node; -+ node.set_span(span); -+ node -+} - pub fn fold_lit_char(f: &mut F, node: crate::LitChar) -> crate::LitChar - where - F: Fold + ?Sized, -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/hash.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/hash.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/hash.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/hash.rs -@@ -1682,28 +1682,32 @@ impl Hash for crate::Lit { - state.write_u8(1u8); - v0.hash(state); - } -- crate::Lit::Byte(v0) => { -+ crate::Lit::CStr(v0) => { - state.write_u8(2u8); - v0.hash(state); - } -- crate::Lit::Char(v0) => { -+ crate::Lit::Byte(v0) => { - state.write_u8(3u8); - v0.hash(state); - } -- crate::Lit::Int(v0) => { -+ crate::Lit::Char(v0) => { - state.write_u8(4u8); - v0.hash(state); - } -- crate::Lit::Float(v0) => { -+ crate::Lit::Int(v0) => { - state.write_u8(5u8); - v0.hash(state); - } -- crate::Lit::Bool(v0) => { -+ crate::Lit::Float(v0) => { - state.write_u8(6u8); - v0.hash(state); - } -- crate::Lit::Verbatim(v0) => { -+ crate::Lit::Bool(v0) => { - state.write_u8(7u8); -+ v0.hash(state); -+ } -+ crate::Lit::Verbatim(v0) => { -+ state.write_u8(8u8); - v0.to_string().hash(state); - } - } -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/visit.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/visit.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/visit.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/visit.rs -@@ -547,6 +547,9 @@ pub trait Visit<'ast> { - fn visit_lit_byte_str(&mut self, i: &'ast crate::LitByteStr) { - visit_lit_byte_str(self, i); - } -+ fn visit_lit_cstr(&mut self, i: &'ast crate::LitCStr) { -+ visit_lit_cstr(self, i); -+ } - fn visit_lit_char(&mut self, i: &'ast crate::LitChar) { - visit_lit_char(self, i); - } -@@ -2694,6 +2697,9 @@ where - crate::Lit::ByteStr(_binding_0) => { - v.visit_lit_byte_str(_binding_0); - } -+ crate::Lit::CStr(_binding_0) => { -+ v.visit_lit_cstr(_binding_0); -+ } - crate::Lit::Byte(_binding_0) => { - v.visit_lit_byte(_binding_0); - } -@@ -2729,6 +2735,10 @@ pub fn visit_lit_byte_str<'ast, V>(v: &mut V, node: &'ast crate::LitByteStr) - where - V: Visit<'ast> + ?Sized, - {} -+pub fn visit_lit_cstr<'ast, V>(v: &mut V, node: &'ast crate::LitCStr) -+where -+ V: Visit<'ast> + ?Sized, -+{} - pub fn visit_lit_char<'ast, V>(v: &mut V, node: &'ast crate::LitChar) - where - V: Visit<'ast> + ?Sized, -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/visit_mut.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/visit_mut.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/gen/visit_mut.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/gen/visit_mut.rs -@@ -548,6 +548,9 @@ pub trait VisitMut { - fn visit_lit_byte_str_mut(&mut self, i: &mut crate::LitByteStr) { - visit_lit_byte_str_mut(self, i); - } -+ fn visit_lit_cstr_mut(&mut self, i: &mut crate::LitCStr) { -+ visit_lit_cstr_mut(self, i); -+ } - fn visit_lit_char_mut(&mut self, i: &mut crate::LitChar) { - visit_lit_char_mut(self, i); - } -@@ -2694,6 +2697,9 @@ where - crate::Lit::ByteStr(_binding_0) => { - v.visit_lit_byte_str_mut(_binding_0); - } -+ crate::Lit::CStr(_binding_0) => { -+ v.visit_lit_cstr_mut(_binding_0); -+ } - crate::Lit::Byte(_binding_0) => { - v.visit_lit_byte_mut(_binding_0); - } -@@ -2729,6 +2735,10 @@ pub fn visit_lit_byte_str_mut(v: &mut V, node: &mut crate::LitByteStr) - where - V: VisitMut + ?Sized, - {} -+pub fn visit_lit_cstr_mut(v: &mut V, node: &mut crate::LitCStr) -+where -+ V: VisitMut + ?Sized, -+{} - pub fn visit_lit_char_mut(v: &mut V, node: &mut crate::LitChar) - where - V: VisitMut + ?Sized, -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/lib.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/lib.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/lib.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/lib.rs -@@ -418,7 +418,9 @@ mod lit; - #[doc(hidden)] // https://github.com/dtolnay/syn/issues/1566 - pub use crate::lit::StrStyle; - #[doc(inline)] --pub use crate::lit::{Lit, LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitInt, LitStr}; -+pub use crate::lit::{ -+ Lit, LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitInt, LitStr, -+}; - - #[cfg(feature = "parsing")] - mod lookahead; -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/lit.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/lit.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/lit.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/lit.rs -@@ -6,6 +6,7 @@ use crate::{Error, Result}; - use proc_macro2::{Ident, Literal, Span}; - #[cfg(feature = "parsing")] - use proc_macro2::{TokenStream, TokenTree}; -+use std::ffi::{CStr, CString}; - use std::fmt::{self, Display}; - #[cfg(feature = "extra-traits")] - use std::hash::{Hash, Hasher}; -@@ -27,6 +28,9 @@ ast_enum_of_structs! { - /// A byte string literal: `b"foo"`. - ByteStr(LitByteStr), - -+ /// A nul-terminated C-string literal: `c"foo"`. -+ CStr(LitCStr), -+ - /// A byte literal: `b'f'`. - Byte(LitByte), - -@@ -63,6 +67,13 @@ ast_struct! { - } - } - -+ast_struct! { -+ /// A nul-terminated C-string literal: `c"foo"`. -+ pub struct LitCStr { -+ repr: Box, -+ } -+} -+ - ast_struct! { - /// A byte literal: `b'f'`. - pub struct LitByte { -@@ -294,6 +305,41 @@ impl LitByteStr { - } - } - -+impl LitCStr { -+ pub fn new(value: &CStr, span: Span) -> Self { -+ let mut token = Literal::c_string(value); -+ token.set_span(span); -+ LitCStr { -+ repr: Box::new(LitRepr { -+ token, -+ suffix: Box::::default(), -+ }), -+ } -+ } -+ -+ pub fn value(&self) -> CString { -+ let repr = self.repr.token.to_string(); -+ let (value, _suffix) = value::parse_lit_c_str(&repr); -+ value -+ } -+ -+ pub fn span(&self) -> Span { -+ self.repr.token.span() -+ } -+ -+ pub fn set_span(&mut self, span: Span) { -+ self.repr.token.set_span(span); -+ } -+ -+ pub fn suffix(&self) -> &str { -+ &self.repr.suffix -+ } -+ -+ pub fn token(&self) -> Literal { -+ self.repr.token.clone() -+ } -+} -+ - impl LitByte { - pub fn new(value: u8, span: Span) -> Self { - let mut token = Literal::u8_suffixed(value); -@@ -368,7 +414,7 @@ impl LitInt { - pub fn new(repr: &str, span: Span) -> Self { - let (digits, suffix) = match value::parse_lit_int(repr) { - Some(parse) => parse, -- None => panic!("Not an integer literal: `{}`", repr), -+ None => panic!("not an integer literal: `{}`", repr), - }; - - let mut token: Literal = repr.parse().unwrap(); -@@ -447,7 +493,7 @@ impl From for LitInt { - }), - } - } else { -- panic!("Not an integer literal: `{}`", repr); -+ panic!("not an integer literal: `{}`", repr); - } - } - } -@@ -462,7 +508,7 @@ impl LitFloat { - pub fn new(repr: &str, span: Span) -> Self { - let (digits, suffix) = match value::parse_lit_float(repr) { - Some(parse) => parse, -- None => panic!("Not a float literal: `{}`", repr), -+ None => panic!("not a float literal: `{}`", repr), - }; - - let mut token: Literal = repr.parse().unwrap(); -@@ -519,7 +565,7 @@ impl From for LitFloat { - }), - } - } else { -- panic!("Not a float literal: `{}`", repr); -+ panic!("not a float literal: `{}`", repr); - } - } - } -@@ -555,7 +601,7 @@ impl LitBool { - - #[cfg(feature = "extra-traits")] - mod debug_impls { -- use crate::lit::{LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitInt, LitStr}; -+ use crate::lit::{LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitInt, LitStr}; - use std::fmt::{self, Debug}; - - #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -@@ -590,6 +636,22 @@ mod debug_impls { - } - } - -+ #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -+ impl Debug for LitCStr { -+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -+ self.debug(formatter, "LitCStr") -+ } -+ } -+ -+ impl LitCStr { -+ pub(crate) fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { -+ formatter -+ .debug_struct(name) -+ .field("token", &format_args!("{}", self.repr.token)) -+ .finish() -+ } -+ } -+ - #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] - impl Debug for LitByte { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -@@ -750,6 +812,7 @@ macro_rules! lit_extra_traits { - - lit_extra_traits!(LitStr); - lit_extra_traits!(LitByteStr); -+lit_extra_traits!(LitCStr); - lit_extra_traits!(LitByte); - lit_extra_traits!(LitChar); - lit_extra_traits!(LitInt); -@@ -790,7 +853,7 @@ pub(crate) mod parsing { - use crate::buffer::Cursor; - use crate::error::Result; - use crate::lit::{ -- value, Lit, LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitFloatRepr, LitInt, -+ value, Lit, LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitFloatRepr, LitInt, - LitIntRepr, LitStr, - }; - use crate::parse::{Parse, ParseStream}; -@@ -889,6 +952,17 @@ pub(crate) mod parsing { - } - } - -+ #[cfg_attr(doc_cfg, doc(cfg(feature = "parsing")))] -+ impl Parse for LitCStr { -+ fn parse(input: ParseStream) -> Result { -+ let head = input.fork(); -+ match input.parse() { -+ Ok(Lit::CStr(lit)) => Ok(lit), -+ _ => Err(head.error("expected C string literal")), -+ } -+ } -+ } -+ - #[cfg_attr(doc_cfg, doc(cfg(feature = "parsing")))] - impl Parse for LitByte { - fn parse(input: ParseStream) -> Result { -@@ -947,7 +1021,7 @@ pub(crate) mod parsing { - - #[cfg(feature = "printing")] - mod printing { -- use crate::lit::{LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitInt, LitStr}; -+ use crate::lit::{LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitInt, LitStr}; - use proc_macro2::TokenStream; - use quote::{ToTokens, TokenStreamExt}; - -@@ -965,6 +1039,13 @@ mod printing { - } - } - -+ #[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))] -+ impl ToTokens for LitCStr { -+ fn to_tokens(&self, tokens: &mut TokenStream) { -+ self.repr.token.to_tokens(tokens); -+ } -+ } -+ - #[cfg_attr(doc_cfg, doc(cfg(feature = "printing")))] - impl ToTokens for LitByte { - fn to_tokens(&self, tokens: &mut TokenStream) { -@@ -1004,11 +1085,13 @@ mod printing { - mod value { - use crate::bigint::BigInt; - use crate::lit::{ -- Lit, LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitFloatRepr, LitInt, LitIntRepr, -- LitRepr, LitStr, -+ Lit, LitBool, LitByte, LitByteStr, LitCStr, LitChar, LitFloat, LitFloatRepr, LitInt, -+ LitIntRepr, LitRepr, LitStr, - }; - use proc_macro2::{Literal, Span}; -+ use std::ascii; - use std::char; -+ use std::ffi::CString; - use std::ops::{Index, RangeFrom}; - - impl Lit { -@@ -1041,6 +1124,13 @@ mod value { - } - _ => {} - }, -+ // c"...", cr"...", cr#"..."# -+ b'c' => { -+ let (_, suffix) = parse_lit_c_str(&repr); -+ return Lit::CStr(LitCStr { -+ repr: Box::new(LitRepr { token, suffix }), -+ }); -+ } - // '...' - b'\'' => { - let (_, suffix) = parse_lit_char(&repr); -@@ -1079,20 +1169,18 @@ mod value { - }); - } - } -- // c"...", cr"...", cr#"..."# -- // TODO: add a Lit::CStr variant? -- b'c' => return Lit::Verbatim(token), - b'(' if repr == "(/*ERROR*/)" => return Lit::Verbatim(token), - _ => {} - } - -- panic!("Unrecognized literal: `{}`", repr); -+ panic!("unrecognized literal: `{}`", repr); - } - - pub fn suffix(&self) -> &str { - match self { - Lit::Str(lit) => lit.suffix(), - Lit::ByteStr(lit) => lit.suffix(), -+ Lit::CStr(lit) => lit.suffix(), - Lit::Byte(lit) => lit.suffix(), - Lit::Char(lit) => lit.suffix(), - Lit::Int(lit) => lit.suffix(), -@@ -1105,6 +1193,7 @@ mod value { - match self { - Lit::Str(lit) => lit.span(), - Lit::ByteStr(lit) => lit.span(), -+ Lit::CStr(lit) => lit.span(), - Lit::Byte(lit) => lit.span(), - Lit::Char(lit) => lit.span(), - Lit::Int(lit) => lit.span(), -@@ -1118,6 +1207,7 @@ mod value { - match self { - Lit::Str(lit) => lit.set_span(span), - Lit::ByteStr(lit) => lit.set_span(span), -+ Lit::CStr(lit) => lit.set_span(span), - Lit::Byte(lit) => lit.set_span(span), - Lit::Char(lit) => lit.set_span(span), - Lit::Int(lit) => lit.set_span(span), -@@ -1170,13 +1260,13 @@ mod value { - b'x' => { - let (byte, rest) = backslash_x(s); - s = rest; -- assert!(byte <= 0x7F, "Invalid \\x byte in string literal"); -+ assert!(byte <= 0x7F, "invalid \\x byte in string literal"); - char::from_u32(u32::from(byte)).unwrap() - } - b'u' => { -- let (chr, rest) = backslash_u(s); -+ let (ch, rest) = backslash_u(s); - s = rest; -- chr -+ ch - } - b'n' => '\n', - b'r' => '\r', -@@ -1192,11 +1282,14 @@ mod value { - _ => continue 'outer, - } - }, -- b => panic!("unexpected byte {:?} after \\ character in byte literal", b), -+ b => panic!( -+ "unexpected byte '{}' after \\ character in string literal", -+ ascii::escape_default(b), -+ ), - } - } - b'\r' => { -- assert_eq!(byte(s, 1), b'\n', "Bare CR not allowed in string"); -+ assert_eq!(byte(s, 1), b'\n', "bare CR not allowed in string"); - s = &s[2..]; - '\n' - } -@@ -1283,11 +1376,14 @@ mod value { - continue 'outer; - } - }, -- b => panic!("unexpected byte {:?} after \\ character in byte literal", b), -+ b => panic!( -+ "unexpected byte '{}' after \\ character in byte-string literal", -+ ascii::escape_default(b), -+ ), - } - } - b'\r' => { -- assert_eq!(byte(v, 1), b'\n', "Bare CR not allowed in string"); -+ assert_eq!(byte(v, 1), b'\n', "bare CR not allowed in string"); - v = &v[2..]; - b'\n' - } -@@ -1310,6 +1406,92 @@ mod value { - (String::from(value).into_bytes(), suffix) - } - -+ // Returns (content, suffix). -+ pub(crate) fn parse_lit_c_str(s: &str) -> (CString, Box) { -+ assert_eq!(byte(s, 0), b'c'); -+ match byte(s, 1) { -+ b'"' => parse_lit_c_str_cooked(s), -+ b'r' => parse_lit_c_str_raw(s), -+ _ => unreachable!(), -+ } -+ } -+ -+ // Clippy false positive -+ // https://github.com/rust-lang-nursery/rust-clippy/issues/2329 -+ #[allow(clippy::needless_continue)] -+ fn parse_lit_c_str_cooked(mut s: &str) -> (CString, Box) { -+ assert_eq!(byte(s, 0), b'c'); -+ assert_eq!(byte(s, 1), b'"'); -+ s = &s[2..]; -+ -+ // We're going to want to have slices which don't respect codepoint boundaries. -+ let mut v = s.as_bytes(); -+ -+ let mut out = Vec::new(); -+ 'outer: loop { -+ let byte = match byte(v, 0) { -+ b'"' => break, -+ b'\\' => { -+ let b = byte(v, 1); -+ v = &v[2..]; -+ match b { -+ b'x' => { -+ let (b, rest) = backslash_x(v); -+ assert!(b != 0, "\\x00 is not allowed in C-string literal"); -+ v = rest; -+ b -+ } -+ b'u' => { -+ let (ch, rest) = backslash_u(v); -+ assert!(ch != '\0', "\\u{{0}} is not allowed in C-string literal"); -+ v = rest; -+ out.extend_from_slice(ch.encode_utf8(&mut [0u8; 4]).as_bytes()); -+ continue 'outer; -+ } -+ b'n' => b'\n', -+ b'r' => b'\r', -+ b't' => b'\t', -+ b'\\' => b'\\', -+ b'\'' => b'\'', -+ b'"' => b'"', -+ b'\r' | b'\n' => loop { -+ let byte = byte(v, 0); -+ if matches!(byte, b' ' | b'\t' | b'\n' | b'\r') { -+ v = &v[1..]; -+ } else { -+ continue 'outer; -+ } -+ }, -+ b => panic!( -+ "unexpected byte '{}' after \\ character in byte literal", -+ ascii::escape_default(b), -+ ), -+ } -+ } -+ b'\r' => { -+ assert_eq!(byte(v, 1), b'\n', "bare CR not allowed in string"); -+ v = &v[2..]; -+ b'\n' -+ } -+ b => { -+ v = &v[1..]; -+ b -+ } -+ }; -+ out.push(byte); -+ } -+ -+ assert_eq!(byte(v, 0), b'"'); -+ let suffix = s[s.len() - v.len() + 1..].to_owned().into_boxed_str(); -+ (CString::new(out).unwrap(), suffix) -+ } -+ -+ fn parse_lit_c_str_raw(s: &str) -> (CString, Box) { -+ assert_eq!(byte(s, 0), b'c'); -+ let (value, suffix) = parse_lit_str_raw(&s[1..]); -+ (CString::new(String::from(value)).unwrap(), suffix) -+ } -+ - // Returns (value, suffix). - pub(crate) fn parse_lit_byte(s: &str) -> (u8, Box) { - assert_eq!(byte(s, 0), b'b'); -@@ -1335,7 +1517,10 @@ mod value { - b'0' => b'\0', - b'\'' => b'\'', - b'"' => b'"', -- b => panic!("unexpected byte {:?} after \\ character in byte literal", b), -+ b => panic!( -+ "unexpected byte '{}' after \\ character in byte literal", -+ ascii::escape_default(b), -+ ), - } - } - b => { -@@ -1362,13 +1547,13 @@ mod value { - b'x' => { - let (byte, rest) = backslash_x(s); - s = rest; -- assert!(byte <= 0x80, "Invalid \\x byte in string literal"); -+ assert!(byte <= 0x7F, "invalid \\x byte in character literal"); - char::from_u32(u32::from(byte)).unwrap() - } - b'u' => { -- let (chr, rest) = backslash_u(s); -+ let (ch, rest) = backslash_u(s); - s = rest; -- chr -+ ch - } - b'n' => '\n', - b'r' => '\r', -@@ -1377,7 +1562,10 @@ mod value { - b'0' => '\0', - b'\'' => '\'', - b'"' => '"', -- b => panic!("unexpected byte {:?} after \\ character in byte literal", b), -+ b => panic!( -+ "unexpected byte '{}' after \\ character in character literal", -+ ascii::escape_default(b), -+ ), - } - } - _ => { -@@ -1414,7 +1602,10 @@ mod value { - (ch, &s[2..]) - } - -- fn backslash_u(mut s: &str) -> (char, &str) { -+ fn backslash_u(mut s: &S) -> (char, &S) -+ where -+ S: Index, Output = S> + AsRef<[u8]> + ?Sized, -+ { - if byte(s, 0) != b'{' { - panic!("{}", "expected { after \\u"); - } -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/whitespace.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/whitespace.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/src/whitespace.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/src/whitespace.rs -@@ -41,11 +41,11 @@ pub(crate) fn skip(mut s: &str) -> &str { - } - } - match byte { -- b' ' | 0x09..=0x0d => { -+ b' ' | 0x09..=0x0D => { - s = &s[1..]; - continue; - } -- b if b <= 0x7f => {} -+ b if b <= 0x7F => {} - _ => { - let ch = s.chars().next().unwrap(); - if is_whitespace(ch) { -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/tests/debug/gen.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/tests/debug/gen.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/tests/debug/gen.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/tests/debug/gen.rs -@@ -2864,6 +2864,7 @@ impl Debug for Lite { - match &self.value { - syn::Lit::Str(_val) => write!(formatter, "{:?}", _val.value()), - syn::Lit::ByteStr(_val) => write!(formatter, "{:?}", _val.value()), -+ syn::Lit::CStr(_val) => write!(formatter, "{:?}", _val.value()), - syn::Lit::Byte(_val) => write!(formatter, "{:?}", _val.value()), - syn::Lit::Char(_val) => write!(formatter, "{:?}", _val.value()), - syn::Lit::Int(_val) => write!(formatter, "{}", _val), -@@ -2901,6 +2902,11 @@ impl Debug for Lite { - write!(formatter, "{:?}", self.value.value()) - } - } -+impl Debug for Lite { -+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { -+ write!(formatter, "{:?}", self.value.value()) -+ } -+} - impl Debug for Lite { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - write!(formatter, "{:?}", self.value.value()) -diff --git a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/tests/test_lit.rs b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/tests/test_lit.rs ---- a/third_party/rust/chromium_crates_io/vendor/syn-2.0.55/tests/test_lit.rs -+++ b/third_party/rust/chromium_crates_io/vendor/syn-2.0.60/tests/test_lit.rs -@@ -1,5 +1,6 @@ - #![allow( - clippy::float_cmp, -+ clippy::needless_raw_string_hashes, - clippy::non_ascii_literal, - clippy::single_match_else, - clippy::uninlined_format_args -@@ -10,9 +11,11 @@ mod macros; - - use proc_macro2::{Delimiter, Group, Literal, Span, TokenStream, TokenTree}; - use quote::ToTokens; -+use std::ffi::CStr; - use std::str::FromStr; - use syn::{Lit, LitFloat, LitInt, LitStr}; - -+#[track_caller] - fn lit(s: &str) -> Lit { - let mut tokens = TokenStream::from_str(s).unwrap().into_iter(); - match tokens.next().unwrap() { -@@ -26,7 +29,9 @@ fn lit(s: &str) -> Lit { - - #[test] - fn strings() { -+ #[track_caller] - fn test_string(s: &str, value: &str) { -+ let s = s.trim(); - match lit(s) { - Lit::Str(lit) => { - assert_eq!(lit.value(), value); -@@ -39,16 +44,16 @@ fn strings() { - } - } - -- test_string("\"a\"", "a"); -- test_string("\"\\n\"", "\n"); -- test_string("\"\\r\"", "\r"); -- test_string("\"\\t\"", "\t"); -- test_string("\"🐕\"", "🐕"); // NOTE: This is an emoji -- test_string("\"\\\"\"", "\""); -- test_string("\"'\"", "'"); -- test_string("\"\"", ""); -- test_string("\"\\u{1F415}\"", "\u{1F415}"); -- test_string("\"\\u{1_2__3_}\"", "\u{123}"); -+ test_string(r#" "" "#, ""); -+ test_string(r#" "a" "#, "a"); -+ test_string(r#" "\n" "#, "\n"); -+ test_string(r#" "\r" "#, "\r"); -+ test_string(r#" "\t" "#, "\t"); -+ test_string(r#" "🐕" "#, "🐕"); // NOTE: This is an emoji -+ test_string(r#" "\"" "#, "\""); -+ test_string(r#" "'" "#, "'"); -+ test_string(r#" "\u{1F415}" "#, "\u{1F415}"); -+ test_string(r#" "\u{1_2__3_}" "#, "\u{123}"); - test_string( - "\"contains\nnewlines\\\nescaped newlines\"", - "contains\nnewlinesescaped newlines", -@@ -65,7 +70,9 @@ fn strings() { - - #[test] - fn byte_strings() { -+ #[track_caller] - fn test_byte_string(s: &str, value: &[u8]) { -+ let s = s.trim(); - match lit(s) { - Lit::ByteStr(lit) => { - assert_eq!(lit.value(), value); -@@ -78,13 +85,13 @@ fn byte_strings() { - } - } - -- test_byte_string("b\"a\"", b"a"); -- test_byte_string("b\"\\n\"", b"\n"); -- test_byte_string("b\"\\r\"", b"\r"); -- test_byte_string("b\"\\t\"", b"\t"); -- test_byte_string("b\"\\\"\"", b"\""); -- test_byte_string("b\"'\"", b"'"); -- test_byte_string("b\"\"", b""); -+ test_byte_string(r#" b"" "#, b""); -+ test_byte_string(r#" b"a" "#, b"a"); -+ test_byte_string(r#" b"\n" "#, b"\n"); -+ test_byte_string(r#" b"\r" "#, b"\r"); -+ test_byte_string(r#" b"\t" "#, b"\t"); -+ test_byte_string(r#" b"\"" "#, b"\""); -+ test_byte_string(r#" b"'" "#, b"'"); - test_byte_string( - "b\"contains\nnewlines\\\nescaped newlines\"", - b"contains\nnewlinesescaped newlines", -@@ -95,9 +102,50 @@ fn byte_strings() { - test_byte_string("br##\"...\"##q", b"..."); - } - -+#[test] -+fn c_strings() { -+ #[track_caller] -+ fn test_c_string(s: &str, value: &CStr) { -+ let s = s.trim(); -+ match lit(s) { -+ Lit::CStr(lit) => { -+ assert_eq!(*lit.value(), *value); -+ let again = lit.into_token_stream().to_string(); -+ if again != s { -+ test_c_string(&again, value); -+ } -+ } -+ wrong => panic!("{:?}", wrong), -+ } -+ } -+ -+ test_c_string(r#" c"" "#, c""); -+ test_c_string(r#" c"a" "#, c"a"); -+ test_c_string(r#" c"\n" "#, c"\n"); -+ test_c_string(r#" c"\r" "#, c"\r"); -+ test_c_string(r#" c"\t" "#, c"\t"); -+ test_c_string(r#" c"\\" "#, c"\\"); -+ test_c_string(r#" c"\'" "#, c"'"); -+ test_c_string(r#" c"\"" "#, c"\""); -+ test_c_string( -+ "c\"contains\nnewlines\\\nescaped newlines\"", -+ c"contains\nnewlinesescaped newlines", -+ ); -+ test_c_string("cr\"raw\nstring\\\nhere\"", c"raw\nstring\\\nhere"); -+ test_c_string("c\"...\"q", c"..."); -+ test_c_string("cr\"...\"", c"..."); -+ test_c_string("cr##\"...\"##", c"..."); -+ test_c_string( -+ r#" c"hello\x80我叫\u{1F980}" "#, // from the RFC -+ c"hello\x80我叫\u{1F980}", -+ ); -+} -+ - #[test] - fn bytes() { -+ #[track_caller] - fn test_byte(s: &str, value: u8) { -+ let s = s.trim(); - match lit(s) { - Lit::Byte(lit) => { - assert_eq!(lit.value(), value); -@@ -108,18 +156,20 @@ fn bytes() { - } - } - -- test_byte("b'a'", b'a'); -- test_byte("b'\\n'", b'\n'); -- test_byte("b'\\r'", b'\r'); -- test_byte("b'\\t'", b'\t'); -- test_byte("b'\\''", b'\''); -- test_byte("b'\"'", b'"'); -- test_byte("b'a'q", b'a'); -+ test_byte(r#" b'a' "#, b'a'); -+ test_byte(r#" b'\n' "#, b'\n'); -+ test_byte(r#" b'\r' "#, b'\r'); -+ test_byte(r#" b'\t' "#, b'\t'); -+ test_byte(r#" b'\'' "#, b'\''); -+ test_byte(r#" b'"' "#, b'"'); -+ test_byte(r#" b'a'q "#, b'a'); - } - - #[test] - fn chars() { -+ #[track_caller] - fn test_char(s: &str, value: char) { -+ let s = s.trim(); - match lit(s) { - Lit::Char(lit) => { - assert_eq!(lit.value(), value); -@@ -132,19 +182,20 @@ fn chars() { - } - } - -- test_char("'a'", 'a'); -- test_char("'\\n'", '\n'); -- test_char("'\\r'", '\r'); -- test_char("'\\t'", '\t'); -- test_char("'🐕'", '🐕'); // NOTE: This is an emoji -- test_char("'\\''", '\''); -- test_char("'\"'", '"'); -- test_char("'\\u{1F415}'", '\u{1F415}'); -- test_char("'a'q", 'a'); -+ test_char(r#" 'a' "#, 'a'); -+ test_char(r#" '\n' "#, '\n'); -+ test_char(r#" '\r' "#, '\r'); -+ test_char(r#" '\t' "#, '\t'); -+ test_char(r#" '🐕' "#, '🐕'); // NOTE: This is an emoji -+ test_char(r#" '\'' "#, '\''); -+ test_char(r#" '"' "#, '"'); -+ test_char(r#" '\u{1F415}' "#, '\u{1F415}'); -+ test_char(r#" 'a'q "#, 'a'); - } - - #[test] - fn ints() { -+ #[track_caller] - fn test_int(s: &str, value: u64, suffix: &str) { - match lit(s) { - Lit::Int(lit) => { -@@ -185,6 +236,7 @@ fn ints() { - - #[test] - fn floats() { -+ #[track_caller] - fn test_float(s: &str, value: f64, suffix: &str) { - match lit(s) { - Lit::Float(lit) => { -@@ -224,11 +276,13 @@ fn negative() { - - #[test] - fn suffix() { -+ #[track_caller] - fn get_suffix(token: &str) -> String { - let lit = syn::parse_str::(token).unwrap(); - match lit { - Lit::Str(lit) => lit.suffix().to_owned(), - Lit::ByteStr(lit) => lit.suffix().to_owned(), -+ Lit::CStr(lit) => lit.suffix().to_owned(), - Lit::Byte(lit) => lit.suffix().to_owned(), - Lit::Char(lit) => lit.suffix().to_owned(), - Lit::Int(lit) => lit.suffix().to_owned(), -@@ -239,9 +293,13 @@ fn suffix() { - - assert_eq!(get_suffix("\"\"s"), "s"); - assert_eq!(get_suffix("r\"\"r"), "r"); -+ assert_eq!(get_suffix("r#\"\"#r"), "r"); - assert_eq!(get_suffix("b\"\"b"), "b"); - assert_eq!(get_suffix("br\"\"br"), "br"); -- assert_eq!(get_suffix("r#\"\"#r"), "r"); -+ assert_eq!(get_suffix("br#\"\"#br"), "br"); -+ assert_eq!(get_suffix("c\"\"c"), "c"); -+ assert_eq!(get_suffix("cr\"\"cr"), "cr"); -+ assert_eq!(get_suffix("cr#\"\"#cr"), "cr"); - assert_eq!(get_suffix("'c'c"), "c"); - assert_eq!(get_suffix("b'b'b"), "b"); - assert_eq!(get_suffix("1i32"), "i32"); -diff -Nur a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/build.rs ---- a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs 2024-04-10 23:25:21.000000000 +0200 -+++ b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/build.rs 2024-05-29 18:02:25.000000000 +0200 -@@ -36,10 +36,10 @@ - - use std::env; - use std::ffi::OsString; -+use std::iter; - use std::path::Path; - use std::process::{self, Command, Stdio}; - use std::str; --use std::u32; - - fn main() { - let rustc = rustc_minor_version().unwrap_or(u32::MAX); -@@ -63,6 +63,11 @@ - println!("cargo:rustc-cfg=no_source_text"); - } - -+ if rustc < 79 { -+ println!("cargo:rustc-cfg=no_literal_byte_character"); -+ println!("cargo:rustc-cfg=no_literal_c_string"); -+ } -+ - if !cfg!(feature = "proc-macro") { - println!("cargo:rerun-if-changed=build.rs"); - return; -@@ -138,15 +143,15 @@ - let out_dir = cargo_env_var("OUT_DIR"); - let probefile = Path::new("build").join("probe.rs"); - -- // Make sure to pick up Cargo rustc configuration. -- let mut cmd = if let Some(wrapper) = env::var_os("RUSTC_WRAPPER") { -- let mut cmd = Command::new(wrapper); -- // The wrapper's first argument is supposed to be the path to rustc. -- cmd.arg(rustc); -- cmd -- } else { -- Command::new(rustc) -- }; -+ let rustc_wrapper = env::var_os("RUSTC_WRAPPER").filter(|wrapper| !wrapper.is_empty()); -+ let rustc_workspace_wrapper = -+ env::var_os("RUSTC_WORKSPACE_WRAPPER").filter(|wrapper| !wrapper.is_empty()); -+ let mut rustc = rustc_wrapper -+ .into_iter() -+ .chain(rustc_workspace_wrapper) -+ .chain(iter::once(rustc)); -+ let mut cmd = Command::new(rustc.next().unwrap()); -+ cmd.args(rustc); - - if !rustc_bootstrap { - cmd.env_remove("RUSTC_BOOTSTRAP"); -@@ -156,6 +161,7 @@ - .arg("--edition=2021") - .arg("--crate-name=proc_macro2") - .arg("--crate-type=lib") -+ .arg("--cap-lints=allow") - .arg("--emit=dep-info,metadata") - .arg("--out-dir") - .arg(out_dir) -diff -Nur a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/src/fallback.rs ---- a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs 2024-04-10 23:25:21.000000000 +0200 -+++ b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/src/fallback.rs 2024-05-29 18:02:25.000000000 +0200 -@@ -15,7 +15,9 @@ - use core::ops::Range; - use core::ops::RangeBounds; - use core::ptr; --use core::str::FromStr; -+use core::str::{self, FromStr}; -+use std::ffi::CStr; -+#[cfg(procmacro2_semver_exempt)] - use std::path::PathBuf; - - /// Force use of proc-macro2's fallback implementation of the API for now, even -@@ -297,11 +299,13 @@ - } - } - -+#[cfg(procmacro2_semver_exempt)] - #[derive(Clone, PartialEq, Eq)] - pub(crate) struct SourceFile { - path: PathBuf, - } - -+#[cfg(procmacro2_semver_exempt)] - impl SourceFile { - /// Get the path to this source file as a string. - pub fn path(&self) -> PathBuf { -@@ -313,6 +317,7 @@ - } - } - -+#[cfg(procmacro2_semver_exempt)] - impl Debug for SourceFile { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.debug_struct("SourceFile") -@@ -922,7 +927,7 @@ - - #[derive(Clone)] - pub(crate) struct Literal { -- repr: String, -+ pub(crate) repr: String, - span: Span, - } - -@@ -1003,71 +1008,98 @@ - Literal::_new(s) - } - -- pub fn string(t: &str) -> Literal { -- let mut repr = String::with_capacity(t.len() + 2); -+ pub fn string(string: &str) -> Literal { -+ let mut repr = String::with_capacity(string.len() + 2); - repr.push('"'); -- let mut chars = t.chars(); -- while let Some(ch) = chars.next() { -- if ch == '\0' { -- repr.push_str( -- if chars -- .as_str() -- .starts_with(|next| '0' <= next && next <= '7') -- { -- // circumvent clippy::octal_escapes lint -- "\\x00" -- } else { -- "\\0" -- }, -- ); -- } else if ch == '\'' { -- // escape_debug turns this into "\'" which is unnecessary. -- repr.push(ch); -- } else { -- repr.extend(ch.escape_debug()); -- } -- } -+ escape_utf8(string, &mut repr); - repr.push('"'); - Literal::_new(repr) - } - -- pub fn character(t: char) -> Literal { -+ pub fn character(ch: char) -> Literal { - let mut repr = String::new(); - repr.push('\''); -- if t == '"' { -+ if ch == '"' { - // escape_debug turns this into '\"' which is unnecessary. -- repr.push(t); -+ repr.push(ch); - } else { -- repr.extend(t.escape_debug()); -+ repr.extend(ch.escape_debug()); -+ } -+ repr.push('\''); -+ Literal::_new(repr) -+ } -+ -+ pub fn byte_character(byte: u8) -> Literal { -+ let mut repr = "b'".to_string(); -+ #[allow(clippy::match_overlapping_arm)] -+ match byte { -+ b'\0' => repr.push_str(r"\0"), -+ b'\t' => repr.push_str(r"\t"), -+ b'\n' => repr.push_str(r"\n"), -+ b'\r' => repr.push_str(r"\r"), -+ b'\'' => repr.push_str(r"\'"), -+ b'\\' => repr.push_str(r"\\"), -+ b'\x20'..=b'\x7E' => repr.push(byte as char), -+ _ => { -+ let _ = write!(repr, r"\x{:02X}", byte); -+ } - } - repr.push('\''); - Literal::_new(repr) - } - - pub fn byte_string(bytes: &[u8]) -> Literal { -- let mut escaped = "b\"".to_string(); -+ let mut repr = "b\"".to_string(); - let mut bytes = bytes.iter(); - while let Some(&b) = bytes.next() { - #[allow(clippy::match_overlapping_arm)] - match b { -- b'\0' => escaped.push_str(match bytes.as_slice().first() { -+ b'\0' => repr.push_str(match bytes.as_slice().first() { - // circumvent clippy::octal_escapes lint - Some(b'0'..=b'7') => r"\x00", - _ => r"\0", - }), -- b'\t' => escaped.push_str(r"\t"), -- b'\n' => escaped.push_str(r"\n"), -- b'\r' => escaped.push_str(r"\r"), -- b'"' => escaped.push_str("\\\""), -- b'\\' => escaped.push_str("\\\\"), -- b'\x20'..=b'\x7E' => escaped.push(b as char), -+ b'\t' => repr.push_str(r"\t"), -+ b'\n' => repr.push_str(r"\n"), -+ b'\r' => repr.push_str(r"\r"), -+ b'"' => repr.push_str("\\\""), -+ b'\\' => repr.push_str(r"\\"), -+ b'\x20'..=b'\x7E' => repr.push(b as char), - _ => { -- let _ = write!(escaped, "\\x{:02X}", b); -+ let _ = write!(repr, r"\x{:02X}", b); - } - } - } -- escaped.push('"'); -- Literal::_new(escaped) -+ repr.push('"'); -+ Literal::_new(repr) -+ } -+ -+ pub fn c_string(string: &CStr) -> Literal { -+ let mut repr = "c\"".to_string(); -+ let mut bytes = string.to_bytes(); -+ while !bytes.is_empty() { -+ let (valid, invalid) = match str::from_utf8(bytes) { -+ Ok(all_valid) => { -+ bytes = b""; -+ (all_valid, bytes) -+ } -+ Err(utf8_error) => { -+ let (valid, rest) = bytes.split_at(utf8_error.valid_up_to()); -+ let valid = str::from_utf8(valid).unwrap(); -+ let invalid = utf8_error -+ .error_len() -+ .map_or(rest, |error_len| &rest[..error_len]); -+ bytes = &bytes[valid.len() + invalid.len()..]; -+ (valid, invalid) -+ } -+ }; -+ escape_utf8(valid, &mut repr); -+ for &byte in invalid { -+ let _ = write!(repr, r"\x{:02X}", byte); -+ } -+ } -+ repr.push('"'); -+ Literal::_new(repr) - } - - pub fn span(&self) -> Span { -@@ -1168,3 +1200,27 @@ - debug.finish() - } - } -+ -+fn escape_utf8(string: &str, repr: &mut String) { -+ let mut chars = string.chars(); -+ while let Some(ch) = chars.next() { -+ if ch == '\0' { -+ repr.push_str( -+ if chars -+ .as_str() -+ .starts_with(|next| '0' <= next && next <= '7') -+ { -+ // circumvent clippy::octal_escapes lint -+ r"\x00" -+ } else { -+ r"\0" -+ }, -+ ); -+ } else if ch == '\'' { -+ // escape_debug turns this into "\'" which is unnecessary. -+ repr.push(ch); -+ } else { -+ repr.extend(ch.escape_debug()); -+ } -+ } -+} -diff -Nur a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/src/lib.rs ---- a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs 2024-04-10 23:25:21.000000000 +0200 -+++ b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/src/lib.rs 2024-05-29 18:02:25.000000000 +0200 -@@ -86,7 +86,7 @@ - //! a different thread. - - // Proc-macro2 types in rustdoc of other crates get linked to here. --#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.78")] -+#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.81")] - #![cfg_attr(any(proc_macro_span, super_unstable), feature(proc_macro_span))] - #![cfg_attr(super_unstable, feature(proc_macro_def_site))] - #![cfg_attr(doc_cfg, feature(doc_cfg))] -@@ -96,6 +96,7 @@ - clippy::cast_possible_truncation, - clippy::checked_conversions, - clippy::doc_markdown, -+ clippy::incompatible_msrv, - clippy::items_after_statements, - clippy::iter_without_into_iter, - clippy::let_underscore_untyped, -@@ -169,6 +170,7 @@ - use core::ops::RangeBounds; - use core::str::FromStr; - use std::error::Error; -+use std::ffi::CStr; - #[cfg(procmacro2_semver_exempt)] - use std::path::PathBuf; - -@@ -676,12 +678,12 @@ - Brace, - /// `[ ... ]` - Bracket, -- /// `Ø ... Ø` -+ /// `∅ ... ∅` - /// -- /// An implicit delimiter, that may, for example, appear around tokens -+ /// An invisible delimiter, that may, for example, appear around tokens - /// coming from a "macro variable" `$var`. It is important to preserve - /// operator priorities in cases like `$var * 3` where `$var` is `1 + 2`. -- /// Implicit delimiters may not survive roundtrip of a token stream through -+ /// Invisible delimiters may not survive roundtrip of a token stream through - /// a string. - None, - } -@@ -1233,9 +1235,19 @@ - Literal::_new(imp::Literal::character(ch)) - } - -+ /// Byte character literal. -+ pub fn byte_character(byte: u8) -> Literal { -+ Literal::_new(imp::Literal::byte_character(byte)) -+ } -+ - /// Byte string literal. -- pub fn byte_string(s: &[u8]) -> Literal { -- Literal::_new(imp::Literal::byte_string(s)) -+ pub fn byte_string(bytes: &[u8]) -> Literal { -+ Literal::_new(imp::Literal::byte_string(bytes)) -+ } -+ -+ /// C string literal. -+ pub fn c_string(string: &CStr) -> Literal { -+ Literal::_new(imp::Literal::c_string(string)) - } - - /// Returns the span encompassing this literal. -diff -Nur a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/src/wrapper.rs ---- a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs 2024-04-10 23:25:21.000000000 +0200 -+++ b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/src/wrapper.rs 2024-05-29 18:02:25.000000000 +0200 -@@ -7,6 +7,7 @@ - use core::ops::Range; - use core::ops::RangeBounds; - use core::str::FromStr; -+use std::ffi::CStr; - use std::panic; - #[cfg(super_unstable)] - use std::path::PathBuf; -@@ -846,19 +847,38 @@ - } - } - -- pub fn string(t: &str) -> Literal { -+ pub fn string(string: &str) -> Literal { - if inside_proc_macro() { -- Literal::Compiler(proc_macro::Literal::string(t)) -+ Literal::Compiler(proc_macro::Literal::string(string)) - } else { -- Literal::Fallback(fallback::Literal::string(t)) -+ Literal::Fallback(fallback::Literal::string(string)) - } - } - -- pub fn character(t: char) -> Literal { -+ pub fn character(ch: char) -> Literal { - if inside_proc_macro() { -- Literal::Compiler(proc_macro::Literal::character(t)) -+ Literal::Compiler(proc_macro::Literal::character(ch)) - } else { -- Literal::Fallback(fallback::Literal::character(t)) -+ Literal::Fallback(fallback::Literal::character(ch)) -+ } -+ } -+ -+ pub fn byte_character(byte: u8) -> Literal { -+ if inside_proc_macro() { -+ Literal::Compiler({ -+ #[cfg(not(no_literal_byte_character))] -+ { -+ proc_macro::Literal::byte_character(byte) -+ } -+ -+ #[cfg(no_literal_byte_character)] -+ { -+ let fallback = fallback::Literal::byte_character(byte); -+ fallback.repr.parse::().unwrap() -+ } -+ }) -+ } else { -+ Literal::Fallback(fallback::Literal::byte_character(byte)) - } - } - -@@ -870,6 +890,25 @@ - } - } - -+ pub fn c_string(string: &CStr) -> Literal { -+ if inside_proc_macro() { -+ Literal::Compiler({ -+ #[cfg(not(no_literal_c_string))] -+ { -+ proc_macro::Literal::c_string(string) -+ } -+ -+ #[cfg(no_literal_c_string)] -+ { -+ let fallback = fallback::Literal::c_string(string); -+ fallback.repr.parse::().unwrap() -+ } -+ }) -+ } else { -+ Literal::Fallback(fallback::Literal::c_string(string)) -+ } -+ } -+ - pub fn span(&self) -> Span { - match self { - Literal::Compiler(lit) => Span::Compiler(lit.span()), -diff -Nur a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/tests/marker.rs ---- a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs 2024-04-10 23:25:21.000000000 +0200 -+++ b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/tests/marker.rs 2024-05-29 18:02:25.000000000 +0200 -@@ -21,6 +21,7 @@ - $( - { - // Implemented for types that implement $marker. -+ #[allow(dead_code)] - trait IsNotImplemented { - fn assert_not_implemented() {} - } -diff -Nur a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/tests/test.rs ---- a/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs 2024-04-10 23:25:21.000000000 +0200 -+++ b/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.81/tests/test.rs 2024-05-29 18:02:25.000000000 +0200 -@@ -1,11 +1,14 @@ - #![allow( - clippy::assertions_on_result_states, - clippy::items_after_statements, -+ clippy::needless_pass_by_value, -+ clippy::needless_raw_string_hashes, - clippy::non_ascii_literal, - clippy::octal_escapes - )] - - use proc_macro2::{Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree}; -+use std::ffi::CStr; - use std::iter; - use std::str::{self, FromStr}; - -@@ -96,12 +99,22 @@ - - #[test] - fn literal_string() { -- assert_eq!(Literal::string("foo").to_string(), "\"foo\""); -- assert_eq!(Literal::string("\"").to_string(), "\"\\\"\""); -- assert_eq!(Literal::string("didn't").to_string(), "\"didn't\""); -- assert_eq!( -- Literal::string("a\00b\07c\08d\0e\0").to_string(), -- "\"a\\x000b\\x007c\\08d\\0e\\0\"", -+ #[track_caller] -+ fn assert(literal: Literal, expected: &str) { -+ assert_eq!(literal.to_string(), expected.trim()); -+ } -+ -+ assert(Literal::string(""), r#" "" "#); -+ assert(Literal::string("aA"), r#" "aA" "#); -+ assert(Literal::string("\t"), r#" "\t" "#); -+ assert(Literal::string("❤"), r#" "❤" "#); -+ assert(Literal::string("'"), r#" "'" "#); -+ assert(Literal::string("\""), r#" "\"" "#); -+ assert(Literal::string("\0"), r#" "\0" "#); -+ assert(Literal::string("\u{1}"), r#" "\u{1}" "#); -+ assert( -+ Literal::string("a\00b\07c\08d\0e\0"), -+ r#" "a\x000b\x007c\08d\0e\0" "#, - ); - - "\"\\\r\n x\"".parse::().unwrap(); -@@ -133,15 +146,42 @@ - } - - #[test] -+fn literal_byte_character() { -+ #[track_caller] -+ fn assert(literal: Literal, expected: &str) { -+ assert_eq!(literal.to_string(), expected.trim()); -+ } -+ -+ assert(Literal::byte_character(b'a'), r#" b'a' "#); -+ assert(Literal::byte_character(b'\0'), r#" b'\0' "#); -+ assert(Literal::byte_character(b'\t'), r#" b'\t' "#); -+ assert(Literal::byte_character(b'\n'), r#" b'\n' "#); -+ assert(Literal::byte_character(b'\r'), r#" b'\r' "#); -+ assert(Literal::byte_character(b'\''), r#" b'\'' "#); -+ assert(Literal::byte_character(b'\\'), r#" b'\\' "#); -+ assert(Literal::byte_character(b'\x1f'), r#" b'\x1F' "#); -+ assert(Literal::byte_character(b'"'), r#" b'"' "#); -+} -+ -+#[test] - fn literal_byte_string() { -- assert_eq!(Literal::byte_string(b"").to_string(), "b\"\""); -- assert_eq!( -- Literal::byte_string(b"\0\t\n\r\"\\2\x10").to_string(), -- "b\"\\0\\t\\n\\r\\\"\\\\2\\x10\"", -- ); -- assert_eq!( -- Literal::byte_string(b"a\00b\07c\08d\0e\0").to_string(), -- "b\"a\\x000b\\x007c\\08d\\0e\\0\"", -+ #[track_caller] -+ fn assert(literal: Literal, expected: &str) { -+ assert_eq!(literal.to_string(), expected.trim()); -+ } -+ -+ assert(Literal::byte_string(b""), r#" b"" "#); -+ assert(Literal::byte_string(b"\0"), r#" b"\0" "#); -+ assert(Literal::byte_string(b"\t"), r#" b"\t" "#); -+ assert(Literal::byte_string(b"\n"), r#" b"\n" "#); -+ assert(Literal::byte_string(b"\r"), r#" b"\r" "#); -+ assert(Literal::byte_string(b"\""), r#" b"\"" "#); -+ assert(Literal::byte_string(b"\\"), r#" b"\\" "#); -+ assert(Literal::byte_string(b"\x1f"), r#" b"\x1F" "#); -+ assert(Literal::byte_string(b"'"), r#" b"'" "#); -+ assert( -+ Literal::byte_string(b"a\00b\07c\08d\0e\0"), -+ r#" b"a\x000b\x007c\08d\0e\0" "#, - ); - - "b\"\\\r\n x\"".parse::().unwrap(); -@@ -152,6 +192,41 @@ - - #[test] - fn literal_c_string() { -+ #[track_caller] -+ fn assert(literal: Literal, expected: &str) { -+ assert_eq!(literal.to_string(), expected.trim()); -+ } -+ -+ assert(Literal::c_string(<&CStr>::default()), r#" c"" "#); -+ assert( -+ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()), -+ r#" c"aA" "#, -+ ); -+ assert( -+ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()), -+ r#" c"aA" "#, -+ ); -+ assert( -+ Literal::c_string(CStr::from_bytes_with_nul(b"\t\0").unwrap()), -+ r#" c"\t" "#, -+ ); -+ assert( -+ Literal::c_string(CStr::from_bytes_with_nul(b"\xE2\x9D\xA4\0").unwrap()), -+ r#" c"❤" "#, -+ ); -+ assert( -+ Literal::c_string(CStr::from_bytes_with_nul(b"'\0").unwrap()), -+ r#" c"'" "#, -+ ); -+ assert( -+ Literal::c_string(CStr::from_bytes_with_nul(b"\"\0").unwrap()), -+ r#" c"\"" "#, -+ ); -+ assert( -+ Literal::c_string(CStr::from_bytes_with_nul(b"\x7F\xFF\xFE\xCC\xB3\0").unwrap()), -+ r#" c"\u{7f}\xFF\xFE\u{333}" "#, -+ ); -+ - let strings = r###" - c"hello\x80我叫\u{1F980}" // from the RFC - cr"\" -@@ -188,49 +263,80 @@ - - #[test] - fn literal_character() { -- assert_eq!(Literal::character('x').to_string(), "'x'"); -- assert_eq!(Literal::character('\'').to_string(), "'\\''"); -- assert_eq!(Literal::character('"').to_string(), "'\"'"); -+ #[track_caller] -+ fn assert(literal: Literal, expected: &str) { -+ assert_eq!(literal.to_string(), expected.trim()); -+ } -+ -+ assert(Literal::character('a'), r#" 'a' "#); -+ assert(Literal::character('\t'), r#" '\t' "#); -+ assert(Literal::character('❤'), r#" '❤' "#); -+ assert(Literal::character('\''), r#" '\'' "#); -+ assert(Literal::character('"'), r#" '"' "#); -+ assert(Literal::character('\0'), r#" '\0' "#); -+ assert(Literal::character('\u{1}'), r#" '\u{1}' "#); - } - - #[test] - fn literal_integer() { -- assert_eq!(Literal::u8_suffixed(10).to_string(), "10u8"); -- assert_eq!(Literal::u16_suffixed(10).to_string(), "10u16"); -- assert_eq!(Literal::u32_suffixed(10).to_string(), "10u32"); -- assert_eq!(Literal::u64_suffixed(10).to_string(), "10u64"); -- assert_eq!(Literal::u128_suffixed(10).to_string(), "10u128"); -- assert_eq!(Literal::usize_suffixed(10).to_string(), "10usize"); -- -- assert_eq!(Literal::i8_suffixed(10).to_string(), "10i8"); -- assert_eq!(Literal::i16_suffixed(10).to_string(), "10i16"); -- assert_eq!(Literal::i32_suffixed(10).to_string(), "10i32"); -- assert_eq!(Literal::i64_suffixed(10).to_string(), "10i64"); -- assert_eq!(Literal::i128_suffixed(10).to_string(), "10i128"); -- assert_eq!(Literal::isize_suffixed(10).to_string(), "10isize"); -- -- assert_eq!(Literal::u8_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::u16_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::u32_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::u64_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::u128_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::usize_unsuffixed(10).to_string(), "10"); -- -- assert_eq!(Literal::i8_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::i16_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::i32_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::i64_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::i128_unsuffixed(10).to_string(), "10"); -- assert_eq!(Literal::isize_unsuffixed(10).to_string(), "10"); -+ #[track_caller] -+ fn assert(literal: Literal, expected: &str) { -+ assert_eq!(literal.to_string(), expected); -+ } -+ -+ assert(Literal::u8_suffixed(10), "10u8"); -+ assert(Literal::u16_suffixed(10), "10u16"); -+ assert(Literal::u32_suffixed(10), "10u32"); -+ assert(Literal::u64_suffixed(10), "10u64"); -+ assert(Literal::u128_suffixed(10), "10u128"); -+ assert(Literal::usize_suffixed(10), "10usize"); -+ -+ assert(Literal::i8_suffixed(10), "10i8"); -+ assert(Literal::i16_suffixed(10), "10i16"); -+ assert(Literal::i32_suffixed(10), "10i32"); -+ assert(Literal::i64_suffixed(10), "10i64"); -+ assert(Literal::i128_suffixed(10), "10i128"); -+ assert(Literal::isize_suffixed(10), "10isize"); -+ -+ assert(Literal::u8_unsuffixed(10), "10"); -+ assert(Literal::u16_unsuffixed(10), "10"); -+ assert(Literal::u32_unsuffixed(10), "10"); -+ assert(Literal::u64_unsuffixed(10), "10"); -+ assert(Literal::u128_unsuffixed(10), "10"); -+ assert(Literal::usize_unsuffixed(10), "10"); -+ -+ assert(Literal::i8_unsuffixed(10), "10"); -+ assert(Literal::i16_unsuffixed(10), "10"); -+ assert(Literal::i32_unsuffixed(10), "10"); -+ assert(Literal::i64_unsuffixed(10), "10"); -+ assert(Literal::i128_unsuffixed(10), "10"); -+ assert(Literal::isize_unsuffixed(10), "10"); -+ -+ assert(Literal::i32_suffixed(-10), "-10i32"); -+ assert(Literal::i32_unsuffixed(-10), "-10"); - } - - #[test] - fn literal_float() { -- assert_eq!(Literal::f32_suffixed(10.0).to_string(), "10f32"); -- assert_eq!(Literal::f64_suffixed(10.0).to_string(), "10f64"); -- -- assert_eq!(Literal::f32_unsuffixed(10.0).to_string(), "10.0"); -- assert_eq!(Literal::f64_unsuffixed(10.0).to_string(), "10.0"); -+ #[track_caller] -+ fn assert(literal: Literal, expected: &str) { -+ assert_eq!(literal.to_string(), expected); -+ } -+ -+ assert(Literal::f32_suffixed(10.0), "10f32"); -+ assert(Literal::f32_suffixed(-10.0), "-10f32"); -+ assert(Literal::f64_suffixed(10.0), "10f64"); -+ assert(Literal::f64_suffixed(-10.0), "-10f64"); -+ -+ assert(Literal::f32_unsuffixed(10.0), "10.0"); -+ assert(Literal::f32_unsuffixed(-10.0), "-10.0"); -+ assert(Literal::f64_unsuffixed(10.0), "10.0"); -+ assert(Literal::f64_unsuffixed(-10.0), "-10.0"); -+ -+ assert( -+ Literal::f64_unsuffixed(1e100), -+ "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0", -+ ); - } - - #[test] -@@ -248,9 +354,13 @@ - assert_eq!(token_count("1._m"), 3); - assert_eq!(token_count("\"\"s"), 1); - assert_eq!(token_count("r\"\"r"), 1); -+ assert_eq!(token_count("r#\"\"#r"), 1); - assert_eq!(token_count("b\"\"b"), 1); - assert_eq!(token_count("br\"\"br"), 1); -- assert_eq!(token_count("r#\"\"#r"), 1); -+ assert_eq!(token_count("br#\"\"#br"), 1); -+ assert_eq!(token_count("c\"\"c"), 1); -+ assert_eq!(token_count("cr\"\"cr"), 1); -+ assert_eq!(token_count("cr#\"\"#cr"), 1); - assert_eq!(token_count("'c'c"), 1); - assert_eq!(token_count("b'b'b"), 1); - assert_eq!(token_count("0E"), 1); -@@ -378,7 +488,7 @@ - roundtrip("'a"); - roundtrip("'_"); - roundtrip("'static"); -- roundtrip("'\\u{10__FFFF}'"); -+ roundtrip(r"'\u{10__FFFF}'"); - roundtrip("\"\\u{10_F0FF__}foo\\u{1_0_0_0__}\""); - } - -@@ -401,6 +511,7 @@ - fail("\"\\\r \""); // backslash carriage return - fail("'aa'aa"); - fail("br##\"\"#"); -+ fail("cr##\"\"#"); - fail("\"\\\n\u{85}\r\""); - } - diff --git a/SOURCES/chromium-126-el7-std_variant.patch b/SOURCES/chromium-126-el7-std_variant.patch deleted file mode 100644 index 3375bfcb..00000000 --- a/SOURCES/chromium-126-el7-std_variant.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff -up chromium-126.0.6478.26/components/visited_url_ranking/internal/visited_url_ranking_service_impl.cc.std_variant chromium-126.0.6478.26/components/visited_url_ranking/internal/visited_url_ranking_service_impl.cc ---- chromium-126.0.6478.26/components/visited_url_ranking/internal/visited_url_ranking_service_impl.cc.std_variant 2024-06-04 12:31:10.602282813 +0200 -+++ chromium-126.0.6478.26/components/visited_url_ranking/internal/visited_url_ranking_service_impl.cc 2024-06-04 13:21:50.121345183 +0200 -@@ -7,7 +7,6 @@ - #include - #include - #include --#include - #include - - #include "base/barrier_callback.h" -@@ -41,20 +40,16 @@ std::vector ComputeUR - for (std::pair& - url_data : result.data) { - URLVisitAggregate& aggregate = url_visit_map[url_data.first]; -- std::visit( -- URLVisitVariantHelper{ -- [&aggregate](URLVisitAggregate::TabData& tab_data) { -- aggregate.fetcher_data_map.emplace( -- tab_data.last_active_tab.session_name.has_value() -- ? Fetcher::kSession -- : Fetcher::kTabModel, -- std::move(tab_data)); -- }, -- [&aggregate](URLVisitAggregate::HistoryData& history_data) { -- aggregate.fetcher_data_map.emplace(Fetcher::kHistory, -- std::move(history_data)); -- }}, -- url_data.second); -+ if (std::holds_alternative(url_data.second)) { -+ auto& tab_data = std::get(url_data.second); -+ aggregate.fetcher_data_map.emplace( -+ tab_data.last_active_tab.session_name.has_value() -+ ? Fetcher::kSession -+ : Fetcher::kTabModel, -+ std::move(tab_data)); -+ } -+ // TODO(crbug.com/330580109): Add support for history fetcher and -+ // associated aggregate data type. - } - } - -diff -up chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.cc.std_variant chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.cc ---- chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.cc.std_variant 2024-06-04 12:29:20.593240495 +0200 -+++ chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.cc 2024-06-04 12:29:57.253921979 +0200 -@@ -37,14 +37,12 @@ URLVisitAggregate& URLVisitAggregate::op - std::set URLVisitAggregate::GetAssociatedURLs() const { - std::set urls = {}; - for (const auto& fetcher_entry : fetcher_data_map) { -- std::visit(URLVisitVariantHelper{ -- [&urls](const URLVisitAggregate::TabData& tab_data) { -- urls.insert(&tab_data.last_active_tab.visit.url); -- }, -- [&urls](const URLVisitAggregate::HistoryData& history_data) { -- urls.insert(&history_data.last_visited.url_row.url()); -- }}, -- fetcher_entry.second); -+ if (std::holds_alternative( -+ fetcher_entry.second)) { -+ const auto& tab_data = -+ std::get(fetcher_entry.second); -+ urls.insert(&tab_data.last_active_tab.visit.url); -+ } - } - return urls; - } -diff -up chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.h.std_variant chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.h ---- chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.h.std_variant 2024-06-04 11:05:39.505847241 +0200 -+++ chromium-126.0.6478.26/components/visited_url_ranking/public/url_visit.h 2024-06-04 13:22:26.518007748 +0200 -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - #include - - #include "base/functional/callback.h" -@@ -140,18 +141,6 @@ struct URLVisitAggregate { - bool bookmarked = false; - }; - --// Helper to visit each variant of URLVisitVariant. --// Usage: --// std::visit(URLVisitVariantHelper{ --// [](Variant1& variant1) {}, --// [](Variant2& variant1) {}, --// [](Variant3& variant1) {}, --// variant_data); --template --struct URLVisitVariantHelper : Ts... { -- using Ts::operator()...; --}; -- - } // namespace visited_url_ranking - - #endif // COMPONENTS_VISITED_URL_RANKING_PUBLIC_URL_VISIT_H_ diff --git a/SOURCES/chromium-126-el7-stdformat.patch b/SOURCES/chromium-126-el7-stdformat.patch deleted file mode 100644 index 80a2da82..00000000 --- a/SOURCES/chromium-126-el7-stdformat.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up chromium-126.0.6478.26/chrome/renderer/accessibility/read_anything_app_model.cc.stdformat chromium-126.0.6478.26/chrome/renderer/accessibility/read_anything_app_model.cc ---- chromium-126.0.6478.26/chrome/renderer/accessibility/read_anything_app_model.cc.stdformat 2024-06-03 22:52:18.596936767 +0200 -+++ chromium-126.0.6478.26/chrome/renderer/accessibility/read_anything_app_model.cc 2024-06-03 23:26:46.024734453 +0200 -@@ -1059,7 +1059,7 @@ std::string ReadAnythingAppModel::GetHtm - int32_t hierarchical_level = - ax_node->GetIntAttribute(ax::mojom::IntAttribute::kHierarchicalLevel); - if (hierarchical_level) { -- return std::format("h{}", hierarchical_level); -+ return std::string("h" + std::to_string(hierarchical_level)); - } - } - -@@ -1159,7 +1159,7 @@ std::string ReadAnythingAppModel::GetHea - int32_t hierarchical_level = - ax_node->GetIntAttribute(ax::mojom::IntAttribute::kHierarchicalLevel); - if (hierarchical_level) { -- return std::format("h{}", hierarchical_level); -+ return std::string("h" + std::to_string(hierarchical_level)); - } - return html_tag; - } diff --git a/SOURCES/chromium-126-el7-type-alias.patch b/SOURCES/chromium-126-el7-type-alias.patch deleted file mode 100644 index 38e7bc11..00000000 --- a/SOURCES/chromium-126-el7-type-alias.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up chromium-126.0.6478.26/components/plus_addresses/plus_address_service.cc.el7-type-alias chromium-126.0.6478.26/components/plus_addresses/plus_address_service.cc ---- chromium-126.0.6478.26/components/plus_addresses/plus_address_service.cc.el7-type-alias 2024-05-29 18:01:08.000000000 +0200 -+++ chromium-126.0.6478.26/components/plus_addresses/plus_address_service.cc 2024-06-02 17:32:29.917153207 +0200 -@@ -196,7 +196,7 @@ std::vector PlusAddressServi - bool is_off_the_record, - std::u16string_view focused_field_value, - autofill::AutofillSuggestionTriggerSource trigger_source) { -- using enum autofill::AutofillSuggestionTriggerSource; -+ using autofill::AutofillSuggestionTriggerSource; - if (!SupportsPlusAddresses(last_committed_primary_main_frame_origin, - is_off_the_record)) { - return {}; -@@ -207,7 +207,7 @@ std::vector PlusAddressServi - std::optional maybe_address = - GetPlusAddress(OriginToFacet(last_committed_primary_main_frame_origin)); - if (maybe_address == std::nullopt) { -- if (trigger_source != kManualFallbackPlusAddresses && -+ if (trigger_source != AutofillSuggestionTriggerSource::kManualFallbackPlusAddresses && - !normalized_field_value.empty()) { - return {}; - } -@@ -222,7 +222,7 @@ std::vector PlusAddressServi - - // Only suggest filling a plus address whose prefix matches the field's value. - std::u16string address = base::UTF8ToUTF16(*maybe_address); -- if (trigger_source != kManualFallbackPlusAddresses && -+ if (trigger_source != AutofillSuggestionTriggerSource::kManualFallbackPlusAddresses && - !address.starts_with(normalized_field_value)) { - return {}; - } diff --git a/SOURCES/chromium-126-ifunc-header.patch b/SOURCES/chromium-126-el8-ifunc-header.patch similarity index 100% rename from SOURCES/chromium-126-ifunc-header.patch rename to SOURCES/chromium-126-el8-ifunc-header.patch diff --git a/SOURCES/chromium-127-ninja-1.21.1-deps-part0.patch b/SOURCES/chromium-127-ninja-1.21.1-deps-part0.patch new file mode 100644 index 00000000..52581fde --- /dev/null +++ b/SOURCES/chromium-127-ninja-1.21.1-deps-part0.patch @@ -0,0 +1,44 @@ +commit 4ca70656fde83d2db6ed5a8ac9ec9e7443846924 +Author: Lei Zhang +Date: Wed Jun 26 16:35:34 2024 +0000 + + Move chrome/browser/ui:webui_name_variants to public_deps + + The chrome/browser/ui build target contains webui_contents_wrapper.h, + which included the generated webui_name_variants.h header. For this to + work correctly, the build system must process the webui_name_variants + target first and generate webui_name_variants.h. To do this reliably, + without having to depend on webui_name_variants in all targets that + transitively include webui_contents_wrapper.h, make it a public_deps. + + Bug: 40253918, 346711540, 346699817, 345645751 + Change-Id: I6e0b573427cda1b2b408702f139b2c9e83f05045 + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5646245 + Reviewed-by: Anthony Vallée-Dubois + Commit-Queue: Lei Zhang + Cr-Commit-Position: refs/heads/main@{#1319828} + +diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn +index 46648a4c2194e..0883714163a31 100644 +--- a/chrome/browser/ui/BUILD.gn ++++ b/chrome/browser/ui/BUILD.gn +@@ -6436,7 +6436,6 @@ static_library("ui") { + } + + deps += [ +- ":webui_name_variants", + "side_search:side_search_tab_data_proto", + "//base", + "//chrome/browser:main_extra_parts", +@@ -6495,7 +6494,10 @@ static_library("ui") { + "//ui/lottie", + "//ui/views:buildflags", + ] +- public_deps += [ "//ui/base/dragdrop/mojom:mojom_headers" ] ++ public_deps += [ ++ ":webui_name_variants", ++ "//ui/base/dragdrop/mojom:mojom_headers", ++ ] + + allow_circular_includes_from += [ "//chrome/browser/ui/views" ] + diff --git a/SOURCES/chromium-127-ninja-1.21.1-deps-part1.patch b/SOURCES/chromium-127-ninja-1.21.1-deps-part1.patch new file mode 100644 index 00000000..6d62b32d --- /dev/null +++ b/SOURCES/chromium-127-ninja-1.21.1-deps-part1.patch @@ -0,0 +1,62 @@ +commit 50d63ffee3f7f1b1b9303363742ad8ebbfec31fa +Author: Lei Zhang +Date: Wed Jun 26 21:27:51 2024 +0000 + + Make more deps entries public_deps in chrome/browser/ui/BUILD.gn + + The chrome/browser/ui build target includes several buildflag headers. + For this to work correctly, the build system must be able to generate + the buildflag headers first. To do this reliably, without having to + depend on buildflag targets in all targets that transitively include the + headers that includes buildflag heaers, make these dependencies + public_deps. + + For //components/paint_preview/buildflags, remove the deps entry, as it + is already in public_deps. + + Bug: 40253918, 346711540, 346699817, 345645751 + Change-Id: I00e78a430f2e99aa3732406882b352d31e3d7da7 + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5647662 + Commit-Queue: Lei Zhang + Reviewed-by: Peter Kasting + Cr-Commit-Position: refs/heads/main@{#1320033} + +diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn +index bc6a7c03ecd1c..74f92f0431494 100644 +--- a/chrome/browser/ui/BUILD.gn ++++ b/chrome/browser/ui/BUILD.gn +@@ -415,8 +415,10 @@ static_library("ui") { + "//chrome/browser/ui/tabs:tab_enums", + "//components/cross_device/logging", + "//components/dom_distiller/core", ++ "//components/enterprise/buildflags", + "//components/paint_preview/buildflags", + "//components/safe_browsing:buildflags", ++ "//components/segmentation_platform/public", + "//components/sync", + "//components/sync_user_events", + "//components/translate/content/browser", +@@ -533,7 +535,6 @@ static_library("ui") { + "//components/embedder_support:browser_util", + "//components/encrypted_messages:encrypted_message_proto", + "//components/enterprise", +- "//components/enterprise/buildflags:buildflags", + "//components/error_page/content/browser", + "//components/facilitated_payments/core/features", + "//components/favicon/content", +@@ -644,7 +645,6 @@ static_library("ui") { + "//components/security_interstitials/core:unsafe_resource", + "//components/security_state/content", + "//components/security_state/core", +- "//components/segmentation_platform/public", + "//components/send_tab_to_self", + "//components/sessions", + "//components/sharing_message", +@@ -2119,7 +2119,6 @@ static_library("ui") { + "//components/omnibox/browser:mojo_bindings", + "//components/page_load_metrics/browser", + "//components/paint_preview/browser", +- "//components/paint_preview/buildflags", + "//components/paint_preview/common", + "//components/paint_preview/public", + "//components/password_manager/content/common", diff --git a/SOURCES/chromium-127-ninja-1.21.1-deps-part2.patch b/SOURCES/chromium-127-ninja-1.21.1-deps-part2.patch new file mode 100644 index 00000000..8cfce7a1 --- /dev/null +++ b/SOURCES/chromium-127-ninja-1.21.1-deps-part2.patch @@ -0,0 +1,37 @@ +commit 2c101186b60ed50f2ba4feaa2e963bd841bcca47 +Author: Takuto Ikuta +Date: Fri Jun 21 06:23:27 2024 +0000 + + chrome/browser: add missing dependency + + This is to fix build error due to missing dependency when we update + ninja to 1.12. + e.g. https://ci.chromium.org/ui/p/chromium/builders/build/linux-build-perf-no-rbe/1690/overview + + Bug: 346711540, 346699817, 345645751, 40253918 + Change-Id: Ife0a4e09969a4ad2e61dfc1598c9a63ac0b2abd5 + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5641516 + Reviewed-by: Anthony Vallée-Dubois + Commit-Queue: Takuto Ikuta + Auto-Submit: Takuto Ikuta + Reviewed-by: Lei Zhang + Cr-Commit-Position: refs/heads/main@{#1317790} + +diff --git a/chrome/browser/ui/views/side_panel/BUILD.gn b/chrome/browser/ui/views/side_panel/BUILD.gn +index 96f2c30a6dd22..2957730277a29 100644 +--- a/chrome/browser/ui/views/side_panel/BUILD.gn ++++ b/chrome/browser/ui/views/side_panel/BUILD.gn +@@ -201,5 +201,13 @@ source_set("side_panel") { + "//ui/gfx:color_utils", + "//ui/gfx/geometry:geometry_skia", + "//ui/webui", ++ ++ # TODO(crbug.com/346711540,crbug.com/346699817,crbug.com/345645751): ++ # Use //chrome/browser/ui instead after fixing cyclic dependency. ++ "//chrome/browser/ui:webui_name_variants", ++ "//components/enterprise/buildflags", ++ "//components/paint_preview/buildflags", ++ "//components/segmentation_platform/public/proto", ++ "//components/webapps/common:mojo_bindings", + ] + } diff --git a/SOURCES/chromium-127-ninja-1.21.1-deps-part3.patch b/SOURCES/chromium-127-ninja-1.21.1-deps-part3.patch new file mode 100644 index 00000000..bfb46d97 --- /dev/null +++ b/SOURCES/chromium-127-ninja-1.21.1-deps-part3.patch @@ -0,0 +1,49 @@ +commit f2b43c18b8ecfc3ddc49c42c062d796c8b563984 +Author: Takuto Ikuta +Date: Wed Jul 3 09:00:47 2024 +0000 + + chrome/browser/ui: add missing dependency + + This is to fix build error due to missing dependency when we update + ninja to 1.12. + e.g. https://ci.chromium.org/ui/p/chromium/builders/build.shadow/win-build-perf-developer/1/overview + + Bug: 40253918, 345645751, 346694160, 346709958, 346707816 + Change-Id: I3ede8e345aef5d6d2d8bf5b155601650828bc817 + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5644627 + Reviewed-by: Hidehiko Abe + Auto-Submit: Takuto Ikuta + Commit-Queue: Takuto Ikuta + Reviewed-by: Lei Zhang + Cr-Commit-Position: refs/heads/main@{#1322655} + +diff --git a/chrome/browser/ui/views/side_panel/BUILD.gn b/chrome/browser/ui/views/side_panel/BUILD.gn +index 2957730277a29..2680a77d855d5 100644 +--- a/chrome/browser/ui/views/side_panel/BUILD.gn ++++ b/chrome/browser/ui/views/side_panel/BUILD.gn +@@ -202,12 +202,24 @@ source_set("side_panel") { + "//ui/gfx/geometry:geometry_skia", + "//ui/webui", + +- # TODO(crbug.com/346711540,crbug.com/346699817,crbug.com/345645751): ++ # TODO(crbug.com/345645751): Use //chrome/browser instead after fixing cyclic dependency. ++ "//components/enterprise/common/proto:connectors_proto", ++ ++ # TODO(crbug.com/346711540,crbug.com/346699817,crbug.com/345645751, ++ # crbug.com/346694160,crbug.com/346709958,crbug.com/346707816): + # Use //chrome/browser/ui instead after fixing cyclic dependency. ++ "//chrome/browser/cart:mojo_bindings", ++ "//chrome/browser/companion/visual_query", + "//chrome/browser/ui:webui_name_variants", ++ "//chrome/browser/ui/webui/side_panel/bookmarks:mojo_bindings", ++ "//chrome/browser/ui/webui/side_panel/customize_chrome:mojo_bindings", ++ "//chrome/browser/ui/webui/side_panel/reading_list:mojo_bindings", + "//components/enterprise/buildflags", ++ "//components/page_image_service/mojom:mojo_bindings", + "//components/paint_preview/buildflags", + "//components/segmentation_platform/public/proto", ++ "//components/user_education/webui", + "//components/webapps/common:mojo_bindings", ++ "//ui/webui/resources/cr_components/commerce:mojo_bindings", + ] + } diff --git a/SOURCES/chromium-98.0.4758.80-epel7-erase-fix.patch b/SOURCES/chromium-98.0.4758.80-epel7-erase-fix.patch deleted file mode 100644 index 230e9d66..00000000 --- a/SOURCES/chromium-98.0.4758.80-epel7-erase-fix.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc.erase-fix chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc ---- chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc.erase-fix 2022-02-03 19:16:57.784979831 +0000 -+++ chromium-98.0.4758.80/components/ui_devtools/views/ui_element_with_metadata.cc 2022-02-03 19:17:12.983633352 +0000 -@@ -19,14 +19,14 @@ namespace { - // Remove any custom editor "prefixes" from the property name. The prefixes must - // not be valid identifier characters. - void StripPrefix(std::string& property_name) { -- auto cur = property_name.cbegin(); -+ auto cur = property_name.begin(); - for (; cur < property_name.cend(); ++cur) { - if ((*cur >= 'A' && *cur <= 'Z') || (*cur >= 'a' && *cur <= 'z') || - *cur == '_') { - break; - } - } -- property_name.erase(property_name.cbegin(), cur); -+ property_name.erase(property_name.begin(), cur); - } - - } // namespace diff --git a/SOURCES/chromium-latest.py b/SOURCES/chromium-latest.py index ad8d2cd5..eb2d3f00 100755 --- a/SOURCES/chromium-latest.py +++ b/SOURCES/chromium-latest.py @@ -315,10 +315,7 @@ if __name__ == '__main__': nacl_versions(chromium_version) if (args.cleansources): - junk_dirs = ['third_party/WebKit/Tools/Scripts/webkitpy/layout_tests', - 'webkit/data/layout_tests', 'third_party/hunspell/dictionaries', - 'chrome/test/data', 'native_client/tests', - 'third_party/WebKit/LayoutTests'] + junk_dirs = ['build/linux/debian_bullseye_amd64-sysroot', 'build/linux/debian_bullseye_i386-sysroot'] # First, the dirs: for directory in junk_dirs: diff --git a/SOURCES/clean_ffmpeg.sh b/SOURCES/clean_ffmpeg.sh index 9111990a..abb12365 100755 --- a/SOURCES/clean_ffmpeg.sh +++ b/SOURCES/clean_ffmpeg.sh @@ -138,6 +138,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/pixels.h \ libavcodec/png.h \ libavcodec/pngdsp.h \ + libavcodec/progressframe.h \ libavcodec/put_bits.h \ libavcodec/qpeldsp.h \ libavcodec/ratecontrol.h \ diff --git a/SOURCES/ffmpeg-clean.patch b/SOURCES/ffmpeg-clean.patch index 31ceba8a..fa2de3fc 100644 --- a/SOURCES/ffmpeg-clean.patch +++ b/SOURCES/ffmpeg-clean.patch @@ -1,10 +1,13 @@ diff -up third_party/ffmpeg/ffmpeg_generated.gni.me third_party/ffmpeg/ffmpeg_generated.gni ---- third_party/ffmpeg/ffmpeg_generated.gni.me 2024-05-05 00:45:53.017100841 +0200 -+++ third_party/ffmpeg/ffmpeg_generated.gni 2024-05-05 00:46:20.244559951 +0200 -@@ -17,8 +17,8 @@ use_linux_config = is_linux || is_chrome - if ((is_android && current_cpu == "arm" && arm_use_neon) || - (is_android && current_cpu == "arm64") || - (is_android && current_cpu == "x64") || +--- third_party/ffmpeg/ffmpeg_generated.gni.me 2024-07-19 23:49:33.776963768 +0200 ++++ third_party/ffmpeg/ffmpeg_generated.gni 2024-07-19 23:50:14.377819007 +0200 +@@ -14,10 +14,10 @@ ffmpeg_asm_sources = [] + + use_linux_config = is_linux || is_chromeos || is_fuchsia + +-if (current_cpu == "arm64" || current_cpu == "x64" || ++if ((current_cpu == "arm64") || (current_cpu == "x64") || + (is_android && current_cpu == "arm" && arm_use_neon) || - (is_android && current_cpu == "x86") || is_apple || is_win || - use_linux_config) { + (is_android && current_cpu == "x86") || (is_apple) || (is_win) || diff --git a/SOURCES/fix-study-crash.patch b/SOURCES/fix-study-crash.patch new file mode 100644 index 00000000..2ba9d4b6 --- /dev/null +++ b/SOURCES/fix-study-crash.patch @@ -0,0 +1,24 @@ +--- a/components/variations/proto/study.proto ++++ b/components/variations/proto/study.proto +@@ -264,6 +264,9 @@ + // A Mac-only value, indicating an x86-64 binary running on an arm64 host + // via "Rosetta 2" binary translation. + TRANSLATED_X86_64 = 4; ++ ++ // A POSIX-only value, indicating an OpenPOWER host ++ PPC64 = 5; + } + + // Enum to pass as optional bool. +--- a/components/variations/service/variations_field_trial_creator_base.cc ++++ b/components/variations/service/variations_field_trial_creator_base.cc +@@ -109,6 +109,9 @@ + if (process_arch == "x86") { + return Study::X86_32; + } ++ if (process_arch == "PPC_64") { ++ return Study::PPC64; ++ } + if (process_arch == "x86_64") { + std::string os_arch = base::SysInfo::OperatingSystemArchitecture(); + if (base::StartsWith(os_arch, "arm", diff --git a/SOURCES/memory-allocator-dcheck-assert-fix.patch b/SOURCES/memory-allocator-dcheck-assert-fix.patch new file mode 100644 index 00000000..6d1b2be4 --- /dev/null +++ b/SOURCES/memory-allocator-dcheck-assert-fix.patch @@ -0,0 +1,22 @@ +--- a/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc ++++ b/base/allocator/partition_allocator/src/partition_alloc/partition_bucket.cc +@@ -506,6 +506,9 @@ + partition_page_count <= kMaxPartitionPagesPerRegularSlotSpan; + partition_page_count++) { + size_t candidate_size = partition_page_count * PartitionPageSize(); ++ if (candidate_size > kMaxBucketed) { ++ break; ++ } + size_t waste = candidate_size % slot_size; + if (waste <= .02 * SystemPageSize()) { + return partition_page_count * NumSystemPagesPerPartitionPage(); +@@ -522,6 +525,9 @@ + size_t system_page_count = + partition_page_count * NumSystemPagesPerPartitionPage() - slack; + size_t candidate_size = system_page_count * SystemPageSize(); ++ if (candidate_size > kMaxBucketed) { ++ break; ++ } + size_t waste = candidate_size % slot_size; + if (waste < best_waste) { + best_waste = waste; diff --git a/SOURCES/partition-alloc-4k-detect.patch b/SOURCES/partition-alloc-4k-detect.patch new file mode 100644 index 00000000..a0a3f959 --- /dev/null +++ b/SOURCES/partition-alloc-4k-detect.patch @@ -0,0 +1,112 @@ +--- a/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h ++++ b/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h +@@ -100,21 +100,21 @@ + // other constant values, we pack _all_ `PartitionRoot::Alloc` sizes perfectly + // up against the end of a system page. + +-#if defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) ++#if (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ ++ defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) + PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t + PartitionPageShift() { +- return 16; // 64 KiB ++ return PageAllocationGranularityShift() + 2; + } +-#elif defined(ARCH_CPU_PPC64) ++#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) + PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t + PartitionPageShift() { +- return 18; // 256 KiB ++ return 16; // 64 KiB + } +-#elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ +- defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) ++#elif defined(ARCH_CPU_PPC64) + PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t + PartitionPageShift() { +- return PageAllocationGranularityShift() + 2; ++ return 18; // 256 KiB + } + #else + PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t +--- a/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h ++++ b/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h +@@ -26,7 +26,8 @@ + #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) + + #elif (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) || \ +- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) ++ (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) || \ ++ (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_PPC64)) + // This should work for all POSIX (if needed), but currently all other + // supported OS/architecture combinations use either hard-coded values + // (such as x86) or have means to determine these values without needing +@@ -86,17 +87,7 @@ + + PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t + PageAllocationGranularityShift() { +-#if BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64) +- // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page +- // sizes. Since 64kB is the de facto standard on the platform and binaries +- // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice +- // here. +- return 16; // 64kB +-#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) +- return 14; // 16kB +-#elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) +- return static_cast(vm_page_shift); +-#elif defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) ++#if defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) + // arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16) + // page sizes. Retrieve from or initialize cache. + size_t shift = page_characteristics.shift.load(std::memory_order_relaxed); +@@ -106,6 +97,16 @@ + page_characteristics.shift.store(shift, std::memory_order_relaxed); + } + return shift; ++#elif BUILDFLAG(IS_WIN) || defined(ARCH_CPU_PPC64) ++ // Modern ppc64 systems support 4kB (shift = 12) and 64kB (shift = 16) page ++ // sizes. Since 64kB is the de facto standard on the platform and binaries ++ // compiled for 64kB are likely to work on 4kB systems, 64kB is a good choice ++ // here. ++ return 16; // 64kB ++#elif defined(_MIPS_ARCH_LOONGSON) || defined(ARCH_CPU_LOONGARCH64) ++ return 14; // 16kB ++#elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) ++ return static_cast(vm_page_shift); + #else + return 12; // 4kB + #endif +--- a/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h ++++ b/base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h +@@ -180,10 +180,10 @@ + #else // !BUILDFLAG(IS_AIX) && !defined(ARCH_CPU_BIG_ENDIAN) + + // Little-endian Linux PPC has 48 bits of virtual addressing. Use 46. +- PA_ALWAYS_INLINE constexpr uintptr_t ASLRMask() { ++ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t ASLRMask() { + return AslrMask(46); + } +- PA_ALWAYS_INLINE constexpr uintptr_t ASLROffset() { ++ PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t ASLROffset() { + return AslrAddress(0); + } + +--- a/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h ++++ b/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h +@@ -17,10 +17,15 @@ + // PartitionPageSize() is 4 times the OS page size. + static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; + #elif defined(PARTITION_ALLOCATOR_CONSTANTS_POSIX_NONCONST_PAGE_SIZE) ++#if defined(ARCH_CPU_PPC64) ++// System page size can be 4 or 64 kiB on Linux on ppc64. Use 64 kiB maximum. ++static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 16) / kSmallestBucket; ++#else + // System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is + // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code, + // so we use the 16 kiB maximum (64 kiB will crash). + static constexpr size_t kMaxSlotsPerSlotSpan = 4 * (1 << 14) / kSmallestBucket; ++#endif + #elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_PPC64) + // System page size is not a constant on OpenPOWER systems, but is either 4kiB + // or 64kiB (1 << 12 or 1 << 16) diff --git a/SPECS/chromium.spec b/SPECS/chromium.spec index 2029c6d1..dd6e0fdb 100644 --- a/SPECS/chromium.spec +++ b/SPECS/chromium.spec @@ -1,4 +1,5 @@ %define _lto_cflags %{nil} +%global _default_patch_fuzz 2 # enable|disable system build flags %global system_build_flags 0 @@ -22,6 +23,10 @@ # enable|disble bootstrap %global bootstrap 0 +# workaround for old gn on rhel, it causes build error: unknown function filter_labels_include() +%if 0%{?rhel} +%global bootstrap 1 +%endif # Fancy build status, so we at least know, where we are.. # %1 where @@ -60,25 +65,14 @@ %global dts_version 13 %endif -# set latest version for llvm-toolset on el7 -%global llvm_toolset_version 14.0 - # set name for toolset -%if 0%{?rhel} == 7 -%global toolset devtoolset -%else %global toolset gcc-toolset -%endif -%if 0%{?rhel} == 7 -%global chromium_pybin /opt/rh/rh-python38/root/usr/bin/python -%else %if 0%{?rhel} == 8 %global chromium_pybin /usr/bin/python3.9 %else %global chromium_pybin %{__python3} %endif -%endif # va-api only supported in rhel >= 9 and fedora %global use_vaapi 1 @@ -86,8 +80,8 @@ # v4l2_codec only enable for fedora aarch64 %global use_v4l2_codec 0 -# libva in EL7 and EL8 is too old. -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 +# libva is too old on el8 +%if 0%{?rhel} == 8 %global use_vaapi 0 %endif @@ -113,10 +107,6 @@ %endif %endif -# Seems like we might need this sometimes -# Practically, no. But it's here in case we do. -%global use_gold 0 - %global build_clear_key_cdm 0 # Disabled because of Google, starting with Chromium 88. @@ -135,9 +125,6 @@ # disable debuginfo due to a bug in debugedit on el7 # error: canonicalization unexpectedly shrank by one character # https://bugzilla.redhat.com/show_bug.cgi?id=304121 -%if 0%{?rhel} == 7 -%global enable_debug 0 -%endif %if ! %{enable_debug} %global debug_package %{nil} %global debug_level 0 @@ -168,20 +155,19 @@ # enable|disable use_custom_libcxx %global use_custom_libcxx 1 -%if 0%{?rhel} == 7 -%global use_custom_libcxx 0 -%endif # enable clang by default %global clang 1 # enable|disable control flow integrity support %global cfi 0 +%ifarch x86_64 aarch64 %if %{clang} %if 0%{?fedora} || 0%{?rhel} > 7 %global cfi 1 %endif %endif +%endif # set correct toolchain %if %{clang} @@ -211,6 +197,8 @@ %global bundlelibaom 1 %global bundlelibavif 1 %global bundlesnappy 1 +%global bundleicu 1 +%global bundledav1d 1 %global bundlepylibs 0 %global bundlelibxslt 0 %global bundleflac 0 @@ -227,11 +215,11 @@ # enable bundleminizip for Fedora > 39 due to switch to minizip-ng # which breaks the build %global bundleminizip 0 -%if 0%{?rhel} == 7 || 0%{?fedora} > 39 +%if 0%{?fedora} > 39 %global bundleminizip 1 %endif -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 +%if 0%{?rhel} == 8 %global bundleharfbuzz 1 %global bundlelibwebp 1 %global bundlelibpng 1 @@ -241,7 +229,6 @@ %global bundlefontconfig 1 %global bundleffmpegfree 1 %global bundlebrotli 1 -%global bundleicu 1 %global bundlelibopenjpeg2 1 %global bundlelibtiff 1 %global bundlecrc32c 1 @@ -250,14 +237,11 @@ %else %if 0%{?fedora} > 38 || 0%{?rhel} > 9 %global bundlebrotli 0 -%global bundleicu 0 %global bundlelibwebp 0 %else %global bundlebrotli 1 -%global bundleicu 1 %global bundlelibwebp 1 %endif -%global bundledav1d 0 %global bundlelibpng 0 %global bundlelibjpeg 0 %global bundlelibdrm 0 @@ -310,7 +294,7 @@ %endif Name: chromium%{chromium_channel} -Version: 126.0.6478.182 +Version: 127.0.6533.72 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Url: http://www.chromium.org/Home @@ -322,9 +306,6 @@ Patch0: chromium-70.0.3538.67-sandbox-pie.patch # Use /etc/chromium for initial_prefs Patch1: chromium-115-initial_prefs-etc-path.patch -# system libusb -Patch2: chromium-120-system-libusb.patch - # Do not mangle zlib Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch @@ -368,67 +349,6 @@ Patch90: chromium-121-system-libxml.patch # patch for using system opus Patch91: chromium-108-system-opus.patch -# need to explicitly include a kernel header on EL7 to support MFD_CLOEXEC, F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL -Patch100: chromium-126-el7-include-fcntl-memfd.patch - -# add define HAVE_STRNDUP on epel7 -Patch101: chromium-108-el7-wayland-strndup-error.patch - -# Workaround for old clang 14 -# error: defaulting this default constructor would delete it after its first declaration -Patch102: chromium-125-el7-default-constructor-involving-anonymous-union.patch - -# Work around old and missing headers on EPEL7 -Patch103: chromium-110-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-126-el7-old-cups.patch - -# libdrm on EL7 is rather old and chromium assumes newer -# This gets us by for now -Patch105: chromium-125-el7-old-libdrm.patch - -# error: no matching function for call to 'std::basic_string::erase(std::basic_string::const_iterator, __gnu_cxx::__normal_iterator >&)' -# 33 | property_name.erase(property_name.cbegin(), cur); -# Not sure how this EVER worked anywhere, but it only seems to fail on EPEL-7. -Patch106: chromium-98.0.4758.80-epel7-erase-fix.patch - -# Add additional operator== to make el7 happy. -Patch107: chromium-122-el7-extra-operator.patch -# old v4l2 on el7 -Patch108: chromium-118-el7_v4l2_quantization.patch -# workaround for old clang on el7 -Patch109: chromium-114-wireless-el7.patch -Patch110: chromium-115-buildflag-el7.patch -Patch111: chromium-122-el7-inline-function.patch -Patch112: chromium-126-el7-rust-c_string.patch -Patch113: chromium-121-el7-clang-version-warning.patch -Patch114: chromium-123-el7-clang-build-failure.patch -Patch115: chromium-124-el7-size_t.patch - -# fixes for old clang version in el7 (clang <= 15) -# compiler build errors, no matching constructor for initialization -Patch116: chromium-126-el7-no_matching_constructor.patch -Patch117: chromium-115-el7-compiler-SkColor4f.patch - -# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826 -Patch118: chromium-124-el7-workaround_clang_bug-structured_binding.patch - -# missing typename -Patch119: chromium-125-el7-typename.patch - -# error: invalid operands to binary expression -Patch120: chromium-117-el7-string-convert.patch -Patch121: chromium-125-el7-assert.patch -Patch122: chromium-126-el7-constexpr.patch -Patch123: chromium-126-el7-type-alias.patch -Patch124: chromium-125-el7-optional-workaround-assert.patch -Patch125: chromium-126-el7-interator.patch -Patch126: chromium-126-el7-colormap.patch -Patch127: chromium-126-el7-stdformat.patch -Patch128: chromium-126-el7-std_variant.patch - # system ffmpeg # need for old ffmpeg 5.x on epel9 Patch129: chromium-125-ffmpeg-5.x-reordered_opaque.patch @@ -442,41 +362,27 @@ Patch133: chromium-121-system-old-ffmpeg.patch # disable FFmpegAllowLists by default to allow external ffmpeg patch134: chromium-125-disable-FFmpegAllowLists.patch -# revert AV1 VAAPI video encode due to old libva on el9 (rhel9.3) -Patch140: chromium-122-revert-av1enc-el9.patch - # file conflict with old kernel on el8/el9 Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch # add correct path for Qt6Gui header and libs Patch150: chromium-124-qt6.patch -# disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver -# not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found -Patch305: chromium-124-arm64-memory_tagging.patch -Patch306: chromium-126-ifunc-header.patch - -# compiler errors on el7/el8 and f38 (clang <17) -Patch307: chromium-125-el-NativeValueTraits-p1.patch -Patch308: chromium-125-el-NativeValueTraits-p2.patch +# disable memory tagging (epel8 on aarch64) due to new feature IFUNC-Resolver +# it is not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found +Patch305: chromium-124-el8-arm64-memory_tagging.patch +Patch306: chromium-126-el8-ifunc-header.patch +# build error: unknown architectural extension on aarch64 (epel8) +Patch307: chromium-124-el8-libdav1d-aarch64.patch +# 64kpage support on aarch64 (el8) +Patch308: chromium-124-el8-support-64kpage.patch # enable fstack-protector-strong Patch312: chromium-123-fstack-protector-strong.patch -# rust is old, function or associated item not found in `OsStr` -Patch313: chromium-123-rust-clap_lex.patch - -Patch314: chromium-126-clang16-buildflags.patch - -# remove ldflags -Wl,-mllvm,-disable-auto-upgrade-debug-info which is not supported -Patch315: chromium-126-clang16-disable-auto-upgrade-debug-info.patch - # add -ftrivial-auto-var-init=zero and -fwrapv Patch316: chromium-122-clang-build-flags.patch -# build error: unknown architectural extension on aarch64 (epel and < f39) -Patch317: chromium-124-libdav1d-aarch64.patch - # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2239523 # https://bugs.chromium.org/p/chromium/issues/detail?id=1145581#c60 # Disable BTI until this is fixed upstream. @@ -492,8 +398,9 @@ Patch355: chromium-126-system-libstdc++.patch Patch358: chromium-124-rust-clang_lib.patch # PowerPC64 LE support -# Patches taken from Debian, Timothy Pearson's patchset -# https://salsa.debian.org/chromium-team/chromium/-/tree/master/debian/patches/ppc64le?ref_type=heads +# Timothy Pearson's patchset +# https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/tree/chromium-126/patches/ppc64le +Patch359: add-ppc64-architecture-string.patch Patch360: 0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h.patch Patch361: 0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch Patch362: 0001-services-service_manager-sandbox-linux-Fix-TCGETS-de.patch @@ -546,22 +453,28 @@ Patch400: fix-rustc.patch Patch401: fix-rust-linking.patch Patch402: fix-breakpad-compile.patch Patch403: fix-partition-alloc-compile.patch -Patch404: 0002-Add-ppc64-trap-instructions.patch +Patch404: fix-study-crash.patch +Patch405: memory-allocator-dcheck-assert-fix.patch +Patch406: 0002-Add-ppc64-trap-instructions.patch Patch407: fix-ppc64-linux-syscalls-headers.patch -Patch409: use-sysconf-page-size-on-ppc64.patch +Patch408: use-sysconf-page-size-on-ppc64.patch +Patch409: partition-alloc-4k-detect.patch Patch410: dawn-fix-typos.patch Patch411: dawn-fix-ppc64le-detection.patch -Patch412: fix-swiftshader-compile.patch - # Suppress harmless compiler warning messages that appear on ppc64 due to arch-specific warning flags being passed -Patch413: fix-unknown-warning-option-messages.diff +Patch412: fix-unknown-warning-option-messages.diff + +# error: undefined symbol: llvm::MCAsmInfoXCOFF::MCAsmInfoXCOFF() +Patch413: fix-swiftshader-compile.patch # upstream patches -# 64kpage support on el8 -Patch500: chromium-124-el8-support-64kpage.patch +Patch501: chromium-127-ninja-1.21.1-deps-part0.patch +Patch502: chromium-127-ninja-1.21.1-deps-part1.patch +Patch503: chromium-127-ninja-1.21.1-deps-part2.patch +Patch504: chromium-127-ninja-1.21.1-deps-part3.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -601,25 +514,17 @@ Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuil BuildRequires: golang-github-evanw-esbuild %endif -%if 0%{?rhel} == 7 -BuildRequires: rh-python38 -%endif - %if %{clang} -%if 0%{?rhel} == 7 -BuildRequires: llvm-toolset-%{llvm_toolset_version} -%else BuildRequires: clang BuildRequires: clang-tools-extra BuildRequires: llvm BuildRequires: lld -%endif # needs for libatomic -%if 0%{?rhel} >= 7 +%if 0%{?rhel} >= 8 BuildRequires: %{toolset}-%{dts_version}-libatomic-devel %endif %else -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 +%if 0%{?rhel} == 8 BuildRequires: %{toolset}-%{dts_version}-binutils, %{toolset}-%{dts_version}-libatomic-devel %endif %if 0%{?fedora} || 0%{?rhel} > 8 @@ -680,11 +585,7 @@ BuildRequires: pkgconfig(Qt6Core) BuildRequires: pkgconfig(Qt6Widgets) %endif -%if 0%{?rhel} == 7 -BuildRequires: llvm-toolset-%{llvm_toolset_version}-compiler-rt -%else BuildRequires: compiler-rt -%endif %if ! %{bundleharfbuzz} BuildRequires: harfbuzz-devel >= 2.4.0 @@ -739,8 +640,9 @@ BuildRequires: pciutils-devel BuildRequires: pulseaudio-libs-devel # For screen sharing on Wayland -%if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: pkgconfig(libpipewire-0.3) +# pipewire is old on el8, chromium needs new version, disable it temporary +%if 0%{?fedora} || 0%{?rhel} > 8 +BuildRequires: pipewire-devel %endif # for /usr/bin/appstream-util @@ -930,18 +832,13 @@ Requires: u2f-hidraw-policy Requires: chromium-common%{_isa} = %{version}-%{release} -# rhel 7: x86_64 -# rhel 8 or newer: x86_64, aarch64 -# fedora 38 or newer: x86_64, aarch64, ppc64le -%if 0%{?rhel} == 7 -ExclusiveArch: x86_64 -%else +# rhel 8 or newer and fedora < 40: x86_64, aarch64 +# fedora 40 or newer: x86_64, aarch64, ppc64le %if 0%{?fedora} >= 40 ExclusiveArch: x86_64 aarch64 ppc64le %else ExclusiveArch: x86_64 aarch64 %endif -%endif # Bundled bits (I'm sure I've missed some) Provides: bundled(angle) = 2422 @@ -1145,7 +1042,6 @@ Qt6 UI for chromium. ### Chromium Fedora Patches ### %patch -P0 -p1 -b .sandboxpie %patch -P1 -p1 -b .etc -%patch -P2 -p1 -b .system-libusb %patch -P5 -p1 -b .nozlibmangle %patch -P6 -p1 -b .nounrar %patch -P8 -p1 -b .widevine-other-locations @@ -1188,44 +1084,6 @@ Qt6 UI for chromium. %patch -P134 -p1 -b .disable-FFmpegAllowLists %endif -# EPEL specific patches -%if 0%{?rhel} == 7 -cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optional . -%patch -P100 -p1 -b .el7-memfd-fcntl-include -%patch -P101 -p1 -b .wayland-strndup-error -%patch -P102 -p1 -b .default-constructor-involving-anonymous-union -%patch -P103 -p1 -b .epel7-header-workarounds -%patch -P104 -p1 -b .el7cups -%patch -P105 -p1 -b .el7-old-libdrm -%patch -P106 -p1 -b .el7-erase-fix -%patch -P107 -p1 -b .el7-extra-operator-equalequal -%patch -P108 -p1 -b .el7_v4l2_quantization -%patch -P109 -p1 -b .wireless -%patch -P110 -p1 -b .buildflag-el7 -%patch -P111 -p1 -b .inline-function-el7 -%patch -P112 -p1 -R -b .rust-s_ctring -%patch -P113 -p1 -b .el7-clang-version-warning -%patch -P114 -p1 -b .clang-build-failure -%patch -P115 -p1 -b .el7-size_t -%patch -P116 -p1 -b .no_matching_constructor -%patch -P117 -p1 -b .workaround_clang-SkColor4f -%patch -P118 -p1 -b .workaround_clang_bug-structured_binding -%patch -P119 -p1 -b .typename -%patch -P120 -p1 -b .string-convert -%patch -P121 -p1 -b .assert -%patch -P122 -p1 -b .constexpr -%patch -P123 -p1 -b .el7-type-alias -%patch -P124 -p1 -b .el7-workaround-assert -%patch -P125 -p1 -b .el7-interator -%patch -P126 -p1 -b .el7-colormap -%patch -P127 -p1 -b .el7-stdformat -%patch -P128 -p1 -b .el7-std_variant -%endif - -%if 0%{?rhel} == 9 -%patch -P140 -p1 -b .revert-av1enc -%endif - %if 0%{?rhel} == 8 || 0%{?rhel} == 9 %patch -P141 -p1 -b .dma_buf_export_sync_file-conflict %endif @@ -1234,30 +1092,18 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona %patch -P150 -p1 -b .qt6 %endif -%if 0%{?rhel} && 0%{?rhel} <= 8 +%if 0%{?rhel} == 8 %ifarch aarch64 -%patch -P305 -p1 -b .memory_tagging -%patch -P306 -p1 -b .ifunc-header -%patch -P317 -p1 -b .libdav1d-aarch64 -%endif +%patch -P305 -p1 -b .el8-memory_tagging +%patch -P306 -p1 -b .el8-ifunc-header +%patch -P307 -p1 -b .el8-libdav1d-aarch64 +%patch -P308 -p1 -b .el8-support-64kpage.patch %endif - -%if 0%{?rhel} && 0%{?rhel} < 9 || 0%{?fedora} && 0%{?fedora} < 39 -%patch -P307 -p1 -b .el-NativeValueTraits-p1 -%patch -P308 -p1 -b .el-NativeValueTraits -%patch -P314 -p1 -b .clang16-buildflag -%patch -P315 -p1 -b .clang16-disable-auto-upgrade-debug-info %endif %patch -P312 -p1 -b .fstack-protector-strong -%if 0%{?rhel} && 0%{?rhel} < 10 -%patch -P313 -p1 -b .rust-clap_lex -%endif - -%if 0%{?rhel} >= 8 || 0%{?fedora} %patch -P316 -p1 -b .clang-build-flags -%endif %if %{disable_bti} %patch -P352 -p1 -b .workaround_for_crash_on_BTI_capable_system @@ -1273,6 +1119,7 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona %patch -P358 -p1 -b .rust-clang_lib %ifarch ppc64le +%patch -P359 -p1 -b .add-ppc64-architecture-string %patch -P360 -p1 -b .0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h %patch -P361 -p1 -b .0001-sandbox-Enable-seccomp_bpf-for-ppc64 %patch -P362 -p1 -b .0001-services-service_manager-sandbox-linux-Fix-TCGETS-de @@ -1323,22 +1170,26 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona %patch -P401 -p1 -b .fix-rust-linking %patch -P402 -p1 -b .fix-breakpad-compile %patch -P403 -p1 -b .fix-partition-alloc-compile -%patch -P404 -p1 -b .0002-Add-ppc64-trap-instructions +%patch -P404 -p1 -b .fix-study-crash +%patch -P405 -p1 -b .memory-allocator-dcheck-assert-fix +%patch -P406 -p1 -b .0002-Add-ppc64-trap-instructions %patch -P407 -p1 -b .fix-ppc64-linux-syscalls-headers -%patch -P409 -p1 -b .use-sysconf-page-size-on-ppc64 +%patch -P408 -p1 -b .use-sysconf-page-size-on-ppc64 +%patch -P409 -p1 -b .partition-alloc-4k-detect %patch -P410 -p1 -b .dawn-fix-typos %patch -P411 -p1 -b .dawn-fix-ppc64le-detection -%patch -P412 -p1 -b .fix-swiftshader-compile.patch -%patch -P413 -p1 -b .fix-unknown-warning-option-messages +%patch -P412 -p1 -b .fix-unknown-warning-option-messages +%patch -P413 -p1 -b .fix-swiftshader-compile %endif -%%ifarch aarch64 -%if 0%{?rhel} == 8 -%patch -P500 -p1 -b .el8-support-64kpage.patch -%endif +%if 0%{?fedora} > 39 +%patch -P501 -p1 -b .ninja-1.21.1-deps +%patch -P502 -p1 -b .ninja-1.21.1-deps +%patch -P503 -p1 -b .ninja-1.21.1-deps +%patch -P504 -p1 -b .ninja-1.21.1-deps %endif # Change shebang in all relevant files in this directory and all subdirectories @@ -1346,6 +1197,7 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{chromium_pybin}=' {} + # Add correct path for nodejs binary +rm -rf third_party/node/linux/node-linux-x64* %if ! %{system_nodejs} pushd third_party/node/linux %ifarch x86_64 @@ -1452,16 +1304,6 @@ export CXXFLAGS export LDFLAGS export RUSTFLAGS -# enable toolset on el7 -%if 0%{?rhel} == 7 -. /opt/rh/rh-python38/enable -%if %{clang} -. /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable -%else -. /opt/rh/%{toolset}-%{dts_version}/enable -%endif -%endif - # enable gcc toolset on el8 %if 0%{?rhel} == 8 && ! %{clang} . /opt/rh/%{toolset}-%{dts_version}/enable @@ -1483,7 +1325,6 @@ CHROMIUM_CORE_GN_DEFINES="" CHROMIUM_CORE_GN_DEFINES+=' custom_toolchain="//build/toolchain/linux/unbundle:default"' CHROMIUM_CORE_GN_DEFINES+=' host_toolchain="//build/toolchain/linux/unbundle:default"' CHROMIUM_CORE_GN_DEFINES+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false' -CHROMIUM_CORE_GN_DEFINES+=' use_goma=false' CHROMIUM_CORE_GN_DEFINES+=' enable_nacl=false' CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"' @@ -1496,6 +1337,8 @@ CHROMIUM_CORE_GN_DEFINES+=' chrome_pgo_phase=0' %if ! %{cfi} CHROMIUM_CORE_GN_DEFINES+=' is_cfi=false use_thin_lto=false' +%else +CHROMIUM_CORE_GN_DEFINES+=' is_cfi=true use_thin_lto=true' %endif %if %{useapikey} @@ -1524,12 +1367,6 @@ CHROMIUM_CORE_GN_DEFINES+=" rustc_version=\"$rustc_version\"" CHROMIUM_CORE_GN_DEFINES+=' use_sysroot=false' -%if %{use_gold} -CHROMIUM_CORE_GN_DEFINES+=' use_gold=true' -%else -CHROMIUM_CORE_GN_DEFINES+=' use_gold=false' -%endif - %ifarch aarch64 CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"' %endif @@ -1599,8 +1436,10 @@ CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false' CHROMIUM_BROWSER_GN_DEFINES+=' use_v4l2_codec=true' %endif -%if 0%{?fedora} || 0%{?rhel} >= 8 +%if 0%{?fedora} || 0%{?rhel} > 8 CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true rtc_link_pipewire=true' +%else +CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=false rtc_link_pipewire=false' %endif %if ! %{bundlelibjpeg} @@ -2149,6 +1988,29 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %endif %changelog +* Wed Jul 24 2024 Than Ngo - 127.0.6533.72-1 +- update to 127.0.6533.72 + * CVE-2024-6988: Use after free in Downloads + * CVE-2024-6989: Use after free in Loader + * CVE-2024-6991: Use after free in Dawn + * CVE-2024-6992: Out of bounds memory access in ANGLE + * CVE-2024-6993: Inappropriate implementation in Canvas + * CVE-2024-6994: Heap buffer overflow in Layout + * CVE-2024-6995: Inappropriate implementation in Fullscreen + * CVE-2024-6996: Race in Frames + * CVE-2024-6997: Use after free in Tabs + * CVE-2024-6998: Use after free in User Education + * CVE-2024-6999: Inappropriate implementation in FedCM + * CVE-2024-7000: Use after free in CSS. Reported by Anonymous + * CVE-2024-7001: Inappropriate implementation in HTML + * CVE-2024-7003: Inappropriate implementation in FedCM + * CVE-2024-7004: Insufficient validation of untrusted input in Safe Browsing + * CVE-2024-7005: Insufficient validation of untrusted input in Safe + +* Sat Jul 20 2024 Than Ngo - 126.0.6478.182-2 +- fix condition for is_cfi/use_thin_lto on aarch64/ppc64le +- update powerpc patches + * Tue Jul 16 2024 Than Ngo - 126.0.6478.182-1 - update to 126.0.6478.182 * High CVE-2024-6772: Inappropriate implementation in V8