Merge branch 'rawhide' into epel8

epel8
Than Ngo 5 months ago
commit 0f8d0dee2f

@ -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
+

@ -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.

@ -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' &&

@ -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>

@ -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" ]

@ -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

@ -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",
]
}
}

@ -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" ]

@ -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",

@ -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) {'

@ -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\"");
}

@ -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.

@ -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;

@ -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",
]
}
}

@ -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.

@ -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));

@ -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};

@ -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)

@ -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*;

@ -1,7 +1,7 @@
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 {
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 {
@ -20,62 +20,57 @@ diff -up chromium-99.0.4844.51/printing/backend/cups_helper.cc.el7cups chromium-
// 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;
@@ -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)
: http_(nullptr) {
- bool blocking) {
+ http_encryption_t encryption) {
// If we have an empty url, use default print server.
if (print_server_url.is_empty())
@@ -538,17 +525,10 @@ HttpConnectionCUPS::HttpConnectionCUPS(c
return;
@@ -771,31 +758,22 @@ 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);
- 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_ =
- httpConnectEncrypt(print_server_url.host().c_str(), port, encryption);
- http_.reset(
+ http_.reset(
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
<< print_server_url;
return;
}
- if (!httpConnect2)
- httpBlocking(http_, blocking ? 1 : 0);
-
- if (!httpConnect2) {
- httpBlocking(http(), blocking ? 1 : 0);
- }
}
HttpConnectionCUPS::~HttpConnectionCUPS() {
@@ -565,6 +543,10 @@ HttpConnectionCUPS::~HttpConnectionCUPS(
httpClose(http_);
}
HttpConnectionCUPS::~HttpConnectionCUPS() = default;
+void HttpConnectionCUPS::SetBlocking(bool blocking) {
+ httpBlocking(http_, blocking ? 1 : 0);
+ httpBlocking(http(), blocking ? 1 : 0);
+}
+
http_t* HttpConnectionCUPS::http() {
return http_;
return http_.get();
}
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
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,
@ -89,10 +84,10 @@ diff -up chromium-99.0.4844.51/printing/backend/cups_helper.h.el7cups chromium-9
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
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};
@ -101,7 +96,7 @@ diff -up chromium-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups ch
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
@@ -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);
@ -110,7 +105,7 @@ diff -up chromium-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups ch
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
@@ -311,7 +311,8 @@ int PrintBackendCUPS::GetDests(cups_dest
if (print_server_url_.is_empty())
return cupsGetDests2(CUPS_HTTP_DEFAULT, dests);
@ -120,7 +115,7 @@ diff -up chromium-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups ch
// 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(
@@ -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.
@ -130,7 +125,7 @@ diff -up chromium-99.0.4844.51/printing/backend/print_backend_cups.cc.el7cups ch
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
@@ -373,7 +375,8 @@ ScopedDestination PrintBackendCUPS::GetN
// Use default (local) print server.
dest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, printer_name.c_str(), nullptr);
} else {

File diff suppressed because it is too large Load Diff

@ -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_

@ -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;
}

@ -1,7 +1,7 @@
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
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) {
@ -10,16 +10,16 @@ diff -up chromium-125.0.6422.60/components/plus_addresses/plus_address_service.c
if (!SupportsPlusAddresses(last_committed_primary_main_frame_origin,
is_off_the_record)) {
return {};
@@ -176,7 +176,7 @@ std::vector<Suggestion> PlusAddressServi
@@ -207,7 +207,7 @@ std::vector<Suggestion> PlusAddressServi
std::optional<std::string> maybe_address =
GetPlusAddress(last_committed_primary_main_frame_origin);
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 {};
}
@@ -191,7 +191,7 @@ std::vector<Suggestion> PlusAddressServi
@@ -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);

@ -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" ]

@ -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;

@ -126,7 +126,7 @@
%global useapikey 1
# Leave this alone, please.
%global builddir out/Release
%global chromebuilddir out/Release
%global headlessbuilddir out/Headless
%global remotingbuilddir out/Remoting
@ -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
@ -209,10 +204,6 @@
%endif
%endif
# Chromium's fork of ICU is now something we can't unbundle.
# This is left here to ease the change if that ever switches.
%global bundleicu 1
# bundle re2, jsoncpp, woff2 - build errors with use_custom_libcxx=true
%global bundlere2 1
%global bundlejsoncpp 1
@ -250,6 +241,7 @@
%global bundlefontconfig 1
%global bundleffmpegfree 1
%global bundlebrotli 1
%global bundleicu 1
%global bundlelibopenjpeg2 1
%global bundlelibtiff 1
%global bundlecrc32c 1
@ -258,11 +250,14 @@
%else
%if 0%{?fedora} > 38 || 0%{?rhel} > 9
%global bundlebrotli 0
%global bundleicu 0
%global bundlelibwebp 0
%else
%global bundlebrotli 1
%global bundleicu 1
%global bundlelibwebp 1
%endif
%global bundledav1d 0
%global bundlelibwebp 0
%global bundlelibpng 0
%global bundlelibjpeg 0
%global bundlelibdrm 0
@ -315,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
@ -374,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
@ -388,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
@ -407,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
@ -426,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
@ -466,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
@ -482,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
@ -565,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/
@ -687,7 +679,11 @@ BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Widgets)
%endif
%if 0%{?rhel} == 7
BuildRequires: llvm-toolset-%{llvm_toolset_version}-compiler-rt
%else
BuildRequires: compiler-rt
%endif
%if ! %{bundleharfbuzz}
BuildRequires: harfbuzz-devel >= 2.4.0
@ -822,7 +818,7 @@ BuildRequires: libffi-devel
# If this is true, we're using the bundled icu.
# We'd like to use the system icu every time, but we cannot always do that.
# Not newer than 54 (at least not right now)
BuildRequires: libicu-devel = 54.1
BuildRequires: libicu-devel >= 68
%endif
%if ! %{bundlelibjpeg}
@ -1192,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
@ -1205,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
@ -1247,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} < 40
%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
@ -1322,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
@ -1399,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
@ -1731,17 +1728,17 @@ fi
%if %{bootstrap}
tools/gn/bootstrap/bootstrap.py --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES"
%else
mkdir -p %{builddir} && cp -a %{_bindir}/gn %{builddir}/
mkdir -p %{chromebuilddir} && cp -a %{_bindir}/gn %{chromebuilddir}/
%endif
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{builddir}
%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{chromebuilddir}
%if %{build_headless}
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir}
%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir}
%endif
%if %{build_remoting}
%{builddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{remotingbuilddir}
%endif
%if %{build_headless}
@ -1749,18 +1746,18 @@ mkdir -p %{builddir} && cp -a %{_bindir}/gn %{builddir}/
%build_target %{headlessbuilddir} headless_shell
%endif
%build_target %{builddir} chrome
%build_target %{builddir} chrome_sandbox
%build_target %{chromebuilddir} chrome
%build_target %{chromebuilddir} chrome_sandbox
%if %{build_chromedriver}
%build_target %{builddir} chromedriver
%build_target %{chromebuilddir} chromedriver
%endif
%if %{build_clear_key_cdm}
%build_target %{builddir} clear_key_cdm
%build_target %{chromebuilddir} clear_key_cdm
%endif
%build_target %{builddir} policy_templates
%build_target %{chromebuilddir} policy_templates
%if %{build_remoting}
%build_target %{remotingbuilddir} remoting_all
@ -1801,8 +1798,11 @@ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g" %{buildroot}
ln -s ../..%{chromium_path}/%{chromium_browser_channel}.sh %{buildroot}%{_bindir}/%{chromium_browser_channel}
mkdir -p %{buildroot}%{_mandir}/man1/
pushd %{builddir}
cp -a chrom*.pak resources.pak icudtl.dat %{buildroot}%{chromium_path}
pushd %{chromebuilddir}
%if %{bundleicu}
cp -a icudtl.dat %{buildroot}%{chromium_path}
%endif
cp -a chrom*.pak resources.pak %{buildroot}%{chromium_path}
cp -a locales/*.pak %{buildroot}%{chromium_path}/locales/
%ifarch x86_64 aarch64 ppc64le
cp -a libvk_swiftshader.so %{buildroot}%{chromium_path}
@ -1912,7 +1912,7 @@ popd
# need to strip binaries explicitly when debug is disable
%if ! %{enable_debug}
pushd %{buildroot}%{chromium_path}/
for f in *.so chrome_crashpad_handler chrome-sandbox chromium-browser headless_shell chromedriver ; do
for f in *.so *.so.1 chrome_crashpad_handler chrome-sandbox chromium-browser headless_shell chromedriver ; do
[ -f $f ] && strip $f
done
popd
@ -2026,7 +2026,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/libEGL.so*
%{chromium_path}/libGLESv2.so*
%endif
%if %{bundleicu}
%{chromium_path}/icudtl.dat
%endif
%dir %{chromium_path}/
%dir %{chromium_path}/locales/
%lang(af) %{chromium_path}/locales/af.pak
@ -2127,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

@ -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

Loading…
Cancel
Save