public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: drop chromium support for el7
@ 2026-08-07 16:06 Than Ngo
  0 siblings, 0 replies; only message in thread
From: Than Ngo @ 2026-08-07 16:06 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/chromium
Branch : epel9-next
Commit : 19a0fb38ce003b18edda91cc8d70a66f4ad4b5bd
Author : Than Ngo <than@redhat.com>
Date   : 2024-07-20T11:35:33+02:00
Stats  : +5/-6229 in 30 file(s)
URL    : https://src.fedoraproject.org/rpms/chromium/c/19a0fb38ce003b18edda91cc8d70a66f4ad4b5bd?branch=epel9-next

Log:
drop chromium support for el7

---
diff --git a/chromium-108-el7-wayland-strndup-error.patch b/chromium-108-el7-wayland-strndup-error.patch
deleted file mode 100644
index 1147867..0000000
--- a/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 <stdbool.h>
- #include <stdio.h>

diff --git a/chromium-110-epel7-old-headers-workarounds.patch b/chromium-110-epel7-old-headers-workarounds.patch
deleted file mode 100644
index cb91763..0000000
--- a/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 <linux/kcmp.h>
-+#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 <errno.h>
- #include <fcntl.h>
--#include <linux/kcmp.h>
-+#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 <sys/socket.h>
- 
- // 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/chromium-114-wireless-el7.patch b/chromium-114-wireless-el7.patch
deleted file mode 100644
index 9776e90..0000000
--- a/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 <linux/net.h>
- #include <linux/netlink.h>
- #include <linux/sockios.h>
--#include <linux/wireless.h>
- #include <netinet/in.h>
- #include <netinet/tcp.h>
- #include <sys/inotify.h>
-@@ -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/chromium-115-buildflag-el7.patch b/chromium-115-buildflag-el7.patch
deleted file mode 100644
index d3e2a7d..0000000
--- a/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/chromium-115-el7-compiler-SkColor4f.patch b/chromium-115-el7-compiler-SkColor4f.patch
deleted file mode 100644
index 7e17cb0..0000000
--- a/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/chromium-117-el7-string-convert.patch b/chromium-117-el7-string-convert.patch
deleted file mode 100644
index cb48e4b..0000000
--- a/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/chromium-118-el7_v4l2_quantization.patch b/chromium-118-el7_v4l2_quantization.patch
deleted file mode 100644
index 638863b..0000000
--- a/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/chromium-121-el7-clang-version-warning.patch b/chromium-121-el7-clang-version-warning.patch
deleted file mode 100644
index bc86eb2..0000000
--- a/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/chromium-122-el7-extra-operator.patch b/chromium-122-el7-extra-operator.patch
deleted file mode 100644
index 0f65681..0000000
--- a/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/chromium-122-el7-inline-function.patch b/chromium-122-el7-inline-function.patch
deleted file mode 100644
index fa3689c..0000000
--- a/chromium-122-el7-inline-function.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-
-ld.lld: error: undefined symbol: unsigned long cc::PaintOpWriter::SerializedSize<unsigned long>()
-
-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 <typename T>
--  static constexpr size_t SerializedSizeSimple();
-+  static constexpr size_t SerializedSizeSimple() {
-+    static_assert(!std::is_pointer_v<T>);
-+    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<size_t>() {
-+    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 <typename T>
--  static constexpr size_t SerializedSize();
-+  static constexpr size_t SerializedSize() {
-+    static_assert(std::is_arithmetic_v<T> || std::is_enum_v<T>);
-+    return SerializedSizeSimple<T>();
-+  }
-   template <typename T>
-   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 <typename T>
--constexpr size_t PaintOpWriter::SerializedSizeSimple() {
--  static_assert(!std::is_pointer_v<T>);
--  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<size_t>() {
--  return base::bits::AlignUp(2 * sizeof(uint32_t), kDefaultAlignment);
--}
--
--template <typename T>
--constexpr size_t PaintOpWriter::SerializedSize() {
--  static_assert(std::is_arithmetic_v<T> || std::is_enum_v<T>);
--  return SerializedSizeSimple<T>();
--}
--template <typename T>
- constexpr size_t PaintOpWriter::SerializedSize(const T& data) {
-   return SerializedSizeSimple<T>();
- }

diff --git a/chromium-123-el7-clang-build-failure.patch b/chromium-123-el7-clang-build-failure.patch
deleted file mode 100644
index 4b04d7a..0000000
--- a/chromium-123-el7-clang-build-failure.patch
+++ /dev/null
@@ -1,228 +0,0 @@
-commit 57526b8dc45b2e6c67bba7306f1dde73b1f2910c
-Author: sisidovski <sisidovski@chromium.org>
-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 <chikamune@chromium.org>
-    Commit-Queue: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
-    Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
-    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<mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>>
- ServiceWorkerGlobalScope::FindRaceNetworkRequestURLLoaderFactory(
-     const base::UnguessableToken& token) {
--  std::unique_ptr<RaceNetworkRequestInfo> result =
--      race_network_requests_.Take(String(token.ToString()));
-+  mojo::PendingRemote<network::mojom::blink::URLLoaderFactory> 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<network::mojom::blink::URLLoaderFactory>>(
--        std::move(result->url_loader_factory));
-+        return result;
-   }
-   return std::nullopt;
- }
- 
--void ServiceWorkerGlobalScope::InsertNewItemToRaceNetworkRequests(
--    int fetch_event_id,
--    const base::UnguessableToken& token,
--    mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>
--        url_loader_factory,
--    const KURL& request_url) {
--  auto race_network_request_token = String(token.ToString());
--  auto info = std::make_unique<RaceNetworkRequestInfo>(
--      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<network::mojom::blink::URLLoaderFactory>
--          url_loader_factory,
--      const KURL& request_url);
--  void RemoveItemFromRaceNetworkRequests(int fetch_event_id);
--
-   Member<ServiceWorkerClients> clients_;
-   Member<ServiceWorkerRegistration> 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<network::mojom::blink::URLLoaderFactory>
--        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<String, std::unique_ptr<RaceNetworkRequestInfo>>
--      race_network_requests_;
--  HashMap<int, RaceNetworkRequestInfo*> race_network_request_fetch_event_ids_;
-+  HashMap<String, mojo::PendingRemote<network::mojom::blink::URLLoaderFactory>>
-+      race_network_request_loader_factories_;
- 
-   HeapMojoAssociatedRemote<mojom::blink::AssociatedInterfaceProvider>
-       remote_associated_interfaces_{this};

diff --git a/chromium-124-el7-size_t.patch b/chromium-124-el7-size_t.patch
deleted file mode 100644
index 3ca84ee..0000000
--- a/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<T> AllocateMultiple(size_t n) {
-+  std::vector<T> AllocateMultiple(std::size_t n) {
-     std::vector<T> 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/chromium-124-el7-workaround_clang_bug-structured_binding.patch b/chromium-124-el7-workaround_clang_bug-structured_binding.patch
deleted file mode 100644
index 727e4f5..0000000
--- a/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<url::Origin, GURL> 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/chromium-125-el7-assert.patch b/chromium-125-el7-assert.patch
deleted file mode 100644
index e76feda..0000000
--- a/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 <typename T, size_t kSize, type
- class SmallVector {
-   // Currently only support trivially copyable and trivially destructible data
-   // types, as it uses memcpy to copy elements and never calls destructors.
--  ASSERT_TRIVIALLY_COPYABLE(T);
-+  //ASSERT_TRIVIALLY_COPYABLE(T);
-   static_assert(std::is_trivially_destructible<T>::value);
- 
-  public:

diff --git a/chromium-125-el7-default-constructor-involving-anonymous-union.patch b/chromium-125-el7-default-constructor-involving-anonymous-union.patch
deleted file mode 100644
index fc38562..0000000
--- a/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<const uint32_t> resource_hashes,
-                                      base::span<const int> 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<std::string> 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/chromium-125-el7-old-libdrm.patch b/chromium-125-el7-old-libdrm.patch
deleted file mode 100644
index ab62977..0000000
--- a/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/chromium-125-el7-optional-workaround-assert.patch b/chromium-125-el7-optional-workaround-assert.patch
deleted file mode 100644
index 7e78085..0000000
--- a/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/chromium-125-el7-typename.patch b/chromium-125-el7-typename.patch
deleted file mode 100644
index fc86a52..0000000
--- a/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 <typename T>
--InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
-+typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
-     std::size_t count) {
-   PA_CHECK(count <=
-            std::numeric_limits<std::size_t>::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<T>,
-                 "HeapArray cannot hold reference types");
- 
--  using iterator = base::span<T>::iterator;
--  using const_iterator = base::span<const T>::iterator;
-+  using iterator = typename base::span<T>::iterator;
-+  using const_iterator = typename base::span<const T>::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<Map>* Fin
- template <typename Map,
-           typename Key,
-           typename MappedElementType =
--              std::pointer_traits<internal::MappedType<Map>>::element_type>
-+              typename std::pointer_traits<internal::MappedType<Map>>::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 <typename Map,
-           typename Key,
-           typename MappedElementType =
--              std::pointer_traits<internal::MappedType<Map>>::element_type>
-+              typename std::pointer_traits<internal::MappedType<Map>>::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 <typename Range, typename Proj
-            std::indirectly_unary_invocable<Proj, ranges::iterator_t<Range>>
- auto ToVector(Range&& range, Proj proj = {}) {
-   using ProjectedType =
--      std::projected<ranges::iterator_t<Range>, Proj>::value_type;
-+      typename std::projected<ranges::iterator_t<Range>, Proj>::value_type;
-   std::vector<ProjectedType> container;
-   container.reserve(std::size(range));
-   ranges::transform(std::forward<Range>(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 <int i,
-           typename Param>
- struct ParamCanBeBound {
-  private:
--  using UnwrappedParam = BindArgument<i>::template ForwardedAs<
-+  using UnwrappedParam = typename BindArgument<i>::template ForwardedAs<
-       Unwrapped>::template ToParamWithType<Param>;
--  using ParamStorage = BindArgument<i>::template ToParamWithType<
-+  using ParamStorage = typename BindArgument<i>::template ToParamWithType<
-       Param>::template StoredAs<Storage>;
--  using BoundStorage =
-+  using BoundStorage = typename
-       BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
- 
-   template <bool v = !UnwrappedParam::kRawPtr ||
-diff -up chromium-125.0.6422.60/base/functional/function_ref.h.typename chromium-125.0.6422.60/base/functional/function_ref.h
---- chromium-125.0.6422.60/base/functional/function_ref.h.typename	2024-05-15 23:45:49.000000000 +0200
-+++ chromium-125.0.6422.60/base/functional/function_ref.h	2024-05-17 12:33:58.736650987 +0200
-@@ -64,7 +64,7 @@ class FunctionRef;
- template <typename R, typename... Args>
- class FunctionRef<R(Args...)> {
-   template <typename Functor,
--            typename RunType = internal::FunctorTraits<Functor>::RunType>
-+            typename RunType = typename internal::FunctorTraits<Functor>::RunType>
-   static constexpr bool kCompatibleFunctor =
-       std::convertible_to<internal::ExtractReturnType<RunType>, R> &&
-       std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>;
-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 <typename T,
- class FixedArray : public absl::FixedArray<T, N, A> {
-  public:
-   using absl::FixedArray<T, N, A>::FixedArray;
--  explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
--                      const absl::FixedArray<T, N, A>::allocator_type& a =
-+  explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
-+                      const typename absl::FixedArray<T, N, A>::allocator_type& a =
-                           typename absl::FixedArray<T, N, A>::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 <typename Item>
--SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
-+typename SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
-   CHECK(!cache.empty());
-   auto it = cache.end();
-   return std::prev(it);
-@@ -1173,9 +1173,9 @@ bool DownloadBubbleUpdateService::CacheM
- }
- 
- template <typename Id, typename Item>
--SortedItems<Item>::iterator
-+typename SortedItems<Item>::iterator
- DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter(
--    SortedItems<Item>::iterator iter,
-+    typename SortedItems<Item>::iterator iter,
-     SortedItems<Item>& cache,
-     IterMap<Id, Item>& 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 <typename LockType>
- 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 <typename LockType, typename... CallbackArgs>
- class WebAppCommand : public internal::CommandWithLock<LockType> {
-  public:
--  using LockDescription = LockType::LockDescription;
-+  using LockDescription = typename LockType::LockDescription;
-   using CallbackType = base::OnceCallback<void(CallbackArgs...)>;
-   using ShutdownArgumentsTuple = std::tuple<std::decay_t<CallbackArgs>...>;
- 
-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 <typename LockType>
-   void ScheduleCallback(const std::string& operation_name,
--                        LockType::LockDescription lock_description,
-+                        typename LockType::LockDescription lock_description,
-                         CallbackCommand<LockType, void> callback,
-                         base::OnceClosure on_complete,
-                         const base::Location& location = FROM_HERE) {
-@@ -391,7 +391,7 @@ class WebAppCommandScheduler {
-             typename CallbackReturnValue = std::decay_t<CompletionCallbackArg>>
-   void ScheduleCallbackWithResult(
-       const std::string& operation_name,
--      LockType::LockDescription lock_description,
-+      typename LockType::LockDescription lock_description,
-       CallbackCommand<LockType, CallbackReturnValue> callback,
-       base::OnceCallback<void(CompletionCallbackArg)> 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<const FeatureType::Request&>(request_metadata);
-+      static_cast<const typename FeatureType::Request&>(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 <typename FeatureType>
--  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<UserVisibleFeatureKey> Get
- // Helper method to get the quality_data from `log_ai_data_request` for
- // different features.
- template <typename FeatureType>
--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<OutputType, InputType>::ConstRefInputVector inputs)
-+      typename ModelExecutor<OutputType, InputType>::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<std::optional<OutputType>> SendForBatchExecutionSync(
--      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
-+      typename ModelExecutor<OutputType, InputType>::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<OutputType, InputType>::ConstRefInputVector inputs) {
-+      typename ModelExecutor<OutputType, InputType>::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<OutputType, InputType>::ConstRefInputVector inputs,
-+      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
-       std::vector<std::optional<OutputType>>* 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<OutputType, InputType>::ConstRefInputVector inputs,
-+      typename ModelExecutor<OutputType, InputType>::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<Response>::Callback callback) override {
-+  void Start(typename ProtoFetcher<Response>::Callback callback) override {
-     callback_ = std::move(callback);
-     Retry();
-   }
-@@ -504,7 +504,7 @@ class RetryingFetcherImpl final : public
-   }
- 
-   // Client callback.
--  TypedProtoFetcher<Response>::Callback callback_;
-+  typename TypedProtoFetcher<Response>::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<Response>;
--  using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
-+  using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::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 <typename Container>
-     { c[i] } -> std::same_as<typename Container::reference>;
-   }
- struct ArrayTraits<Container> {
--  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 <typename Vec>
- using VecPtrLikeUnderlyingValueType =
--    std::pointer_traits<VecValueType<Vec>>::element_type;
-+    typename std::pointer_traits<VecValueType<Vec>>::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 <typename T>
-     requires std::derived_from<T, bindings::EnumerationBase>
-   static T DefaultPromiseResultValue() {
--    return T(static_cast<T::Enum>(0));
-+    return T(static_cast<typename T::Enum>(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<const Char>;
-   using USpan = base::span<const UChar>;
-   // 32 matches that used by HTMLToken::Attribute.
--  typedef std::conditional<std::is_same_v<Char, UChar>,
-+  typedef typename std::conditional<std::is_same_v<Char, UChar>,
-                            UCharLiteralBuffer<32>,
-                            LCharLiteralBuffer<32>>::type LiteralBufferType;
-   static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
-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<typename Traits::TraitType>::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<typename Traits::TraitType>::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/chromium-126-el7-colormap.patch b/chromium-126-el7-colormap.patch
deleted file mode 100644
index 1c0002b..0000000
--- a/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 <forward_list>
- #include <map>
- #include <set>
- #include <utility>
-@@ -18,106 +17,6 @@
- 
- namespace ui {
- 
--////////////////////////////////////////////////////////////////////////////////
--// ColorProvider::ColorProviderInternal:
--
--class ColorProvider::ColorProviderInternal {
-- public:
--  using Mixers = std::forward_list<ColorMixer>;
--
--  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<ColorId> 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<ColorId, SkColor> 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 <map>
-+#include <forward_list>
- #include <memory>
- #include <optional>
- 
- #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<ColorId, SkColor>;
-+  using ColorMap = base::flat_map<ColorId, SkColor>;
- 
-   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<ColorMixer>;
- 
--  std::unique_ptr<ColorProviderInternal> internal_ =
--      std::make_unique<ColorProviderInternal>();
-+  // 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<ColorMap> 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<SkColor>(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<SkColor>(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<ControlColorId>({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/chromium-126-el7-constexpr.patch b/chromium-126-el7-constexpr.patch
deleted file mode 100644
index 45042fe..0000000
--- a/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<color_change_listener::mojom::PageHandler>
-           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<lens::mojom::SearchBubblePageHandlerFactory>
-           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<CompanionSidePanelUntrustedUI> 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<color_change_listener::mojom::PageHandler>
-           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<read_anything::mojom::UntrustedPageHandlerFactory>
-           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 <typename T>
--  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<VisitID, VisitSource> VisitSourceMap;
- 
- // Constant used to represent that no app_id is used for matching.
--inline constexpr std::optional<std::string> kNoAppIdFilter = std::nullopt;
-+inline const std::optional<std::string> 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/chromium-126-el7-include-fcntl-memfd.patch b/chromium-126-el7-include-fcntl-memfd.patch
deleted file mode 100644
index 3bafca4..0000000
--- a/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 <sys/types.h>
- #include <unistd.h>
--#include <fcntl.h>
-+#include <linux/fcntl.h> // for F_SEAL_SHRINK, F_ADD_SEALS, F_SEAL_SEAL
-+#include <linux/memfd.h> // for MFD_CLOEXEC
- #include <errno.h>
- #include <signal.h>
- #include <string.h>
-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 <signal.h>
- #include <pthread.h>
- #include <errno.h>
--#include <fcntl.h>
-+#include <linux/fcntl.h>
- 
- #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 <sys/mman.h>
-+#include <linux/memfd.h>
- 
- #include <string>
- #include <string_view>
-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 <sys/prctl.h>  // for prctl
-+#include <linux/memfd.h> // for MFD_CLOEXEC
- #endif
- 
- #if defined(V8_OS_FUCHSIA)

diff --git a/chromium-126-el7-interator.patch b/chromium-126-el7-interator.patch
deleted file mode 100644
index 9b630a8..0000000
--- a/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/chromium-126-el7-no_matching_constructor.patch b/chromium-126-el7-no_matching_constructor.patch
deleted file mode 100644
index fdc351a..0000000
--- a/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<ReferenceAndSample>* 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<DIPSRedirectInfo>(
--        /*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<DIPSRedirectInfo>(
--        /*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_map<std::string, SAMLProfileA
-   // TODO(crbug.com/40267996): Add actual domains with attribute names.
-   profile_attributes->insert(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<BlockPathRule> 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<PageDiscarder::DiscardEvent>
-     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<ContentAutofillDriver&>(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<BrowserAutofillManager&>(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<const gfx::VectorIcon> 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::ButtonConfiguration>
- EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() const {
-   std::vector<ButtonConfiguration> 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::ButtonConfiguration>
- EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const {
-   std::vector<ButtonConfiguration> 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::ButtonConfiguration>
- EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const {
-   std::vector<ButtonConfiguration> 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<NullAggregatableReport> 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<std::pair<FieldRef, WebAutof
-     if (element.Focused()) {
-       focused_field = {&field, element};
-     } else {
--      unfocused_fields.emplace_back(&field, element);
-+      unfocused_fields.emplace_back() = {&field, element};
-     }
-   }
- 
-diff -up chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.no_matching_constructor chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc
---- chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.no_matching_constructor	2024-05-29 18:01:05.000000000 +0200
-+++ chromium-126.0.6478.26/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc	2024-06-02 23:51:25.497915604 +0200
-@@ -635,10 +635,10 @@ std::unique_ptr<AutofillProfile> Address
-     }
- 
-     base::span<const uint8_t> observations_data = s.ColumnBlob(3);
--    field_type_values.emplace_back(
-+    field_type_values.emplace_back() = {
-         type, s.ColumnString16(1), s.ColumnInt(2),
-         std::vector<uint8_t>(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<Suggestion> 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<std::string> 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<download::DownloadSaveItemData::ItemInfo> 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<GpuFeatureData> GetGpuFeatur
-       *base::CommandLine::ForCurrentProcess();
- 
-   std::vector<GpuFeatureData> 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<GpuFeatureData> 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<GpuFeatureData> 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<GpuFeatureData> 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<GpuFeatureData> 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<GpuFeatureData> 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<GpuFeatureData> 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<base::flat_map<std::string
-     if (!pair.second.is_double()) {
-       return std::nullopt;
-     }
--    pairs.emplace_back(pair.first, pair.second.GetDouble());
-+    pairs.emplace_back() = {pair.first, pair.second.GetDouble()};
-   }
-   return base::flat_map<std::string, double>(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<blink::AdSize::LengthUnit>(
-                                           width_units_val->GetInt()),
-                                       height_val->GetDouble(),
-                                       static_cast<blink::AdSize::LengthUnit>(
--                                          height_units_val->GetInt())));
-+                                          height_units_val->GetInt()))};
-   }
-   return result;
- }
-@@ -440,9 +440,9 @@ DeserializeStringStringVectorMap(const s
-     DCHECK(list && list->is_list());
-     std::vector<std::string> 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<std::vector<std::string>>
-     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<DebugReportCooldown> DoGet
-     return std::nullopt;
-   }
- 
--  return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0),
-+  return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0),
-                              static_cast<DebugReportCooldownType>(
--                                 cooldown_debugging_only_report.ColumnInt(1)));
-+                                 cooldown_debugging_only_report.ColumnInt(1))};
- }
- 
- void DoGetDebugReportCooldowns(
-@@ -3726,10 +3726,10 @@ DoGetKAnonymityData(sql::Database& db,
- 
-   std::vector<StorageInterestGroup::KAnonymityData> 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<blink::InterestGroupKey> 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<BiddingAndAuctionServerKey> 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<ClientSharedImage>(
-       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<ClientSharedImage> 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<ClientSharedImage>(
-           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<ClientSharedImage>(
-           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<ClientSharedImage> ClientS
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       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<ClientSharedImage>(
-       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<InsetAreaKeyword> 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<Color::HueInterpolationMethod> 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<FontPalette::FontPaletteOverride>
-         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<int>(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, TransferFnVersion>({
-         {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, TransferFnVersion>(
-         {{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, MatrixVersion>(
-         {{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, RangeVersion>(
-         {{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<float>(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<DelegatingLayoutManager*>(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<LabelButton*>(this)->image_container_view(),
-       static_cast<DelegatingLayoutManager*>(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<DelegatingLayoutManager*>(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/chromium-126-el7-old-cups.patch b/chromium-126-el7-old-cups.patch
deleted file mode 100644
index 6821086..0000000
--- a/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<int>(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/chromium-126-el7-rust-c_string.patch b/chromium-126-el7-rust-c_string.patch
deleted file mode 100644
index 98817e5..0000000
--- a/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>(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>(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>(v: &mut V, node: &mut crate::LitByteStr)
- where
-     V: VisitMut + ?Sized,
- {}
-+pub fn visit_lit_cstr_mut<V>(v: &mut V, node: &mut crate::LitCStr)
-+where
-+    V: VisitMut + ?Sized,
-+{}
- pub fn visit_lit_char_mut<V>(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<LitRepr>,
-+    }
-+}
-+
- 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::<str>::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<Literal> 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<Literal> 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<Self> {
-+            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<Self> {
-@@ -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<str>) {
-+        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<str>) {
-+        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<str>) {
-+        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<str>) {
-         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<S>(mut s: &S) -> (char, &S)
-+    where
-+        S: Index<RangeFrom<usize>, 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<syn::Lit> {
-         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<syn::LitByteStr> {
-         write!(formatter, "{:?}", self.value.value())
-     }
- }
-+impl Debug for Lite<syn::LitCStr> {
-+    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+        write!(formatter, "{:?}", self.value.value())
-+    }
-+}
- impl Debug for Lite<syn::LitChar> {
-     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::<Lit>(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::<proc_macro::Literal>().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::<proc_macro::Literal>().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::<TokenStream>().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::<TokenStream>().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/chromium-126-el7-std_variant.patch b/chromium-126-el7-std_variant.patch
deleted file mode 100644
index 3375bfc..0000000
--- a/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 <map>
- #include <memory>
- #include <queue>
--#include <variant>
- #include <vector>
- 
- #include "base/barrier_callback.h"
-@@ -41,20 +40,16 @@ std::vector<URLVisitAggregate> ComputeUR
-     for (std::pair<const URLMergeKey, URLVisitAggregate::URLVisitVariant>&
-              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<URLVisitAggregate::TabData>(url_data.second)) {
-+        auto& tab_data = std::get<URLVisitAggregate::TabData>(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<const GURL*> URLVisitAggregate::GetAssociatedURLs() const {
-   std::set<const GURL*> 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<URLVisitAggregate::TabData>(
-+            fetcher_entry.second)) {
-+      const auto& tab_data =
-+          std::get<URLVisitAggregate::TabData>(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 <memory>
- #include <optional>
- #include <set>
-+#include <variant>
- #include <vector>
- 
- #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 <class... Ts>
--struct URLVisitVariantHelper : Ts... {
--  using Ts::operator()...;
--};
--
- }  // namespace visited_url_ranking
- 
- #endif  // COMPONENTS_VISITED_URL_RANKING_PUBLIC_URL_VISIT_H_

diff --git a/chromium-126-el7-stdformat.patch b/chromium-126-el7-stdformat.patch
deleted file mode 100644
index 80a2da8..0000000
--- a/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/chromium-126-el7-type-alias.patch b/chromium-126-el7-type-alias.patch
deleted file mode 100644
index 38e7bc1..0000000
--- a/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<Suggestion> 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<Suggestion> PlusAddressServi
-   std::optional<std::string> 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<Suggestion> 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/chromium-98.0.4758.80-epel7-erase-fix.patch b/chromium-98.0.4758.80-epel7-erase-fix.patch
deleted file mode 100644
index 230e9d6..0000000
--- a/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/chromium.spec b/chromium.spec
index c1372a4..c20cb24 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -60,25 +60,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 +75,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
 
@@ -135,9 +124,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,9 +154,6 @@
 
 # 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
@@ -229,11 +212,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
@@ -370,67 +353,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<char>::erase(std::basic_string<char>::const_iterator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&)'
-#   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
@@ -1190,40 +1112,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
@@ -1236,7 +1124,7 @@ 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
@@ -1454,16 +1342,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

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-07 16:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-07 16:06 [rpms/chromium] epel9-next: drop chromium support for el7 Than Ngo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox