public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: - update to 126.0.6478.55
@ 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 : 53321af48cdbb4d1409f5942ec7c38826098db31
Author : Than Ngo <than@redhat.com>
Date : 2024-06-12T11:59:36+02:00
Stats : +5782/-4090 in 32 file(s)
URL : https://src.fedoraproject.org/rpms/chromium/c/53321af48cdbb4d1409f5942ec7c38826098db31?branch=epel9-next
Log:
- update to 126.0.6478.55
* High CVE-2024-5830: Type Confusion in V8
* High CVE-2024-5831: Use after free in Dawn
* High CVE-2024-5832: Use after free in Dawn
* High CVE-2024-5833: Type Confusion in V8
* High CVE-2024-5834: Inappropriate implementation in Dawn
* High CVE-2024-5835: Heap buffer overflow in Tab Groups
* High CVE-2024-5836: Inappropriate Implementation in DevTools
* High CVE-2024-5837: Type Confusion in V8
* High CVE-2024-5838: Type Confusion in V8
* Medium CVE-2024-5839: Inappropriate Implementation in Memory Allocator
* Medium CVE-2024-5840: Policy Bypass in CORS
* Medium CVE-2024-5841: Use after free in V8
* Medium CVE-2024-5842: Use after free in Browser UI
* Medium CVE-2024-5843: Inappropriate implementation in Downloads
* Medium CVE-2024-5844: Heap buffer overflow in Tab Strip
* Medium CVE-2024-5845: Use after free in Audio
* Medium CVE-2024-5846: Use after free in PDFium
* Medium CVE-2024-5847: Use after free in PDFium
- refreshed patches
- dropped a workaround for a bug in new llvm on f40/rawhide (ppc64le)
- tweaked system build flags
---
diff --git a/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch b/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
index 8591c28..2927b87 100644
--- a/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
+++ b/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
@@ -1,8 +1,8 @@
-Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
+Index: chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
===================================================================
--- /dev/null
-+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
-@@ -0,0 +1,93 @@
++++ chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
+@@ -0,0 +1,95 @@
+;
+; Copyright (c) 2024, Alliance for Open Media. All rights reserved
+;
@@ -20,7 +20,7 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+AOM_ARCH_X86_64 equ 0
+CONFIG_ACCOUNTING equ 0
+CONFIG_ANALYZER equ 0
-+CONFIG_AV1_DECODER equ 1
++CONFIG_AV1_DECODER equ 0
+CONFIG_AV1_ENCODER equ 1
+CONFIG_AV1_HIGHBITDEPTH equ 0
+CONFIG_AV1_TEMPORAL_DENOISING equ 1
@@ -47,16 +47,17 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+CONFIG_INTER_STATS_ONLY equ 0
+CONFIG_LIBVMAF_PSNR_PEAK equ 1
+CONFIG_LIBYUV equ 0
-+CONFIG_MAX_DECODE_PROFILE equ 0
++CONFIG_MAX_DECODE_PROFILE equ 2
+CONFIG_MISMATCH_DEBUG equ 0
+CONFIG_MULTITHREAD equ 1
+CONFIG_NN_V2 equ 0
-+CONFIG_NORMAL_TILE_MODE equ 1
++CONFIG_NORMAL_TILE_MODE equ 0
+CONFIG_OPTICAL_FLOW_API equ 0
+CONFIG_OS_SUPPORT equ 1
+CONFIG_OUTPUT_FRAME_SIZE equ 0
+CONFIG_PARTITION_SEARCH_ORDER equ 0
+CONFIG_PIC equ 1
++CONFIG_QUANT_MATRIX equ 0
+CONFIG_RATECTRL_LOG equ 0
+CONFIG_RD_COMMAND equ 0
+CONFIG_RD_DEBUG equ 0
@@ -92,14 +93,15 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+HAVE_SSE4_2 equ 0
+HAVE_SSSE3 equ 0
+HAVE_SVE equ 0
++HAVE_SVE2 equ 0
+HAVE_UNISTD_H equ 1
+HAVE_VSX equ 1
+HAVE_WXWIDGETS equ 0
+STATIC_LINK_JXL equ 0
-Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
+Index: chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
===================================================================
--- /dev/null
-+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
++++ chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved
@@ -112,13 +114,13 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+ * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
+ */
+#include "aom/aom_codec.h"
-+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
++static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
+const char *aom_codec_build_config(void) {return cfg;}
-Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
+Index: chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
===================================================================
--- /dev/null
-+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
-@@ -0,0 +1,97 @@
++++ chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
+@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved
+ *
@@ -138,7 +140,7 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+#define AOM_ARCH_X86_64 0
+#define CONFIG_ACCOUNTING 0
+#define CONFIG_ANALYZER 0
-+#define CONFIG_AV1_DECODER 1
++#define CONFIG_AV1_DECODER 0
+#define CONFIG_AV1_ENCODER 1
+#define CONFIG_AV1_HIGHBITDEPTH 0
+#define CONFIG_AV1_TEMPORAL_DENOISING 1
@@ -165,16 +167,17 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+#define CONFIG_INTER_STATS_ONLY 0
+#define CONFIG_LIBVMAF_PSNR_PEAK 1
+#define CONFIG_LIBYUV 0
-+#define CONFIG_MAX_DECODE_PROFILE 0
++#define CONFIG_MAX_DECODE_PROFILE 2
+#define CONFIG_MISMATCH_DEBUG 0
+#define CONFIG_MULTITHREAD 1
+#define CONFIG_NN_V2 0
-+#define CONFIG_NORMAL_TILE_MODE 1
++#define CONFIG_NORMAL_TILE_MODE 0
+#define CONFIG_OPTICAL_FLOW_API 0
+#define CONFIG_OS_SUPPORT 1
+#define CONFIG_OUTPUT_FRAME_SIZE 0
+#define CONFIG_PARTITION_SEARCH_ORDER 0
+#define CONFIG_PIC 1
++#define CONFIG_QUANT_MATRIX 0
+#define CONFIG_RATECTRL_LOG 0
+#define CONFIG_RD_COMMAND 0
+#define CONFIG_RD_DEBUG 0
@@ -210,16 +213,17 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+#define HAVE_SSE4_2 0
+#define HAVE_SSSE3 0
+#define HAVE_SVE 0
++#define HAVE_SVE2 0
+#define HAVE_UNISTD_H 1
+#define HAVE_VSX 1
+#define HAVE_WXWIDGETS 0
+#define INLINE inline
+#define STATIC_LINK_JXL 0
+#endif // AOM_CONFIG_H_
-Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
+Index: chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
++++ chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
@@ -0,0 +1,1541 @@
+// This file is generated. Do not edit.
+#ifndef AOM_DSP_RTCD_H_
@@ -1762,10 +1766,10 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif
-Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
+Index: chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
++++ chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
@@ -0,0 +1,107 @@
+// This file is generated. Do not edit.
+#ifndef AOM_SCALE_RTCD_H_
@@ -1785,7 +1789,7 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+extern "C" {
+#endif
+
-+void aom_extend_frame_borders_c(struct yv12_buffer_config *ybf, const int num_planes);
++void aom_extend_frame_borders_c(struct yv12_buffer_config *ybf, int num_planes);
+#define aom_extend_frame_borders aom_extend_frame_borders_c
+
+void aom_extend_frame_borders_plane_row_c(const struct yv12_buffer_config *ybf, int plane, int v_start, int v_end);
@@ -1874,11 +1878,11 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif
-Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
+Index: chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
-@@ -0,0 +1,478 @@
++++ chromium-126.0.6478.57/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
+@@ -0,0 +1,484 @@
+// This file is generated. Do not edit.
+#ifndef AV1_RTCD_H_
+#define AV1_RTCD_H_
@@ -2256,6 +2260,12 @@ Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/confi
+void av1_resize_and_extend_frame_c(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, const InterpFilter filter, const int phase, const int num_planes);
+#define av1_resize_and_extend_frame av1_resize_and_extend_frame_c
+
++void av1_resize_horz_dir_c(const uint8_t *const input, int in_stride, uint8_t *intbuf, int height, int filteredlength, int width2);
++#define av1_resize_horz_dir av1_resize_horz_dir_c
++
++bool av1_resize_vert_dir_c(uint8_t *intbuf, uint8_t *output, int out_stride, int height, int height2, int width2, int start_col);
++#define av1_resize_vert_dir av1_resize_vert_dir_c
++
+void av1_round_shift_array_c(int32_t *arr, int size, int bit);
+#define av1_round_shift_array av1_round_shift_array_c
+
diff --git a/0002-Add-PPC64-generated-files-for-boringssl.patch b/0002-Add-PPC64-generated-files-for-boringssl.patch
index 5ab5f16..4d1355f 100644
--- a/0002-Add-PPC64-generated-files-for-boringssl.patch
+++ b/0002-Add-PPC64-generated-files-for-boringssl.patch
@@ -1,6 +1,7 @@
-diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/aesp8-ppc-linux.S chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
---- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/aesp8-ppc-linux.S 1970-01-01 00:00:00.000000000 +0000
-+++ chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S 2024-05-14 17:55:16.198250869 +0000
+Index: chromium-126.0.6478.57/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
+===================================================================
+--- /dev/null
++++ chromium-126.0.6478.57/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
@@ -0,0 +1,3673 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.
@@ -3675,9 +3676,10 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/aesp8-pp
+// See https://www.airs.com/blog/archives/518.
+.section .note.GNU-stack,"",%progbits
+#endif
-diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/ghashp8-ppc-linux.S chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
---- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/ghashp8-ppc-linux.S 1970-01-01 00:00:00.000000000 +0000
-+++ chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S 2024-05-14 17:55:16.086263678 +0000
+Index: chromium-126.0.6478.57/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
+===================================================================
+--- /dev/null
++++ chromium-126.0.6478.57/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
@@ -0,0 +1,590 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.
@@ -4269,10 +4271,11 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/ghashp8-
+// See https://www.airs.com/blog/archives/518.
+.section .note.GNU-stack,"",%progbits
+#endif
-diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmake chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.cmake
---- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmake 2024-05-08 20:30:38.000000000 +0000
-+++ chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.cmake 2024-05-14 17:55:16.018271455 +0000
-@@ -110,6 +110,7 @@
+Index: chromium-126.0.6478.57/third_party/boringssl/src/gen/sources.cmake
+===================================================================
+--- chromium-126.0.6478.57.orig/third_party/boringssl/src/gen/sources.cmake
++++ chromium-126.0.6478.57/third_party/boringssl/src/gen/sources.cmake
+@@ -110,6 +110,7 @@ set(
gen/bcm/aesni-x86-linux.S
gen/bcm/aesni-x86_64-apple.S
gen/bcm/aesni-x86_64-linux.S
@@ -4280,7 +4283,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
gen/bcm/aesv8-armv7-linux.S
gen/bcm/aesv8-armv8-apple.S
gen/bcm/aesv8-armv8-linux.S
-@@ -141,6 +142,7 @@
+@@ -141,6 +142,7 @@ set(
gen/bcm/ghash-x86-linux.S
gen/bcm/ghash-x86_64-apple.S
gen/bcm/ghash-x86_64-linux.S
@@ -4288,7 +4291,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
gen/bcm/ghashv8-armv7-linux.S
gen/bcm/ghashv8-armv8-apple.S
gen/bcm/ghashv8-armv8-linux.S
-@@ -336,6 +338,7 @@
+@@ -336,6 +338,7 @@ set(
crypto/cpu_arm_freebsd.c
crypto/cpu_arm_linux.c
crypto/cpu_intel.c
@@ -4296,7 +4299,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
crypto/crypto.c
crypto/curve25519/curve25519.c
crypto/curve25519/curve25519_64_adx.c
-@@ -775,37 +778,6 @@
+@@ -775,37 +778,6 @@ set(
CRYPTO_TEST_DATA
crypto/blake2/blake2b256_tests.txt
@@ -4334,7 +4337,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
crypto/curve25519/ed25519_tests.txt
crypto/ecdh_extra/ecdh_tests.txt
crypto/evp/evp_tests.txt
-@@ -1182,1401 +1154,6 @@
+@@ -1189,1413 +1161,6 @@ set(
set(
PKI_TEST_DATA
@@ -5306,14 +5309,18 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
- pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-not-critical/main.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/any.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/chain.pem
+- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth.test
+- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/any.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/chain.pem
+- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth.test
+- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-chain.pem
@@ -5328,6 +5335,8 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-clientAuth.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth-strict.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth.test
+- pki/testdata/verify_certificate_chain_unittest/intermediate-invalid-spki/chain.pem
+- pki/testdata/verify_certificate_chain_unittest/intermediate-invalid-spki/main.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/chain.pem
- pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/main.test
- pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-signing-key-usage/chain.pem
@@ -5527,8 +5536,10 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
- pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/unspecified-trust-root.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-any/any.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-any/chain.pem
+- pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth.test
+- pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/any.test
@@ -5539,12 +5550,15 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
- pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/serverauth.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-many/any.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-many/chain.pem
+- pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth.test
+- pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-none/any.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-none/chain.pem
+- pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth-strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth-strict.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth.test
- pki/testdata/verify_certificate_chain_unittest/target-eku-none/serverauth-strict.test
@@ -5567,6 +5581,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
- pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-no-eku/main.test
- pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/chain.pem
- pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/main.test
+- pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/strict-leaf.test
- pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/strict.test
- pki/testdata/verify_certificate_chain_unittest/target-only/chain.pem
- pki/testdata/verify_certificate_chain_unittest/target-only/trusted_anchor.test
@@ -5736,7 +5751,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
pki/testdata/verify_unittest/google-leaf.der
pki/testdata/verify_unittest/self-issued.pem
)
-@@ -2689,6 +1266,7 @@
+@@ -2708,6 +1273,7 @@ set(
gen/test_support/trampoline-armv8-apple.S
gen/test_support/trampoline-armv8-linux.S
gen/test_support/trampoline-armv8-win.S
@@ -5744,9 +5759,10 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmak
gen/test_support/trampoline-x86-apple.S
gen/test_support/trampoline-x86-linux.S
gen/test_support/trampoline-x86_64-apple.S
-diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.json
---- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json 2024-05-08 20:30:38.000000000 +0000
-+++ chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.json 2024-05-14 17:55:16.022270997 +0000
+Index: chromium-126.0.6478.57/third_party/boringssl/src/gen/sources.json
+===================================================================
+--- chromium-126.0.6478.57.orig/third_party/boringssl/src/gen/sources.json
++++ chromium-126.0.6478.57/third_party/boringssl/src/gen/sources.json
@@ -88,6 +88,7 @@
"gen/bcm/aesni-x86-linux.S",
"gen/bcm/aesni-x86_64-apple.S",
@@ -5809,7 +5825,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
"crypto/curve25519/ed25519_tests.txt",
"crypto/ecdh_extra/ecdh_tests.txt",
"crypto/evp/evp_tests.txt",
-@@ -1123,1401 +1095,6 @@
+@@ -1127,1413 +1099,6 @@
"pki/verify_signed_data_unittest.cc"
],
"data": [
@@ -6781,14 +6797,18 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
- "pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-not-critical/main.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/any.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/chain.pem",
+- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth.test",
+- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/any.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/chain.pem",
+- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth.test",
+- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-chain.pem",
@@ -6803,6 +6823,8 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-clientAuth.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth.test",
+- "pki/testdata/verify_certificate_chain_unittest/intermediate-invalid-spki/chain.pem",
+- "pki/testdata/verify_certificate_chain_unittest/intermediate-invalid-spki/main.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/chain.pem",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/main.test",
- "pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-signing-key-usage/chain.pem",
@@ -7002,8 +7024,10 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
- "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/unspecified-trust-root.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/any.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/chain.pem",
+- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth.test",
+- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/any.test",
@@ -7014,12 +7038,15 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
- "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/serverauth.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/any.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/chain.pem",
+- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth.test",
+- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-none/any.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-none/chain.pem",
+- "pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth-strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth-strict.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth.test",
- "pki/testdata/verify_certificate_chain_unittest/target-eku-none/serverauth-strict.test",
@@ -7042,6 +7069,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
- "pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-no-eku/main.test",
- "pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/chain.pem",
- "pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/main.test",
+- "pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/strict-leaf.test",
- "pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/strict.test",
- "pki/testdata/verify_certificate_chain_unittest/target-only/chain.pem",
- "pki/testdata/verify_certificate_chain_unittest/target-only/trusted_anchor.test",
@@ -7211,7 +7239,7 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
"pki/testdata/verify_unittest/google-leaf.der",
"pki/testdata/verify_unittest/self-issued.pem"
]
-@@ -2615,6 +1192,7 @@
+@@ -2631,6 +1196,7 @@
"gen/test_support/trampoline-armv8-apple.S",
"gen/test_support/trampoline-armv8-linux.S",
"gen/test_support/trampoline-armv8-win.S",
@@ -7219,9 +7247,10 @@ diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json
"gen/test_support/trampoline-x86-apple.S",
"gen/test_support/trampoline-x86-linux.S",
"gen/test_support/trampoline-x86_64-apple.S",
-diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/test_support/trampoline-ppc-linux.S chromium-125.0.6422.41/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
---- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/test_support/trampoline-ppc-linux.S 1970-01-01 00:00:00.000000000 +0000
-+++ chromium-125.0.6422.41/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S 2024-05-14 17:55:16.090263221 +0000
+Index: chromium-126.0.6478.57/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
+===================================================================
+--- /dev/null
++++ chromium-126.0.6478.57/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
@@ -0,0 +1,1413 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.
diff --git a/0008-sandbox-fix-ppc64le-glibc234.patch b/0008-sandbox-fix-ppc64le-glibc234.patch
index 185aefc..dfda9e8 100644
--- a/0008-sandbox-fix-ppc64le-glibc234.patch
+++ b/0008-sandbox-fix-ppc64le-glibc234.patch
@@ -1,7 +1,7 @@
-Index: chromium-120.0.6099.71/sandbox/policy/linux/bpf_utility_policy_linux.cc
+Index: chromium-126.0.6478.57/sandbox/policy/linux/bpf_utility_policy_linux.cc
===================================================================
---- chromium-120.0.6099.71.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
-+++ chromium-120.0.6099.71/sandbox/policy/linux/bpf_utility_policy_linux.cc
+--- chromium-126.0.6478.57.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
++++ chromium-126.0.6478.57/sandbox/policy/linux/bpf_utility_policy_linux.cc
@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
@@ -11,10 +11,10 @@ Index: chromium-120.0.6099.71/sandbox/policy/linux/bpf_utility_policy_linux.cc
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
-Index: chromium-120.0.6099.71/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+Index: chromium-126.0.6478.57/sandbox/policy/linux/bpf_renderer_policy_linux.cc
===================================================================
---- chromium-120.0.6099.71.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-+++ chromium-120.0.6099.71/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+--- chromium-126.0.6478.57.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
++++ chromium-126.0.6478.57/sandbox/policy/linux/bpf_renderer_policy_linux.cc
@@ -87,7 +87,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
@@ -24,10 +24,10 @@ Index: chromium-120.0.6099.71/sandbox/policy/linux/bpf_renderer_policy_linux.cc
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
-Index: chromium-120.0.6099.71/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+Index: chromium-126.0.6478.57/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
===================================================================
---- chromium-120.0.6099.71.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-+++ chromium-120.0.6099.71/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+--- chromium-126.0.6478.57.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
++++ chromium-126.0.6478.57/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -58,9 +58,9 @@
#elif defined(__powerpc64__)
@@ -40,37 +40,36 @@ Index: chromium-120.0.6099.71/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
#else
-Index: chromium-120.0.6099.71/sandbox/linux/services/credentials.cc
+Index: chromium-126.0.6478.57/sandbox/linux/services/credentials.cc
===================================================================
---- chromium-120.0.6099.71.orig/sandbox/linux/services/credentials.cc
-+++ chromium-120.0.6099.71/sandbox/linux/services/credentials.cc
-@@ -89,7 +89,9 @@ bool ChrootToSafeEmptyDir() {
+--- chromium-126.0.6478.57.orig/sandbox/linux/services/credentials.cc
++++ chromium-126.0.6478.57/sandbox/linux/services/credentials.cc
+@@ -89,7 +89,8 @@ bool ChrootToSafeEmptyDir() {
int clone_flags = CLONE_FS | LINUX_SIGCHLD;
void* tls = nullptr;
-#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY)) && \
-+// RAJA this might be it...
+#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY) || \
+ defined(ARCH_CPU_PPC64_FAMILY)) && \
!defined(MEMORY_SANITIZER)
// Use CLONE_VM | CLONE_VFORK as an optimization to avoid copying page tables.
// Since clone writes to the new child's TLS before returning, we must set a
-@@ -97,6 +99,11 @@ bool ChrootToSafeEmptyDir() {
+@@ -97,6 +98,11 @@ bool ChrootToSafeEmptyDir() {
// glibc performs syscalls by calling a function pointer in TLS, so we do not
// attempt this optimization.
- // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f.
+ // TODO(crbug.com/40196869) Broken in MSan builds after LLVM f1bb30a4956f.
+ //
+ // NOTE: Without CLONE_VM, fontconfig will attempt to reload configuration
+ // in every thread. Since the rendered threads are sandboxed without
+ // filesystem access (e.g. to /etc/fonts/fonts.conf) this will cause font
-+ // configuraiton loading failures and no fonts will be displayed!
++ // configuration loading failures and no fonts will be displayed!
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
// PTHREAD_STACK_MIN can be dynamic in glibc2.34+, so it is not possible to
-Index: chromium-120.0.6099.71/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+Index: chromium-126.0.6478.57/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
===================================================================
---- chromium-120.0.6099.71.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
-+++ chromium-120.0.6099.71/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+--- chromium-126.0.6478.57.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
++++ chromium-126.0.6478.57/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
@@ -357,7 +357,16 @@ intptr_t SIGSYSFstatatHandler(const stru
if (args.nr == __NR_fstatat_default) {
if (*reinterpret_cast<const char*>(args.args[1]) == '\0' &&
diff --git a/chromium-116-el7-include-fcntl-memfd.patch b/chromium-116-el7-include-fcntl-memfd.patch
deleted file mode 100644
index d23745e..0000000
--- a/chromium-116-el7-include-fcntl-memfd.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -up chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c
---- chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c.me 2022-12-24 11:08:03.212333476 +0100
-+++ chromium-108.0.5359.124/third_party/wayland/src/src/wayland-shm.c 2022-12-24 11:08:18.316606155 +0100
-@@ -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-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc
---- chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc.el7-memfd-include 2022-06-15 10:52:49.553817031 -0400
-+++ chromium-102.0.5005.115/v8/src/base/platform/platform-posix.cc 2022-06-15 10:56:15.775173013 -0400
-@@ -56,6 +56,7 @@
-
- #if V8_OS_LINUX
- #include <sys/prctl.h> // for prctl
-+#include <linux/memfd.h> // for MFD_CLOEXEC
- #endif
-
- #if defined(V8_OS_FUCHSIA)
-diff -up iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c
---- iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c.me 2022-12-08 21:59:43.502200984 +0100
-+++ iridium-browser-2022.12.108.1/third_party/wayland/src/cursor/os-compatibility.c 2022-12-08 22:13:53.375653343 +0100
-@@ -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-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.me chromium-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc
---- chromium-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.me 2023-08-17 06:32:32.484538849 +0200
-+++ chromium-116.0.5845.96/ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc 2023-08-17 07:02:01.965168328 +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 <utility>
diff --git a/chromium-120-split-threshold-for-reg-with-hint.patch b/chromium-120-split-threshold-for-reg-with-hint.patch
deleted file mode 100644
index e80ed71..0000000
--- a/chromium-120-split-threshold-for-reg-with-hint.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -up chromium-120.0.6099.35/build/config/compiler/BUILD.gn.than chromium-120.0.6099.35/build/config/compiler/BUILD.gn
---- chromium-120.0.6099.35/build/config/compiler/BUILD.gn.than 2023-11-26 17:02:25.647022746 +0100
-+++ chromium-120.0.6099.35/build/config/compiler/BUILD.gn 2023-11-26 17:15:58.025585358 +0100
-@@ -616,24 +616,6 @@ config("compiler") {
- }
- }
-
-- # TODO(crbug.com/1488374): This causes binary size growth and potentially
-- # other problems.
-- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
-- if (default_toolchain != "//build/toolchain/cros:target" &&
-- !llvm_android_mainline) {
-- cflags += [
-- "-mllvm",
-- "-split-threshold-for-reg-with-hint=0",
-- ]
-- if (use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
-- }
-- }
-- }
--
- # TODO(crbug.com/1235145): Investigate why/if this should be needed.
- if (is_win) {
- cflags += [ "/clang:-ffp-contract=off" ]
diff --git a/chromium-122-clang16-disable-auto-upgrade-debug-info.patch b/chromium-122-clang16-disable-auto-upgrade-debug-info.patch
deleted file mode 100644
index c830caa..0000000
--- a/chromium-122-clang16-disable-auto-upgrade-debug-info.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-122.0.6261.29/build/config/compiler/BUILD.gn.me chromium-122.0.6261.29/build/config/compiler/BUILD.gn
---- chromium-122.0.6261.29/build/config/compiler/BUILD.gn.me 2024-02-12 14:46:52.691992282 +0100
-+++ chromium-122.0.6261.29/build/config/compiler/BUILD.gn 2024-02-12 14:48:54.256274068 +0100
-@@ -787,7 +787,7 @@ config("compiler") {
-
- # We only use one version of LLVM within a build so there's no need to
- # upgrade debug info, which can be expensive since it runs the verifier.
-- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
-+ ldflags += [ "" ]
- }
-
- # TODO(https://crbug.com/1211155): investigate why this isn't effective on
diff --git a/chromium-124-clang16-buildflags.patch b/chromium-124-clang16-buildflags.patch
deleted file mode 100644
index b53b2a8..0000000
--- a/chromium-124-clang16-buildflags.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up chromium-124.0.6367.49/build/config/compiler/BUILD.gn.orig chromium-124.0.6367.49/build/config/compiler/BUILD.gn
---- chromium-124.0.6367.49/build/config/compiler/BUILD.gn.orig 2024-04-14 22:43:02.906578948 +0200
-+++ chromium-124.0.6367.49/build/config/compiler/BUILD.gn 2024-04-14 22:46:19.513353809 +0200
-@@ -1890,9 +1890,6 @@ config("default_warnings") {
-
- # TODO(crbug.com/1494809): Evaluate and possibly enable.
- "-Wno-vla-extension",
--
-- # TODO(https://crbug.com/1490607): Fix and re-enable.
-- "-Wno-thread-safety-reference-return",
- ]
-
- cflags_cc += [
-@@ -1903,7 +1900,7 @@ config("default_warnings") {
- if (!is_nacl) {
- cflags_cc += [
- # TODO(https://crbug.com/1513724): Fix and re-enable.
-- "-Wno-c++11-narrowing-const-reference",
-+ "-Wno-c++11-narrowing",
- ]
- }
- }
diff --git a/chromium-124-libavif-deps.patch b/chromium-124-libavif-deps.patch
deleted file mode 100644
index 6298217..0000000
--- a/chromium-124-libavif-deps.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up chromium-124.0.6367.49/third_party/libavif/BUILD.gn.me chromium-124.0.6367.49/third_party/libavif/BUILD.gn
---- chromium-124.0.6367.49/third_party/libavif/BUILD.gn.me 2024-04-15 22:29:28.024287328 +0200
-+++ chromium-124.0.6367.49/third_party/libavif/BUILD.gn 2024-04-15 22:29:33.205411066 +0200
-@@ -85,7 +85,6 @@ component("libavif_enc") {
- configs += [ ":avif_config" ]
-
- deps = [
-- "//third_party/libwebp:libwebp_sharpyuv",
- "//third_party/libyuv",
- ]
- defines = [ "AVIF_LIBSHARPYUV_ENABLED" ]
diff --git a/chromium-125-devtools-build-dependency.patch b/chromium-125-devtools-build-dependency.patch
deleted file mode 100644
index 1f16ac1..0000000
--- a/chromium-125-devtools-build-dependency.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-commit a976cb05b4024b7a6452d1541378d718cdfe33e6
-Author: Takuto Ikuta <tikuta@chromium.org>
-Date: Thu Apr 25 07:25:32 2024 +0000
-
- [devtools] fix a missing build dependency to a generated file
-
- Bug: 336911498
- Change-Id: I6e6d3afaf33ace53a68271b70165b8c3ab596340
- Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5487538
- Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
- Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
- Reviewed-by: Danil Somsikov <dsv@chromium.org>
- Commit-Queue: Danil Somsikov <dsv@chromium.org>
- Cr-Commit-Position: refs/heads/main@{#1292300}
-
-diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
-index f0c07cad8cfb4..053199e462f55 100644
---- a/chrome/browser/devtools/BUILD.gn
-+++ b/chrome/browser/devtools/BUILD.gn
-@@ -117,6 +117,7 @@ static_library("devtools") {
- "//chrome/browser/autofill:autofill",
- "//components/autofill/content/browser:browser",
- "//components/autofill/core/browser:browser",
-+ "//components/enterprise/buildflags",
- "//components/paint_preview/buildflags:buildflags",
- "//components/variations/service:service",
- "//components/webapps/common:common",
diff --git a/chromium-125-el7-constexpr.patch b/chromium-125-el7-constexpr.patch
deleted file mode 100644
index 0183bb3..0000000
--- a/chromium-125-el7-constexpr.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.const 2024-05-18 18:57:37.099203314 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h 2024-05-18 22:16:52.879603051 +0200
-@@ -42,7 +42,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-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.const 2024-05-18 19:03:13.999255471 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h 2024-05-18 22:16:52.883603124 +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-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h.const 2024-05-18 18:59:16.859995432 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h 2024-05-18 22:16:52.883603124 +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-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h.const 2024-05-18 18:59:49.020573177 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h 2024-05-18 22:16:52.883603124 +0200
-@@ -26,7 +26,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-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.const 2024-05-18 19:00:08.686926471 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h 2024-05-18 22:16:52.883603124 +0200
-@@ -63,7 +63,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-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.const 2024-05-18 19:00:36.351423440 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h 2024-05-18 22:16:52.884603143 +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-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.const 2024-05-18 19:00:56.088778012 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h 2024-05-18 22:16:52.884603143 +0200
-@@ -102,7 +102,7 @@ class CustomizeChromeUI
- side_panel::customize_chrome::mojom::WallpaperSearchHandlerFactory>
- pending_receiver);
-
-- static constexpr std::string GetWebUIName() { return "CustomizeChrome"; }
-+ static const std::string GetWebUIName() { return "CustomizeChrome"; }
-
- private:
- // side_panel::mojom::CustomizeChromePageHandlerFactory
-diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.const 2024-05-18 19:01:15.986135446 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h 2024-05-18 22:16:52.884603143 +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-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.const 2024-05-18 19:01:34.274463982 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h 2024-05-18 22:16:52.884603143 +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-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.const 2024-05-18 19:01:52.842797556 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h 2024-05-18 22:16:52.884603143 +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-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.const 2024-05-18 19:02:17.381238375 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h 2024-05-18 22:16:52.885603162 +0200
-@@ -47,7 +47,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-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.const 2024-05-18 19:02:34.413544341 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h 2024-05-18 22:16:52.885603162 +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-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h
---- chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h.const 2024-05-18 19:02:52.261864965 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h 2024-05-18 22:16:52.885603162 +0200
-@@ -46,7 +46,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-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc.const chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc
---- chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc.const 2024-05-18 23:06:22.071586909 +0200
-+++ chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc 2024-05-18 23:06:44.827133461 +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-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h
---- chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me 2024-05-07 07:58:10.202960298 +0200
-+++ chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h 2024-05-07 07:59:29.413411767 +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-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h
---- chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me 2024-05-07 07:59:38.239573497 +0200
-+++ chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h 2024-05-07 08:00:55.578990659 +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-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h
---- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me 2024-05-06 18:01:28.606845554 +0200
-+++ chromium-124.0.6367.118/components/history/core/browser/history_types.h 2024-05-06 18:06:15.492751252 +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-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc
---- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me 2024-05-07 00:07:15.720573794 +0200
-+++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-05-07 00:08:07.633519604 +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 -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py
---- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 2024-05-07 10:58:13.316756926 +0200
-+++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-05-07 10:58:30.821083061 +0200
-@@ -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 --git a/chromium-125-el7-no_matching_constructor.patch b/chromium-125-el7-no_matching_constructor.patch
deleted file mode 100644
index e6acca4..0000000
--- a/chromium-125-el7-no_matching_constructor.patch
+++ /dev/null
@@ -1,1754 +0,0 @@
-diff -up chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc
---- chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor 2024-05-15 23:45:49.000000000 +0200
-+++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc 2024-05-17 12:33:58.707650385 +0200
-@@ -73,7 +73,7 @@ bool LightweightQuarantineBranch::Quaran
- // synchronization between the root and branch, so `branch_size_in_bytes_`
- // may be larger than `root_.capacity_in_bytes_` at this point.
-
-- 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-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor chromium-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc
---- chromium-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor 2024-05-15 23:45:50.000000000 +0200
-+++ chromium-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc 2024-05-17 12:33:58.708650406 +0200
-@@ -220,13 +220,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-125.0.6422.60/base/nix/mime_util_xdg.cc.no_matching_constructor chromium-125.0.6422.60/base/nix/mime_util_xdg.cc
---- chromium-125.0.6422.60/base/nix/mime_util_xdg.cc.no_matching_constructor 2024-05-15 23:45:50.000000000 +0200
-+++ chromium-125.0.6422.60/base/nix/mime_util_xdg.cc 2024-05-17 12:33:58.708650406 +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-125.0.6422.60/base/trace_event/trace_log.cc.no_matching_constructor chromium-125.0.6422.60/base/trace_event/trace_log.cc
---- chromium-125.0.6422.60/base/trace_event/trace_log.cc.no_matching_constructor 2024-05-15 23:45:50.000000000 +0200
-+++ chromium-125.0.6422.60/base/trace_event/trace_log.cc 2024-05-17 12:33:58.709650427 +0200
-@@ -2198,8 +2198,8 @@ void TraceLog::SetTraceBufferForTesting(
- #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
- 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-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc
---- chromium-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2024-05-15 23:46:00.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc 2024-05-17 12:33:58.709650427 +0200
-@@ -258,8 +258,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);
-@@ -361,8 +361,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-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
---- chromium-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2024-05-15 23:46:00.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2024-05-17 12:33:58.709650427 +0200
-@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
- // TODO(crbug.com/1445072): 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-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
---- chromium-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.no_matching_constructor 2024-05-15 23:46:01.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc 2024-05-17 12:33:58.710650447 +0200
-@@ -387,7 +387,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;
-@@ -1688,11 +1688,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-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc
---- chromium-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc.no_matching_constructor 2024-05-18 19:08:35.415026823 +0200
-+++ chromium-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc 2024-05-18 19:10:05.527644708 +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-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc
---- chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor 2024-05-15 23:46:02.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-05-17 12:33:58.711650468 +0200
-@@ -4049,10 +4049,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-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc
---- chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor 2024-05-15 23:46:05.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc 2024-05-17 12:33:58.711650468 +0200
-@@ -365,8 +365,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-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
---- chromium-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2024-05-15 23:46:05.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2024-05-17 12:33:58.712650489 +0200
-@@ -513,10 +513,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-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h
---- chromium-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h.no_matching_constructor 2024-05-15 23:46:05.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h 2024-05-17 12:33:58.712650489 +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-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc
---- chromium-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc.no_matching_constructor 2024-05-18 19:53:04.665382949 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc 2024-05-18 19:54:39.601643890 +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-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
---- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2024-05-17 12:33:58.713650509 +0200
-@@ -60,12 +60,12 @@ std::vector<EmbeddedPermissionPromptAskV
- EmbeddedPermissionPromptAskView::GetButtonsConfiguration() const {
- std::vector<ButtonConfiguration> buttons;
- if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
-- buttons.emplace_back(
-+ buttons.emplace_back() = {
- l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
-- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
-+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
- }
-- 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-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
---- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2024-05-17 12:33:58.713650509 +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-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
---- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2024-05-17 12:33:58.713650509 +0200
-@@ -64,8 +64,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-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc
---- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc 2024-05-17 12:33:58.713650509 +0200
-@@ -79,17 +79,17 @@ 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};
-
- if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
-- 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};
- } else {
-- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-- ButtonType::kAllow, ui::ButtonStyle::kTonal);
-+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-+ ButtonType::kAllow, ui::ButtonStyle::kTonal};
- }
- return buttons;
- }
-diff -up chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
---- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2024-05-17 12:33:58.713650509 +0200
-@@ -74,12 +74,12 @@ 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);
-+ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
-
-- 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-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc
---- chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc 2024-05-17 12:33:58.714650530 +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-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc
---- chromium-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc 2024-05-17 12:33:58.714650530 +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-125.0.6422.60/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-125.0.6422.60/chrome/test/chromedriver/capabilities.cc
---- chromium-125.0.6422.60/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2024-05-15 23:46:07.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/test/chromedriver/capabilities.cc 2024-05-17 12:33:58.715650551 +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-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc.no_matching_constructor chromium-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc
---- chromium-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc.no_matching_constructor 2024-05-17 15:50:21.185054389 +0200
-+++ chromium-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc 2024-05-17 15:51:40.414881053 +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-125.0.6422.60/components/attribution_reporting/registration_info.cc.no_matching_constructor chromium-125.0.6422.60/components/attribution_reporting/registration_info.cc
---- chromium-125.0.6422.60/components/attribution_reporting/registration_info.cc.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/attribution_reporting/registration_info.cc 2024-05-17 12:33:58.715650551 +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-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc.no_matching_constructor chromium-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc
---- chromium-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc.no_matching_constructor 2024-05-18 22:33:31.434606367 +0200
-+++ chromium-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc 2024-05-18 22:34:00.604459627 +0200
-@@ -2274,7 +2274,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-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.no_matching_constructor chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc
---- chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc 2024-05-17 12:33:58.715650551 +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-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc
---- chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc 2024-05-17 12:33:58.715650551 +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-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc
---- chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor 2024-05-17 16:24:29.993689838 +0200
-+++ chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc 2024-05-17 16:24:48.402073830 +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-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc
---- chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor 2024-05-15 23:46:12.000000000 +0200
-+++ chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc 2024-05-17 12:33:58.715650551 +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-125.0.6422.60/components/password_manager/core/browser/password_manager.cc.no_matching_constructor chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc
---- chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc.no_matching_constructor 2024-05-15 23:46:13.000000000 +0200
-+++ chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc 2024-05-17 12:33:58.716650572 +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-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc
---- chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor 2024-05-17 23:09:49.869213076 +0200
-+++ chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc 2024-05-17 23:22:38.599168420 +0200
-@@ -157,7 +157,7 @@ void MaybeAppendManagePasswordsEntry(
- suggestion.icon = autofill::Suggestion::Icon::kSettings;
- // The UI code will pick up an icon from the resources based on the string.
- suggestion.trailing_icon = autofill::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
-@@ -205,7 +205,7 @@ void AppendSuggestionIfMatching(
- suggestion.trailing_icon = CreateStoreIcon(from_account_store);
- }
- #endif
-- suggestions->emplace_back(std::move(suggestion));
-+ suggestions->emplace_back() = {std::move(suggestion)};
- }
- }
-
-@@ -237,8 +237,8 @@ void GetSuggestions(const autofill::Pass
-
- void AddPasswordUsernameChildSuggestion(const std::u16string& username,
- autofill::Suggestion& suggestion) {
-- suggestion.children.emplace_back(
-- username, autofill::PopupItemId::kPasswordFieldByFieldFilling);
-+ suggestion.children.emplace_back() =
-+ {username, autofill::PopupItemId::kPasswordFieldByFieldFilling};
- }
-
- void AddFillPasswordChildSuggestion(autofill::Suggestion& suggestion,
-@@ -248,8 +248,8 @@ void AddFillPasswordChildSuggestion(auto
- IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_FILL_PASSWORD_ENTRY),
- autofill::PopupItemId::kFillPassword);
- fill_password.payload =
-- autofill::Suggestion::PasswordSuggestionDetails(password);
-- suggestion.children.emplace_back(std::move(fill_password));
-+ autofill::Suggestion::PasswordSuggestionDetails{password};
-+ suggestion.children.emplace_back() = {std::move(fill_password)};
- }
-
- void AddViewPasswordDetailsChildSuggestion(autofill::Suggestion& suggestion) {
-@@ -258,7 +258,7 @@ void AddViewPasswordDetailsChildSuggesti
- IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_VIEW_DETAILS_ENTRY),
- autofill::PopupItemId::kViewPasswordDetails);
- view_password_details.icon = autofill::Suggestion::Icon::kKey;
-- suggestion.children.emplace_back(std::move(view_password_details));
-+ suggestion.children.emplace_back() = {std::move(view_password_details)};
- }
-
- autofill::Suggestion GetManualFallbackSuggestion(
-@@ -273,7 +273,7 @@ autofill::Suggestion GetManualFallbackSu
- suggestion.additional_label = maybe_username;
- suggestion.icon = autofill::Suggestion::Icon::kGlobe;
- suggestion.payload =
-- autofill::Suggestion::PasswordSuggestionDetails(credential.password);
-+ autofill::Suggestion::PasswordSuggestionDetails{credential.password};
- suggestion.is_acceptable = on_password_form.value();
-
- if (!replaced) {
-@@ -355,27 +355,27 @@ PasswordSuggestionGenerator::GetSuggesti
- 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.
-@@ -393,30 +393,30 @@ PasswordSuggestionGenerator::GetManualFa
- const bool generate_sections =
- !suggested_credentials.empty() && !credentials.empty();
- if (generate_sections) {
-- suggestions.emplace_back(
-- l10n_util::GetStringUTF16(
-+ suggestions.emplace_back() =
-+ {l10n_util::GetStringUTF16(
- IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_SUGGESTED_PASSWORDS_SECTION_TITLE),
-- autofill::PopupItemId::kTitle);
-+ autofill::PopupItemId::kTitle};
- }
-
- for (const auto& form : suggested_credentials) {
-- suggestions.emplace_back(
-- GetManualFallbackSuggestion(CredentialUIEntry(form), on_password_form));
-+ suggestions.emplace_back() =
-+ {GetManualFallbackSuggestion(CredentialUIEntry(form), on_password_form)};
- }
-
- if (generate_sections) {
-- suggestions.emplace_back(
-- l10n_util::GetStringUTF16(
-+ suggestions.emplace_back() =
-+ {l10n_util::GetStringUTF16(
- IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_ALL_PASSWORDS_SECTION_TITLE),
-- autofill::PopupItemId::kTitle);
-+ autofill::PopupItemId::kTitle};
- }
-
- // Only the "All passwords" section should be sorted alphabetically.
- const size_t relevant_section_offset = suggestions.size();
-
- for (const CredentialUIEntry& credential : credentials) {
-- suggestions.emplace_back(
-- GetManualFallbackSuggestion(credential, on_password_form));
-+ suggestions.emplace_back() =
-+ {GetManualFallbackSuggestion(credential, on_password_form)};
- }
-
- base::ranges::sort(suggestions.begin() + relevant_section_offset,
-diff -up chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc.no_matching_constructor chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc
---- chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc.no_matching_constructor 2024-05-15 23:46:13.000000000 +0200
-+++ chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc 2024-05-17 12:33:58.716650572 +0200
-@@ -242,7 +242,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(),
-@@ -251,7 +251,7 @@ void WorkerWatcher::OnWorkerCreated(
- [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
- ConnectDedicatedWorkerClient(insertion_result.first->second.get(),
- dedicated_worker_token);
-- }),
-+ }},
- creator);
- }
-
-@@ -268,7 +268,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(),
-@@ -277,7 +277,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.
-@@ -449,7 +449,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.
-@@ -487,7 +487,7 @@ void WorkerWatcher::OnControlleeAdded(
- ConnectSharedWorkerClient(service_worker_node,
- shared_worker_token);
- }
-- }),
-+ }},
- client_info);
- }
-
-@@ -527,7 +527,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);
- },
-@@ -537,7 +537,7 @@ void WorkerWatcher::OnControlleeRemoved(
- },
- [&, this](blink::SharedWorkerToken shared_worker_token) {
- DisconnectSharedWorkerClient(worker_node, shared_worker_token);
-- }),
-+ }},
- client);
- }
-
-@@ -813,7 +813,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);
-@@ -825,7 +825,7 @@ void WorkerWatcher::ConnectAllServiceWor
- [&, this](blink::SharedWorkerToken shared_worker_token) {
- ConnectSharedWorkerClient(service_worker_node,
- shared_worker_token);
-- }),
-+ }},
- kv.second);
- }
- }
-@@ -840,7 +840,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,
-@@ -854,7 +854,7 @@ void WorkerWatcher::DisconnectAllService
- [&, this](const blink::SharedWorkerToken& shared_worker_token) {
- DisconnectSharedWorkerClient(service_worker_node,
- shared_worker_token);
-- }),
-+ }},
- kv.second);
- }
- }
-diff -up chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
---- chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2024-05-17 12:33:58.716650572 +0200
-@@ -1720,7 +1720,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-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc.no_matching_constructor chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc
---- chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc.no_matching_constructor 2024-05-17 17:18:47.841479697 +0200
-+++ chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc 2024-05-17 18:23:41.679054785 +0200
-@@ -181,9 +181,9 @@ void SignedWebBundleSignatureVerifier::O
- // https://github.com/WICG/webpackage/blob/3f95ec365b87ed19d2cb5186e473ccc4d011e2af/explainers/integrity-signature.md
- std::vector<uint8_t> payload_to_verify = CreateSignaturePayload({
- .unsigned_web_bundle_hash = absl::visit(
-- base::Overloaded([](const auto& digest) -> base::span<const uint8_t> {
-+ base::Overloaded{[](const auto& digest) -> base::span<const uint8_t> {
- return digest;
-- }),
-+ }},
- *unsigned_web_bundle_hash),
- .integrity_block_cbor = CreateIntegrityBlockCBOR(),
- .attributes_cbor = signature_stack_entry.attributes_cbor(),
-diff -up chromium-125.0.6422.60/content/browser/download/save_package.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/download/save_package.cc
---- chromium-125.0.6422.60/content/browser/download/save_package.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/download/save_package.cc 2024-05-17 12:33:58.717650592 +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-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc
---- chromium-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc 2024-05-17 12:33:58.717650592 +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-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc
---- chromium-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc 2024-05-17 12:33:58.718650614 +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-125.0.6422.60/content/browser/gpu/compositor_util.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/gpu/compositor_util.cc
---- chromium-125.0.6422.60/content/browser/gpu/compositor_util.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/gpu/compositor_util.cc 2024-05-17 12:33:58.718650614 +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-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h.no_matching_constructor chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h
---- chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h 2024-05-17 12:33:58.718650614 +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-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc
---- chromium-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc 2024-05-17 12:33:58.719650634 +0200
-@@ -600,7 +600,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-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc
---- chromium-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc 2024-05-17 12:33:58.721650676 +0200
-@@ -3412,9 +3412,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(
-@@ -3542,10 +3542,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() = {
- /*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;
-@@ -4338,7 +4338,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-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc
---- chromium-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc 2024-05-17 12:33:58.723650717 +0200
-@@ -8796,7 +8796,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);
- }
- }
-@@ -8827,7 +8827,7 @@ void RenderFrameHostImpl::SendFencedFram
- }
-
- SendFencedFrameReportingBeaconInternal(
-- DestinationURLEvent(destination_url, cross_origin_exposed),
-+ DestinationURLEvent{destination_url, cross_origin_exposed},
- blink::FencedFrame::ReportingDestination::kBuyer);
- }
-
-@@ -8958,7 +8958,7 @@ void RenderFrameHostImpl::MaybeSendFence
- data = info->data;
- }
- initiator_rfh->SendFencedFrameReportingBeaconInternal(
-- AutomaticBeaconEvent(event_type, data), destination,
-+ AutomaticBeaconEvent{event_type, data}, destination,
- navigation_request.GetNavigationId());
- }
- } else {
-@@ -8969,7 +8969,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-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc
---- chromium-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc.no_matching_constructor 2024-05-15 23:46:18.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc 2024-05-17 12:33:58.724650738 +0200
-@@ -947,7 +947,7 @@ ServiceWorkerContainerHost::GetClientTyp
- 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;
- },
-@@ -956,7 +956,7 @@ ServiceWorkerContainerHost::GetClientTyp
- },
- [](blink::SharedWorkerToken shared_worker_token) {
- return blink::mojom::ServiceWorkerClientType::kSharedWorker;
-- }),
-+ }},
- *client_info_);
- }
-
-diff -up chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc
---- chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.no_matching_constructor 2024-05-15 23:46:18.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc 2024-05-17 12:33:58.724650738 +0200
-@@ -367,10 +367,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-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc
---- chromium-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc.no_matching_constructor 2024-05-15 23:46:18.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc 2024-05-17 12:33:58.725650759 +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-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc.no_matching_constructor chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc
---- chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc.no_matching_constructor 2024-05-18 23:43:25.984767458 +0200
-+++ chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc 2024-05-18 23:47:43.981254708 +0200
-@@ -396,8 +396,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-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h.no_matching_constructor chromium-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h
---- chromium-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h.no_matching_constructor 2024-05-15 23:46:22.000000000 +0200
-+++ chromium-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h 2024-05-17 12:33:58.725650759 +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-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc.no_matching_constructor chromium-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc
---- chromium-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc.no_matching_constructor 2024-05-15 23:46:22.000000000 +0200
-+++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc 2024-05-17 12:33:58.725650759 +0200
-@@ -601,12 +601,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-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc.no_matching_constructor chromium-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc
---- chromium-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc.no_matching_constructor 2024-05-15 23:46:22.000000000 +0200
-+++ chromium-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc 2024-05-17 15:17:33.527552837 +0200
-@@ -247,11 +247,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());
- }
-
-@@ -286,13 +286,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));
- }
-
-@@ -350,8 +350,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-125.0.6422.60/net/dns/host_resolver_cache.cc.no_matching_constructor chromium-125.0.6422.60/net/dns/host_resolver_cache.cc
---- chromium-125.0.6422.60/net/dns/host_resolver_cache.cc.no_matching_constructor 2024-05-15 23:46:31.000000000 +0200
-+++ chromium-125.0.6422.60/net/dns/host_resolver_cache.cc 2024-05-17 12:33:58.726650779 +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-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
---- chromium-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc.no_matching_constructor 2024-05-18 11:35:28.689791628 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc 2024-05-18 11:35:52.294334790 +0200
-@@ -7509,7 +7509,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-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc
---- chromium-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc.no_matching_constructor 2024-05-18 11:23:33.036875347 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc 2024-05-18 11:24:05.697684459 +0200
-@@ -601,7 +601,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-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc
---- chromium-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.no_matching_constructor 2024-05-15 23:46:42.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc 2024-05-17 12:33:58.726650779 +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-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h
---- chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2024-05-15 23:46:42.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h 2024-05-17 12:33:58.726650779 +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-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
---- chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2024-05-15 23:46:42.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2024-05-17 12:33:58.727650800 +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-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor chromium-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp
---- chromium-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor 2024-05-15 23:48:12.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp 2024-05-17 12:33:58.727650800 +0200
-@@ -507,7 +507,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-125.0.6422.60/ui/base/wayland/color_manager_util.h.no_matching_constructor chromium-125.0.6422.60/ui/base/wayland/color_manager_util.h
---- chromium-125.0.6422.60/ui/base/wayland/color_manager_util.h.no_matching_constructor 2024-05-15 23:47:32.000000000 +0200
-+++ chromium-125.0.6422.60/ui/base/wayland/color_manager_util.h 2024-05-17 12:33:58.728650821 +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,70 +197,70 @@ 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_BT2020_CL,
-- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL,
-- kDefaultSinceVersion)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL,
-+ 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,
-@@ -283,4 +283,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-125.0.6422.60/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-125.0.6422.60/ui/gtk/gtk_ui.cc
---- chromium-125.0.6422.60/ui/gtk/gtk_ui.cc.no_matching_constructor 2024-05-15 23:47:33.000000000 +0200
-+++ chromium-125.0.6422.60/ui/gtk/gtk_ui.cc 2024-05-17 12:33:58.728650821 +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-125.0.6422.60/ui/views/controls/button/label_button.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/controls/button/label_button.cc
---- chromium-125.0.6422.60/ui/views/controls/button/label_button.cc.no_matching_constructor 2024-05-18 23:18:50.361107872 +0200
-+++ chromium-125.0.6422.60/ui/views/controls/button/label_button.cc 2024-05-18 23:20:03.807502613 +0200
-@@ -391,11 +391,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
-@@ -447,11 +447,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()) {
-@@ -465,11 +465,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-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc
---- chromium-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc.no_matching_constructor 2024-05-18 23:47:53.838491347 +0200
-+++ chromium-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc 2024-05-18 23:49:06.186312630 +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-125.0.6422.60/ui/views/layout/box_layout.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/layout/box_layout.cc
---- chromium-125.0.6422.60/ui/views/layout/box_layout.cc.no_matching_constructor 2024-05-18 23:20:53.444272586 +0200
-+++ chromium-125.0.6422.60/ui/views/layout/box_layout.cc 2024-05-18 23:21:13.339673253 +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-125.0.6422.60/ui/views/window/dialog_client_view.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/window/dialog_client_view.cc
---- chromium-125.0.6422.60/ui/views/window/dialog_client_view.cc.no_matching_constructor 2024-05-18 23:51:05.385279382 +0200
-+++ chromium-125.0.6422.60/ui/views/window/dialog_client_view.cc 2024-05-18 23:51:40.146096719 +0200
-@@ -205,16 +205,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-125-el7-rust-proc-macro2.patch b/chromium-125-el7-rust-proc-macro2.patch
deleted file mode 100644
index 64a6978..0000000
--- a/chromium-125-el7-rust-proc-macro2.patch
+++ /dev/null
@@ -1,747 +0,0 @@
-diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/build.rs
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/build.rs 2024-05-15 23:47:24.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 chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml 2024-05-15 23:47:24.000000000 +0200
-@@ -13,7 +13,7 @@
- edition = "2021"
- rust-version = "1.56"
- name = "proc-macro2"
--version = "1.0.78"
-+version = "1.0.80"
- authors = [
- "David Tolnay <dtolnay@gmail.com>",
- "Alex Crichton <alex@alexcrichton.com>",
-diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml.orig chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml.orig
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml.orig 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml.orig 2024-05-15 23:47:24.000000000 +0200
-@@ -1,6 +1,6 @@
- [package]
- name = "proc-macro2"
--version = "1.0.78"
-+version = "1.0.80"
- authors = ["David Tolnay <dtolnay@gmail.com>", "Alex Crichton <alex@alexcrichton.com>"]
- autobenches = false
- categories = ["development-tools::procedural-macro-helpers"]
-diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.cargo_vcs_info.json chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.cargo_vcs_info.json
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.cargo_vcs_info.json 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.cargo_vcs_info.json 2024-05-15 23:47:24.000000000 +0200
-@@ -1,6 +1,6 @@
- {
- "git": {
-- "sha1": "d850a1db5e3fe7732d62cacbfc4145e496c2a80e"
-+ "sha1": "da51f8d005cc5d8299c1872fad9bbe63b07c31c7"
- },
- "path_in_vcs": ""
- }
-\ Kein Zeilenumbruch am Dateiende.
-diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.github/workflows/ci.yml chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.github/workflows/ci.yml
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.github/workflows/ci.yml 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.github/workflows/ci.yml 2024-05-15 23:47:24.000000000 +0200
-@@ -198,6 +198,7 @@
- timeout-minutes: 45
- steps:
- - uses: actions/checkout@v4
-+ - uses: dtolnay/rust-toolchain@stable
- - uses: dtolnay/install@cargo-outdated
- - run: cargo outdated --workspace --exit-code 1
- - run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1
-diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/fallback.rs
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/fallback.rs 2024-05-15 23:47:24.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 chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/lib.rs
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/lib.rs 2024-05-15 23:47:24.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.80")]
- #![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;
-
-@@ -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 chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/wrapper.rs
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/wrapper.rs 2024-05-15 23:47:24.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 chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/marker.rs
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/marker.rs 2024-05-15 23:47:24.000000000 +0200
-@@ -21,6 +21,7 @@
- $(
- {
- // Implemented for types that implement $marker.
-+ #[allow(dead_code)]
- trait IsNotImplemented {
- fn assert_not_implemented() {}
- }
-diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/test.rs
---- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs 2024-04-10 23:25:21.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/test.rs 2024-05-15 23:47:24.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-125-el7-type-alias.patch b/chromium-125-el7-type-alias.patch
deleted file mode 100644
index bda9050..0000000
--- a/chromium-125-el7-type-alias.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -up chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc.el7 chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc
---- chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc.el7 2024-05-18 14:12:06.510863456 +0200
-+++ chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc 2024-05-18 14:13:39.670666352 +0200
-@@ -165,7 +165,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 {};
-@@ -176,7 +176,7 @@ std::vector<Suggestion> PlusAddressServi
- std::optional<std::string> maybe_address =
- GetPlusAddress(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 {};
- }
-@@ -191,7 +191,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-125-missing-include-FieldDataManager.patch b/chromium-125-missing-include-FieldDataManager.patch
deleted file mode 100644
index 6dd763a..0000000
--- a/chromium-125-missing-include-FieldDataManager.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-commit aa53c3ab8df7f7c1d42c30d4b184a8f8b0a8e50d
-Author: Jose Dapena Paz <jdapena@igalia.com>
-Date: Tue Apr 16 12:14:15 2024 +0000
-
- IWYU: add missing include for usage of FieldDataManager in autofill_agent.h
-
- Change-Id: I70575d1dd72b9334e3b8d4805779a7e45788989e
- Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5392840
- Reviewed-by: Florian Leimgruber <fleimgruber@google.com>
- Commit-Queue: José Dapena Paz <jdapena@igalia.com>
- Cr-Commit-Position: refs/heads/main@{#1287967}
-
-diff --git a/components/autofill/content/renderer/autofill_agent.h b/components/autofill/content/renderer/autofill_agent.h
-index 76a25d72c87cc..01462aefdaae6 100644
---- a/components/autofill/content/renderer/autofill_agent.h
-+++ b/components/autofill/content/renderer/autofill_agent.h
-@@ -25,6 +25,7 @@
- #include "components/autofill/content/renderer/form_autofill_util.h"
- #include "components/autofill/content/renderer/form_tracker.h"
- #include "components/autofill/core/common/autofill_features.h"
-+#include "components/autofill/core/common/field_data_manager.h"
- #include "components/autofill/core/common/mojom/autofill_types.mojom-shared.h"
- #include "components/autofill/core/common/unique_ids.h"
- #include "content/public/renderer/render_frame_observer.h"
-@@ -51,7 +52,6 @@ namespace autofill {
- class FormCache;
- class PasswordAutofillAgent;
- class PasswordGenerationAgent;
--class FieldDataManager;
-
- // AutofillAgent deals with Autofill related communications between Blink and
- // the browser.
diff --git a/chromium-125-system-libstdc++.patch b/chromium-125-system-libstdc++.patch
deleted file mode 100644
index 759807d..0000000
--- a/chromium-125-system-libstdc++.patch
+++ /dev/null
@@ -1,896 +0,0 @@
-diff -up chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h
---- chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ 2024-05-15 23:45:49.000000000 +0200
-+++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h 2024-05-19 09:07:38.199437617 +0200
-@@ -14,7 +14,7 @@
- #include <unordered_map>
- #include <utility>
-
--#include "partition_alloc/internal_allocator_forward.h"
-+#include "partition_alloc/internal_allocator.h"
- #include "partition_alloc/partition_alloc_base/threading/platform_thread.h"
- #include "partition_alloc/partition_alloc_base/time/time.h"
- #include "partition_alloc/partition_alloc_check.h"
-diff -up chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h.system-libstdc++ chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h
---- chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h.system-libstdc++ 2024-05-15 23:46:01.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h 2024-05-19 09:07:38.200437638 +0200
-@@ -5,6 +5,7 @@
- #ifndef CHROME_BROWSER_LENS_LENS_OVERLAY_LENS_OVERLAY_URL_BUILDER_H_
- #define CHROME_BROWSER_LENS_LENS_OVERLAY_LENS_OVERLAY_URL_BUILDER_H_
-
-+#include <optional>
- #include <string>
-
- #include "third_party/lens_server_proto/lens_overlay_cluster_info.pb.h"
-diff -up chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc.system-libstdc++ chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc
---- chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc.system-libstdc++ 2024-05-19 13:16:01.140442423 +0200
-+++ chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc 2024-05-19 13:16:38.029246015 +0200
-@@ -41,9 +41,9 @@ bool ProductSpecificationsChecker::IsExi
- bool ProductSpecificationsChecker::IsSpecificsAvailableAndEqual() {
- for (const ProductSpecificationsSet& product_specifications_set :
- service_->GetAllProductSpecifications()) {
-- std::vector<const GURL> specifics_urls;
-+ std::vector<GURL> specifics_urls;
- for (sync_pb::ComparisonData data : compare_specifics_->data()) {
-- specifics_urls.push_back(GURL(data.url()));
-+ specifics_urls.emplace_back(data.url());
- }
- if (product_specifications_set.uuid().AsLowercaseString() ==
- compare_specifics_->uuid() &&
-diff -up chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h
---- chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ 2024-05-15 23:46:05.000000000 +0200
-+++ chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h 2024-05-19 09:07:38.200437638 +0200
-@@ -12,6 +12,7 @@
- #include <memory>
- #include <optional>
- #include <string>
-+#include <variant>
- #include <vector>
-
- #include "base/containers/span.h"
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc.system-libstdc++ 2024-05-19 13:08:44.920571765 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc 2024-05-19 13:11:08.451775188 +0200
-@@ -24,11 +24,11 @@ ProductSpecificationsService::GetSyncCon
- return bridge_->change_processor()->GetControllerDelegate();
- }
-
--const std::vector<const ProductSpecificationsSet>
-+const std::vector<ProductSpecificationsSet>
- ProductSpecificationsService::GetAllProductSpecifications() {
-- std::vector<const ProductSpecificationsSet> product_specifications;
-+ std::vector<ProductSpecificationsSet> product_specifications;
- for (auto& entry : bridge_->entries()) {
-- std::vector<const GURL> urls;
-+ std::vector<GURL> urls;
- for (auto& data : entry.second.data()) {
- urls.emplace_back(data.url());
- }
-@@ -43,7 +43,7 @@ ProductSpecificationsService::GetAllProd
- const std::optional<const ProductSpecificationsSet>
- ProductSpecificationsService::AddProductSpecificationsSet(
- const std::string& name,
-- const std::vector<const GURL>& urls) {
-+ const std::vector<GURL>& urls) {
- // TODO(crbug.com/332545064) add for a product specification set being added.
- std::optional<sync_pb::CompareSpecifics> specifics =
- bridge_->AddProductSpecifications(name, urls);
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h 2024-05-19 09:07:38.201437659 +0200
-@@ -26,14 +26,13 @@ class ProductSpecificationsService : pub
- base::WeakPtr<syncer::ModelTypeControllerDelegate>
- GetSyncControllerDelegate();
-
-- const std::vector<const ProductSpecificationsSet>
-- GetAllProductSpecifications();
-+ const std::vector<ProductSpecificationsSet> GetAllProductSpecifications();
-
- // Add new product specifications set called |name| with product pages
- // corresponding to |urls|.
- const std::optional<const ProductSpecificationsSet>
- AddProductSpecificationsSet(const std::string& name,
-- const std::vector<const GURL>& urls);
-+ const std::vector<GURL>& urls);
-
- // Deletes product specification set corresponding to identifier |uuid|.
- void DeleteProductSpecificationsSet(const std::string& uuid);
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc.system-libstdc++ 2024-05-19 13:12:01.840028873 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc 2024-05-19 13:13:44.363473948 +0200
-@@ -82,9 +82,9 @@ void AddTestSpecifics(commerce::ProductS
- }
-
- MATCHER_P(HasAllProductSpecs, compare_specifics, "") {
-- std::vector<const GURL> specifics_urls;
-+ std::vector<GURL> specifics_urls;
- for (const sync_pb::ComparisonData& data : compare_specifics.data()) {
-- specifics_urls.push_back(GURL(data.url()));
-+ specifics_urls.emplace_back(data.url());
- }
- return arg.uuid().AsLowercaseString() == compare_specifics.uuid() &&
- arg.creation_time() ==
-@@ -217,7 +217,7 @@ class ProductSpecificationsServiceTest :
- specifics.update_time_unix_epoch_micros()),
- specifications.update_time());
- EXPECT_EQ(specifics.name(), specifications.name());
-- std::vector<const GURL> urls;
-+ std::vector<GURL> urls;
- for (const sync_pb::ComparisonData& data : specifics.data()) {
- urls.emplace_back(data.url());
- }
-@@ -243,7 +243,7 @@ TEST_F(ProductSpecificationsServiceTest,
- for (const sync_pb::CompareSpecifics& specifics : kCompareSpecifics) {
- bridge()->AddCompareSpecifics(specifics);
- }
-- const std::vector<const ProductSpecificationsSet> specifications =
-+ const std::vector<ProductSpecificationsSet> specifications =
- service()->GetAllProductSpecifications();
- EXPECT_EQ(2u, specifications.size());
- for (uint64_t i = 0; i < specifications.size(); i++) {
-@@ -252,7 +252,7 @@ TEST_F(ProductSpecificationsServiceTest,
- }
-
- TEST_F(ProductSpecificationsServiceTest, TestAddProductSpecificationsSuccess) {
-- std::vector<const GURL> expected_product_urls{GURL(kProductOneUrl),
-+ std::vector<GURL> expected_product_urls{GURL(kProductOneUrl),
- GURL(kProductTwoUrl)};
- EXPECT_CALL(*observer(),
- OnProductSpecificationsSetAdded(HasProductSpecsNameUrl(
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc.system-libstdc++ 2024-05-19 13:06:20.870445163 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc 2024-05-19 13:07:44.385278233 +0200
-@@ -12,7 +12,7 @@ ProductSpecificationsSet::ProductSpecifi
- const std::string& uuid,
- const int64_t creation_time_usec_since_epoch,
- const int64_t update_time_usec_since_epoch,
-- const std::vector<const GURL>& urls,
-+ const std::vector<GURL>& urls,
- const std::string& name)
- : uuid_(base::Uuid::ParseLowercase(uuid)),
- creation_time_(base::Time::FromMillisecondsSinceUnixEpoch(
-@@ -34,9 +34,9 @@ ProductSpecificationsSet::~ProductSpecif
-
- ProductSpecificationsSet ProductSpecificationsSet::FromProto(
- const sync_pb::CompareSpecifics& specifics) {
-- std::vector<const GURL> urls;
-+ std::vector<GURL> urls;
- for (const sync_pb::ComparisonData& data : specifics.data()) {
-- urls.push_back(GURL(data.url()));
-+ urls.emplace_back(data.url());
- }
- return ProductSpecificationsSet(
- specifics.uuid(), specifics.creation_time_unix_epoch_micros(),
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h 2024-05-19 09:07:38.201437659 +0200
-@@ -43,7 +43,7 @@ class ProductSpecificationsSet {
- ProductSpecificationsSet(const std::string& uuid,
- const int64_t creation_time_usec_since_epoch,
- const int64_t update_time_usec_since_epoch,
-- const std::vector<const GURL>& urls,
-+ const std::vector<GURL>& urls,
- const std::string& name);
-
- ProductSpecificationsSet(const ProductSpecificationsSet&);
-@@ -61,7 +61,7 @@ class ProductSpecificationsSet {
- const base::Time& update_time() const { return update_time_; }
-
- // Product urls for each item in the set
-- const std::vector<const GURL>& urls() const { return urls_; }
-+ const std::vector<GURL>& urls() const { return urls_; }
-
- // Name of the set
- const std::string& name() const { return name_; }
-@@ -76,7 +76,7 @@ class ProductSpecificationsSet {
- const base::Uuid uuid_;
- const base::Time creation_time_;
- const base::Time update_time_;
-- const std::vector<const GURL> urls_;
-+ const std::vector<GURL> urls_;
- const std::string name_;
- };
-
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc 2024-05-19 09:07:38.201437659 +0200
-@@ -131,7 +131,7 @@ void ProductSpecificationsSyncBridge::Ge
- const std::optional<sync_pb::CompareSpecifics>
- ProductSpecificationsSyncBridge::AddProductSpecifications(
- const std::string& name,
-- const std::vector<const GURL>& urls) {
-+ const std::vector<GURL>& urls) {
- if (!change_processor()->IsTrackingMetadata()) {
- return std::nullopt;
- }
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h 2024-05-19 09:07:38.201437659 +0200
-@@ -64,7 +64,7 @@ class ProductSpecificationsSyncBridge :
-
- virtual const std::optional<sync_pb::CompareSpecifics>
- AddProductSpecifications(const std::string& name,
-- const std::vector<const GURL>& urls);
-+ const std::vector<GURL>& urls);
-
- void DeleteProductSpecificationsSet(const std::string& uuid);
-
-diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc
---- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc 2024-05-19 09:07:38.201437659 +0200
-@@ -178,7 +178,7 @@ class ProductSpecificationsSyncBridgeTes
-
- std::optional<sync_pb::CompareSpecifics> AddProductSpecifications(
- const std::string& name,
-- const std::vector<const GURL> urls) {
-+ const std::vector<GURL> urls) {
- return bridge().AddProductSpecifications(name, urls);
- }
-
-diff -up chromium-125.0.6422.60/components/commerce/core/shopping_service.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/shopping_service.cc
---- chromium-125.0.6422.60/components/commerce/core/shopping_service.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/shopping_service.cc 2024-05-19 09:07:38.201437659 +0200
-@@ -1734,7 +1734,7 @@ void ShoppingService::GetProductIdentifi
- std::move(callback)));
- }
-
--const std::vector<const ProductSpecificationsSet>
-+const std::vector<ProductSpecificationsSet>
- ShoppingService::GetAllProductSpecificationSets() {
- return product_specifications_service_->GetAllProductSpecifications();
- }
-diff -up chromium-125.0.6422.60/components/commerce/core/shopping_service.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/shopping_service.h
---- chromium-125.0.6422.60/components/commerce/core/shopping_service.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
-+++ chromium-125.0.6422.60/components/commerce/core/shopping_service.h 2024-05-19 09:07:38.201437659 +0200
-@@ -624,7 +624,7 @@ class ShoppingService : public KeyedServ
- UrlProductIdentifierTupleCallback callback);
-
- // Return all ProductSpecificationsSets from ProductSpecificationsService.
-- virtual const std::vector<const ProductSpecificationsSet>
-+ virtual const std::vector<ProductSpecificationsSet>
- GetAllProductSpecificationSets();
-
- // Updates the bookmark model used for sync (and shopping) if needed. Invoked
-diff -up chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h.system-libstdc++ chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h
---- chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h.system-libstdc++ 2024-05-15 23:46:14.000000000 +0200
-+++ chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h 2024-05-19 09:07:38.202437679 +0200
-@@ -5,6 +5,7 @@
- #ifndef COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_TYPES_H_
- #define COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_TYPES_H_
-
-+#include <optional>
- #include "base/component_export.h"
- #include "components/services/app_service/public/cpp/macros.h"
- #include "components/services/app_service/public/protos/app_types.pb.h"
-diff -up chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc.system-libstdc++ chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc
---- chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc.system-libstdc++ 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc 2024-05-19 09:07:38.202437679 +0200
-@@ -2275,7 +2275,7 @@ AggregatedFrame SurfaceAggregator::Aggre
- root_surface_id_ = surface_id;
-
- // Start recording new stats for this aggregation.
-- stats_.emplace();
-+ stats_ = AggregateStatistics{};
-
- base::ElapsedTimer prewalk_timer;
- ResolvedFrameData* resolved_frame = GetResolvedFrame(surface_id);
-diff -up chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc
---- chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ 2024-05-15 23:46:17.000000000 +0200
-+++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc 2024-05-19 09:07:38.202437679 +0200
-@@ -2,6 +2,7 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
-+#include <optional>
- #include "content/browser/first_party_sets/first_party_sets_handler_database_helper.h"
-
- #include "base/containers/contains.h"
-diff -up chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h
---- chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ 2024-05-15 23:46:22.000000000 +0200
-+++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h 2024-05-19 09:07:38.202437679 +0200
-@@ -111,6 +111,25 @@ using VideoDecodeDevice = Microsoft::WRL
- using VideoDecodeDevice = void*;
- #endif // BUILDFLAG(IS_WIN)
-
-+class ScopedWriteUMA {
-+ public:
-+ ScopedWriteUMA() = default;
-+
-+ ScopedWriteUMA(const ScopedWriteUMA&) = delete;
-+ ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
-+
-+ ~ScopedWriteUMA() {
-+ UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed",
-+ content_consumed_);
-+ }
-+
-+ bool content_consumed() const { return content_consumed_; }
-+ void SetConsumed() { content_consumed_ = true; }
-+
-+ private:
-+ bool content_consumed_ = false;
-+};
-+
- // Represents the actual storage (GL texture, VkImage, GMB) for a SharedImage.
- // Should not be accessed directly, instead is accessed through a
- // SharedImageRepresentation.
-@@ -370,25 +389,6 @@ class GPU_GLES2_EXPORT SharedImageBackin
- mutable std::optional<base::Lock> lock_;
-
- private:
-- class ScopedWriteUMA {
-- public:
-- ScopedWriteUMA() = default;
--
-- ScopedWriteUMA(const ScopedWriteUMA&) = delete;
-- ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
--
-- ~ScopedWriteUMA() {
-- UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed",
-- content_consumed_);
-- }
--
-- bool content_consumed() const { return content_consumed_; }
-- void SetConsumed() { content_consumed_ = true; }
--
-- private:
-- bool content_consumed_ = false;
-- };
--
- const Mailbox mailbox_;
- const viz::SharedImageFormat format_;
- const gfx::Size size_;
-diff -up chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc
---- chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200
-+++ chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc 2024-05-19 09:07:38.203437700 +0200
-@@ -57,7 +57,7 @@ bool ProtoWrapper::DeserializeToMessage(
- // Make an in-process copy here as protobuf is not designed to
- // safely parse data that might be changing underneath it.
- auto as_span = base::make_span(bytes_->data(), bytes_->size());
-- const std::vector<const uint8_t> copy(as_span.begin(), as_span.end());
-+ const std::vector<uint8_t> copy(as_span.begin(), as_span.end());
- return message.ParseFromArray(copy.data(), copy.size());
- }
- }
-diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h
---- chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200
-+++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h 2024-05-19 09:07:38.203437700 +0200
-@@ -8,6 +8,7 @@
- #include <stdint.h>
-
- #include <functional>
-+#include <optional>
- #include <type_traits>
- #include <utility>
-
-diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc
---- chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200
-+++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc 2024-05-19 09:07:38.203437700 +0200
-@@ -892,7 +892,7 @@ bool MultiplexRouter::ExclusiveSyncWaitF
- DCHECK(!exclusive_sync_wait_);
-
- scoped_refptr<MultiplexRouter> keep_alive(this);
-- exclusive_sync_wait_.emplace();
-+ exclusive_sync_wait_ = ExclusiveSyncWaitInfo{};
- exclusive_sync_wait_->interface_id = interface_id;
- exclusive_sync_wait_->request_id = request_id;
- while (!exclusive_sync_wait_->finished) {
-diff -up chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
---- chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ 2024-05-15 23:46:38.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc 2024-05-19 09:07:38.206437763 +0200
-@@ -218,8 +218,6 @@ bool StructTraits<blink::mojom::AuctionA
- !data.ReadAllBuyersPrioritySignals(&out->all_buyers_priority_signals) ||
- !data.ReadAuctionReportBuyerKeys(&out->auction_report_buyer_keys) ||
- !data.ReadAuctionReportBuyers(&out->auction_report_buyers) ||
-- !data.ReadAuctionReportBuyerDebugModeConfig(
-- &out->auction_report_buyer_debug_mode_config) ||
- !data.ReadRequiredSellerCapabilities(
- &out->required_seller_capabilities) ||
- !data.ReadRequestedSize(&out->requested_size) ||
-diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc
---- chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ 2024-05-15 23:46:41.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc 2024-05-19 09:07:38.209437825 +0200
-@@ -182,26 +182,26 @@ void HistoryItem::SetReferrerPolicy(netw
-
- void HistoryItem::SetVisualViewportScrollOffset(const ScrollOffset& offset) {
- if (!view_state_)
-- view_state_ = std::make_optional<ViewState>();
-+ view_state_ = blink::HistoryItem::ViewState{};
- view_state_->visual_viewport_scroll_offset_ = offset;
- }
-
- void HistoryItem::SetScrollOffset(const ScrollOffset& offset) {
- if (!view_state_)
-- view_state_ = std::make_optional<ViewState>();
-+ view_state_ = blink::HistoryItem::ViewState{};
- view_state_->scroll_offset_ = offset;
- }
-
- void HistoryItem::SetPageScaleFactor(float scale_factor) {
- if (!view_state_)
-- view_state_ = std::make_optional<ViewState>();
-+ view_state_ = blink::HistoryItem::ViewState{};
- view_state_->page_scale_factor_ = scale_factor;
- }
-
- void HistoryItem::SetScrollAnchorData(
- const ScrollAnchorData& scroll_anchor_data) {
- if (!view_state_)
-- view_state_ = std::make_optional<ViewState>();
-+ view_state_ = blink::HistoryItem::ViewState{};
- view_state_->scroll_anchor_data_ = scroll_anchor_data;
- }
-
-diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h
---- chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ 2024-05-15 23:46:41.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2024-05-19 09:07:38.209437825 +0200
-@@ -22,7 +22,7 @@ class FragmentDataIteratorBase {
-
- public:
- explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {}
-- explicit FragmentDataIteratorBase(nullptr_t) {}
-+ explicit FragmentDataIteratorBase(std::nullptr_t) {}
-
- Data* GetFragmentData() const {
- return !IsDone() ? &fragment_head_.at(idx_) : nullptr;
-diff -up chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc
---- chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ 2024-05-15 23:46:42.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc 2024-05-19 09:07:38.210437846 +0200
-@@ -101,7 +101,7 @@ void MediaControlTimelineElement::Update
- void MediaControlTimelineElement::SetPosition(double current_time,
- bool suppress_aria) {
- if (is_live_ && !live_anchor_time_ && current_time != 0) {
-- live_anchor_time_.emplace();
-+ live_anchor_time_ = LiveAnchorTime{};
- live_anchor_time_->clock_time_ = base::TimeTicks::Now();
- live_anchor_time_->media_time_ = MediaElement().currentTime();
- }
-diff -up chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc
---- chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ 2024-05-15 23:46:42.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc 2024-05-19 09:07:38.210437846 +0200
-@@ -70,7 +70,7 @@ void GeometryMapperTransformCache::Updat
- to_2d_translation_root_ += translation;
-
- if (parent.plane_root_transform_) {
-- plane_root_transform_.emplace();
-+ plane_root_transform_ = PlaneRootTransform{};
- plane_root_transform_->plane_root = parent.plane_root();
- plane_root_transform_->to_plane_root = parent.to_plane_root();
- plane_root_transform_->to_plane_root.Translate(translation.x(),
-@@ -98,7 +98,7 @@ void GeometryMapperTransformCache::Updat
- // as the 2d translation root.
- plane_root_transform_ = std::nullopt;
- } else {
-- plane_root_transform_.emplace();
-+ plane_root_transform_ = PlaneRootTransform{};
- plane_root_transform_->plane_root = parent.plane_root();
- plane_root_transform_->to_plane_root.MakeIdentity();
- parent.ApplyToPlaneRoot(plane_root_transform_->to_plane_root);
-@@ -140,7 +140,7 @@ void GeometryMapperTransformCache::Updat
- parent_node->UpdateScreenTransform();
- const auto& parent = parent_node->GetTransformCache();
-
-- screen_transform_.emplace();
-+ screen_transform_ = ScreenTransform{};
- parent.ApplyToScreen(screen_transform_->to_screen);
- if (node.FlattensInheritedTransform())
- screen_transform_->to_screen.Flatten();
-diff -up chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h
---- chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ 2024-05-15 23:47:49.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h 2024-05-19 09:07:38.211437867 +0200
-@@ -19,6 +19,7 @@ limitations under the License.
- #ifdef RUY_PROFILER
- #include <cstdio>
- #include <mutex>
-+#include <string>
- #include <vector>
- #endif
-
-diff -up chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp.system-libstdc++ chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp
---- chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp.system-libstdc++ 2024-05-15 23:48:05.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp 2024-05-19 09:07:38.211437867 +0200
-@@ -8,6 +8,7 @@
-
- #pragma once
-
-+#include <memory>
- #include <cassert>
- #include <unordered_map>
- #include <unordered_set>
-diff -up chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc
---- chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ 2024-05-15 23:48:09.000000000 +0200
-+++ chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc 2024-05-19 09:07:38.212437888 +0200
-@@ -549,7 +549,7 @@ absl::optional<LossBasedBweV2::Config> L
- if (!enabled.Get()) {
- return config;
- }
-- config.emplace();
-+ config = Config{};
- config->bandwidth_rampup_upper_bound_factor =
- bandwidth_rampup_upper_bound_factor.Get();
- config->bandwidth_rampup_upper_bound_factor_in_hold =
-diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc
---- chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200
-+++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc 2024-05-19 09:07:38.212437888 +0200
-@@ -305,7 +305,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
- // data
- auto data_expr = subCode;
- if (CaseEq(data_expr, RandR::Notify::CrtcChange)) {
-- data.cc.emplace();
-+ data.cc = RandR::NotifyEvent::Cc{};
- auto& timestamp = (*data.cc).timestamp;
- auto& window = (*data.cc).window;
- auto& crtc = (*data.cc).crtc;
-@@ -349,7 +349,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
- Read(&height, &buf);
- }
- if (CaseEq(data_expr, RandR::Notify::OutputChange)) {
-- data.oc.emplace();
-+ data.oc = RandR::NotifyEvent::Oc{};
- auto& timestamp = (*data.oc).timestamp;
- auto& config_timestamp = (*data.oc).config_timestamp;
- auto& window = (*data.oc).window;
-@@ -394,7 +394,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
- subpixel_order = static_cast<Render::SubPixel>(tmp6);
- }
- if (CaseEq(data_expr, RandR::Notify::OutputProperty)) {
-- data.op.emplace();
-+ data.op = RandR::NotifyEvent::Op{};
- auto& window = (*data.op).window;
- auto& output = (*data.op).output;
- auto& atom = (*data.op).atom;
-@@ -422,7 +422,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
- Pad(&buf, 11);
- }
- if (CaseEq(data_expr, RandR::Notify::ProviderChange)) {
-- data.pc.emplace();
-+ data.pc = RandR::NotifyEvent::Pc{};
- auto& timestamp = (*data.pc).timestamp;
- auto& window = (*data.pc).window;
- auto& provider = (*data.pc).provider;
-@@ -440,7 +440,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
- Pad(&buf, 16);
- }
- if (CaseEq(data_expr, RandR::Notify::ProviderProperty)) {
-- data.pp.emplace();
-+ data.pp = RandR::NotifyEvent::Pp{};
- auto& window = (*data.pp).window;
- auto& provider = (*data.pp).provider;
- auto& atom = (*data.pp).atom;
-@@ -466,7 +466,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
- Pad(&buf, 11);
- }
- if (CaseEq(data_expr, RandR::Notify::ResourceChange)) {
-- data.rc.emplace();
-+ data.rc = RandR::NotifyEvent::Rc{};
- auto& timestamp = (*data.rc).timestamp;
- auto& window = (*data.rc).window;
-
-@@ -480,7 +480,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
- Pad(&buf, 20);
- }
- if (CaseEq(data_expr, RandR::Notify::Lease)) {
-- data.lc.emplace();
-+ data.lc = RandR::NotifyEvent::Lc{};
- auto& timestamp = (*data.lc).timestamp;
- auto& window = (*data.lc).window;
- auto& lease = (*data.lc).lease;
-diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc
---- chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200
-+++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc 2024-05-19 09:07:38.216437971 +0200
-@@ -567,7 +567,7 @@ void ReadEvent<Input::DeviceChangedEvent
- // data
- auto data_expr = type;
- if (CaseEq(data_expr, Input::DeviceClassType::Key)) {
-- data.key.emplace();
-+ data.key = Input::DeviceClass::Key{};
- uint16_t num_keys{};
- auto& keys = (*data.key).keys;
- size_t keys_len = keys.size();
-@@ -583,7 +583,7 @@ void ReadEvent<Input::DeviceChangedEvent
- }
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Button)) {
-- data.button.emplace();
-+ data.button = Input::DeviceClass::Button{};
- uint16_t num_buttons{};
- auto& state = (*data.button).state;
- size_t state_len = state.size();
-@@ -608,7 +608,7 @@ void ReadEvent<Input::DeviceChangedEvent
- }
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) {
-- data.valuator.emplace();
-+ data.valuator = Input::DeviceClass::Valuator{};
- auto& number = (*data.valuator).number;
- auto& label = (*data.valuator).label;
- auto& min = (*data.valuator).min;
-@@ -671,7 +671,7 @@ void ReadEvent<Input::DeviceChangedEvent
- Pad(&buf, 3);
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) {
-- data.scroll.emplace();
-+ data.scroll = Input::DeviceClass::Scroll{};
- auto& number = (*data.scroll).number;
- auto& scroll_type = (*data.scroll).scroll_type;
- auto& flags = (*data.scroll).flags;
-@@ -706,7 +706,7 @@ void ReadEvent<Input::DeviceChangedEvent
- }
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Touch)) {
-- data.touch.emplace();
-+ data.touch = Input::DeviceClass::Touch{};
- auto& mode = (*data.touch).mode;
- auto& num_touches = (*data.touch).num_touches;
-
-@@ -719,7 +719,7 @@ void ReadEvent<Input::DeviceChangedEvent
- Read(&num_touches, &buf);
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) {
-- data.gesture.emplace();
-+ data.gesture = Input::DeviceClass::Gesture{};
- auto& num_touches = (*data.gesture).num_touches;
-
- // num_touches
-@@ -2206,7 +2206,7 @@ std::unique_ptr<Input::ListInputDevicesR
- // info
- auto info_expr = class_id;
- if (CaseEq(info_expr, Input::InputClass::Key)) {
-- info.key.emplace();
-+ info.key = Input::InputInfo::Key{};
- auto& min_keycode = (*info.key).min_keycode;
- auto& max_keycode = (*info.key).max_keycode;
- auto& num_keys = (*info.key).num_keys;
-@@ -2224,14 +2224,14 @@ std::unique_ptr<Input::ListInputDevicesR
- Pad(&buf, 2);
- }
- if (CaseEq(info_expr, Input::InputClass::Button)) {
-- info.button.emplace();
-+ info.button = Input::InputInfo::Button{};
- auto& num_buttons = (*info.button).num_buttons;
-
- // num_buttons
- Read(&num_buttons, &buf);
- }
- if (CaseEq(info_expr, Input::InputClass::Valuator)) {
-- info.valuator.emplace();
-+ info.valuator = Input::InputInfo::Valuator{};
- uint8_t axes_len{};
- auto& mode = (*info.valuator).mode;
- auto& motion_size = (*info.valuator).motion_size;
-@@ -3844,7 +3844,7 @@ std::unique_ptr<Input::GetFeedbackContro
- // data
- auto data_expr = class_id;
- if (CaseEq(data_expr, Input::FeedbackClass::Keyboard)) {
-- data.keyboard.emplace();
-+ data.keyboard = x11::Input::FeedbackState::Keyboard{};
- auto& pitch = (*data.keyboard).pitch;
- auto& duration = (*data.keyboard).duration;
- auto& led_mask = (*data.keyboard).led_mask;
-@@ -3886,7 +3886,7 @@ std::unique_ptr<Input::GetFeedbackContro
- }
- }
- if (CaseEq(data_expr, Input::FeedbackClass::Pointer)) {
-- data.pointer.emplace();
-+ data.pointer = x11::Input::FeedbackState::Pointer{};
- auto& accel_num = (*data.pointer).accel_num;
- auto& accel_denom = (*data.pointer).accel_denom;
- auto& threshold = (*data.pointer).threshold;
-@@ -3904,7 +3904,7 @@ std::unique_ptr<Input::GetFeedbackContro
- Read(&threshold, &buf);
- }
- if (CaseEq(data_expr, Input::FeedbackClass::String)) {
-- data.string.emplace();
-+ data.string = x11::Input::FeedbackState::String{};
- auto& max_symbols = (*data.string).max_symbols;
- uint16_t num_keysyms{};
- auto& keysyms = (*data.string).keysyms;
-@@ -3924,7 +3924,7 @@ std::unique_ptr<Input::GetFeedbackContro
- }
- }
- if (CaseEq(data_expr, Input::FeedbackClass::Integer)) {
-- data.integer.emplace();
-+ data.integer = x11::Input::FeedbackState::Integer{};
- auto& resolution = (*data.integer).resolution;
- auto& min_value = (*data.integer).min_value;
- auto& max_value = (*data.integer).max_value;
-@@ -3939,7 +3939,7 @@ std::unique_ptr<Input::GetFeedbackContro
- Read(&max_value, &buf);
- }
- if (CaseEq(data_expr, Input::FeedbackClass::Led)) {
-- data.led.emplace();
-+ data.led = x11::Input::FeedbackState::Led{};
- auto& led_mask = (*data.led).led_mask;
- auto& led_values = (*data.led).led_values;
-
-@@ -3950,7 +3950,7 @@ std::unique_ptr<Input::GetFeedbackContro
- Read(&led_values, &buf);
- }
- if (CaseEq(data_expr, Input::FeedbackClass::Bell)) {
-- data.bell.emplace();
-+ data.bell = x11::Input::FeedbackState::Bell{};
- auto& percent = (*data.bell).percent;
- auto& pitch = (*data.bell).pitch;
- auto& duration = (*data.bell).duration;
-@@ -4768,7 +4768,7 @@ std::unique_ptr<Input::QueryDeviceStateR
- // data
- auto data_expr = class_id;
- if (CaseEq(data_expr, Input::InputClass::Key)) {
-- data.key.emplace();
-+ data.key = x11::Input::InputState::Key{};
- auto& num_keys = (*data.key).num_keys;
- auto& keys = (*data.key).keys;
- size_t keys_len = keys.size();
-@@ -4786,7 +4786,7 @@ std::unique_ptr<Input::QueryDeviceStateR
- }
- }
- if (CaseEq(data_expr, Input::InputClass::Button)) {
-- data.button.emplace();
-+ data.button = x11::Input::InputState::Button{};
- auto& num_buttons = (*data.button).num_buttons;
- auto& buttons = (*data.button).buttons;
- size_t buttons_len = buttons.size();
-@@ -4804,7 +4804,7 @@ std::unique_ptr<Input::QueryDeviceStateR
- }
- }
- if (CaseEq(data_expr, Input::InputClass::Valuator)) {
-- data.valuator.emplace();
-+ data.valuator = x11::Input::InputState::Valuator{};
- uint8_t num_valuators{};
- auto& mode = (*data.valuator).mode;
- auto& valuators = (*data.valuator).valuators;
-@@ -5075,7 +5075,7 @@ std::unique_ptr<Input::GetDeviceControlR
- // data
- auto data_expr = control_id;
- if (CaseEq(data_expr, Input::DeviceControl::resolution)) {
-- data.resolution.emplace();
-+ data.resolution = x11::Input::DeviceState::Resolution{};
- uint32_t num_valuators{};
- auto& resolution_values = (*data.resolution).resolution_values;
- size_t resolution_values_len = resolution_values.size();
-@@ -5109,7 +5109,7 @@ std::unique_ptr<Input::GetDeviceControlR
- }
- }
- if (CaseEq(data_expr, Input::DeviceControl::abs_calib)) {
-- data.abs_calib.emplace();
-+ data.abs_calib = x11::Input::DeviceState::AbsCalib{};
- auto& min_x = (*data.abs_calib).min_x;
- auto& max_x = (*data.abs_calib).max_x;
- auto& min_y = (*data.abs_calib).min_y;
-@@ -5144,7 +5144,7 @@ std::unique_ptr<Input::GetDeviceControlR
- Read(&button_threshold, &buf);
- }
- if (CaseEq(data_expr, Input::DeviceControl::core)) {
-- data.core.emplace();
-+ data.core = x11::Input::DeviceState::Core{};
- auto& status = (*data.core).status;
- auto& iscore = (*data.core).iscore;
-
-@@ -5158,7 +5158,7 @@ std::unique_ptr<Input::GetDeviceControlR
- Pad(&buf, 2);
- }
- if (CaseEq(data_expr, Input::DeviceControl::enable)) {
-- data.enable.emplace();
-+ data.enable = x11::Input::DeviceState::Enable{};
- auto& enable = (*data.enable).enable;
-
- // enable
-@@ -5168,7 +5168,7 @@ std::unique_ptr<Input::GetDeviceControlR
- Pad(&buf, 3);
- }
- if (CaseEq(data_expr, Input::DeviceControl::abs_area)) {
-- data.abs_area.emplace();
-+ data.abs_area = x11::Input::DeviceState::AbsArea{};
- auto& offset_x = (*data.abs_area).offset_x;
- auto& offset_y = (*data.abs_area).offset_y;
- auto& width = (*data.abs_area).width;
-@@ -6659,7 +6659,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
- // data
- auto data_expr = type;
- if (CaseEq(data_expr, Input::DeviceClassType::Key)) {
-- data.key.emplace();
-+ data.key = Input::DeviceClass::Key{};
- uint16_t num_keys{};
- auto& keys = (*data.key).keys;
- size_t keys_len = keys.size();
-@@ -6675,7 +6675,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
- }
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Button)) {
-- data.button.emplace();
-+ data.button = Input::DeviceClass::Button{};
- uint16_t num_buttons{};
- auto& state = (*data.button).state;
- size_t state_len = state.size();
-@@ -6700,7 +6700,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
- }
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) {
-- data.valuator.emplace();
-+ data.valuator = Input::DeviceClass::Valuator{};
- auto& number = (*data.valuator).number;
- auto& label = (*data.valuator).label;
- auto& min = (*data.valuator).min;
-@@ -6763,7 +6763,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
- Pad(&buf, 3);
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) {
-- data.scroll.emplace();
-+ data.scroll = Input::DeviceClass::Scroll{};
- auto& number = (*data.scroll).number;
- auto& scroll_type = (*data.scroll).scroll_type;
- auto& flags = (*data.scroll).flags;
-@@ -6798,7 +6798,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
- }
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Touch)) {
-- data.touch.emplace();
-+ data.touch = Input::DeviceClass::Touch{};
- auto& mode = (*data.touch).mode;
- auto& num_touches = (*data.touch).num_touches;
-
-@@ -6811,7 +6811,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
- Read(&num_touches, &buf);
- }
- if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) {
-- data.gesture.emplace();
-+ data.gesture = Input::DeviceClass::Gesture{};
- auto& num_touches = (*data.gesture).num_touches;
-
- // num_touches
-diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc
---- chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200
-+++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc 2024-05-19 09:07:38.220438054 +0200
-@@ -2346,7 +2346,7 @@ std::unique_ptr<Xkb::GetMapReply> detail
- // map
- auto map_expr = present;
- if (CaseAnd(map_expr, Xkb::MapPart::KeyTypes)) {
-- map.types_rtrn.emplace();
-+ map.types_rtrn = std::vector<Xkb::KeyType>{};
- auto& types_rtrn = *map.types_rtrn;
- size_t types_rtrn_len = types_rtrn.size();
-
-@@ -5276,7 +5276,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
- if (CaseAnd(replies_expr, Xkb::GBNDetail::Types) ||
- CaseAnd(replies_expr, Xkb::GBNDetail::ClientSymbols) ||
- CaseAnd(replies_expr, Xkb::GBNDetail::ServerSymbols)) {
-- replies.types.emplace();
-+ replies.types = Xkb::GetKbdByNameReply::Types{};
- auto& getmap_type = (*replies.types).getmap_type;
- auto& typeDeviceID = (*replies.types).typeDeviceID;
- auto& getmap_sequence = (*replies.types).getmap_sequence;
-@@ -5708,7 +5708,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
- }
- }
- if (CaseAnd(replies_expr, Xkb::GBNDetail::CompatMap)) {
-- replies.compat_map.emplace();
-+ replies.compat_map = Xkb::GetKbdByNameReply::CompatMap{};
- auto& compatmap_type = (*replies.compat_map).compatmap_type;
- auto& compatDeviceID = (*replies.compat_map).compatDeviceID;
- auto& compatmap_sequence = (*replies.compat_map).compatmap_sequence;
-@@ -5832,7 +5832,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
- }
- }
- if (CaseAnd(replies_expr, Xkb::GBNDetail::IndicatorMaps)) {
-- replies.indicator_maps.emplace();
-+ replies.indicator_maps = Xkb::GetKbdByNameReply::IndicatorMaps{};
- auto& indicatormap_type = (*replies.indicator_maps).indicatormap_type;
- auto& indicatorDeviceID = (*replies.indicator_maps).indicatorDeviceID;
- auto& indicatormap_sequence =
-@@ -5926,7 +5926,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
- }
- if (CaseAnd(replies_expr, Xkb::GBNDetail::KeyNames) ||
- CaseAnd(replies_expr, Xkb::GBNDetail::OtherNames)) {
-- replies.key_names.emplace();
-+ replies.key_names = Xkb::GetKbdByNameReply::KeyNames{};
- auto& keyname_type = (*replies.key_names).keyname_type;
- auto& keyDeviceID = (*replies.key_names).keyDeviceID;
- auto& keyname_sequence = (*replies.key_names).keyname_sequence;
-@@ -6185,7 +6185,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
- }
- }
- if (CaseAnd(replies_expr, Xkb::GBNDetail::Geometry)) {
-- replies.geometry.emplace();
-+ replies.geometry = Xkb::GetKbdByNameReply::Geometry{};
- auto& geometry_type = (*replies.geometry).geometry_type;
- auto& geometryDeviceID = (*replies.geometry).geometryDeviceID;
- auto& geometry_sequence = (*replies.geometry).geometry_sequence;
diff --git a/chromium-126-clang16-buildflags.patch b/chromium-126-clang16-buildflags.patch
new file mode 100644
index 0000000..cba25fd
--- /dev/null
+++ b/chromium-126-clang16-buildflags.patch
@@ -0,0 +1,22 @@
+diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-buildflag chromium-126.0.6478.26/build/config/compiler/BUILD.gn
+--- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-buildflag 2024-06-02 14:55:55.298242780 +0200
++++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 15:04:43.839882669 +0200
+@@ -1889,9 +1889,6 @@ config("default_warnings") {
+
+ # TODO(crbug.com/40286317): Evaluate and possibly enable.
+ "-Wno-vla-extension",
+-
+- # TODO(crbug.com/40284799): Fix and re-enable.
+- "-Wno-thread-safety-reference-return",
+ ]
+
+ cflags_cc += [
+@@ -1902,7 +1899,7 @@ config("default_warnings") {
+ if (!is_nacl) {
+ cflags_cc += [
+ # TODO(crbug.com/41486292): Fix and re-enable.
+- "-Wno-c++11-narrowing-const-reference",
++ "-Wno-c++11-narrowing",
+ ]
+ }
+ }
diff --git a/chromium-126-clang16-disable-auto-upgrade-debug-info.patch b/chromium-126-clang16-disable-auto-upgrade-debug-info.patch
new file mode 100644
index 0000000..f791596
--- /dev/null
+++ b/chromium-126-clang16-disable-auto-upgrade-debug-info.patch
@@ -0,0 +1,12 @@
+diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-disable-auto-upgrade-debug-info chromium-126.0.6478.26/build/config/compiler/BUILD.gn
+--- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.clang16-disable-auto-upgrade-debug-info 2024-06-02 18:00:17.914641767 +0200
++++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 18:02:32.153544892 +0200
+@@ -780,7 +780,7 @@ config("compiler") {
+
+ # We only use one version of LLVM within a build so there's no need to
+ # upgrade debug info, which can be expensive since it runs the verifier.
+- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
++ ldflags += [ "" ]
+ }
+
+ # TODO(crbug.com/335365324): Enable on other platforms.
diff --git a/chromium-126-el7-colormap.patch b/chromium-126-el7-colormap.patch
new file mode 100644
index 0000000..1c0002b
--- /dev/null
+++ b/chromium-126-el7-colormap.patch
@@ -0,0 +1,681 @@
+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
new file mode 100644
index 0000000..45042fe
--- /dev/null
+++ b/chromium-126-el7-constexpr.patch
@@ -0,0 +1,248 @@
+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
new file mode 100644
index 0000000..3bafca4
--- /dev/null
+++ b/chromium-126-el7-include-fcntl-memfd.patch
@@ -0,0 +1,47 @@
+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
new file mode 100644
index 0000000..9b630a8
--- /dev/null
+++ b/chromium-126-el7-interator.patch
@@ -0,0 +1,12 @@
+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
new file mode 100644
index 0000000..fdc351a
--- /dev/null
+++ b/chromium-126-el7-no_matching_constructor.patch
@@ -0,0 +1,1961 @@
+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
new file mode 100644
index 0000000..6821086
--- /dev/null
+++ b/chromium-126-el7-old-cups.patch
@@ -0,0 +1,137 @@
+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
new file mode 100644
index 0000000..98817e5
--- /dev/null
+++ b/chromium-126-el7-rust-c_string.patch
@@ -0,0 +1,1667 @@
+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
new file mode 100644
index 0000000..3375bfc
--- /dev/null
+++ b/chromium-126-el7-std_variant.patch
@@ -0,0 +1,96 @@
+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
new file mode 100644
index 0000000..80a2da8
--- /dev/null
+++ b/chromium-126-el7-stdformat.patch
@@ -0,0 +1,21 @@
+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
new file mode 100644
index 0000000..38e7bc1
--- /dev/null
+++ b/chromium-126-el7-type-alias.patch
@@ -0,0 +1,30 @@
+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-126-split-threshold-for-reg-with-hint.patch b/chromium-126-split-threshold-for-reg-with-hint.patch
new file mode 100644
index 0000000..4ae1f29
--- /dev/null
+++ b/chromium-126-split-threshold-for-reg-with-hint.patch
@@ -0,0 +1,28 @@
+diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me chromium-126.0.6478.26/build/config/compiler/BUILD.gn
+--- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me 2024-06-02 14:02:52.516602574 +0200
++++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 14:17:24.527503540 +0200
+@@ -575,24 +575,6 @@ config("compiler") {
+ }
+ }
+
+- # TODO(crbug.com/40283598): This causes binary size growth and potentially
+- # other problems.
+- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
+- if (default_toolchain != "//build/toolchain/cros:target" &&
+- !llvm_android_mainline) {
+- cflags += [
+- "-mllvm",
+- "-split-threshold-for-reg-with-hint=0",
+- ]
+- if (use_thin_lto && is_a_target_toolchain) {
+- if (is_win) {
+- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
+- } else {
+- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
+- }
+- }
+- }
+-
+ # TODO(crbug.com/40192287): Investigate why/if this should be needed.
+ if (is_win) {
+ cflags += [ "/clang:-ffp-contract=off" ]
diff --git a/chromium-126-system-libstdc++.patch b/chromium-126-system-libstdc++.patch
new file mode 100644
index 0000000..396f48f
--- /dev/null
+++ b/chromium-126-system-libstdc++.patch
@@ -0,0 +1,667 @@
+diff -up chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h
+--- chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ 2024-05-29 18:00:45.000000000 +0200
++++ chromium-126.0.6478.26/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h 2024-06-02 23:51:25.562917154 +0200
+@@ -14,7 +14,7 @@
+ #include <unordered_map>
+ #include <utility>
+
+-#include "partition_alloc/internal_allocator_forward.h"
++#include "partition_alloc/internal_allocator.h"
+ #include "partition_alloc/partition_alloc_base/threading/platform_thread.h"
+ #include "partition_alloc/partition_alloc_base/time/time.h"
+ #include "partition_alloc/partition_alloc_check.h"
+diff -up chromium-126.0.6478.26/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ chromium-126.0.6478.26/chrome/browser/ui/tabs/tab_strip_model.h
+--- chromium-126.0.6478.26/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ 2024-05-29 18:00:59.000000000 +0200
++++ chromium-126.0.6478.26/chrome/browser/ui/tabs/tab_strip_model.h 2024-06-02 23:51:25.563917178 +0200
+@@ -12,6 +12,7 @@
+ #include <memory>
+ #include <optional>
+ #include <string>
++#include <variant>
+ #include <vector>
+
+ #include "base/containers/span.h"
+diff -up chromium-126.0.6478.26/components/viz/service/display/surface_aggregator.cc.system-libstdc++ chromium-126.0.6478.26/components/viz/service/display/surface_aggregator.cc
+--- chromium-126.0.6478.26/components/viz/service/display/surface_aggregator.cc.system-libstdc++ 2024-05-29 18:01:12.000000000 +0200
++++ chromium-126.0.6478.26/components/viz/service/display/surface_aggregator.cc 2024-06-02 23:51:25.563917178 +0200
+@@ -2296,7 +2296,7 @@ AggregatedFrame SurfaceAggregator::Aggre
+ root_surface_id_ = surface_id;
+
+ // Start recording new stats for this aggregation.
+- stats_.emplace();
++ stats_ = AggregateStatistics{};
+
+ base::ElapsedTimer prewalk_timer;
+ ResolvedFrameData* resolved_frame = GetResolvedFrame(surface_id);
+diff -up chromium-126.0.6478.26/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ chromium-126.0.6478.26/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc
+--- chromium-126.0.6478.26/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ 2024-05-29 18:01:12.000000000 +0200
++++ chromium-126.0.6478.26/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc 2024-06-02 23:51:25.563917178 +0200
+@@ -2,6 +2,7 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <optional>
+ #include "content/browser/first_party_sets/first_party_sets_handler_database_helper.h"
+
+ #include "base/containers/contains.h"
+diff -up chromium-126.0.6478.26/content/services/auction_worklet/real_time_reporting_bindings.h.system-libstdc++ chromium-126.0.6478.26/content/services/auction_worklet/real_time_reporting_bindings.h
+--- chromium-126.0.6478.26/content/services/auction_worklet/real_time_reporting_bindings.h.system-libstdc++ 2024-06-04 13:52:43.689553459 +0200
++++ chromium-126.0.6478.26/content/services/auction_worklet/real_time_reporting_bindings.h 2024-06-04 13:52:01.117778943 +0200
+@@ -12,7 +12,7 @@
+ #include "content/common/content_export.h"
+ #include "content/services/auction_worklet/auction_v8_helper.h"
+ #include "content/services/auction_worklet/context_recycler.h"
+-#include "content/services/auction_worklet/public/mojom/real_time_reporting.mojom-forward.h"
++#include "content/services/auction_worklet/public/mojom/real_time_reporting.mojom.h"
+ #include "v8/include/v8-forward.h"
+
+ namespace auction_worklet {
+diff -up chromium-126.0.6478.26/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ chromium-126.0.6478.26/gpu/command_buffer/service/shared_image/shared_image_backing.h
+--- chromium-126.0.6478.26/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ 2024-05-29 18:01:26.000000000 +0200
++++ chromium-126.0.6478.26/gpu/command_buffer/service/shared_image/shared_image_backing.h 2024-06-02 23:51:25.564917202 +0200
+@@ -111,6 +111,25 @@ using VideoDecodeDevice = Microsoft::WRL
+ using VideoDecodeDevice = void*;
+ #endif // BUILDFLAG(IS_WIN)
+
++class ScopedWriteUMA {
++ public:
++ ScopedWriteUMA() = default;
++
++ ScopedWriteUMA(const ScopedWriteUMA&) = delete;
++ ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
++
++ ~ScopedWriteUMA() {
++ UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed",
++ content_consumed_);
++ }
++
++ bool content_consumed() const { return content_consumed_; }
++ void SetConsumed() { content_consumed_ = true; }
++
++ private:
++ bool content_consumed_ = false;
++};
++
+ // Represents the actual storage (GL texture, VkImage, GMB) for a SharedImage.
+ // Should not be accessed directly, instead is accessed through a
+ // SharedImageRepresentation.
+@@ -384,25 +403,6 @@ class GPU_GLES2_EXPORT SharedImageBackin
+ mutable std::optional<base::Lock> lock_;
+
+ private:
+- class ScopedWriteUMA {
+- public:
+- ScopedWriteUMA() = default;
+-
+- ScopedWriteUMA(const ScopedWriteUMA&) = delete;
+- ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
+-
+- ~ScopedWriteUMA() {
+- UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed",
+- content_consumed_);
+- }
+-
+- bool content_consumed() const { return content_consumed_; }
+- void SetConsumed() { content_consumed_ = true; }
+-
+- private:
+- bool content_consumed_ = false;
+- };
+-
+ const Mailbox mailbox_;
+ const viz::SharedImageFormat format_;
+ const gfx::Size size_;
+diff -up chromium-126.0.6478.26/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ chromium-126.0.6478.26/mojo/public/cpp/bindings/lib/multiplex_router.cc
+--- chromium-126.0.6478.26/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ 2024-05-29 18:01:33.000000000 +0200
++++ chromium-126.0.6478.26/mojo/public/cpp/bindings/lib/multiplex_router.cc 2024-06-02 23:51:25.564917202 +0200
+@@ -893,7 +893,7 @@ bool MultiplexRouter::ExclusiveSyncWaitF
+ DCHECK(!exclusive_sync_wait_);
+
+ scoped_refptr<MultiplexRouter> keep_alive(this);
+- exclusive_sync_wait_.emplace();
++ exclusive_sync_wait_ = ExclusiveSyncWaitInfo{};
+ exclusive_sync_wait_->interface_id = interface_id;
+ exclusive_sync_wait_->request_id = request_id;
+ while (!exclusive_sync_wait_->finished) {
+diff -up chromium-126.0.6478.26/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ chromium-126.0.6478.26/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
+--- chromium-126.0.6478.26/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ 2024-05-29 18:01:37.000000000 +0200
++++ chromium-126.0.6478.26/third_party/blink/common/interest_group/auction_config_mojom_traits.cc 2024-06-02 23:51:25.565917225 +0200
+@@ -225,8 +225,6 @@ bool StructTraits<blink::mojom::AuctionA
+ !data.ReadAllBuyersPrioritySignals(&out->all_buyers_priority_signals) ||
+ !data.ReadAuctionReportBuyerKeys(&out->auction_report_buyer_keys) ||
+ !data.ReadAuctionReportBuyers(&out->auction_report_buyers) ||
+- !data.ReadAuctionReportBuyerDebugModeConfig(
+- &out->auction_report_buyer_debug_mode_config) ||
+ !data.ReadRequiredSellerCapabilities(
+ &out->required_seller_capabilities) ||
+ !data.ReadRequestedSize(&out->requested_size) ||
+diff -up chromium-126.0.6478.26/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ chromium-126.0.6478.26/third_party/blink/renderer/core/loader/history_item.cc
+--- chromium-126.0.6478.26/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ 2024-05-29 18:01:39.000000000 +0200
++++ chromium-126.0.6478.26/third_party/blink/renderer/core/loader/history_item.cc 2024-06-02 23:51:25.565917225 +0200
+@@ -182,26 +182,26 @@ void HistoryItem::SetReferrerPolicy(netw
+
+ void HistoryItem::SetVisualViewportScrollOffset(const ScrollOffset& offset) {
+ if (!view_state_)
+- view_state_ = std::make_optional<ViewState>();
++ view_state_ = blink::HistoryItem::ViewState{};
+ view_state_->visual_viewport_scroll_offset_ = offset;
+ }
+
+ void HistoryItem::SetScrollOffset(const ScrollOffset& offset) {
+ if (!view_state_)
+- view_state_ = std::make_optional<ViewState>();
++ view_state_ = blink::HistoryItem::ViewState{};
+ view_state_->scroll_offset_ = offset;
+ }
+
+ void HistoryItem::SetPageScaleFactor(float scale_factor) {
+ if (!view_state_)
+- view_state_ = std::make_optional<ViewState>();
++ view_state_ = blink::HistoryItem::ViewState{};
+ view_state_->page_scale_factor_ = scale_factor;
+ }
+
+ void HistoryItem::SetScrollAnchorData(
+ const ScrollAnchorData& scroll_anchor_data) {
+ if (!view_state_)
+- view_state_ = std::make_optional<ViewState>();
++ view_state_ = blink::HistoryItem::ViewState{};
+ view_state_->scroll_anchor_data_ = scroll_anchor_data;
+ }
+
+diff -up chromium-126.0.6478.26/third_party/blink/renderer/core/page/page_popup_controller.h.system-libstdc++ chromium-126.0.6478.26/third_party/blink/renderer/core/page/page_popup_controller.h
+--- chromium-126.0.6478.26/third_party/blink/renderer/core/page/page_popup_controller.h.system-libstdc++ 2024-06-04 17:01:05.066469613 +0200
++++ chromium-126.0.6478.26/third_party/blink/renderer/core/page/page_popup_controller.h 2024-06-04 16:51:41.076869743 +0200
+@@ -31,6 +31,7 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_PAGE_POPUP_CONTROLLER_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_PAGE_POPUP_CONTROLLER_H_
+
++#include <optional>
+ #include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
+ #include "third_party/blink/renderer/platform/heap/collection_support/heap_vector.h"
+ #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
+diff -up chromium-126.0.6478.26/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ chromium-126.0.6478.26/third_party/blink/renderer/core/paint/fragment_data_iterator.h
+--- chromium-126.0.6478.26/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ 2024-05-29 18:01:40.000000000 +0200
++++ chromium-126.0.6478.26/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2024-06-02 23:51:25.565917225 +0200
+@@ -22,7 +22,7 @@ class FragmentDataIteratorBase {
+
+ public:
+ explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {}
+- explicit FragmentDataIteratorBase(nullptr_t) {}
++ explicit FragmentDataIteratorBase(std::nullptr_t) {}
+
+ Data* GetFragmentData() const {
+ return !IsDone() ? &fragment_head_.at(idx_) : nullptr;
+diff -up chromium-126.0.6478.26/third_party/blink/renderer/modules/encoding/text_decoder.h.system-libstdc++ chromium-126.0.6478.26/third_party/blink/renderer/modules/encoding/text_decoder.h
+--- chromium-126.0.6478.26/third_party/blink/renderer/modules/encoding/text_decoder.h.system-libstdc++ 2024-06-03 23:14:03.138724802 +0200
++++ chromium-126.0.6478.26/third_party/blink/renderer/modules/encoding/text_decoder.h 2024-06-03 23:14:41.395654435 +0200
+@@ -31,6 +31,7 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_ENCODING_TEXT_DECODER_H_
+ #define THIRD_PARTY_BLINK_RENDERER_MODULES_ENCODING_TEXT_DECODER_H_
+
++#include <optional>
+ #include <memory>
+
+ #include "third_party/blink/renderer/bindings/core/v8/v8_typedefs.h"
+diff -up chromium-126.0.6478.26/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ chromium-126.0.6478.26/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc
+--- chromium-126.0.6478.26/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ 2024-05-29 18:01:40.000000000 +0200
++++ chromium-126.0.6478.26/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc 2024-06-02 23:51:25.566917250 +0200
+@@ -102,7 +102,7 @@ void MediaControlTimelineElement::Update
+ void MediaControlTimelineElement::SetPosition(double current_time,
+ bool suppress_aria) {
+ if (is_live_ && !live_anchor_time_ && current_time != 0) {
+- live_anchor_time_.emplace();
++ live_anchor_time_ = LiveAnchorTime{};
+ live_anchor_time_->clock_time_ = base::TimeTicks::Now();
+ live_anchor_time_->media_time_ = MediaElement().currentTime();
+ }
+diff -up chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h.system-libstdc++ chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h
+--- chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h.system-libstdc++ 2024-06-04 16:52:15.268516255 +0200
++++ chromium-126.0.6478.26/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h 2024-06-04 16:56:23.906705337 +0200
+@@ -7,6 +7,7 @@
+
+ #include <unicode/uscript.h>
+ #include <memory>
++#include <optional>
+ #include "third_party/blink/renderer/platform/fonts/font_orientation.h"
+ #include "third_party/blink/renderer/platform/fonts/orientation_iterator.h"
+ #include "third_party/blink/renderer/platform/fonts/script_run_iterator.h"
+diff -up chromium-126.0.6478.26/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ chromium-126.0.6478.26/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc
+--- chromium-126.0.6478.26/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ 2024-05-29 18:01:41.000000000 +0200
++++ chromium-126.0.6478.26/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc 2024-06-02 23:51:25.566917250 +0200
+@@ -70,7 +70,7 @@ void GeometryMapperTransformCache::Updat
+ to_2d_translation_root_ += translation;
+
+ if (parent.plane_root_transform_) {
+- plane_root_transform_.emplace();
++ plane_root_transform_ = PlaneRootTransform{};
+ plane_root_transform_->plane_root = parent.plane_root();
+ plane_root_transform_->to_plane_root = parent.to_plane_root();
+ plane_root_transform_->to_plane_root.Translate(translation.x(),
+@@ -98,7 +98,7 @@ void GeometryMapperTransformCache::Updat
+ // as the 2d translation root.
+ plane_root_transform_ = std::nullopt;
+ } else {
+- plane_root_transform_.emplace();
++ plane_root_transform_ = PlaneRootTransform{};
+ plane_root_transform_->plane_root = parent.plane_root();
+ plane_root_transform_->to_plane_root.MakeIdentity();
+ parent.ApplyToPlaneRoot(plane_root_transform_->to_plane_root);
+@@ -140,7 +140,7 @@ void GeometryMapperTransformCache::Updat
+ parent_node->UpdateScreenTransform();
+ const auto& parent = parent_node->GetTransformCache();
+
+- screen_transform_.emplace();
++ screen_transform_ = ScreenTransform{};
+ parent.ApplyToScreen(screen_transform_->to_screen);
+ if (node.FlattensInheritedTransform())
+ screen_transform_->to_screen.Flatten();
+diff -up chromium-126.0.6478.26/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ chromium-126.0.6478.26/third_party/ruy/src/ruy/profiler/instrumentation.h
+--- chromium-126.0.6478.26/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ 2024-05-29 18:03:01.000000000 +0200
++++ chromium-126.0.6478.26/third_party/ruy/src/ruy/profiler/instrumentation.h 2024-06-02 23:51:25.566917250 +0200
+@@ -19,6 +19,7 @@ limitations under the License.
+ #ifdef RUY_PROFILER
+ #include <cstdio>
+ #include <mutex>
++#include <string>
+ #include <vector>
+ #endif
+
+diff -up chromium-126.0.6478.26/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ chromium-126.0.6478.26/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc
+--- chromium-126.0.6478.26/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ 2024-05-29 18:03:48.000000000 +0200
++++ chromium-126.0.6478.26/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc 2024-06-02 23:51:25.567917273 +0200
+@@ -549,7 +549,7 @@ absl::optional<LossBasedBweV2::Config> L
+ if (!enabled.Get()) {
+ return config;
+ }
+- config.emplace();
++ config = Config{};
+ config->bandwidth_rampup_upper_bound_factor =
+ bandwidth_rampup_upper_bound_factor.Get();
+ config->bandwidth_rampup_upper_bound_factor_in_hold =
+diff -up chromium-126.0.6478.26/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ chromium-126.0.6478.26/ui/gfx/x/generated_protos/randr.cc
+--- chromium-126.0.6478.26/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ 2024-05-29 18:02:32.000000000 +0200
++++ chromium-126.0.6478.26/ui/gfx/x/generated_protos/randr.cc 2024-06-02 23:51:25.568917297 +0200
+@@ -305,7 +305,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
+ // data
+ auto data_expr = subCode;
+ if (CaseEq(data_expr, RandR::Notify::CrtcChange)) {
+- data.cc.emplace();
++ data.cc = RandR::NotifyEvent::Cc{};
+ auto& timestamp = (*data.cc).timestamp;
+ auto& window = (*data.cc).window;
+ auto& crtc = (*data.cc).crtc;
+@@ -349,7 +349,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
+ Read(&height, &buf);
+ }
+ if (CaseEq(data_expr, RandR::Notify::OutputChange)) {
+- data.oc.emplace();
++ data.oc = RandR::NotifyEvent::Oc{};
+ auto& timestamp = (*data.oc).timestamp;
+ auto& config_timestamp = (*data.oc).config_timestamp;
+ auto& window = (*data.oc).window;
+@@ -394,7 +394,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
+ subpixel_order = static_cast<Render::SubPixel>(tmp6);
+ }
+ if (CaseEq(data_expr, RandR::Notify::OutputProperty)) {
+- data.op.emplace();
++ data.op = RandR::NotifyEvent::Op{};
+ auto& window = (*data.op).window;
+ auto& output = (*data.op).output;
+ auto& atom = (*data.op).atom;
+@@ -422,7 +422,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
+ Pad(&buf, 11);
+ }
+ if (CaseEq(data_expr, RandR::Notify::ProviderChange)) {
+- data.pc.emplace();
++ data.pc = RandR::NotifyEvent::Pc{};
+ auto& timestamp = (*data.pc).timestamp;
+ auto& window = (*data.pc).window;
+ auto& provider = (*data.pc).provider;
+@@ -440,7 +440,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
+ Pad(&buf, 16);
+ }
+ if (CaseEq(data_expr, RandR::Notify::ProviderProperty)) {
+- data.pp.emplace();
++ data.pp = RandR::NotifyEvent::Pp{};
+ auto& window = (*data.pp).window;
+ auto& provider = (*data.pp).provider;
+ auto& atom = (*data.pp).atom;
+@@ -466,7 +466,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
+ Pad(&buf, 11);
+ }
+ if (CaseEq(data_expr, RandR::Notify::ResourceChange)) {
+- data.rc.emplace();
++ data.rc = RandR::NotifyEvent::Rc{};
+ auto& timestamp = (*data.rc).timestamp;
+ auto& window = (*data.rc).window;
+
+@@ -480,7 +480,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
+ Pad(&buf, 20);
+ }
+ if (CaseEq(data_expr, RandR::Notify::Lease)) {
+- data.lc.emplace();
++ data.lc = RandR::NotifyEvent::Lc{};
+ auto& timestamp = (*data.lc).timestamp;
+ auto& window = (*data.lc).window;
+ auto& lease = (*data.lc).lease;
+diff -up chromium-126.0.6478.26/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ chromium-126.0.6478.26/ui/gfx/x/generated_protos/xinput.cc
+--- chromium-126.0.6478.26/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ 2024-05-29 18:02:32.000000000 +0200
++++ chromium-126.0.6478.26/ui/gfx/x/generated_protos/xinput.cc 2024-06-02 23:51:25.569917321 +0200
+@@ -560,7 +560,7 @@ void ReadEvent<Input::DeviceChangedEvent
+ // data
+ auto data_expr = type;
+ if (CaseEq(data_expr, Input::DeviceClassType::Key)) {
+- data.key.emplace();
++ data.key = Input::DeviceClass::Key{};
+ uint16_t num_keys{};
+ auto& keys = (*data.key).keys;
+
+@@ -575,7 +575,7 @@ void ReadEvent<Input::DeviceChangedEvent
+ }
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Button)) {
+- data.button.emplace();
++ data.button = Input::DeviceClass::Button{};
+ uint16_t num_buttons{};
+ auto& state = (*data.button).state;
+ auto& labels = (*data.button).labels;
+@@ -598,7 +598,7 @@ void ReadEvent<Input::DeviceChangedEvent
+ }
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) {
+- data.valuator.emplace();
++ data.valuator = Input::DeviceClass::Valuator{};
+ auto& number = (*data.valuator).number;
+ auto& label = (*data.valuator).label;
+ auto& min = (*data.valuator).min;
+@@ -661,7 +661,7 @@ void ReadEvent<Input::DeviceChangedEvent
+ Pad(&buf, 3);
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) {
+- data.scroll.emplace();
++ data.scroll = Input::DeviceClass::Scroll{};
+ auto& number = (*data.scroll).number;
+ auto& scroll_type = (*data.scroll).scroll_type;
+ auto& flags = (*data.scroll).flags;
+@@ -696,7 +696,7 @@ void ReadEvent<Input::DeviceChangedEvent
+ }
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Touch)) {
+- data.touch.emplace();
++ data.touch = Input::DeviceClass::Touch{};
+ auto& mode = (*data.touch).mode;
+ auto& num_touches = (*data.touch).num_touches;
+
+@@ -709,7 +709,7 @@ void ReadEvent<Input::DeviceChangedEvent
+ Read(&num_touches, &buf);
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) {
+- data.gesture.emplace();
++ data.gesture = Input::DeviceClass::Gesture{};
+ auto& num_touches = (*data.gesture).num_touches;
+
+ // num_touches
+@@ -2187,7 +2187,7 @@ std::unique_ptr<Input::ListInputDevicesR
+ // info
+ auto info_expr = class_id;
+ if (CaseEq(info_expr, Input::InputClass::Key)) {
+- info.key.emplace();
++ info.key = Input::InputInfo::Key{};
+ auto& min_keycode = (*info.key).min_keycode;
+ auto& max_keycode = (*info.key).max_keycode;
+ auto& num_keys = (*info.key).num_keys;
+@@ -2205,14 +2205,14 @@ std::unique_ptr<Input::ListInputDevicesR
+ Pad(&buf, 2);
+ }
+ if (CaseEq(info_expr, Input::InputClass::Button)) {
+- info.button.emplace();
++ info.button = Input::InputInfo::Button{};
+ auto& num_buttons = (*info.button).num_buttons;
+
+ // num_buttons
+ Read(&num_buttons, &buf);
+ }
+ if (CaseEq(info_expr, Input::InputClass::Valuator)) {
+- info.valuator.emplace();
++ info.valuator = Input::InputInfo::Valuator{};
+ uint8_t axes_len{};
+ auto& mode = (*info.valuator).mode;
+ auto& motion_size = (*info.valuator).motion_size;
+@@ -3818,7 +3818,7 @@ std::unique_ptr<Input::GetFeedbackContro
+ // data
+ auto data_expr = class_id;
+ if (CaseEq(data_expr, Input::FeedbackClass::Keyboard)) {
+- data.keyboard.emplace();
++ data.keyboard = x11::Input::FeedbackState::Keyboard{};
+ auto& pitch = (*data.keyboard).pitch;
+ auto& duration = (*data.keyboard).duration;
+ auto& led_mask = (*data.keyboard).led_mask;
+@@ -3859,7 +3859,7 @@ std::unique_ptr<Input::GetFeedbackContro
+ }
+ }
+ if (CaseEq(data_expr, Input::FeedbackClass::Pointer)) {
+- data.pointer.emplace();
++ data.pointer = x11::Input::FeedbackState::Pointer{};
+ auto& accel_num = (*data.pointer).accel_num;
+ auto& accel_denom = (*data.pointer).accel_denom;
+ auto& threshold = (*data.pointer).threshold;
+@@ -3877,7 +3877,7 @@ std::unique_ptr<Input::GetFeedbackContro
+ Read(&threshold, &buf);
+ }
+ if (CaseEq(data_expr, Input::FeedbackClass::String)) {
+- data.string.emplace();
++ data.string = x11::Input::FeedbackState::String{};
+ auto& max_symbols = (*data.string).max_symbols;
+ uint16_t num_keysyms{};
+ auto& keysyms = (*data.string).keysyms;
+@@ -3896,7 +3896,7 @@ std::unique_ptr<Input::GetFeedbackContro
+ }
+ }
+ if (CaseEq(data_expr, Input::FeedbackClass::Integer)) {
+- data.integer.emplace();
++ data.integer = x11::Input::FeedbackState::Integer{};
+ auto& resolution = (*data.integer).resolution;
+ auto& min_value = (*data.integer).min_value;
+ auto& max_value = (*data.integer).max_value;
+@@ -3911,7 +3911,7 @@ std::unique_ptr<Input::GetFeedbackContro
+ Read(&max_value, &buf);
+ }
+ if (CaseEq(data_expr, Input::FeedbackClass::Led)) {
+- data.led.emplace();
++ data.led = x11::Input::FeedbackState::Led{};
+ auto& led_mask = (*data.led).led_mask;
+ auto& led_values = (*data.led).led_values;
+
+@@ -3922,7 +3922,7 @@ std::unique_ptr<Input::GetFeedbackContro
+ Read(&led_values, &buf);
+ }
+ if (CaseEq(data_expr, Input::FeedbackClass::Bell)) {
+- data.bell.emplace();
++ data.bell = x11::Input::FeedbackState::Bell{};
+ auto& percent = (*data.bell).percent;
+ auto& pitch = (*data.bell).pitch;
+ auto& duration = (*data.bell).duration;
+@@ -4735,7 +4735,7 @@ std::unique_ptr<Input::QueryDeviceStateR
+ // data
+ auto data_expr = class_id;
+ if (CaseEq(data_expr, Input::InputClass::Key)) {
+- data.key.emplace();
++ data.key = x11::Input::InputState::Key{};
+ auto& num_keys = (*data.key).num_keys;
+ auto& keys = (*data.key).keys;
+
+@@ -4752,7 +4752,7 @@ std::unique_ptr<Input::QueryDeviceStateR
+ }
+ }
+ if (CaseEq(data_expr, Input::InputClass::Button)) {
+- data.button.emplace();
++ data.button = x11::Input::InputState::Button{};
+ auto& num_buttons = (*data.button).num_buttons;
+ auto& buttons = (*data.button).buttons;
+
+@@ -4769,7 +4769,7 @@ std::unique_ptr<Input::QueryDeviceStateR
+ }
+ }
+ if (CaseEq(data_expr, Input::InputClass::Valuator)) {
+- data.valuator.emplace();
++ data.valuator = x11::Input::InputState::Valuator{};
+ uint8_t num_valuators{};
+ auto& mode = (*data.valuator).mode;
+ auto& valuators = (*data.valuator).valuators;
+@@ -5039,7 +5039,7 @@ std::unique_ptr<Input::GetDeviceControlR
+ // data
+ auto data_expr = control_id;
+ if (CaseEq(data_expr, Input::DeviceControl::resolution)) {
+- data.resolution.emplace();
++ data.resolution = x11::Input::DeviceState::Resolution{};
+ uint32_t num_valuators{};
+ auto& resolution_values = (*data.resolution).resolution_values;
+ auto& resolution_min = (*data.resolution).resolution_min;
+@@ -5070,7 +5070,7 @@ std::unique_ptr<Input::GetDeviceControlR
+ }
+ }
+ if (CaseEq(data_expr, Input::DeviceControl::abs_calib)) {
+- data.abs_calib.emplace();
++ data.abs_calib = x11::Input::DeviceState::AbsCalib{};
+ auto& min_x = (*data.abs_calib).min_x;
+ auto& max_x = (*data.abs_calib).max_x;
+ auto& min_y = (*data.abs_calib).min_y;
+@@ -5105,7 +5105,7 @@ std::unique_ptr<Input::GetDeviceControlR
+ Read(&button_threshold, &buf);
+ }
+ if (CaseEq(data_expr, Input::DeviceControl::core)) {
+- data.core.emplace();
++ data.core = x11::Input::DeviceState::Core{};
+ auto& status = (*data.core).status;
+ auto& iscore = (*data.core).iscore;
+
+@@ -5119,7 +5119,7 @@ std::unique_ptr<Input::GetDeviceControlR
+ Pad(&buf, 2);
+ }
+ if (CaseEq(data_expr, Input::DeviceControl::enable)) {
+- data.enable.emplace();
++ data.enable = x11::Input::DeviceState::Enable{};
+ auto& enable = (*data.enable).enable;
+
+ // enable
+@@ -5129,7 +5129,7 @@ std::unique_ptr<Input::GetDeviceControlR
+ Pad(&buf, 3);
+ }
+ if (CaseEq(data_expr, Input::DeviceControl::abs_area)) {
+- data.abs_area.emplace();
++ data.abs_area = x11::Input::DeviceState::AbsArea{};
+ auto& offset_x = (*data.abs_area).offset_x;
+ auto& offset_y = (*data.abs_area).offset_y;
+ auto& width = (*data.abs_area).width;
+@@ -6610,7 +6610,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
+ // data
+ auto data_expr = type;
+ if (CaseEq(data_expr, Input::DeviceClassType::Key)) {
+- data.key.emplace();
++ data.key = Input::DeviceClass::Key{};
+ uint16_t num_keys{};
+ auto& keys = (*data.key).keys;
+
+@@ -6625,7 +6625,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
+ }
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Button)) {
+- data.button.emplace();
++ data.button = Input::DeviceClass::Button{};
+ uint16_t num_buttons{};
+ auto& state = (*data.button).state;
+ auto& labels = (*data.button).labels;
+@@ -6648,7 +6648,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
+ }
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) {
+- data.valuator.emplace();
++ data.valuator = Input::DeviceClass::Valuator{};
+ auto& number = (*data.valuator).number;
+ auto& label = (*data.valuator).label;
+ auto& min = (*data.valuator).min;
+@@ -6711,7 +6711,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
+ Pad(&buf, 3);
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) {
+- data.scroll.emplace();
++ data.scroll = Input::DeviceClass::Scroll{};
+ auto& number = (*data.scroll).number;
+ auto& scroll_type = (*data.scroll).scroll_type;
+ auto& flags = (*data.scroll).flags;
+@@ -6746,7 +6746,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
+ }
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Touch)) {
+- data.touch.emplace();
++ data.touch = Input::DeviceClass::Touch{};
+ auto& mode = (*data.touch).mode;
+ auto& num_touches = (*data.touch).num_touches;
+
+@@ -6759,7 +6759,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
+ Read(&num_touches, &buf);
+ }
+ if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) {
+- data.gesture.emplace();
++ data.gesture = Input::DeviceClass::Gesture{};
+ auto& num_touches = (*data.gesture).num_touches;
+
+ // num_touches
+diff -up chromium-126.0.6478.26/ui/gfx/x/generated_protos/xkb.cc.system-libstdc++ chromium-126.0.6478.26/ui/gfx/x/generated_protos/xkb.cc
+--- chromium-126.0.6478.26/ui/gfx/x/generated_protos/xkb.cc.system-libstdc++ 2024-05-29 18:02:32.000000000 +0200
++++ chromium-126.0.6478.26/ui/gfx/x/generated_protos/xkb.cc 2024-06-02 23:51:25.570917345 +0200
+@@ -2344,7 +2344,7 @@ std::unique_ptr<Xkb::GetMapReply> detail
+ // map
+ auto map_expr = present;
+ if (CaseAnd(map_expr, Xkb::MapPart::KeyTypes)) {
+- map.types_rtrn.emplace();
++ map.types_rtrn = std::vector<Xkb::KeyType>{};
+ auto& types_rtrn = *map.types_rtrn;
+
+ // types_rtrn
+@@ -5207,7 +5207,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::Types) ||
+ CaseAnd(replies_expr, Xkb::GBNDetail::ClientSymbols) ||
+ CaseAnd(replies_expr, Xkb::GBNDetail::ServerSymbols)) {
+- replies.types.emplace();
++ replies.types = Xkb::GetKbdByNameReply::Types{};
+ auto& getmap_type = (*replies.types).getmap_type;
+ auto& typeDeviceID = (*replies.types).typeDeviceID;
+ auto& getmap_sequence = (*replies.types).getmap_sequence;
+@@ -5626,7 +5626,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::CompatMap)) {
+- replies.compat_map.emplace();
++ replies.compat_map = Xkb::GetKbdByNameReply::CompatMap{};
+ auto& compatmap_type = (*replies.compat_map).compatmap_type;
+ auto& compatDeviceID = (*replies.compat_map).compatDeviceID;
+ auto& compatmap_sequence = (*replies.compat_map).compatmap_sequence;
+@@ -5747,7 +5747,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::IndicatorMaps)) {
+- replies.indicator_maps.emplace();
++ replies.indicator_maps = Xkb::GetKbdByNameReply::IndicatorMaps{};
+ auto& indicatormap_type = (*replies.indicator_maps).indicatormap_type;
+ auto& indicatorDeviceID = (*replies.indicator_maps).indicatorDeviceID;
+ auto& indicatormap_sequence =
+@@ -5840,7 +5840,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::KeyNames) ||
+ CaseAnd(replies_expr, Xkb::GBNDetail::OtherNames)) {
+- replies.key_names.emplace();
++ replies.key_names = Xkb::GetKbdByNameReply::KeyNames{};
+ auto& keyname_type = (*replies.key_names).keyname_type;
+ auto& keyDeviceID = (*replies.key_names).keyDeviceID;
+ auto& keyname_sequence = (*replies.key_names).keyname_sequence;
+@@ -6087,7 +6087,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::Geometry)) {
+- replies.geometry.emplace();
++ replies.geometry = Xkb::GetKbdByNameReply::Geometry{};
+ auto& geometry_type = (*replies.geometry).geometry_type;
+ auto& geometryDeviceID = (*replies.geometry).geometryDeviceID;
+ auto& geometry_sequence = (*replies.geometry).geometry_sequence;
diff --git a/chromium-99.0.4844.51-epel7-old-cups.patch b/chromium-99.0.4844.51-epel7-old-cups.patch
deleted file mode 100644
index ec0dedc..0000000
--- a/chromium-99.0.4844.51-epel7-old-cups.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-diff -up chromium-99.0.4844.51/printing/backend/cups_helper.cc.el7cups chromium-99.0.4844.51/printing/backend/cups_helper.cc
---- chromium-99.0.4844.51/printing/backend/cups_helper.cc.el7cups 2022-02-28 19:05:55.000000000 -0500
-+++ chromium-99.0.4844.51/printing/backend/cups_helper.cc 2022-03-05 15:17:45.516887985 -0500
-@@ -34,18 +34,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";
-@@ -527,8 +515,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)
- : http_(nullptr) {
- // If we have an empty url, use default print server.
- if (print_server_url.is_empty())
-@@ -538,17 +525,10 @@ HttpConnectionCUPS::HttpConnectionCUPS(c
- if (port == url::PORT_UNSPECIFIED)
- port = kDefaultIPPServerPort;
-
-- if (httpConnect2) {
-- http_ = 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_ =
-- httpConnectEncrypt(print_server_url.host().c_str(), port, encryption);
-- }
-+ // Continue to use deprecated CUPS calls because because older Linux
-+ // distribution such as RHEL/CentOS 7 are shipped with CUPS 1.6.
-+ http_ =
-+ httpConnectEncrypt(print_server_url.host().c_str(), port, encryption);
-
- if (!http_) {
- LOG(ERROR) << "CP_CUPS: Failed connecting to print server: "
-@@ -556,8 +536,6 @@ HttpConnectionCUPS::HttpConnectionCUPS(c
- return;
- }
-
-- if (!httpConnect2)
-- httpBlocking(http_, blocking ? 1 : 0);
- }
-
- HttpConnectionCUPS::~HttpConnectionCUPS() {
-@@ -565,6 +543,10 @@ HttpConnectionCUPS::~HttpConnectionCUPS(
- httpClose(http_);
- }
-
-+void HttpConnectionCUPS::SetBlocking(bool blocking) {
-+ httpBlocking(http_, blocking ? 1 : 0);
-+}
-+
- http_t* HttpConnectionCUPS::http() {
- return http_;
- }
-diff -up chromium-99.0.4844.51/printing/backend/cups_helper.h.el7cups chromium-99.0.4844.51/printing/backend/cups_helper.h
---- chromium-99.0.4844.51/printing/backend/cups_helper.h.el7cups 2022-02-28 19:05:55.000000000 -0500
-+++ chromium-99.0.4844.51/printing/backend/cups_helper.h 2022-03-05 15:17:45.517887991 -0500
-@@ -34,10 +34,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-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups chromium-99.0.4844.51/printing/backend/print_backend_cups.cc
---- chromium-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups 2022-02-28 19:05:55.000000000 -0500
-+++ chromium-99.0.4844.51/printing/backend/print_backend_cups.cc 2022-03-05 15:17:45.517887991 -0500
-@@ -146,7 +146,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,
-@@ -173,7 +173,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) << " - "
-@@ -336,7 +336,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.
-@@ -362,7 +363,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.
-@@ -398,7 +400,8 @@ PrintBackendCUPS::ScopedDestination Prin
- // 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.spec b/chromium.spec
index de9f4df..9e9ff3b 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -183,11 +183,6 @@
%endif
%endif
-%ifarch ppc64le
-# workaround for a bug in new llvm on f40/rawhide (ppc64le)
-%global cfi 0
-%endif
-
# set correct toolchain
%if %{clang}
%global toolchain clang
@@ -256,12 +251,13 @@
%if 0%{?fedora} > 38 || 0%{?rhel} > 9
%global bundlebrotli 0
%global bundleicu 0
+%global bundlelibwebp 0
%else
%global bundlebrotli 1
%global bundleicu 1
+%global bundlelibwebp 1
%endif
%global bundledav1d 0
-%global bundlelibwebp 0
%global bundlelibpng 0
%global bundlelibjpeg 0
%global bundlelibdrm 0
@@ -314,7 +310,7 @@
%endif
Name: chromium%{chromium_channel}
-Version: 125.0.6422.141
+Version: 126.0.6478.55
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
@@ -373,7 +369,7 @@ Patch90: chromium-121-system-libxml.patch
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-116-el7-include-fcntl-memfd.patch
+Patch100: chromium-126-el7-include-fcntl-memfd.patch
# add define HAVE_STRNDUP on epel7
Patch101: chromium-108-el7-wayland-strndup-error.patch
@@ -387,7 +383,7 @@ 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-99.0.4844.51-epel7-old-cups.patch
+Patch104: chromium-126-el7-old-cups.patch
# libdrm on EL7 is rather old and chromium assumes newer
# This gets us by for now
@@ -406,14 +402,14 @@ Patch108: chromium-118-el7_v4l2_quantization.patch
Patch109: chromium-114-wireless-el7.patch
Patch110: chromium-115-buildflag-el7.patch
Patch111: chromium-122-el7-inline-function.patch
-Patch112: chromium-125-el7-rust-proc-macro2.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-125-el7-no_matching_constructor.patch
+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
@@ -425,9 +421,13 @@ 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-125-el7-constexpr.patch
-Patch123: chromium-125-el7-type-alias.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
@@ -465,10 +465,10 @@ Patch312: chromium-123-fstack-protector-strong.patch
# rust is old, function or associated item not found in `OsStr`
Patch313: chromium-123-rust-clap_lex.patch
-Patch314: chromium-124-clang16-buildflags.patch
+Patch314: chromium-126-clang16-buildflags.patch
# remove ldflags -Wl,-mllvm,-disable-auto-upgrade-debug-info which is not supported
-Patch315: chromium-122-clang16-disable-auto-upgrade-debug-info.patch
+Patch315: chromium-126-clang16-disable-auto-upgrade-debug-info.patch
# add -ftrivial-auto-var-init=zero and -fwrapv
Patch316: chromium-122-clang-build-flags.patch
@@ -481,18 +481,15 @@ Patch317: chromium-124-libdav1d-aarch64.patch
# Disable BTI until this is fixed upstream.
Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch
-# remove flag split-threshold-for-reg-with-hint, it' not supported in clang <= 17
-Patch354: chromium-120-split-threshold-for-reg-with-hint.patch
+# remove flag split-threshold-for-reg-with-hint, it's not supported in clang <= 17
+Patch354: chromium-126-split-threshold-for-reg-with-hint.patch
# use system libstdc++
-Patch355: chromium-125-system-libstdc++.patch
+Patch355: chromium-126-system-libstdc++.patch
# set clang_lib path
Patch358: chromium-124-rust-clang_lib.patch
-# ERROR Unresolved dependencies
-Patch359: chromium-124-libavif-deps.patch
-
# PowerPC64 LE support
# Patches taken from Debian, Timothy Pearson's patchset
# https://salsa.debian.org/chromium-team/chromium/-/tree/master/debian/patches/ppc64le?ref_type=heads
@@ -564,10 +561,6 @@ Patch413: fix-unknown-warning-option-messages.diff
# upstream patches
# 64kpage support on el8
Patch500: chromium-124-el8-support-64kpage.patch
-# add missing include for usage of FieldDataManager in autofill_agent.h
-Patch501: chromium-125-missing-include-FieldDataManager.patch
-# [devtools] fix a missing build dependency to a generated file
-Patch502: chromium-125-devtools-build-dependency.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
# http://build.chromium.org/buildbot/official/
@@ -1195,7 +1188,7 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona
%patch -P109 -p1 -b .wireless
%patch -P110 -p1 -b .buildflag-el7
%patch -P111 -p1 -b .inline-function-el7
-%patch -P112 -p1 -R -b .rust-proc-macro2
+%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
@@ -1208,6 +1201,10 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona
%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
@@ -1250,12 +1247,14 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona
%patch -P352 -p1 -b .workaround_for_crash_on_BTI_capable_system
%endif
-%patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint
+%if 0%{?rhel} && 0%{?rhel} < 10 || 0%{?fedora} && 0%{?fedora} < 39
+%patch -P354 -p1 -b .split-threshold-for-reg-with-hint
+%endif
+
%if ! %{use_custom_libcxx}
%patch -P355 -p1 -b .system-libstdc++
%endif
%patch -P358 -p1 -b .rust-clang_lib
-%patch -P359 -p1 -b .libavif-deps
%ifarch ppc64le
%patch -P360 -p1 -b .0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h
@@ -1325,8 +1324,6 @@ cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optiona
%patch -P500 -p1 -b .el8-support-64kpage.patch
%endif
%endif
-%patch -P501 -p1 -b .missing-include-FieldDataManage
-%patch -P502 -p1 -b .devtools-build-dependency
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@@ -1402,11 +1399,8 @@ FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unkn
%endif
%if %{system_build_flags}
-CFLAGS=${CFLAGS/-g }
CFLAGS=${CFLAGS/-fexceptions}
CFLAGS=${CFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}
-CFLAGS=${CFLAGS/-fcf-protection}
-CFLAGS=${CFLAGS/-fstack-clash-protection}
CFLAGS="$CFLAGS $FLAGS"
CXXFLAGS="$CFLAGS"
%else
@@ -2135,6 +2129,27 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif
%changelog
+* Wed Jun 12 2024 Than Ngo <than@redhat.com> - 126.0.6478.55-1
+- update to 126.0.6478.55
+ * High CVE-2024-5830: Type Confusion in V8
+ * High CVE-2024-5831: Use after free in Dawn
+ * High CVE-2024-5832: Use after free in Dawn
+ * High CVE-2024-5833: Type Confusion in V8
+ * High CVE-2024-5834: Inappropriate implementation in Dawn
+ * High CVE-2024-5835: Heap buffer overflow in Tab Groups
+ * High CVE-2024-5836: Inappropriate Implementation in DevTools
+ * High CVE-2024-5837: Type Confusion in V8
+ * High CVE-2024-5838: Type Confusion in V8
+ * Medium CVE-2024-5839: Inappropriate Implementation in Memory Allocator
+ * Medium CVE-2024-5840: Policy Bypass in CORS
+ * Medium CVE-2024-5841: Use after free in V8
+ * Medium CVE-2024-5842: Use after free in Browser UI
+ * Medium CVE-2024-5843: Inappropriate implementation in Downloads
+ * Medium CVE-2024-5844: Heap buffer overflow in Tab Strip
+ * Medium CVE-2024-5845: Use after free in Audio
+ * Medium CVE-2024-5846: Use after free in PDFium
+ * Medium CVE-2024-5847: Use after free in PDFium
+
* Fri May 31 2024 Than Ngo <than@redhat.com> - 125.0.6422.141-1
- update to 125.0.6422.141
* High CVE-2024-5493: Heap buffer overflow in WebRTC
diff --git a/sources b/sources
index 4a1f6a3..3692f55 100644
--- a/sources
+++ b/sources
@@ -2,4 +2,4 @@ SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea
SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd
SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6
SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d
-SHA512 (chromium-125.0.6422.141-clean.tar.xz) = d3933731cad4ca2ce32e5343709dcff6c60769b43ccc0bdb982f846477a6439974aaeeafac740ddbdc4132e92e3510e4663d9095cc9a02d4a7cad63269adebdb
+SHA512 (chromium-126.0.6478.55-clean.tar.xz) = 8035957cfd284f690d9fd0e16794a1d500eae9c15042d775478dc7c3f4ecfd1b75ee5804dc85b028d65b63e661eee45452aa59bc74d9191cae52918847ee27db
^ 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: - update to 126.0.6478.55 Than Ngo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox