public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: fix build errors on el7
@ 2026-08-07 16:06 Than Ngo
0 siblings, 0 replies; only message in thread
From: Than Ngo @ 2026-08-07 16:06 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/chromium
Branch : epel9-next
Commit : 8a533d07a94bb879260cb20b8a86efa3ed31ba8b
Author : Than Ngo <than@redhat.com>
Date : 2024-05-19T07:31:11+02:00
Stats : +4298/-1681 in 22 file(s)
URL : https://src.fedoraproject.org/rpms/chromium/c/8a533d07a94bb879260cb20b8a86efa3ed31ba8b?branch=epel9-next
Log:
fix build errors on el7
---
diff --git a/chromium-115-compiler-SkColor4f.patch b/chromium-115-compiler-SkColor4f.patch
deleted file mode 100644
index 7e17cb0..0000000
--- a/chromium-115-compiler-SkColor4f.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -up chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
---- chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me 2023-06-24 10:38:11.011511463 +0200
-+++ chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc 2023-06-24 13:07:35.865375884 +0200
-@@ -84,6 +84,7 @@ CanvasStyle::CanvasStyle(const CanvasSty
-
- void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags,
- float global_alpha) const {
-+ SkColor4f custom_color = SkColor4f{0.0f, 0.0f, 0.0f, global_alpha};
- switch (type_) {
- case kColor:
- ApplyColorToFlags(flags, global_alpha);
-@@ -91,12 +92,12 @@ void CanvasStyle::ApplyToFlags(cc::Paint
- case kGradient:
- GetCanvasGradient()->GetGradient()->ApplyToFlags(flags, SkMatrix::I(),
- ImageDrawOptions());
-- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha));
-+ flags.setColor(custom_color);
- break;
- case kImagePattern:
- GetCanvasPattern()->GetPattern()->ApplyToFlags(
- flags, AffineTransformToSkMatrix(GetCanvasPattern()->GetTransform()));
-- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha));
-+ flags.setColor(custom_color);
- break;
- default:
- NOTREACHED();
diff --git a/chromium-115-el7-compiler-SkColor4f.patch b/chromium-115-el7-compiler-SkColor4f.patch
new file mode 100644
index 0000000..7e17cb0
--- /dev/null
+++ b/chromium-115-el7-compiler-SkColor4f.patch
@@ -0,0 +1,26 @@
+diff -up chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
+--- chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc.me 2023-06-24 10:38:11.011511463 +0200
++++ chromium-115.0.5790.40/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc 2023-06-24 13:07:35.865375884 +0200
+@@ -84,6 +84,7 @@ CanvasStyle::CanvasStyle(const CanvasSty
+
+ void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags,
+ float global_alpha) const {
++ SkColor4f custom_color = SkColor4f{0.0f, 0.0f, 0.0f, global_alpha};
+ switch (type_) {
+ case kColor:
+ ApplyColorToFlags(flags, global_alpha);
+@@ -91,12 +92,12 @@ void CanvasStyle::ApplyToFlags(cc::Paint
+ case kGradient:
+ GetCanvasGradient()->GetGradient()->ApplyToFlags(flags, SkMatrix::I(),
+ ImageDrawOptions());
+- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha));
++ flags.setColor(custom_color);
+ break;
+ case kImagePattern:
+ GetCanvasPattern()->GetPattern()->ApplyToFlags(
+ flags, AffineTransformToSkMatrix(GetCanvasPattern()->GetTransform()));
+- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha));
++ flags.setColor(custom_color);
+ break;
+ default:
+ NOTREACHED();
diff --git a/chromium-117-el7-string-convert.patch b/chromium-117-el7-string-convert.patch
new file mode 100644
index 0000000..cb48e4b
--- /dev/null
+++ b/chromium-117-el7-string-convert.patch
@@ -0,0 +1,21 @@
+diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
+diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me chromium-117.0.5938.62/net/dns/host_resolver_cache.h
+--- chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me 2023-09-14 15:21:24.632965004 +0200
++++ chromium-117.0.5938.62/net/dns/host_resolver_cache.h 2023-09-15 09:15:48.511300845 +0200
+@@ -143,12 +143,14 @@ class NET_EXPORT HostResolverCache final
+ }
+
+ bool operator()(const Key& lhs, const KeyRef& rhs) const {
++ const std::string rhs_domain_name{rhs.domain_name};
+ return std::tie(lhs.domain_name, lhs.network_anonymization_key) <
+- std::tie(rhs.domain_name, *rhs.network_anonymization_key);
++ std::tie(rhs_domain_name, *rhs.network_anonymization_key);
+ }
+
+ bool operator()(const KeyRef& lhs, const Key& rhs) const {
+- return std::tie(lhs.domain_name, *lhs.network_anonymization_key) <
++ const std::string lhs_domain_name{lhs.domain_name};
++ return std::tie(lhs_domain_name, *lhs.network_anonymization_key) <
+ std::tie(rhs.domain_name, rhs.network_anonymization_key);
+ }
+ };
diff --git a/chromium-117-string-convert.patch b/chromium-117-string-convert.patch
deleted file mode 100644
index cb48e4b..0000000
--- a/chromium-117-string-convert.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.cc.me chromium-117.0.5938.62/net/dns/host_resolver_cache.cc
-diff -up chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me chromium-117.0.5938.62/net/dns/host_resolver_cache.h
---- chromium-117.0.5938.62/net/dns/host_resolver_cache.h.me 2023-09-14 15:21:24.632965004 +0200
-+++ chromium-117.0.5938.62/net/dns/host_resolver_cache.h 2023-09-15 09:15:48.511300845 +0200
-@@ -143,12 +143,14 @@ class NET_EXPORT HostResolverCache final
- }
-
- bool operator()(const Key& lhs, const KeyRef& rhs) const {
-+ const std::string rhs_domain_name{rhs.domain_name};
- return std::tie(lhs.domain_name, lhs.network_anonymization_key) <
-- std::tie(rhs.domain_name, *rhs.network_anonymization_key);
-+ std::tie(rhs_domain_name, *rhs.network_anonymization_key);
- }
-
- bool operator()(const KeyRef& lhs, const Key& rhs) const {
-- return std::tie(lhs.domain_name, *lhs.network_anonymization_key) <
-+ const std::string lhs_domain_name{lhs.domain_name};
-+ return std::tie(lhs_domain_name, *lhs.network_anonymization_key) <
- std::tie(rhs.domain_name, rhs.network_anonymization_key);
- }
- };
diff --git a/chromium-119-assert.patch b/chromium-119-assert.patch
deleted file mode 100644
index 6c502f1..0000000
--- a/chromium-119-assert.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-119.0.6045.59/v8/src/base/small-vector.h.than chromium-119.0.6045.59/v8/src/base/small-vector.h
---- chromium-119.0.6045.59/v8/src/base/small-vector.h.than 2023-11-01 16:13:12.645301345 +0100
-+++ chromium-119.0.6045.59/v8/src/base/small-vector.h 2023-11-01 16:13:29.660610182 +0100
-@@ -22,7 +22,7 @@ template <typename T, size_t kSize, type
- class SmallVector {
- // Currently only support trivially copyable and trivially destructible data
- // types, as it uses memcpy to copy elements and never calls destructors.
-- ASSERT_TRIVIALLY_COPYABLE(T);
-+ //ASSERT_TRIVIALLY_COPYABLE(T);
- static_assert(std::is_trivially_destructible<T>::value);
-
- public:
diff --git a/chromium-120-el7-old-libdrm.patch b/chromium-120-el7-old-libdrm.patch
deleted file mode 100644
index db6b8dd..0000000
--- a/chromium-120-el7-old-libdrm.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc
---- chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2023-11-29 22:40:44.000000000 +0100
-+++ chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc 2023-12-03 10:33:35.468492298 +0100
-@@ -6,6 +6,14 @@
-
- #include <drm_fourcc.h>
-
-+// the libdrm in EL-7 is too old to have this define
-+#ifndef DRM_FORMAT_P010
-+#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0')
-+#endif
-+#ifndef DRM_FORMAT_ABGR16161616F
-+#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H')
-+#endif
-+
- #include "base/notreached.h"
-
- namespace ui {
diff --git a/chromium-124-el7-constexpr.patch b/chromium-124-el7-constexpr.patch
deleted file mode 100644
index 735d343..0000000
--- a/chromium-124-el7-constexpr.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff -up chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h
---- chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me 2024-05-07 07:58:10.202960298 +0200
-+++ chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h 2024-05-07 07:59:29.413411767 +0200
-@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio
- // Country code that represents autofill's legacy address hierarchy model as
- // stored `kAutofillModelRules`. As a workaround for GCC we declare the
- // std::string constexpr first.
--constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
--constexpr AddressCountryCode kLegacyHierarchyCountryCode =
-+const inline std::string kLegacyHierarchyCountryCodeString{"XX"};
-+const AddressCountryCode kLegacyHierarchyCountryCode =
- AddressCountryCode(kLegacyHierarchyCountryCodeString);
-
- // Creates an instance of the address hierarchy model corresponding to the
-diff -up chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h
---- chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me 2024-05-07 07:59:38.239573497 +0200
-+++ chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h 2024-05-07 08:00:55.578990659 +0200
-@@ -57,7 +57,7 @@ struct IsRequired {
- // This function is not defined and consteval. Therefore, any evaluation will
- // fail and fail at compile time.
- template <typename T>
-- consteval operator T(); // NOLINT
-+ operator T(); // NOLINT
- };
-
- } // namespace internal
-diff -up chromium-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h
---- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me 2024-05-06 18:01:28.606845554 +0200
-+++ chromium-124.0.6367.118/components/history/core/browser/history_types.h 2024-05-06 18:06:15.492751252 +0200
-@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL
- typedef std::map<VisitID, VisitSource> VisitSourceMap;
-
- // Constant used to represent that no app_id is used for matching.
--inline constexpr std::optional<std::string> kNoAppIdFilter = std::nullopt;
-+inline const std::optional<std::string> kNoAppIdFilter = std::nullopt;
-
- // VisitRow -------------------------------------------------------------------
-
-diff -up chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc
---- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me 2024-05-07 00:07:15.720573794 +0200
-+++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-05-07 00:08:07.633519604 +0200
-@@ -28,17 +28,17 @@ namespace network {
- namespace {
-
- // https://urlpattern.spec.whatwg.org/#default-options
--constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
-+const liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
- .prefix_list = "",
- .sensitive = true,
- .strict = true};
- // https://urlpattern.spec.whatwg.org/#hostname-options
--constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
-+const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
- .prefix_list = "",
- .sensitive = true,
- .strict = true};
- // https://urlpattern.spec.whatwg.org/#pathname-options
--constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
-+const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
- .prefix_list = "/",
- .sensitive = true,
- .strict = true};
-diff -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py
---- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 2024-05-07 10:58:13.316756926 +0200
-+++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-05-07 10:58:30.821083061 +0200
-@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam
- yield '// Checks if all the matching patterns for the given PatternSources'
- yield '// and language are the same - meaning that computing predictions for'
- yield '// both is unnecessary, since it will yield the same result.'
-- yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,'
-+ yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,'
- yield ' PatternSource b,'
- yield ' LanguageCode lang_code) {'
- yield ' if (a == b) {'
diff --git a/chromium-124-el7-default-constructor-involving-anonymous-union.patch b/chromium-124-el7-default-constructor-involving-anonymous-union.patch
deleted file mode 100644
index 38004da..0000000
--- a/chromium-124-el7-default-constructor-involving-anonymous-union.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -up chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc
---- chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union 2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc 2024-02-25 10:52:16.071602503 +0100
-@@ -12,7 +12,7 @@
-
- namespace variations {
-
--UIStringOverrider::UIStringOverrider() = default;
-+UIStringOverrider::UIStringOverrider() {}
-
- UIStringOverrider::UIStringOverrider(base::span<const uint32_t> resource_hashes,
- base::span<const int> resource_indices)
-diff -up chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc
---- chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union 2024-02-25 10:52:16.070602478 +0100
-+++ chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc 2024-02-25 11:20:36.583148226 +0100
-@@ -46,7 +46,7 @@ size_t GetResultSizeBytes(const HeaderDi
-
- } // namespace
-
--HeaderDirectFromSellerSignals::Result::Result() = default;
-+HeaderDirectFromSellerSignals::Result::Result() {}
-
- HeaderDirectFromSellerSignals::Result::Result(
- std::optional<std::string> seller_signals,
-diff -up chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp.me chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp
---- chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp.me 2024-03-18 16:11:19.550329592 +0100
-+++ chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp 2024-03-18 16:12:51.124472676 +0100
-@@ -54,7 +54,7 @@ bool FindTagParamFromStart(CPDF_SimplePa
-
- } // namespace
-
--CPDF_DefaultAppearance::CPDF_DefaultAppearance() = default;
-+CPDF_DefaultAppearance::CPDF_DefaultAppearance() {}
-
- CPDF_DefaultAppearance::CPDF_DefaultAppearance(const ByteString& csDA)
- : m_csDA(csDA) {}
-diff -up chromium-124.0.6367.201/components/manta/base_provider.cc.me chromium-124.0.6367.201/components/manta/base_provider.cc
---- chromium-124.0.6367.201/components/manta/base_provider.cc.me 2024-05-11 21:32:47.108964074 +0200
-+++ chromium-124.0.6367.201/components/manta/base_provider.cc 2024-05-11 21:34:42.758918367 +0200
-@@ -13,7 +13,7 @@ constexpr base::TimeDelta kTimeout = bas
-
- } // namespace
-
--BaseProvider::BaseProvider() = default;
-+BaseProvider::BaseProvider() {}
- BaseProvider::BaseProvider(
- scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
- signin::IdentityManager* identity_manager)
diff --git a/chromium-124-el7-workaround_clang_bug-structured_binding.patch b/chromium-124-el7-workaround_clang_bug-structured_binding.patch
new file mode 100644
index 0000000..727e4f5
--- /dev/null
+++ b/chromium-124-el7-workaround_clang_bug-structured_binding.patch
@@ -0,0 +1,78 @@
+diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
+--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200
++++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200
+@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
+ void CdmPromiseAdapter::Clear(ClearReason reason) {
+ // Reject all outstanding promises.
+ DCHECK(thread_checker_.CalledOnValidThread());
+- for (auto& [promise_id, promise] : promises_) {
++ for (auto& [p_i, p_e] : promises_) {
++ auto& promise_id = p_i;
++ auto& promise = p_e;
+ TRACE_EVENT_NESTABLE_ASYNC_END1(
+ "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
+ "status", "cleared");
+diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
+--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200
++++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200
+@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
+ return;
+ }
+
+- auto [document_url, key, callback] = std::move(*request);
++ auto [d_u, key, callback] = std::move(*request);
++ auto document_url = d_u;
+
+ DCHECK(document_url.is_valid());
+ TRACE_EVENT1("ServiceWorker",
+diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
+--- chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than 2023-12-19 17:57:56.205197246 +0100
++++ chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc 2023-12-19 18:10:13.778634531 +0100
+@@ -3527,8 +3527,8 @@ void GridLayoutAlgorithm::PlaceGridItems
+ DCHECK(out_row_break_between);
+
+ const auto& container_space = GetConstraintSpace();
+- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+-
++ const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData();
++ const auto& layout_data = l_d;
+ const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
+ const auto container_writing_direction =
+ container_space.GetWritingDirection();
+@@ -3691,8 +3691,9 @@ void GridLayoutAlgorithm::PlaceGridItems
+
+ // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
+ const auto& constraint_space = GetConstraintSpace();
+- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+-
++ const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData();
++ const auto& grid_items = g_i;
++ const auto& layout_data = l_d;
+ const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
+ const auto container_writing_direction =
+ constraint_space.GetWritingDirection();
+diff -up chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc
+--- chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me 2024-02-25 18:03:51.654579579 +0100
++++ chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc 2024-02-25 18:12:45.144287750 +0100
+@@ -136,7 +136,8 @@ void PrewarmHttpDiskCacheManager::MaybeP
+ std::pair<url::Origin, GURL> origin_and_url;
+ std::swap(origin_and_url, queued_jobs_.front());
+ queued_jobs_.pop();
+- const auto& [origin, url] = origin_and_url;
++ const auto& [origin, u] = origin_and_url;
++ const auto& url = u;
+ TRACE_EVENT_WITH_FLOW1(
+ "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob",
+ TRACE_ID_LOCAL(this),
+--- chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc.workaround_clang_bug-structured_binding 2024-05-05 16:22:47.581070868 +0200
++++ chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc 2024-05-05 16:27:18.859972481 +0200
+@@ -417,7 +417,8 @@
+ }
+
+ SCOPED_CRASH_KEY_STRING256("SWRace", "request_url", request_.url.spec());
+- auto [read_result, read_buffer] = read_buffer_manager_->ReadData();
++ auto [r, read_buffer] = read_buffer_manager_->ReadData();
++ auto read_result = r;
+ TRACE_EVENT_WITH_FLOW2("ServiceWorker",
+ "ServiceWorkerRaceNetworkRequestURLLoaderClient::Read",
+ TRACE_ID_LOCAL(this),
diff --git a/chromium-124-no_matching_constructor.patch b/chromium-124-no_matching_constructor.patch
deleted file mode 100644
index 0c60858..0000000
--- a/chromium-124-no_matching_constructor.patch
+++ /dev/null
@@ -1,1392 +0,0 @@
-diff -up chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc.than chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc
---- chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc.than 2024-02-22 22:42:43.000000000 +0100
-+++ chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc 2024-02-24 13:13:32.484503735 +0100
-@@ -218,13 +218,13 @@ PersistentSparseHistogramDataManager::Lo
- // The sample-record could be for any sparse histogram. Add the reference
- // to the appropriate collection for later use.
- if (found_id == match_id) {
-- found_records.emplace_back(ref, value);
-+ found_records.emplace_back() = {ref, value};
- found = true;
- } else {
- std::vector<ReferenceAndSample>* samples =
- GetSampleMapRecordsWhileLocked(found_id);
- CHECK(samples);
-- samples->emplace_back(ref, value);
-+ samples->emplace_back() = {ref, value};
- }
- }
-
-diff -up chromium-122.0.6261.69/base/nix/mime_util_xdg.cc.than chromium-122.0.6261.69/base/nix/mime_util_xdg.cc
---- chromium-122.0.6261.69/base/nix/mime_util_xdg.cc.than 2024-02-22 22:42:43.000000000 +0100
-+++ chromium-122.0.6261.69/base/nix/mime_util_xdg.cc 2024-02-24 13:13:44.158712756 +0100
-@@ -56,7 +56,7 @@ void LoadAllMimeCacheFiles(MimeTypeMap&
- for (const auto& path : GetXDGDataSearchLocations(env.get())) {
- FilePath mime_cache = path.Append("mime/mime.cache");
- if (GetFileInfo(mime_cache, &info) && ParseMimeTypes(mime_cache, map)) {
-- files.emplace_back(mime_cache, info.last_modified);
-+ files.emplace_back() = {mime_cache, info.last_modified};
- }
- }
- }
-diff -up chromium-122.0.6261.69/base/trace_event/trace_log.cc.than chromium-122.0.6261.69/base/trace_event/trace_log.cc
---- chromium-122.0.6261.69/base/trace_event/trace_log.cc.than 2024-02-22 22:42:43.000000000 +0100
-+++ chromium-122.0.6261.69/base/trace_event/trace_log.cc 2024-02-24 13:13:32.484503735 +0100
-@@ -2198,8 +2198,8 @@ void TraceLog::SetTraceBufferForTesting(
- #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
- void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
- AutoLock lock(track_event_lock_);
-- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
-- args.backend_type);
-+ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
-+ args.backend_type};
- }
-
- void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
-diff -up chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc.than chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc
---- chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc.than 2024-02-22 22:42:50.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc 2024-02-24 13:13:32.485503752 +0100
-@@ -252,8 +252,8 @@ void OneTimePermissionProvider::OnSuspen
-
- while (rule_iterator && rule_iterator->HasNext()) {
- auto rule = rule_iterator->Next();
-- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
-- rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
-+ rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- setting_type,
- permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
-@@ -355,8 +355,8 @@ void OneTimePermissionProvider::DeleteEn
- auto rule = rule_iterator->Next();
- if (rule->primary_pattern.Matches(origin_gurl) &&
- rule->secondary_pattern.Matches(origin_gurl)) {
-- patterns_to_delete.emplace_back(
-- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
-+ patterns_to_delete.emplace_back() = {
-+ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
- permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
- content_setting_type, trigger_event);
- }
-diff -up chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.than chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
---- chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.than 2024-02-22 22:42:50.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2024-02-24 13:13:32.485503752 +0100
-@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
- // TODO(crbug.com/1445072): Add actual domains with attribute names.
- profile_attributes->insert(std::make_pair(
- "supported.test",
-- SAMLProfileAttributes("placeholderName", "placeholderDomain",
-- "placeholderToken")));
-+ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
-+ "placeholderToken"}));
-
- // Extract domains and attributes from the command line switch.
- const base::CommandLine& command_line =
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than 2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2024-02-24 13:13:32.486503770 +0100
-@@ -60,12 +60,12 @@ std::vector<EmbeddedPermissionPromptAskV
- EmbeddedPermissionPromptAskView::GetButtonsConfiguration() const {
- std::vector<ButtonConfiguration> buttons;
- if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
-- buttons.emplace_back(
-+ buttons.emplace_back() = {
- l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
-- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
-+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
- }
-- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-- ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId);
-+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-+ ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId};
- return buttons;
- }
-
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.than 2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2024-02-24 13:13:32.486503770 +0100
-@@ -87,6 +87,7 @@ class EmbeddedPermissionPromptBaseView :
- struct RequestLineConfiguration {
- const raw_ptr<const gfx::VectorIcon> icon;
- std::u16string message;
-+ RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { }
- };
-
- struct ButtonConfiguration {
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than 2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2024-02-24 13:13:32.486503770 +0100
-@@ -64,8 +64,8 @@ EmbeddedPermissionPromptPolicyView::GetR
- std::vector<EmbeddedPermissionPromptPolicyView::ButtonConfiguration>
- EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() const {
- std::vector<ButtonConfiguration> buttons;
-- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
-- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal);
-+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
-+ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal};
- return buttons;
- }
-
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than 2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc 2024-02-24 13:13:44.153712667 +0100
-@@ -79,17 +79,17 @@ EmbeddedPermissionPromptPreviouslyDenied
- std::vector<EmbeddedPermissionPromptPreviouslyDeniedView::ButtonConfiguration>
- EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const {
- std::vector<ButtonConfiguration> buttons;
-- buttons.emplace_back(
-+ buttons.emplace_back() = {
- l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING),
-- ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal);
-+ ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal};
-
- if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
-- buttons.emplace_back(
-+ buttons.emplace_back() = {
- l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
-- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId);
-+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId};
- } else {
-- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-- ButtonType::kAllow, ui::ButtonStyle::kTonal);
-+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-+ ButtonType::kAllow, ui::ButtonStyle::kTonal};
- }
- return buttons;
- }
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than 2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2024-02-24 13:13:44.153712667 +0100
-@@ -74,12 +74,12 @@ EmbeddedPermissionPromptPreviouslyGrante
- std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
- EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const {
- std::vector<ButtonConfiguration> buttons;
-- buttons.emplace_back(
-+ buttons.emplace_back() = {
- l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
-- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
-+ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
-
-- buttons.emplace_back(
-+ buttons.emplace_back() = {
- l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
-- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId);
-+ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId};
- return buttons;
- }
-diff -up chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc.than chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc
---- chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc.than 2024-02-22 22:42:56.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc 2024-02-24 13:13:32.486503770 +0100
-@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base::
- "'version' field of type string");
- }
-
-- brands.emplace_back(*brand, *version);
-+ brands.emplace_back() = {*brand, *version};
- }
-
- client_hints.brands = std::move(brands);
-@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base::
- "a 'version' field of type string");
- }
-
-- full_version_list.emplace_back(*brand, *version);
-+ full_version_list.emplace_back() = {*brand, *version};
- }
-
- client_hints.full_version_list = std::move(full_version_list);
-diff -up chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc.than chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc
---- chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc.than 2024-02-22 22:43:02.000000000 +0100
-+++ chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc 2024-02-24 13:13:44.154712685 +0100
-@@ -673,7 +673,7 @@ void PasswordManager::OnUserModifiedNonP
- it->second.last_change = base::Time::Now();
- } else {
- possible_usernames_.Put(
-- PossibleUsernameFieldIdentifier(driver_id, renderer_id),
-+ PossibleUsernameFieldIdentifier{driver_id, renderer_id},
- PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
- renderer_id, value, base::Time::Now(), driver_id,
- autocomplete_attribute_has_username,
-diff -up chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc.than chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc
---- chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc.than 2024-02-22 22:43:02.000000000 +0100
-+++ chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc 2024-02-24 13:13:44.158712756 +0100
-@@ -239,7 +239,7 @@ void WorkerWatcher::OnWorkerCreated(
- DCHECK(insertion_result.second);
-
- absl::visit(
-- base::Overloaded(
-+ base::Overloaded{
- [&,
- this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
- AddFrameClientConnection(insertion_result.first->second.get(),
-@@ -248,7 +248,7 @@ void WorkerWatcher::OnWorkerCreated(
- [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
- ConnectDedicatedWorkerClient(insertion_result.first->second.get(),
- dedicated_worker_token);
-- }),
-+ }},
- creator);
- }
-
-@@ -265,7 +265,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
- // First disconnect the creator's node from this worker node.
-
- absl::visit(
-- base::Overloaded(
-+ base::Overloaded{
- [&,
- this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
- RemoveFrameClientConnection(worker_node.get(),
-@@ -274,7 +274,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
- [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
- DisconnectDedicatedWorkerClient(worker_node.get(),
- dedicated_worker_token);
-- }),
-+ }},
- creator);
-
- // Disconnect all child workers before destroying the node.
-@@ -446,7 +446,7 @@ void WorkerWatcher::OnControlleeAdded(
- const std::string& client_uuid,
- const content::ServiceWorkerClientInfo& client_info) {
- absl::visit(
-- base::Overloaded(
-+ base::Overloaded{
- [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
- // For window clients, it is necessary to wait until the navigation
- // has committed to a RenderFrameHost.
-@@ -484,7 +484,7 @@ void WorkerWatcher::OnControlleeAdded(
- ConnectSharedWorkerClient(service_worker_node,
- shared_worker_token);
- }
-- }),
-+ }},
- client_info);
- }
-
-@@ -524,7 +524,7 @@ void WorkerWatcher::OnControlleeRemoved(
- return;
-
- absl::visit(
-- base::Overloaded(
-+ base::Overloaded{
- [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
- RemoveFrameClientConnection(worker_node, render_frame_host_id);
- },
-@@ -534,7 +534,7 @@ void WorkerWatcher::OnControlleeRemoved(
- },
- [&, this](blink::SharedWorkerToken shared_worker_token) {
- DisconnectSharedWorkerClient(worker_node, shared_worker_token);
-- }),
-+ }},
- client);
- }
-
-@@ -810,7 +810,7 @@ void WorkerWatcher::ConnectAllServiceWor
-
- for (const auto& kv : it->second) {
- absl::visit(
-- base::Overloaded(
-+ base::Overloaded{
- [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
- AddFrameClientConnection(service_worker_node,
- render_frame_host_id);
-@@ -822,7 +822,7 @@ void WorkerWatcher::ConnectAllServiceWor
- [&, this](blink::SharedWorkerToken shared_worker_token) {
- ConnectSharedWorkerClient(service_worker_node,
- shared_worker_token);
-- }),
-+ }},
- kv.second);
- }
- }
-@@ -837,7 +837,7 @@ void WorkerWatcher::DisconnectAllService
-
- for (const auto& kv : it->second) {
- absl::visit(
-- base::Overloaded(
-+ base::Overloaded{
- [&, this](
- const content::GlobalRenderFrameHostId& render_frame_host_id) {
- RemoveFrameClientConnection(service_worker_node,
-@@ -851,7 +851,7 @@ void WorkerWatcher::DisconnectAllService
- [&, this](const blink::SharedWorkerToken& shared_worker_token) {
- DisconnectSharedWorkerClient(service_worker_node,
- shared_worker_token);
-- }),
-+ }},
- kv.second);
- }
- }
-diff -up chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.than chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
---- chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.than 2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2024-02-24 13:13:44.151712632 +0100
-@@ -1573,7 +1573,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
-
- // Issue readbacks from the surfaces:
- for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
-- SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height());
-+ SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()};
- SkImageInfo dst_info = SkImageInfo::Make(
- size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType,
- kUnpremul_SkAlphaType);
-diff -up chromium-122.0.6261.69/content/browser/download/save_package.cc.than chromium-122.0.6261.69/content/browser/download/save_package.cc
---- chromium-122.0.6261.69/content/browser/download/save_package.cc.than 2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/download/save_package.cc 2024-02-24 13:13:44.151712632 +0100
-@@ -801,8 +801,8 @@ void SavePackage::Finish() {
- if (download_) {
- std::vector<download::DownloadSaveItemData::ItemInfo> files;
- for (auto& item : saved_success_items_) {
-- files.emplace_back(item.second->full_path(), item.second->url(),
-- item.second->referrer().url);
-+ files.emplace_back() = {item.second->full_path(), item.second->url(),
-+ item.second->referrer().url};
- }
- download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
- }
-diff -up chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc.than chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc
---- chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc.than 2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc 2024-02-24 13:13:44.158712756 +0100
-@@ -773,7 +773,7 @@ FirstPartySetParser::ParseSetsFromEnterp
- context.GetPolicySetsFromList(
- policy.FindList(kFirstPartySetPolicyAdditionsField),
- PolicySetType::kAddition));
-- return ParsedPolicySetLists(std::move(replacements), std::move(additions));
-+ return ParsedPolicySetLists{std::move(replacements), std::move(additions)};
- }();
-
- context.PostProcessSetLists(set_lists);
-diff -up chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h.than chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h
---- chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h.than 2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h 2024-02-24 13:13:44.158712756 +0100
-@@ -133,6 +133,7 @@ class CONTENT_EXPORT HeaderDirectFromSel
-
- // The Ad-Auction-Signals response served by `origin`.
- std::string response_json;
-+ UnprocessedResponse(auto u, auto s) : origin(u), response_json(s) { }
- };
-
- // Information from ParseAndFind() calls used by ParseAndFindCompleted.
-diff -up chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.than chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc
---- chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.than 2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc 2024-02-24 13:13:44.152712649 +0100
-@@ -3461,10 +3461,10 @@ DoGetKAnonymityData(sql::Database& db,
-
- std::vector<StorageInterestGroup::KAnonymityData> k_anon_data;
- while (interest_group_kanon_query.Step()) {
-- k_anon_data.emplace_back(
-+ k_anon_data.emplace_back() = {
- /*key=*/interest_group_kanon_query.ColumnString(0),
- /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1),
-- /*last_updated=*/interest_group_kanon_query.ColumnTime(2));
-+ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)};
- }
- if (!interest_group_kanon_query.Succeeded()) {
- return std::nullopt;
-diff -up chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc.than chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc
---- chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc.than 2024-02-24 13:13:44.157712739 +0100
-+++ chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc 2024-02-24 13:18:39.480119447 +0100
-@@ -8632,7 +8632,7 @@ void RenderFrameHostImpl::SendFencedFram
- for (const blink::FencedFrame::ReportingDestination& destination :
- destinations) {
- SendFencedFrameReportingBeaconInternal(
-- DestinationEnumEvent(event_type, event_data), destination);
-+ DestinationEnumEvent{event_type, event_data}, destination);
- }
- }
-
-@@ -8661,7 +8661,7 @@ void RenderFrameHostImpl::SendFencedFram
- }
-
- SendFencedFrameReportingBeaconInternal(
-- DestinationURLEvent(destination_url),
-+ DestinationURLEvent{destination_url},
- blink::FencedFrame::ReportingDestination::kBuyer);
- }
-
-@@ -8792,7 +8792,7 @@ void RenderFrameHostImpl::MaybeSendFence
- data = info->data;
- }
- initiator_rfh->SendFencedFrameReportingBeaconInternal(
-- AutomaticBeaconEvent(event_type, data), destination,
-+ AutomaticBeaconEvent{event_type, data}, destination,
- navigation_request.GetNavigationId());
- }
- } else {
-@@ -8803,7 +8803,7 @@ void RenderFrameHostImpl::MaybeSendFence
- for (blink::FencedFrame::ReportingDestination destination :
- info->destinations) {
- initiator_rfh->SendFencedFrameReportingBeaconInternal(
-- AutomaticBeaconEvent(event_type, info->data), destination,
-+ AutomaticBeaconEvent{event_type, info->data}, destination,
- navigation_request.GetNavigationId());
- }
- }
-diff -up chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc.than chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc
---- chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc.than 2024-02-22 22:43:06.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc 2024-02-24 13:13:44.159712774 +0100
-@@ -870,7 +870,7 @@ ServiceWorkerContainerHost::GetClientTyp
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- DCHECK(client_info_);
- return absl::visit(
-- base::Overloaded(
-+ base::Overloaded{
- [](GlobalRenderFrameHostId render_frame_host_id) {
- return blink::mojom::ServiceWorkerClientType::kWindow;
- },
-@@ -879,7 +879,7 @@ ServiceWorkerContainerHost::GetClientTyp
- },
- [](blink::SharedWorkerToken shared_worker_token) {
- return blink::mojom::ServiceWorkerClientType::kSharedWorker;
-- }),
-+ }},
- *client_info_);
- }
-
-diff -up chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.than chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc
---- chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.than 2024-02-22 22:43:06.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc 2024-02-24 13:13:44.159712774 +0100
-@@ -363,10 +363,10 @@ ServiceWorkerMainResourceLoaderIntercept
- }
- auto* storage_partition = process->GetStoragePartition();
-
-- return absl::visit(base::Overloaded([&, this](auto token) {
-+ return absl::visit(base::Overloaded{[&, this](auto token) {
- return GetStorageKeyFromWorkerHost(storage_partition,
- token, origin);
-- }),
-+ }},
- *worker_token_);
- }
-
-diff -up chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc.than chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc
---- chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc.than 2024-02-22 22:43:06.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc 2024-02-24 13:13:44.159712774 +0100
-@@ -252,7 +252,7 @@ void DedicatedWorkerHost::StartScriptLoa
- RenderFrameHostImpl* creator_render_frame_host = nullptr;
- DedicatedWorkerHost* creator_worker = nullptr;
-
-- absl::visit(base::Overloaded(
-+ absl::visit(base::Overloaded{
- [&](const GlobalRenderFrameHostId& render_frame_host_id) {
- creator_render_frame_host =
- RenderFrameHostImpl::FromID(render_frame_host_id);
-@@ -260,7 +260,7 @@ void DedicatedWorkerHost::StartScriptLoa
- [&](blink::DedicatedWorkerToken dedicated_worker_token) {
- creator_worker = service_->GetDedicatedWorkerHostFromToken(
- dedicated_worker_token);
-- }),
-+ }},
- creator_);
-
- if (!creator_render_frame_host && !creator_worker) {
-diff -up chromium-122.0.6261.69/net/dns/host_resolver_cache.cc.than chromium-122.0.6261.69/net/dns/host_resolver_cache.cc
---- chromium-122.0.6261.69/net/dns/host_resolver_cache.cc.than 2024-02-22 22:43:17.000000000 +0100
-+++ chromium-122.0.6261.69/net/dns/host_resolver_cache.cc 2024-02-24 13:13:44.152712649 +0100
-@@ -368,7 +368,7 @@ void HostResolverCache::Set(
-
- std::string domain_name = result->domain_name();
- entries_.emplace(
-- Key(std::move(domain_name), network_anonymization_key),
-+ Key{std::move(domain_name), network_anonymization_key},
- Entry(std::move(result), source, secure, staleness_generation));
-
- if (entries_.size() > max_entries_) {
-diff -up chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.than chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
---- chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.than 2024-02-22 22:43:25.000000000 +0100
-+++ chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2024-02-24 13:13:44.152712649 +0100
-@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
- color_interpolation_space, hue_interpolation_method, start_color,
- end_color, percentage, alpha_multiplier);
-
-- FontPalette::FontPaletteOverride result_color_record(i, result_color);
-+ FontPalette::FontPaletteOverride result_color_record{static_cast<int>(i), result_color};
- result_color_records.push_back(result_color_record);
- }
- return result_color_records;
-diff -up chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.than chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp
---- chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.than 2024-02-22 22:45:02.000000000 +0100
-+++ chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp 2024-02-24 13:13:44.153712667 +0100
-@@ -507,7 +507,7 @@ void CPDF_RenderStatus::ProcessClipPath(
- } else {
- m_pDevice->SetClip_PathFill(
- *pPath, &mtObj2Device,
-- CFX_FillRenderOptions(ClipPath.GetClipType(i)));
-+ CFX_FillRenderOptions{ClipPath.GetClipType(i)});
- }
- }
-
-diff -up chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h.than chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h
---- chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h.than 2024-02-22 22:44:12.000000000 +0100
-+++ chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h 2024-02-24 13:13:44.153712667 +0100
-@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base::
- zcr_color_manager_v1_chromaticity_names,
- PrimaryVersion>(
- {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
-- kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG,
-- kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
-- kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB,
-- PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB,
-- kDefaultSinceVersion)},
-+ PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN,
-- PrimaryVersion(
-+ PrimaryVersion{
- gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN,
-- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M,
-- PrimaryVersion(
-+ PrimaryVersion{
- gfx::ColorSpace::PrimaryID::BT470M,
-- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M,
-- PrimaryVersion(
-+ PrimaryVersion{
- gfx::ColorSpace::PrimaryID::SMPTE240M,
-- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50,
-- PrimaryVersion(
-+ PrimaryVersion{
- gfx::ColorSpace::PrimaryID::XYZ_D50,
-- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1,
-- PrimaryVersion(
-+ PrimaryVersion{
- gfx::ColorSpace::PrimaryID::SMPTEST428_1,
-- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2,
-- PrimaryVersion(
-+ PrimaryVersion{
- gfx::ColorSpace::PrimaryID::SMPTEST431_2,
-- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM,
-- PrimaryVersion(
-+ PrimaryVersion{
- gfx::ColorSpace::PrimaryID::FILM,
-- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}});
-+ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}});
-
- // A map from the zcr_color_manager_v1 eotf_names enum values
- // representing well-known EOTFs, to their equivalent TransferIDs.
-@@ -107,68 +107,68 @@ constexpr auto kEotfMap = base::MakeFixe
- zcr_color_manager_v1_eotf_names,
- TransferVersion>({
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
-- TransferVersion(gfx::ColorSpace::TransferID::LINEAR,
-- kDefaultSinceVersion)},
-+ TransferVersion{gfx::ColorSpace::TransferID::LINEAR,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
-- TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)},
-+ TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
-- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
-- TransferVersion(gfx::ColorSpace::TransferID::BT709,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::BT709,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
-- TransferVersion(gfx::ColorSpace::TransferID::GAMMA24,
-- kDefaultSinceVersion)},
-+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA24,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
- // This is ever so slightly inaccurate. The number ought to be
- // 2.19921875f, not 2.2
-- TransferVersion(gfx::ColorSpace::TransferID::GAMMA22,
-- kDefaultSinceVersion)},
-+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA22,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
-- TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)},
-+ TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
-- TransferVersion(gfx::ColorSpace::TransferID::HLG,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::HLG,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M,
-- TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M,
-- TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1,
-- TransferVersion(
-+ TransferVersion{
- gfx::ColorSpace::TransferID::SMPTEST428_1,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG,
-- TransferVersion(gfx::ColorSpace::TransferID::LOG,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::LOG,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT,
-- TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4,
-- TransferVersion(
-+ TransferVersion{
- gfx::ColorSpace::TransferID::IEC61966_2_4,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG,
-- TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10,
-- TransferVersion(gfx::ColorSpace::TransferID::BT2020_10,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::BT2020_10,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12,
-- TransferVersion(gfx::ColorSpace::TransferID::BT2020_12,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::BT2020_12,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS,
-- TransferVersion(
-+ TransferVersion{
- gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18,
-- TransferVersion(gfx::ColorSpace::TransferID::GAMMA18,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA18,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28,
-- TransferVersion(gfx::ColorSpace::TransferID::GAMMA28,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)},
-+ TransferVersion{gfx::ColorSpace::TransferID::GAMMA28,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}},
- });
-
- // A map from the SDR zcr_color_manager_v1 eotf_names enum values
-@@ -177,18 +177,18 @@ constexpr auto kEotfMap = base::MakeFixe
- constexpr auto kTransferMap =
- base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
-- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
-+ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
-- TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
-+ TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
-- TransferFnVersion(
-+ TransferFnVersion{
- SkNamedTransferFnExt::kRec709,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
-- TransferFnVersion(gamma24, kDefaultSinceVersion)},
-+ TransferFnVersion{gamma24, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
-- TransferFnVersion(SkNamedTransferFnExt::kA98RGB,
-- kDefaultSinceVersion)},
-+ TransferFnVersion{SkNamedTransferFnExt::kA98RGB,
-+ kDefaultSinceVersion}},
- });
-
- // A map from the HDR zcr_color_manager_v1 eotf_names enum values
-@@ -197,70 +197,70 @@ constexpr auto kTransferMap =
- constexpr auto kHDRTransferMap =
- base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>(
- {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
-- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
-+ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
-- TransferFnVersion(
-+ TransferFnVersion{
- SkNamedTransferFnExt::kSRGB,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
-- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
-+ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
-- TransferFnVersion(SkNamedTransferFn::kHLG,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
-+ TransferFnVersion{SkNamedTransferFn::kHLG,
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10,
-- TransferFnVersion(
-+ TransferFnVersion{
- SkNamedTransferFnExt::kSRGBExtended1023Over510,
-- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}});
-+ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}});
-
- // A map from zcr_color_manager_v1 matrix_names enum values to
- // gfx::ColorSpace::MatrixIDs.
- constexpr auto kMatrixMap =
- base::MakeFixedFlatMap<zcr_color_manager_v1_matrix_names, MatrixVersion>(
- {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB,
-- MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709,
-- MatrixVersion(gfx::ColorSpace::MatrixID::BT709,
-- kDefaultSinceVersion)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::BT709,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG,
-- MatrixVersion(
-+ MatrixVersion{
- gfx::ColorSpace::MatrixID::BT470BG,
-- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)},
-+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL,
-- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL,
-- kDefaultSinceVersion)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL,
-- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL,
-- kDefaultSinceVersion)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC,
-- MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG,
-- MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG,
-- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG,
-+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX,
-- MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX,
-- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX,
-+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR,
-- MatrixVersion(gfx::ColorSpace::MatrixID::GBR,
-- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::GBR,
-+ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M,
-- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M,
-- kDefaultSinceVersion)},
-+ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M,
-- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M,
-- kDefaultSinceVersion)}});
-+ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M,
-+ kDefaultSinceVersion}}});
-
- // A map from zcr_color_manager_v1 range_names enum values to
- // gfx::ColorSpace::RangeIDs.
- constexpr auto kRangeMap =
- base::MakeFixedFlatMap<zcr_color_manager_v1_range_names, RangeVersion>(
- {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED,
-- RangeVersion(gfx::ColorSpace::RangeID::LIMITED,
-- kDefaultSinceVersion)},
-+ RangeVersion{gfx::ColorSpace::RangeID::LIMITED,
-+ kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL,
-- RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)},
-+ RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}},
- {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED,
-- RangeVersion(gfx::ColorSpace::RangeID::DERIVED,
-- kDefaultSinceVersion)}});
-+ RangeVersion{gfx::ColorSpace::RangeID::DERIVED,
-+ kDefaultSinceVersion}}});
-
- zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
- gfx::ColorSpace::PrimaryID primaryID,
-@@ -283,4 +283,4 @@ zcr_color_manager_v1_eotf_names ToColorM
-
- } // namespace ui::wayland
-
--#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
-\ Kein Zeilenumbruch am Dateiende.
-+#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
-diff -up chromium-122.0.6261.69/ui/gtk/gtk_ui.cc.than chromium-122.0.6261.69/ui/gtk/gtk_ui.cc
---- chromium-122.0.6261.69/ui/gtk/gtk_ui.cc.than 2024-02-22 22:44:13.000000000 +0100
-+++ chromium-122.0.6261.69/ui/gtk/gtk_ui.cc 2024-02-24 13:13:44.153712667 +0100
-@@ -1007,11 +1007,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
- GdkRectangle geometry;
- gdk_monitor_get_geometry(monitor, &geometry);
- int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
-- config.display_geometries.emplace_back(
-+ config.display_geometries.emplace_back() = {
- gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
- monitor_scale * geometry.width,
- monitor_scale * geometry.height),
-- monitor_scale * font_scale);
-+ static_cast<float>(monitor_scale * font_scale)};
- }
- return config;
- }
-diff -up chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc.me chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc
---- chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc.me 2024-02-24 18:06:46.509393032 +0100
-+++ chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc 2024-02-24 18:07:11.258948241 +0100
-@@ -92,8 +92,8 @@ void UnnecessaryDiscardMonitor::OnDiscar
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- if (current_reclaim_event_) {
- // Cache this kill event along with the time it took place.
-- current_reclaim_event_kills_.emplace_back(memory_freed_kb,
-- discard_complete_time);
-+ current_reclaim_event_kills_.emplace_back() = {memory_freed_kb,
-+ discard_complete_time};
- }
- }
-
-diff -up chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.me chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc
---- chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.me 2024-02-24 19:58:09.929371791 +0100
-+++ chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc 2024-02-24 19:59:07.149524862 +0100
-@@ -631,10 +631,10 @@ std::unique_ptr<AutofillProfile> Address
- }
-
- base::span<const uint8_t> observations_data = s.ColumnBlob(3);
-- field_type_values.emplace_back(
-+ field_type_values.emplace_back() = {
- type, s.ColumnString16(1), s.ColumnInt(2),
- std::vector<uint8_t>(observations_data.begin(),
-- observations_data.end()));
-+ observations_data.end())};
-
- if (type == ADDRESS_HOME_COUNTRY) {
- country_code = base::UTF16ToUTF8(s.ColumnString16(1));
-diff -up chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.me chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc
---- chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.me 2024-02-24 19:52:02.173682060 +0100
-+++ chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc 2024-02-24 19:52:25.247216329 +0100
-@@ -192,9 +192,9 @@ class ContactInfoProfileSetter {
- CHECK(observations.empty());
- for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
- metadata.observations()) {
-- observations.emplace_back(proto_observation.type(),
-+ observations.emplace_back() = {proto_observation.type(),
- ProfileTokenQuality::FormSignatureHash(
-- proto_observation.form_hash()));
-+ proto_observation.form_hash())};
- }
- }
- }
-diff -up chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc.me chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc
---- chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc.me 2024-02-25 00:14:26.830323365 +0100
-+++ chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc 2024-02-25 00:15:17.939241091 +0100
-@@ -402,7 +402,7 @@ void FencedFrameProperties::UpdateParent
- feature, allow_list.AllowedOrigins(), allow_list.SelfIfMatches(),
- allow_list.MatchesAll(), allow_list.MatchesOpaqueSrc());
- }
-- parent_permissions_info_.emplace(parsed_policies, parent_origin);
-+ parent_permissions_info_.emplace() = {parsed_policies, parent_origin};
- }
-
- } // namespace content
-diff -up chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.me chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc
---- chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.me 2024-02-25 00:17:31.799644691 +0100
-+++ chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc 2024-02-25 00:18:54.157123519 +0100
-@@ -3332,9 +3332,9 @@ std::optional<DebugReportCooldown> DoGet
- return std::nullopt;
- }
-
-- return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0),
-+ return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0),
- static_cast<DebugReportCooldownType>(
-- cooldown_debugging_only_report.ColumnInt(1)));
-+ cooldown_debugging_only_report.ColumnInt(1))};
- }
-
- void DoGetDebugReportCooldowns(
-diff -up chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h.me chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h
---- chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h.me 2024-02-25 15:34:16.140768445 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h 2024-02-25 15:37:47.789665835 +0100
-@@ -24,6 +24,7 @@ struct MenuNotificationEntry {
- int command = 0;
- std::u16string label;
- safety_hub::SafetyHubModuleType module;
-+ MenuNotificationEntry(auto c, auto l, auto m) : command(c), label(l), module(m) { }
- };
-
- namespace {
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc.me chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc.me 2024-02-25 16:22:46.601209269 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc 2024-02-25 16:24:48.110618475 +0100
-@@ -1214,10 +1214,10 @@ SkPath ChromeRefresh2023TabStyleViews::G
-
- // Radii are clockwise from top left.
- const SkVector radii[4] = {
-- SkVector(top_content_corner_radius, top_content_corner_radius),
-- SkVector(top_content_corner_radius, top_content_corner_radius),
-- SkVector(bottom_content_corner_radius, bottom_content_corner_radius),
-- SkVector(bottom_content_corner_radius, bottom_content_corner_radius)};
-+ SkVector{top_content_corner_radius, top_content_corner_radius},
-+ SkVector{top_content_corner_radius, top_content_corner_radius},
-+ SkVector{bottom_content_corner_radius, bottom_content_corner_radius},
-+ SkVector{bottom_content_corner_radius, bottom_content_corner_radius}};
- SkRRect rrect;
- rrect.setRectRadii(SkRect::MakeLTRB(left, top, right, bottom), radii);
- SkPath path;
-diff -up chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.me chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
---- chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.me 2024-02-25 18:49:32.512080085 +0100
-+++ chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc 2024-02-25 19:07:36.518711693 +0100
-@@ -386,7 +386,7 @@ bool ShouldBlockAccessToPath(const base:
- DCHECK(block.path);
- blocked_path = base::FilePath(block.path);
- }
-- rules.emplace_back(blocked_path, block.type);
-+ rules.emplace_back() = {blocked_path, block.type};
- }
-
- base::FilePath nearest_ancestor;
-@@ -1575,11 +1575,11 @@ void ChromeFileSystemAccessPermissionCon
- // profile's directory, assuming the profile dir is a child of the user data
- // dir.
- std::vector<BlockPathRule> extra_rules;
-- extra_rules.emplace_back(profile_->GetPath().DirName(), kBlockAllChildren);
-+ extra_rules.emplace_back() = {profile_->GetPath().DirName(), kBlockAllChildren};
- if (g_browser_process->profile_manager()) {
-- extra_rules.emplace_back(
-+ extra_rules.emplace_back() = {
- g_browser_process->profile_manager()->user_data_dir(),
-- kBlockAllChildren);
-+ kBlockAllChildren};
- }
-
- base::ThreadPool::PostTaskAndReplyWithResult(
---- chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me 2024-03-15 15:16:46.980123806 +0100
-+++ chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2024-03-15 15:18:39.024042560 +0100
-@@ -474,10 +474,10 @@
- alternative_nav_match);
-
- // Store the details necessary to open the omnibox match via browser commands.
-- location_bar_->set_navigation_params(LocationBar::NavigationParams(
-+ location_bar_->set_navigation_params(LocationBar::NavigationParams{
- destination_url, disposition, transition, match_selection_timestamp,
- destination_url_entered_without_scheme,
-- destination_url_entered_with_http_scheme, match.extra_headers));
-+ destination_url_entered_with_http_scheme, match.extra_headers});
-
- if (browser_) {
- auto navigation = chrome::OpenCurrentURL(browser_);
---- chromium-123.0.6312.46/content/browser/interest_group/interest_group_auction.cc.me 2024-03-15 15:16:47.004124431 +0100
-+++ chromium-123.0.6312.46/content/browser/interest_group/interest_group_auction.cc 2024-03-15 15:21:57.794229521 +0100
-@@ -565,7 +565,7 @@
- blink::features::kFledgeDebugReportRestrictedCooldown.Get() !=
- base::Milliseconds(0))) {
- new_debug_report_lockout_and_cooldowns.debug_report_cooldown_map[origin] =
-- DebugReportCooldown(now_nearest_next_hour, cooldown_type);
-+ DebugReportCooldown{now_nearest_next_hour, cooldown_type};
- }
-
- return can_send_debug_report;
---- chromium-123.0.6312.46/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor 2024-03-15 15:55:51.351878829 +0100
-+++ chromium-123.0.6312.46/chrome/browser/ui/autofill/autofill_context_menu_manager.cc 2024-03-15 16:19:48.862189463 +0100
-@@ -277,8 +277,8 @@
- AutofillManager& manager) {
- auto& driver = static_cast<ContentAutofillDriver&>(manager.driver());
- driver.browser_events().RendererShouldTriggerSuggestions(
-- FieldGlobalId(driver.GetFrameToken(),
-- FieldRendererId(params_.field_renderer_id)),
-+ FieldGlobalId{driver.GetFrameToken(),
-+ FieldRendererId(params_.field_renderer_id)},
- AutofillSuggestionTriggerSource::kManualFallbackPayments);
- LogManualFallbackContextMenuEntryAccepted(
- static_cast<BrowserAutofillManager&>(manager),
---- chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2024-03-13 20:35:57.000000000 +0100
-+++ chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h 2024-03-15 16:24:57.899540941 +0100
-@@ -96,7 +96,7 @@
- Color::ColorSpace color_interpolation_space,
- std::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
- return base::AdoptRef(new FontPalette(
-- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
-+ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
- normalized_percentage, alpha_multiplier, color_interpolation_space,
- hue_interpolation_method));
- }
-@@ -170,7 +170,7 @@
- double normalized_percentage) {
- double end_percentage = normalized_percentage * 100.0;
- double start_percentage = 100.0 - end_percentage;
-- return NonNormalizedPercentages(start_percentage, end_percentage);
-+ return NonNormalizedPercentages{start_percentage, end_percentage};
- }
-
- double GetAlphaMultiplier() const {
-diff -up chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc
---- chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me 2024-03-17 00:42:31.183226211 +0100
-+++ chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc 2024-03-17 00:55:56.689512430 +0100
-@@ -1507,7 +1507,7 @@ void AttributionManagerImpl::PrepareNext
- RenderFrameHost::FromID(event.render_frame_id),
- source_origin, destination_origin, &reporting_origin,
- &can_bypass_cookie_check)) {
-- need_to_check_cookie.emplace_back(url::Origin::Create(item.url), i);
-+ need_to_check_cookie.emplace_back() = {url::Origin::Create(item.url), i};
- } else {
- allowed.at(i) = can_bypass_cookie_check;
- }
-diff -up chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc.me chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc
---- chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc.me 2024-03-17 00:24:41.420837884 +0100
-+++ chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc 2024-03-17 00:26:40.273364638 +0100
-@@ -3993,7 +3993,7 @@ DoGetBiddingAndAuctionServerKeys(sql::Da
- std::vector<BiddingAndAuctionServerKey> keys;
- keys.reserve(key_protos.keys_size());
- for (auto& key_proto : *key_protos.mutable_keys()) {
-- keys.emplace_back(std::move(*key_proto.mutable_key()), key_proto.id());
-+ keys.emplace_back() = {std::move(*key_proto.mutable_key()), key_proto.id()};
- }
- return {expiration, keys};
- }
---- chromium-124.0.6367.118/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor 2024-05-05 11:21:25.869307434 +0200
-+++ chromium-124.0.6367.118/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-05-05 12:11:07.575690784 +0200
-@@ -4043,10 +4043,10 @@
- autofill::LocalFrameToken frame_token = driver->GetFrameToken();
- client->GetManager().OpenCompose(
- *driver,
-- autofill::FormGlobalId(
-- frame_token, autofill::FormRendererId(params_.form_renderer_id)),
-- autofill::FieldGlobalId(
-- frame_token, autofill::FieldRendererId(params_.field_renderer_id)),
-+ autofill::FormGlobalId{
-+ frame_token, autofill::FormRendererId(params_.form_renderer_id)},
-+ autofill::FieldGlobalId{
-+ frame_token, autofill::FieldRendererId(params_.field_renderer_id)},
- compose::ComposeManagerImpl::UiEntryPoint::kContextMenu);
- GetBrowser()->window()->NotifyPromoFeatureUsed(
- compose::features::kEnableCompose);
---- chromium-124.0.6367.118/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor 2024-05-01 01:46:48.000000000 +0200
-+++ chromium-124.0.6367.118/chrome/browser/ui/web_applications/sub_apps_service_impl.cc 2024-05-05 12:13:22.814839779 +0200
-@@ -108,7 +108,7 @@
- ConvertPathToUrl(sub_app->manifest_id_path, origin));
- ASSIGN_OR_RETURN(GURL install_url,
- ConvertPathToUrl(sub_app->install_url_path, origin));
-- sub_apps.emplace_back(std::move(manifest_id), std::move(install_url));
-+ sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)};
- }
- return sub_apps;
- }
-@@ -440,7 +440,7 @@
- base::BindOnce(
- [](webapps::ManifestId manifest_id, const webapps::AppId& app_id,
- webapps::InstallResultCode result_code) {
-- return SubAppInstallResult(manifest_id, app_id, result_code);
-+ return SubAppInstallResult{manifest_id, app_id, result_code};
- },
- manifest_id)
- .Then(concurrent.CreateCallback()),
---- chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor 2024-05-05 11:21:25.888307743 +0200
-+++ chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc 2024-05-05 12:17:07.658087100 +0200
-@@ -73,7 +73,7 @@
- // synchronization between the root and branch, so `branch_size_in_bytes_`
- // may be larger than `root_.capacity_in_bytes_` at this point.
-
-- slots_.emplace_back(slot_start, usable_size);
-+ slots_.emplace_back() = {slot_start, usable_size};
-
- // Swap randomly so that the quarantine list remain shuffled.
- // This is not uniformly random, but sufficiently random.
-diff -up chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc.me chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc
---- chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc.me 2024-05-06 12:00:52.947652122 +0200
-+++ chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc 2024-05-06 12:01:06.829970137 +0200
-@@ -96,7 +96,7 @@ RegistrationInfo::ParseInfo(const net::s
-
- ASSIGN_OR_RETURN(bool report_header_errors, ParseReportHeaderErrors(dict));
-
-- return RegistrationInfo(preferred_platform, report_header_errors);
-+ return RegistrationInfo{preferred_platform, report_header_errors};
- }
-
- } // namespace attribution_reporting
-diff -up chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h.me chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h
---- chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h.me 2024-05-06 09:53:10.755781392 +0200
-+++ chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h 2024-05-06 09:54:42.280586275 +0200
-@@ -64,19 +64,19 @@ struct SharedImageInfo {
- SkAlphaType alpha_type,
- uint32_t usage,
- std::string_view debug_label)
-- : meta(format, size, color_space, surface_origin, alpha_type, usage),
-+ : meta{format, size, color_space, surface_origin, alpha_type, usage},
- debug_label(debug_label) {}
- SharedImageInfo(const viz::SharedImageFormat& format,
- gfx::Size size,
- const gfx::ColorSpace& color_space,
- uint32_t usage,
- std::string_view debug_label)
-- : meta(format,
-+ : meta{format,
- size,
- color_space,
- kTopLeft_GrSurfaceOrigin,
- kPremul_SkAlphaType,
-- usage),
-+ usage},
- debug_label(debug_label) {}
- // This constructor exists only to support the DEPRECATED CreareSharedImage
- // call below that accepts a GpuMemoryBuffer. This should be removed when that
-diff -up chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc.me chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc
---- chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc.me 2024-05-06 11:05:36.974350061 +0200
-+++ chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc 2024-05-06 11:06:05.848045697 +0200
-@@ -579,11 +579,11 @@ SharedImageInterfaceInProcess::CreateSha
-
- return base::MakeRefCounted<ClientSharedImage>(
- mailbox,
-- SharedImageMetadata(
-+ SharedImageMetadata{
- viz::GetSinglePlaneSharedImageFormat(gpu_memory_buffer->GetFormat()),
- gpu_memory_buffer->GetSize(), si_info.meta.color_space,
- si_info.meta.surface_origin, si_info.meta.alpha_type,
-- si_info.meta.usage),
-+ si_info.meta.usage},
- GenUnverifiedSyncToken(), holder_);
- }
-
-diff -up chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc.me chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc
---- chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc.me 2024-05-06 10:12:47.067925365 +0200
-+++ chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc 2024-05-06 10:13:56.568627190 +0200
-@@ -238,11 +238,11 @@ scoped_refptr<ClientSharedImage> ClientS
- AddMailbox(proxy_->CreateSharedImage(
- buffer_format, plane, gpu_memory_buffer->GetSize(), si_info,
- gpu_memory_buffer->CloneHandle())),
-- SharedImageMetadata(viz::GetSinglePlaneSharedImageFormat(
-+ SharedImageMetadata{viz::GetSinglePlaneSharedImageFormat(
- GetPlaneBufferFormat(plane, buffer_format)),
- gpu_memory_buffer->GetSize(),
- si_info.meta.color_space, si_info.meta.surface_origin,
-- si_info.meta.alpha_type, si_info.meta.usage),
-+ si_info.meta.alpha_type, si_info.meta.usage},
- GenUnverifiedSyncToken(), holder_, gpu_memory_buffer->GetType());
- }
-
-@@ -277,13 +277,13 @@ ClientSharedImageInterface::CreateSwapCh
- return ClientSharedImageInterface::SwapChainSharedImages(
- base::MakeRefCounted<ClientSharedImage>(
- mailboxes.front_buffer,
-- SharedImageMetadata(format, size, color_space, surface_origin,
-- alpha_type, usage),
-+ SharedImageMetadata{format, size, color_space, surface_origin,
-+ alpha_type, usage},
- sync_token, holder_),
- base::MakeRefCounted<ClientSharedImage>(
- mailboxes.back_buffer,
-- SharedImageMetadata(format, size, color_space, surface_origin,
-- alpha_type, usage),
-+ SharedImageMetadata{format, size, color_space, surface_origin,
-+ alpha_type, usage},
- sync_token, holder_));
- }
-
-@@ -339,8 +339,8 @@ scoped_refptr<ClientSharedImage> ClientS
-
- return base::MakeRefCounted<ClientSharedImage>(
- mailbox,
-- SharedImageMetadata(format, size, color_space, surface_origin, alpha_type,
-- usage),
-+ SharedImageMetadata{format, size, color_space, surface_origin, alpha_type,
-+ usage},
- GenUnverifiedSyncToken(), holder_);
- }
-
-diff -up chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc.me chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc
---- chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc.me 2024-05-07 13:34:30.384580905 +0200
-+++ chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc 2024-05-07 13:39:24.219132733 +0200
-@@ -108,7 +108,7 @@ std::vector<GpuFeatureData> GetGpuFeatur
- *base::CommandLine::ForCurrentProcess();
-
- std::vector<GpuFeatureData> features;
-- features.emplace_back(
-+ features.emplace_back() = {
- "2d_canvas",
- SafeGetFeatureStatus(
- gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS,
-@@ -116,13 +116,13 @@ std::vector<GpuFeatureData> GetGpuFeatur
- DisableInfo::Problem(
- "Accelerated 2D canvas is unavailable: either disabled "
- "via blocklist or the command line."),
-- true);
-- features.emplace_back(
-+ true};
-+ features.emplace_back() = {
- "canvas_oop_rasterization",
- SafeGetFeatureStatus(
- gpu_feature_info, gpu::GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION,
-- command_line.HasSwitch(switches::kDisableAccelerated2dCanvas)));
-- features.emplace_back(
-+ command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))};
-+ features.emplace_back() = {
- "gpu_compositing",
- // TODO(rivr): Replace with a check to see which backend is used for
- // compositing; do the same for GPU rasterization if it's enabled. For
-@@ -136,16 +136,16 @@ std::vector<GpuFeatureData> GetGpuFeatur
- "about:flags "
- "or the command line. The browser will fall back to software "
- "compositing and hardware acceleration will be unavailable."),
-- true);
-- features.emplace_back(
-+ true};
-+ features.emplace_back() = {
- "webgl",
- SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL,
- command_line.HasSwitch(switches::kDisableWebGL)),
- DisableInfo::Problem(
- "WebGL has been disabled via blocklist or the command line."),
-- false);
-- features.emplace_back(
-+ false};
-+ features.emplace_back() = {
- "video_decode",
- SafeGetFeatureStatus(
- gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE,
-@@ -156,8 +156,8 @@ std::vector<GpuFeatureData> GetGpuFeatur
- DisableInfo::Problem(
- "Accelerated video decode has been disabled, either via blocklist, "
- "about:flags or the command line."),
-- true);
-- features.emplace_back(
-+ true};
-+ features.emplace_back() = {
- "video_encode",
- SafeGetFeatureStatus(
- gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE,
-@@ -169,33 +169,33 @@ std::vector<GpuFeatureData> GetGpuFeatur
- DisableInfo::Problem(
- "Accelerated video encode has been disabled, either via blocklist, "
- "about:flags or the command line."),
-- true);
-- features.emplace_back(
-+ true};
-+ features.emplace_back() = {
- "rasterization",
- SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_GPU_TILE_RASTERIZATION),
- DisableInfo::Problem(
- "Accelerated rasterization has been disabled, either via blocklist, "
- "about:flags or the command line."),
-- true);
-- features.emplace_back(
-+ true};
-+ features.emplace_back() = {
- "opengl", SafeGetFeatureStatus(gpu_feature_info,
-- gpu::GPU_FEATURE_TYPE_ACCELERATED_GL));
-+ gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)};
- #if BUILDFLAG(ENABLE_VULKAN)
-- features.emplace_back(
-+ features.emplace_back() = {
- "vulkan",
-- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN));
-+ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)};
- #endif
-- features.emplace_back(
-+ features.emplace_back() = {
- "multiple_raster_threads",
-- GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1));
-+ GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)};
- #if BUILDFLAG(IS_ANDROID)
-- features.emplace_back(
-+ features.emplace_back() = {
- "surface_control",
- SafeGetFeatureStatus(gpu_feature_info,
-- gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL));
-+ gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)};
- #endif
-- features.emplace_back(
-+ features.emplace_back() = {
- "webgl2",
- SafeGetFeatureStatus(
- gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL2,
-@@ -203,12 +203,12 @@ std::vector<GpuFeatureData> GetGpuFeatur
- command_line.HasSwitch(switches::kDisableWebGL2)),
- DisableInfo::Problem(
- "WebGL2 has been disabled via blocklist or the command line."),
-- false);
-- features.emplace_back("raw_draw",
-- GetFakeFeatureStatus(features::IsUsingRawDraw()));
-- features.emplace_back("direct_rendering_display_compositor",
-- GetFakeFeatureStatus(features::IsDrDcEnabled()));
-- features.emplace_back(
-+ false};
-+ features.emplace_back() = {"raw_draw",
-+ GetFakeFeatureStatus(features::IsUsingRawDraw())};
-+ features.emplace_back() = {"direct_rendering_display_compositor",
-+ GetFakeFeatureStatus(features::IsDrDcEnabled())};
-+ features.emplace_back() = {
- "webgpu",
- SafeGetFeatureStatus(
- gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGPU,
-@@ -216,14 +216,14 @@ std::vector<GpuFeatureData> GetGpuFeatur
- !base::FeatureList::IsEnabled(::features::kWebGPUService)),
- DisableInfo::Problem(
- "WebGPU has been disabled via blocklist or the command line."),
-- false);
-- features.emplace_back(
-+ false};
-+ features.emplace_back() = {
- "skia_graphite",
- SafeGetFeatureStatus(gpu_feature_info,
-- gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE));
-- features.emplace_back(
-+ gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)};
-+ features.emplace_back() = {
- "webnn",
-- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN));
-+ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)};
- return features;
- }
-
-diff -up chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.me chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc
---- chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.me 2024-05-07 17:36:54.884303561 +0200
-+++ chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc 2024-05-07 17:38:26.954157928 +0200
-@@ -171,8 +171,8 @@ AudioRendererMixer* AudioRendererMixerMa
- DVLOG(1) << "Not reusing mixer with errors: " << it->second.mixer;
-
- // Move bad mixers out of the reuse map.
-- dead_mixers_.emplace_back(std::move(it->second.mixer),
-- it->second.ref_count);
-+ dead_mixers_.emplace_back() = {std::move(it->second.mixer),
-+ it->second.ref_count};
- mixers_.erase(it);
- }
-
-@@ -218,7 +218,7 @@ void AudioRendererMixerManager::ReturnMi
- }
- } else if (dead_it == dead_mixers_.end() && mixer_ref.mixer->HasSinkError()) {
- // Move bad mixers out of the reuse map.
-- dead_mixers_.emplace_back(std::move(mixer_ref.mixer), mixer_ref.ref_count);
-+ dead_mixers_.emplace_back() = {std::move(mixer_ref.mixer), mixer_ref.ref_count};
- mixers_.erase(it);
- }
- }
diff --git a/chromium-124-workaround_clang_bug-structured_binding.patch b/chromium-124-workaround_clang_bug-structured_binding.patch
deleted file mode 100644
index 727e4f5..0000000
--- a/chromium-124-workaround_clang_bug-structured_binding.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
---- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding 2023-06-07 21:48:37.000000000 +0200
-+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc 2023-06-17 16:53:20.216628557 +0200
-@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
- void CdmPromiseAdapter::Clear(ClearReason reason) {
- // Reject all outstanding promises.
- DCHECK(thread_checker_.CalledOnValidThread());
-- for (auto& [promise_id, promise] : promises_) {
-+ for (auto& [p_i, p_e] : promises_) {
-+ auto& promise_id = p_i;
-+ auto& promise = p_e;
- TRACE_EVENT_NESTABLE_ASYNC_END1(
- "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
- "status", "cleared");
-diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
---- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me 2023-06-19 08:04:02.287072722 +0200
-+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc 2023-06-19 08:18:24.576814950 +0200
-@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
- return;
- }
-
-- auto [document_url, key, callback] = std::move(*request);
-+ auto [d_u, key, callback] = std::move(*request);
-+ auto document_url = d_u;
-
- DCHECK(document_url.is_valid());
- TRACE_EVENT1("ServiceWorker",
-diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
---- chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than 2023-12-19 17:57:56.205197246 +0100
-+++ chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc 2023-12-19 18:10:13.778634531 +0100
-@@ -3527,8 +3527,8 @@ void GridLayoutAlgorithm::PlaceGridItems
- DCHECK(out_row_break_between);
-
- const auto& container_space = GetConstraintSpace();
-- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
--
-+ const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData();
-+ const auto& layout_data = l_d;
- const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
- const auto container_writing_direction =
- container_space.GetWritingDirection();
-@@ -3691,8 +3691,9 @@ void GridLayoutAlgorithm::PlaceGridItems
-
- // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
- const auto& constraint_space = GetConstraintSpace();
-- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
--
-+ const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData();
-+ const auto& grid_items = g_i;
-+ const auto& layout_data = l_d;
- const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
- const auto container_writing_direction =
- constraint_space.GetWritingDirection();
-diff -up chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc
---- chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me 2024-02-25 18:03:51.654579579 +0100
-+++ chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc 2024-02-25 18:12:45.144287750 +0100
-@@ -136,7 +136,8 @@ void PrewarmHttpDiskCacheManager::MaybeP
- std::pair<url::Origin, GURL> origin_and_url;
- std::swap(origin_and_url, queued_jobs_.front());
- queued_jobs_.pop();
-- const auto& [origin, url] = origin_and_url;
-+ const auto& [origin, u] = origin_and_url;
-+ const auto& url = u;
- TRACE_EVENT_WITH_FLOW1(
- "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob",
- TRACE_ID_LOCAL(this),
---- chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc.workaround_clang_bug-structured_binding 2024-05-05 16:22:47.581070868 +0200
-+++ chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc 2024-05-05 16:27:18.859972481 +0200
-@@ -417,7 +417,8 @@
- }
-
- SCOPED_CRASH_KEY_STRING256("SWRace", "request_url", request_.url.spec());
-- auto [read_result, read_buffer] = read_buffer_manager_->ReadData();
-+ auto [r, read_buffer] = read_buffer_manager_->ReadData();
-+ auto read_result = r;
- TRACE_EVENT_WITH_FLOW2("ServiceWorker",
- "ServiceWorkerRaceNetworkRequestURLLoaderClient::Read",
- TRACE_ID_LOCAL(this),
diff --git a/chromium-125-el7-assert.patch b/chromium-125-el7-assert.patch
new file mode 100644
index 0000000..e76feda
--- /dev/null
+++ b/chromium-125-el7-assert.patch
@@ -0,0 +1,24 @@
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h.assert chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h.assert 2024-05-18 19:33:37.165243577 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h 2024-05-18 19:45:51.224995489 +0200
+@@ -185,7 +185,7 @@ class WebUIContentsWrapperT : public Web
+ supports_draggable_regions,
+ T::GetWebUIName()),
+ webui_url_(webui_url) {
+- static_assert(
++ assert(
+ views_metrics::IsValidWebUINameVariant("." + T::GetWebUIName()));
+ if (is_ready_to_show()) {
+ CHECK(GetWebUIController());
+diff -up chromium-125.0.6422.60/v8/src/base/small-vector.h.assert chromium-125.0.6422.60/v8/src/base/small-vector.h
+--- chromium-125.0.6422.60/v8/src/base/small-vector.h.assert 2024-05-15 23:48:18.000000000 +0200
++++ chromium-125.0.6422.60/v8/src/base/small-vector.h 2024-05-17 12:33:58.745651173 +0200
+@@ -22,7 +22,7 @@ template <typename T, size_t kSize, type
+ class SmallVector {
+ // Currently only support trivially copyable and trivially destructible data
+ // types, as it uses memcpy to copy elements and never calls destructors.
+- ASSERT_TRIVIALLY_COPYABLE(T);
++ //ASSERT_TRIVIALLY_COPYABLE(T);
+ static_assert(std::is_trivially_destructible<T>::value);
+
+ public:
diff --git a/chromium-125-el7-constexpr.patch b/chromium-125-el7-constexpr.patch
new file mode 100644
index 0000000..0183bb3
--- /dev/null
+++ b/chromium-125-el7-constexpr.patch
@@ -0,0 +1,242 @@
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.const 2024-05-18 18:57:37.099203314 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h 2024-05-18 22:16:52.879603051 +0200
+@@ -42,7 +42,7 @@ class ShoppingInsightsSidePanelUI
+ mojo::PendingReceiver<
+ shopping_service::mojom::ShoppingServiceHandlerFactory> receiver);
+
+- static constexpr std::string GetWebUIName() {
++ static const std::string GetWebUIName() {
+ return "ShoppingInsightsSidePanel";
+ }
+
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.const 2024-05-18 19:03:13.999255471 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h 2024-05-18 22:16:52.883603124 +0200
+@@ -58,7 +58,7 @@ class ComposeUntrustedUI
+ triggering_web_contents_ = web_contents->GetWeakPtr();
+ }
+
+- static constexpr std::string GetWebUIName() { return "Compose"; }
++ static const std::string GetWebUIName() { return "Compose"; }
+
+ private:
+ void CreateComposeSessionUntrustedPageHandler(
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h.const 2024-05-18 18:59:16.859995432 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h 2024-05-18 22:16:52.883603124 +0200
+@@ -47,7 +47,7 @@ class LensUntrustedUI : public Untrusted
+ mojo::PendingReceiver<color_change_listener::mojom::PageHandler>
+ receiver);
+
+- static constexpr std::string GetWebUIName() { return "LensUntrusted"; }
++ static const std::string GetWebUIName() { return "LensUntrusted"; }
+
+ private:
+ // lens::mojom::LensPageHandlerFactory:
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h.const 2024-05-18 18:59:49.020573177 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h 2024-05-18 22:16:52.883603124 +0200
+@@ -26,7 +26,7 @@ class SearchBubbleUI : public TopChromeW
+ mojo::PendingReceiver<lens::mojom::SearchBubblePageHandlerFactory>
+ receiver);
+
+- static constexpr std::string GetWebUIName() { return "LensSearchBubble"; }
++ static const std::string GetWebUIName() { return "LensSearchBubble"; }
+
+ private:
+ // lens::mojom::SearchBubblePageHandlerFactory
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.const 2024-05-18 19:00:08.686926471 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h 2024-05-18 22:16:52.883603124 +0200
+@@ -63,7 +63,7 @@ class BookmarksSidePanelUI
+ commerce::ShoppingListContextMenuController*
+ GetShoppingListContextMenuController();
+
+- static constexpr std::string GetWebUIName() { return "BookmarksSidePanel"; }
++ static const std::string GetWebUIName() { return "BookmarksSidePanel"; }
+
+ private:
+ // side_panel::mojom::BookmarksPageHandlerFactory:
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.const 2024-05-18 19:00:36.351423440 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h 2024-05-18 22:16:52.884603143 +0200
+@@ -34,7 +34,7 @@ class CompanionSidePanelUntrustedUI
+ // Gets a weak pointer to this object.
+ base::WeakPtr<CompanionSidePanelUntrustedUI> GetWeakPtr();
+
+- static constexpr std::string GetWebUIName() {
++ static const std::string GetWebUIName() {
+ return "CompanionSidePanelUntrusted";
+ }
+
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.const 2024-05-18 19:00:56.088778012 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h 2024-05-18 22:16:52.884603143 +0200
+@@ -102,7 +102,7 @@ class CustomizeChromeUI
+ side_panel::customize_chrome::mojom::WallpaperSearchHandlerFactory>
+ pending_receiver);
+
+- static constexpr std::string GetWebUIName() { return "CustomizeChrome"; }
++ static const std::string GetWebUIName() { return "CustomizeChrome"; }
+
+ private:
+ // side_panel::mojom::CustomizeChromePageHandlerFactory
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.const 2024-05-18 19:01:15.986135446 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h 2024-05-18 22:16:52.884603143 +0200
+@@ -70,7 +70,7 @@ class HistoryClustersSidePanelUI : publi
+ void DidFinishNavigation(
+ content::NavigationHandle* navigation_handle) override;
+
+- static constexpr std::string GetWebUIName() {
++ static const std::string GetWebUIName() {
+ return "HistoryClustersSidePanel";
+ }
+
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.const 2024-05-18 19:01:34.274463982 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h 2024-05-18 22:16:52.884603143 +0200
+@@ -41,7 +41,7 @@ class PerformanceSidePanelUI
+ mojo::PendingReceiver<color_change_listener::mojom::PageHandler>
+ pending_receiver);
+
+- static constexpr std::string GetWebUIName() { return "PerformanceSidePanel"; }
++ static const std::string GetWebUIName() { return "PerformanceSidePanel"; }
+
+ private:
+ // side_panel::mojom::PerformancePageHandlerFactory:
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.const 2024-05-18 19:01:52.842797556 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h 2024-05-18 22:16:52.884603143 +0200
+@@ -55,7 +55,7 @@ class ReadAnythingUntrustedUI
+ mojo::PendingReceiver<read_anything::mojom::UntrustedPageHandlerFactory>
+ receiver);
+
+- static constexpr std::string GetWebUIName() {
++ static const std::string GetWebUIName() {
+ return "ReadAnythingUntrusted";
+ }
+
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.const 2024-05-18 19:02:17.381238375 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h 2024-05-18 22:16:52.885603162 +0200
+@@ -47,7 +47,7 @@ class ReadingListUI : public TopChromeWe
+
+ void SetActiveTabURL(const GURL& url);
+
+- static constexpr std::string GetWebUIName() { return "ReadingList"; }
++ static const std::string GetWebUIName() { return "ReadingList"; }
+
+ private:
+ // reading_list::mojom::PageHandlerFactory:
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.const 2024-05-18 19:02:34.413544341 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h 2024-05-18 22:16:52.885603162 +0200
+@@ -35,7 +35,7 @@ class UserNotesSidePanelUI
+
+ void set_browser(Browser* browser) { browser_ = browser; }
+
+- static constexpr std::string GetWebUIName() { return "UserNotesSidePanel"; }
++ static const std::string GetWebUIName() { return "UserNotesSidePanel"; }
+
+ private:
+ // user_notes::mojom::UserNotesPageHandlerFactory
+diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h
+--- chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h.const 2024-05-18 19:02:52.261864965 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h 2024-05-18 22:16:52.885603162 +0200
+@@ -46,7 +46,7 @@ class TabSearchUI : public TopChromeWebU
+ return page_handler_.get();
+ }
+
+- static constexpr std::string GetWebUIName() { return "TabSearch"; }
++ static const std::string GetWebUIName() { return "TabSearch"; }
+
+ private:
+ // tab_search::mojom::PageHandlerFactory
+diff -up chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc.const chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc
+--- chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc.const 2024-05-18 23:06:22.071586909 +0200
++++ chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc 2024-05-18 23:06:44.827133461 +0200
+@@ -30,7 +30,7 @@ namespace {
+ // The maximum idle time before the model executor is unloaded from memory.
+ constexpr base::TimeDelta kMaxExecutorIdleSeconds = base::Seconds(60);
+ // Constants for TFlite model validation.
+-constexpr std::string kTestPrefix = "face";
++const std::string kTestPrefix = "face";
+ constexpr std::string_view kModelValidationSwitchName =
+ "omnibox-on-device-tail-model-validation";
+
+diff -up chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h
+--- chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me 2024-05-07 07:58:10.202960298 +0200
++++ chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h 2024-05-07 07:59:29.413411767 +0200
+@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio
+ // Country code that represents autofill's legacy address hierarchy model as
+ // stored `kAutofillModelRules`. As a workaround for GCC we declare the
+ // std::string constexpr first.
+-constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
+-constexpr AddressCountryCode kLegacyHierarchyCountryCode =
++const inline std::string kLegacyHierarchyCountryCodeString{"XX"};
++const AddressCountryCode kLegacyHierarchyCountryCode =
+ AddressCountryCode(kLegacyHierarchyCountryCodeString);
+
+ // Creates an instance of the address hierarchy model corresponding to the
+diff -up chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h
+--- chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me 2024-05-07 07:59:38.239573497 +0200
++++ chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h 2024-05-07 08:00:55.578990659 +0200
+@@ -57,7 +57,7 @@ struct IsRequired {
+ // This function is not defined and consteval. Therefore, any evaluation will
+ // fail and fail at compile time.
+ template <typename T>
+- consteval operator T(); // NOLINT
++ operator T(); // NOLINT
+ };
+
+ } // namespace internal
+diff -up chromium-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h
+--- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me 2024-05-06 18:01:28.606845554 +0200
++++ chromium-124.0.6367.118/components/history/core/browser/history_types.h 2024-05-06 18:06:15.492751252 +0200
+@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL
+ typedef std::map<VisitID, VisitSource> VisitSourceMap;
+
+ // Constant used to represent that no app_id is used for matching.
+-inline constexpr std::optional<std::string> kNoAppIdFilter = std::nullopt;
++inline const std::optional<std::string> kNoAppIdFilter = std::nullopt;
+
+ // VisitRow -------------------------------------------------------------------
+
+diff -up chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc
+--- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me 2024-05-07 00:07:15.720573794 +0200
++++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-05-07 00:08:07.633519604 +0200
+@@ -28,17 +28,17 @@ namespace network {
+ namespace {
+
+ // https://urlpattern.spec.whatwg.org/#default-options
+-constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
++const liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
+ .prefix_list = "",
+ .sensitive = true,
+ .strict = true};
+ // https://urlpattern.spec.whatwg.org/#hostname-options
+-constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
++const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
+ .prefix_list = "",
+ .sensitive = true,
+ .strict = true};
+ // https://urlpattern.spec.whatwg.org/#pathname-options
+-constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
++const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
+ .prefix_list = "/",
+ .sensitive = true,
+ .strict = true};
+diff -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py
+--- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 2024-05-07 10:58:13.316756926 +0200
++++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-05-07 10:58:30.821083061 +0200
+@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam
+ yield '// Checks if all the matching patterns for the given PatternSources'
+ yield '// and language are the same - meaning that computing predictions for'
+ yield '// both is unnecessary, since it will yield the same result.'
+- yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,'
++ yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,'
+ yield ' PatternSource b,'
+ yield ' LanguageCode lang_code) {'
+ yield ' if (a == b) {'
diff --git a/chromium-125-el7-default-constructor-involving-anonymous-union.patch b/chromium-125-el7-default-constructor-involving-anonymous-union.patch
new file mode 100644
index 0000000..fc38562
--- /dev/null
+++ b/chromium-125-el7-default-constructor-involving-anonymous-union.patch
@@ -0,0 +1,36 @@
+diff -up chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc
+--- chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc 2024-05-17 12:33:58.684649909 +0200
+@@ -12,7 +12,7 @@
+
+ namespace variations {
+
+-UIStringOverrider::UIStringOverrider() = default;
++UIStringOverrider::UIStringOverrider() {}
+
+ UIStringOverrider::UIStringOverrider(base::span<const uint32_t> resource_hashes,
+ base::span<const int> resource_indices)
+diff -up chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc
+--- chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc 2024-05-17 12:33:58.685649929 +0200
+@@ -46,7 +46,7 @@ size_t GetResultSizeBytes(const HeaderDi
+
+ } // namespace
+
+-HeaderDirectFromSellerSignals::Result::Result() = default;
++HeaderDirectFromSellerSignals::Result::Result() {}
+
+ HeaderDirectFromSellerSignals::Result::Result(
+ std::optional<std::string> seller_signals,
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h
+--- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union 2024-05-18 09:52:22.385330304 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h 2024-05-18 09:52:51.023891525 +0200
+@@ -36,7 +36,7 @@ class FrozenArray final : public binding
+ using const_iterator = typename VectorType::const_iterator;
+ using const_reverse_iterator = typename VectorType::const_reverse_iterator;
+
+- FrozenArray() = default;
++ FrozenArray() {}
+ explicit FrozenArray(VectorType array) : array_(std::move(array)) {}
+ ~FrozenArray() override = default;
+
diff --git a/chromium-125-el7-no_matching_constructor.patch b/chromium-125-el7-no_matching_constructor.patch
new file mode 100644
index 0000000..a673d41
--- /dev/null
+++ b/chromium-125-el7-no_matching_constructor.patch
@@ -0,0 +1,1821 @@
+diff -up chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc
+--- chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor 2024-05-15 23:45:49.000000000 +0200
++++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc 2024-05-17 12:33:58.707650385 +0200
+@@ -73,7 +73,7 @@ bool LightweightQuarantineBranch::Quaran
+ // synchronization between the root and branch, so `branch_size_in_bytes_`
+ // may be larger than `root_.capacity_in_bytes_` at this point.
+
+- slots_.emplace_back(slot_start, usable_size);
++ slots_.emplace_back() = {slot_start, usable_size};
+
+ // Swap randomly so that the quarantine list remain shuffled.
+ // This is not uniformly random, but sufficiently random.
+diff -up chromium-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor chromium-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc
+--- chromium-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc.no_matching_constructor 2024-05-15 23:45:50.000000000 +0200
++++ chromium-125.0.6422.60/base/metrics/persistent_histogram_allocator.cc 2024-05-17 12:33:58.708650406 +0200
+@@ -220,13 +220,13 @@ PersistentSparseHistogramDataManager::Lo
+ // The sample-record could be for any sparse histogram. Add the reference
+ // to the appropriate collection for later use.
+ if (found_id == match_id) {
+- found_records.emplace_back(ref, value);
++ found_records.emplace_back() = {ref, value};
+ found = true;
+ } else {
+ std::vector<ReferenceAndSample>* samples =
+ GetSampleMapRecordsWhileLocked(found_id);
+ CHECK(samples);
+- samples->emplace_back(ref, value);
++ samples->emplace_back() = {ref, value};
+ }
+ }
+
+diff -up chromium-125.0.6422.60/base/nix/mime_util_xdg.cc.no_matching_constructor chromium-125.0.6422.60/base/nix/mime_util_xdg.cc
+--- chromium-125.0.6422.60/base/nix/mime_util_xdg.cc.no_matching_constructor 2024-05-15 23:45:50.000000000 +0200
++++ chromium-125.0.6422.60/base/nix/mime_util_xdg.cc 2024-05-17 12:33:58.708650406 +0200
+@@ -56,7 +56,7 @@ void LoadAllMimeCacheFiles(MimeTypeMap&
+ for (const auto& path : GetXDGDataSearchLocations(env.get())) {
+ FilePath mime_cache = path.Append("mime/mime.cache");
+ if (GetFileInfo(mime_cache, &info) && ParseMimeTypes(mime_cache, map)) {
+- files.emplace_back(mime_cache, info.last_modified);
++ files.emplace_back() = {mime_cache, info.last_modified};
+ }
+ }
+ }
+diff -up chromium-125.0.6422.60/base/trace_event/trace_log.cc.no_matching_constructor chromium-125.0.6422.60/base/trace_event/trace_log.cc
+--- chromium-125.0.6422.60/base/trace_event/trace_log.cc.no_matching_constructor 2024-05-15 23:45:50.000000000 +0200
++++ chromium-125.0.6422.60/base/trace_event/trace_log.cc 2024-05-17 12:33:58.709650427 +0200
+@@ -2198,8 +2198,8 @@ void TraceLog::SetTraceBufferForTesting(
+ #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
+ void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
+ AutoLock lock(track_event_lock_);
+- track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
+- args.backend_type);
++ track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
++ args.backend_type};
+ }
+
+ void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
+diff -up chromium-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc
+--- chromium-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc.no_matching_constructor 2024-05-15 23:46:00.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/content_settings/one_time_permission_provider.cc 2024-05-17 12:33:58.709650427 +0200
+@@ -258,8 +258,8 @@ void OneTimePermissionProvider::OnSuspen
+
+ while (rule_iterator && rule_iterator->HasNext()) {
+ auto rule = rule_iterator->Next();
+- patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
+- rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
++ rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ setting_type,
+ permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
+@@ -361,8 +361,8 @@ void OneTimePermissionProvider::DeleteEn
+ auto rule = rule_iterator->Next();
+ if (rule->primary_pattern.Matches(origin_gurl) &&
+ rule->secondary_pattern.Matches(origin_gurl)) {
+- patterns_to_delete.emplace_back(
+- content_setting_type, rule->primary_pattern, rule->secondary_pattern);
++ patterns_to_delete.emplace_back() = {
++ content_setting_type, rule->primary_pattern, rule->secondary_pattern};
+ permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+ content_setting_type, trigger_event);
+ }
+diff -up chromium-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
+--- chromium-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.no_matching_constructor 2024-05-15 23:46:00.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc 2024-05-17 12:33:58.709650427 +0200
+@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
+ // TODO(crbug.com/1445072): Add actual domains with attribute names.
+ profile_attributes->insert(std::make_pair(
+ "supported.test",
+- SAMLProfileAttributes("placeholderName", "placeholderDomain",
+- "placeholderToken")));
++ SAMLProfileAttributes{"placeholderName", "placeholderDomain",
++ "placeholderToken"}));
+
+ // Extract domains and attributes from the command line switch.
+ const base::CommandLine& command_line =
+diff -up chromium-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+--- chromium-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.no_matching_constructor 2024-05-15 23:46:01.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc 2024-05-17 12:33:58.710650447 +0200
+@@ -387,7 +387,7 @@ bool ShouldBlockAccessToPath(const base:
+ DCHECK(block.path);
+ blocked_path = base::FilePath(block.path);
+ }
+- rules.emplace_back(blocked_path, block.type);
++ rules.emplace_back() = {blocked_path, block.type};
+ }
+
+ base::FilePath nearest_ancestor;
+@@ -1688,11 +1688,11 @@ void ChromeFileSystemAccessPermissionCon
+ // profile's directory, assuming the profile dir is a child of the user data
+ // dir.
+ std::vector<BlockPathRule> extra_rules;
+- extra_rules.emplace_back(profile_->GetPath().DirName(), kBlockAllChildren);
++ extra_rules.emplace_back() = {profile_->GetPath().DirName(), kBlockAllChildren};
+ if (g_browser_process->profile_manager()) {
+- extra_rules.emplace_back(
++ extra_rules.emplace_back() = {
+ g_browser_process->profile_manager()->user_data_dir(),
+- kBlockAllChildren);
++ kBlockAllChildren};
+ }
+
+ base::ThreadPool::PostTaskAndReplyWithResult(
+diff -up chromium-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc
+--- chromium-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc.no_matching_constructor 2024-05-18 19:08:35.415026823 +0200
++++ chromium-125.0.6422.60/chrome/browser/performance_manager/mechanisms/page_discarder.cc 2024-05-18 19:10:05.527644708 +0200
+@@ -53,7 +53,7 @@ std::vector<PageDiscarder::DiscardEvent>
+ if (lifecycle_unit->DiscardTab(
+ discard_reason,
+ /*memory_footprint_estimate=*/proxy.second)) {
+- discard_events.emplace_back(base::TimeTicks::Now(), proxy.second);
++ discard_events.emplace_back() = {base::TimeTicks::Now(), proxy.second};
+ }
+ }
+ return discard_events;
+diff -up chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+--- chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor 2024-05-15 23:46:02.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-05-17 12:33:58.711650468 +0200
+@@ -4049,10 +4049,10 @@ void RenderViewContextMenu::ExecOpenComp
+ autofill::LocalFrameToken frame_token = driver->GetFrameToken();
+ client->GetManager().OpenCompose(
+ *driver,
+- autofill::FormGlobalId(
+- frame_token, autofill::FormRendererId(params_.form_renderer_id)),
+- autofill::FieldGlobalId(
+- frame_token, autofill::FieldRendererId(params_.field_renderer_id)),
++ autofill::FormGlobalId{
++ frame_token, autofill::FormRendererId(params_.form_renderer_id)},
++ autofill::FieldGlobalId{
++ frame_token, autofill::FieldRendererId(params_.field_renderer_id)},
+ compose::ComposeManagerImpl::UiEntryPoint::kContextMenu);
+ GetBrowser()->window()->NotifyPromoFeatureUsed(
+ compose::features::kEnableCompose);
+diff -up chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc.no_matching_constructor 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.no_matching_constructor 2024-05-17 13:05:02.199631698 +0200
++++ chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc 2024-05-17 15:57:05.196653150 +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/autofill/autofill_context_menu_manager.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor 2024-05-15 23:46:05.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc 2024-05-17 12:33:58.711650468 +0200
+@@ -365,8 +365,8 @@ void AutofillContextMenuManager::Execute
+ AutofillManager& manager) {
+ auto& driver = static_cast<ContentAutofillDriver&>(manager.driver());
+ driver.browser_events().RendererShouldTriggerSuggestions(
+- FieldGlobalId(driver.GetFrameToken(),
+- FieldRendererId(params_.field_renderer_id)),
++ FieldGlobalId{driver.GetFrameToken(),
++ FieldRendererId(params_.field_renderer_id)},
+ AutofillSuggestionTriggerSource::kManualFallbackPayments);
+ LogManualFallbackContextMenuEntryAccepted(
+ static_cast<BrowserAutofillManager&>(manager),
+diff -up chromium-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.no_matching_constructor 2024-05-15 23:46:05.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2024-05-17 12:33:58.712650489 +0200
+@@ -513,10 +513,10 @@ void ChromeOmniboxClient::OnAutocomplete
+ alternative_nav_match);
+
+ // Store the details necessary to open the omnibox match via browser commands.
+- location_bar_->set_navigation_params(LocationBar::NavigationParams(
++ location_bar_->set_navigation_params(LocationBar::NavigationParams{
+ destination_url, disposition, transition, match_selection_timestamp,
+ destination_url_entered_without_scheme,
+- destination_url_entered_with_http_scheme, match.extra_headers));
++ destination_url_entered_with_http_scheme, match.extra_headers});
+
+ if (browser_) {
+ auto navigation = chrome::OpenCurrentURL(browser_);
+diff -up chromium-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h
+--- chromium-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h.no_matching_constructor 2024-05-15 23:46:05.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/safety_hub/menu_notification_service.h 2024-05-17 12:33:58.712650489 +0200
+@@ -24,6 +24,7 @@ struct MenuNotificationEntry {
+ int command = 0;
+ std::u16string label;
+ safety_hub::SafetyHubModuleType module;
++ MenuNotificationEntry(auto c, auto l, auto m) : command(c), label(l), module(m) { }
+ };
+
+ namespace {
+diff -up chromium-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc.no_matching_constructor 2024-05-18 19:53:04.665382949 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/views/frame/contents_layout_manager.cc 2024-05-18 19:54:39.601643890 +0200
+@@ -44,20 +44,20 @@ views::ProposedLayout ContentsLayoutMana
+
+ // DevTools cares about the specific position, so we have to compensate RTL
+ // layout here.
+- layouts.child_layouts.emplace_back(
++ layouts.child_layouts.emplace_back() = {
+ devtools_view_.get(), devtools_view_->GetVisible(),
+ host_view()->GetMirroredRect(new_devtools_bounds),
+- views::SizeBounds(container_size));
+- layouts.child_layouts.emplace_back(
++ views::SizeBounds(container_size)};
++ layouts.child_layouts.emplace_back() = {
+ contents_view_.get(), contents_view_->GetVisible(),
+ host_view()->GetMirroredRect(new_contents_bounds),
+- views::SizeBounds(container_size));
++ views::SizeBounds(container_size)};
+
+ // Enterprise watermark view is always overlaid, even when empty.
+ if (watermark_view_) {
+- layouts.child_layouts.emplace_back(
++ layouts.child_layouts.emplace_back() = {
+ watermark_view_.get(), watermark_view_->GetVisible(),
+- gfx::Rect(0, 0, width, height), views::SizeBounds(container_size));
++ gfx::Rect(0, 0, width, height), views::SizeBounds(container_size)};
+ }
+ layouts.host_size = gfx::Size(width, height);
+ return layouts;
+diff -up chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc 2024-05-17 12:33:58.713650509 +0200
+@@ -60,12 +60,12 @@ std::vector<EmbeddedPermissionPromptAskV
+ EmbeddedPermissionPromptAskView::GetButtonsConfiguration() const {
+ std::vector<ButtonConfiguration> buttons;
+ if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
+- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
++ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
+ }
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+- ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
++ ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId};
+ return buttons;
+ }
+
+diff -up chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
+--- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h 2024-05-17 12:33:58.713650509 +0200
+@@ -87,6 +87,7 @@ class EmbeddedPermissionPromptBaseView :
+ struct RequestLineConfiguration {
+ const raw_ptr<const gfx::VectorIcon> icon;
+ std::u16string message;
++ RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { }
+ };
+
+ struct ButtonConfiguration {
+diff -up chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc 2024-05-17 12:33:58.713650509 +0200
+@@ -64,8 +64,8 @@ EmbeddedPermissionPromptPolicyView::GetR
+ std::vector<EmbeddedPermissionPromptPolicyView::ButtonConfiguration>
+ EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() const {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
+- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
++ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal};
+ return buttons;
+ }
+
+diff -up chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc 2024-05-17 12:33:58.713650509 +0200
+@@ -79,17 +79,17 @@ EmbeddedPermissionPromptPreviouslyDenied
+ std::vector<EmbeddedPermissionPromptPreviouslyDeniedView::ButtonConfiguration>
+ EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING),
+- ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal};
+
+ if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
+- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId);
++ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId};
+ } else {
+- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+- ButtonType::kAllow, ui::ButtonStyle::kTonal);
++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
++ ButtonType::kAllow, ui::ButtonStyle::kTonal};
+ }
+ return buttons;
+ }
+diff -up chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2024-05-17 12:33:58.713650509 +0200
+@@ -74,12 +74,12 @@ EmbeddedPermissionPromptPreviouslyGrante
+ std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
+ EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const {
+ std::vector<ButtonConfiguration> buttons;
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
+- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
++ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
+
+- buttons.emplace_back(
++ buttons.emplace_back() = {
+ l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
+- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId);
++ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId};
+ return buttons;
+ }
+diff -up chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_style_views.cc 2024-05-17 12:33:58.714650530 +0200
+@@ -1214,10 +1214,10 @@ SkPath ChromeRefresh2023TabStyleViews::G
+
+ // Radii are clockwise from top left.
+ const SkVector radii[4] = {
+- SkVector(top_content_corner_radius, top_content_corner_radius),
+- SkVector(top_content_corner_radius, top_content_corner_radius),
+- SkVector(bottom_content_corner_radius, bottom_content_corner_radius),
+- SkVector(bottom_content_corner_radius, bottom_content_corner_radius)};
++ SkVector{top_content_corner_radius, top_content_corner_radius},
++ SkVector{top_content_corner_radius, top_content_corner_radius},
++ SkVector{bottom_content_corner_radius, bottom_content_corner_radius},
++ SkVector{bottom_content_corner_radius, bottom_content_corner_radius}};
+ SkRRect rrect;
+ rrect.setRectRadii(SkRect::MakeLTRB(left, top, right, bottom), radii);
+ SkPath path;
+diff -up chromium-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc
+--- chromium-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/web_applications/sub_apps_service_impl.cc 2024-05-17 12:33:58.714650530 +0200
+@@ -108,7 +108,7 @@ AddOptionsFromMojo(
+ ConvertPathToUrl(sub_app->manifest_id_path, origin));
+ ASSIGN_OR_RETURN(GURL install_url,
+ ConvertPathToUrl(sub_app->install_url_path, origin));
+- sub_apps.emplace_back(std::move(manifest_id), std::move(install_url));
++ sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)};
+ }
+ return sub_apps;
+ }
+@@ -440,7 +440,7 @@ void SubAppsServiceImpl::ScheduleSubAppI
+ base::BindOnce(
+ [](webapps::ManifestId manifest_id, const webapps::AppId& app_id,
+ webapps::InstallResultCode result_code) {
+- return SubAppInstallResult(manifest_id, app_id, result_code);
++ return SubAppInstallResult{manifest_id, app_id, result_code};
+ },
+ manifest_id)
+ .Then(concurrent.CreateCallback()),
+diff -up chromium-125.0.6422.60/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-125.0.6422.60/chrome/test/chromedriver/capabilities.cc
+--- chromium-125.0.6422.60/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2024-05-15 23:46:07.000000000 +0200
++++ chromium-125.0.6422.60/chrome/test/chromedriver/capabilities.cc 2024-05-17 12:33:58.715650551 +0200
+@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base::
+ "'version' field of type string");
+ }
+
+- brands.emplace_back(*brand, *version);
++ brands.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.brands = std::move(brands);
+@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base::
+ "a 'version' field of type string");
+ }
+
+- full_version_list.emplace_back(*brand, *version);
++ full_version_list.emplace_back() = {*brand, *version};
+ }
+
+ client_hints.full_version_list = std::move(full_version_list);
+diff -up chromium-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc.no_matching_constructor chromium-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc
+--- chromium-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc.no_matching_constructor 2024-05-17 15:50:21.185054389 +0200
++++ chromium-125.0.6422.60/components/attribution_reporting/aggregatable_utils.cc 2024-05-17 15:51:40.414881053 +0200
+@@ -33,7 +33,7 @@ std::vector<NullAggregatableReport> GetN
+ }
+
+ if (generate_func(i)) {
+- reports.emplace_back(fake_source_time);
++ reports.emplace_back() = {fake_source_time};
+ }
+ }
+ return reports;
+diff -up chromium-125.0.6422.60/components/attribution_reporting/registration_info.cc.no_matching_constructor chromium-125.0.6422.60/components/attribution_reporting/registration_info.cc
+--- chromium-125.0.6422.60/components/attribution_reporting/registration_info.cc.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/attribution_reporting/registration_info.cc 2024-05-17 12:33:58.715650551 +0200
+@@ -96,7 +96,7 @@ RegistrationInfo::ParseInfo(const net::s
+
+ ASSIGN_OR_RETURN(bool report_header_errors, ParseReportHeaderErrors(dict));
+
+- return RegistrationInfo(preferred_platform, report_header_errors);
++ return RegistrationInfo{preferred_platform, report_header_errors};
+ }
+
+ } // namespace attribution_reporting
+diff -up chromium-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc.no_matching_constructor chromium-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc
+--- chromium-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc.no_matching_constructor 2024-05-18 22:33:31.434606367 +0200
++++ chromium-125.0.6422.60/components/autofill/content/renderer/form_autofill_util.cc 2024-05-18 22:34:00.604459627 +0200
+@@ -2274,7 +2274,7 @@ std::vector<std::pair<FieldRef, WebAutof
+ if (element.Focused()) {
+ focused_field = {&field, element};
+ } else {
+- unfocused_fields.emplace_back(&field, element);
++ unfocused_fields.emplace_back() = {&field, element};
+ }
+ }
+
+diff -up chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.no_matching_constructor chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc
+--- chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc 2024-05-17 12:33:58.715650551 +0200
+@@ -635,10 +635,10 @@ std::unique_ptr<AutofillProfile> Address
+ }
+
+ base::span<const uint8_t> observations_data = s.ColumnBlob(3);
+- field_type_values.emplace_back(
++ field_type_values.emplace_back() = {
+ type, s.ColumnString16(1), s.ColumnInt(2),
+ std::vector<uint8_t>(observations_data.begin(),
+- observations_data.end()));
++ observations_data.end())};
+
+ if (type == ADDRESS_HOME_COUNTRY) {
+ country_code = base::UTF16ToUTF8(s.ColumnString16(1));
+diff -up chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc
+--- chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc 2024-05-17 12:33:58.715650551 +0200
+@@ -169,9 +169,9 @@ class ContactInfoProfileSetter {
+ CHECK(observations.empty());
+ for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
+ metadata.observations()) {
+- observations.emplace_back(proto_observation.type(),
++ observations.emplace_back() = {proto_observation.type(),
+ ProfileTokenQuality::FormSignatureHash(
+- proto_observation.form_hash()));
++ proto_observation.form_hash())};
+ }
+ }
+ }
+diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc.no_matching_constructor 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.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc 2024-05-18 14:19:21.256381797 +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_unittest.cc.no_matching_constructor chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc
+diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc.no_matching_constructor 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.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc 2024-05-18 14:17:19.705988914 +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/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc
+--- chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor 2024-05-17 16:24:29.993689838 +0200
++++ chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc 2024-05-17 16:24:48.402073830 +0200
+@@ -98,7 +98,7 @@ bool FCMInvalidationService::UpdateInter
+ DVLOG(2) << "Subscribing to topics: " << topic_set.size();
+ TopicMap topic_map;
+ for (const auto& topic_name : topic_set) {
+- topic_map[topic_name] = TopicMetadata(handler->IsPublicTopic(topic_name));
++ topic_map[topic_name] = TopicMetadata{handler->IsPublicTopic(topic_name)};
+ }
+ // TODO(crbug.com/40675708): UpdateRegisteredTopics() should be renamed to
+ // clarify that it actually updates whether topics need subscription (aka
+diff -up chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc
+--- chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor 2024-05-15 23:46:12.000000000 +0200
++++ chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc 2024-05-17 12:33:58.715650551 +0200
+@@ -92,8 +92,8 @@ void UnnecessaryDiscardMonitor::OnDiscar
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ if (current_reclaim_event_) {
+ // Cache this kill event along with the time it took place.
+- current_reclaim_event_kills_.emplace_back(memory_freed_kb,
+- discard_complete_time);
++ current_reclaim_event_kills_.emplace_back() = {memory_freed_kb,
++ discard_complete_time};
+ }
+ }
+
+diff -up chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc.no_matching_constructor chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc
+--- chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc.no_matching_constructor 2024-05-15 23:46:13.000000000 +0200
++++ chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc 2024-05-17 12:33:58.716650572 +0200
+@@ -686,7 +686,7 @@ void PasswordManager::OnUserModifiedNonP
+ it->second.last_change = base::Time::Now();
+ } else {
+ possible_usernames_.Put(
+- PossibleUsernameFieldIdentifier(driver_id, renderer_id),
++ PossibleUsernameFieldIdentifier{driver_id, renderer_id},
+ PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
+ renderer_id, value, base::Time::Now(), driver_id,
+ autocomplete_attribute_has_username,
+diff -up chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc
+--- chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor 2024-05-17 23:09:49.869213076 +0200
++++ chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc 2024-05-17 23:22:38.599168420 +0200
+@@ -157,7 +157,7 @@ void MaybeAppendManagePasswordsEntry(
+ suggestion.icon = autofill::Suggestion::Icon::kSettings;
+ // The UI code will pick up an icon from the resources based on the string.
+ suggestion.trailing_icon = autofill::Suggestion::Icon::kGooglePasswordManager;
+- suggestions->emplace_back(std::move(suggestion));
++ suggestions->emplace_back() = {std::move(suggestion)};
+ }
+
+ // If |field_suggestion| matches |field_content|, creates a Suggestion out of it
+@@ -205,7 +205,7 @@ void AppendSuggestionIfMatching(
+ suggestion.trailing_icon = CreateStoreIcon(from_account_store);
+ }
+ #endif
+- suggestions->emplace_back(std::move(suggestion));
++ suggestions->emplace_back() = {std::move(suggestion)};
+ }
+ }
+
+@@ -237,8 +237,8 @@ void GetSuggestions(const autofill::Pass
+
+ void AddPasswordUsernameChildSuggestion(const std::u16string& username,
+ autofill::Suggestion& suggestion) {
+- suggestion.children.emplace_back(
+- username, autofill::PopupItemId::kPasswordFieldByFieldFilling);
++ suggestion.children.emplace_back() =
++ {username, autofill::PopupItemId::kPasswordFieldByFieldFilling};
+ }
+
+ void AddFillPasswordChildSuggestion(autofill::Suggestion& suggestion,
+@@ -248,8 +248,8 @@ void AddFillPasswordChildSuggestion(auto
+ IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_FILL_PASSWORD_ENTRY),
+ autofill::PopupItemId::kFillPassword);
+ fill_password.payload =
+- autofill::Suggestion::PasswordSuggestionDetails(password);
+- suggestion.children.emplace_back(std::move(fill_password));
++ autofill::Suggestion::PasswordSuggestionDetails{password};
++ suggestion.children.emplace_back() = {std::move(fill_password)};
+ }
+
+ void AddViewPasswordDetailsChildSuggestion(autofill::Suggestion& suggestion) {
+@@ -258,7 +258,7 @@ void AddViewPasswordDetailsChildSuggesti
+ IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_VIEW_DETAILS_ENTRY),
+ autofill::PopupItemId::kViewPasswordDetails);
+ view_password_details.icon = autofill::Suggestion::Icon::kKey;
+- suggestion.children.emplace_back(std::move(view_password_details));
++ suggestion.children.emplace_back() = {std::move(view_password_details)};
+ }
+
+ autofill::Suggestion GetManualFallbackSuggestion(
+@@ -273,7 +273,7 @@ autofill::Suggestion GetManualFallbackSu
+ suggestion.additional_label = maybe_username;
+ suggestion.icon = autofill::Suggestion::Icon::kGlobe;
+ suggestion.payload =
+- autofill::Suggestion::PasswordSuggestionDetails(credential.password);
++ autofill::Suggestion::PasswordSuggestionDetails{credential.password};
+ suggestion.is_acceptable = on_password_form.value();
+
+ if (!replaced) {
+@@ -355,27 +355,27 @@ PasswordSuggestionGenerator::GetSuggesti
+ if (uses_passkeys && delegate->OfferPasskeysFromAnotherDeviceOption()) {
+ bool listed_passkeys = delegate->GetPasskeys().has_value() &&
+ delegate->GetPasskeys()->size() > 0;
+- suggestions.emplace_back(CreateWebAuthnEntry(listed_passkeys));
++ suggestions.emplace_back() = {CreateWebAuthnEntry(listed_passkeys)};
+ }
+ #endif
+
+ // Add password generation entry, if available.
+ if (offers_generation) {
+- suggestions.emplace_back(
+- show_account_storage_optin
++ suggestions.emplace_back() =
++ {show_account_storage_optin
+ ? CreateEntryToOptInToAccountStorageThenGenerate()
+- : CreateGenerationEntry());
++ : CreateGenerationEntry()};
+ }
+
+ // Add button to opt into using the account storage for passwords and then
+ // suggest.
+ if (show_account_storage_optin) {
+- suggestions.emplace_back(CreateEntryToOptInToAccountStorageThenFill());
++ suggestions.emplace_back() = {CreateEntryToOptInToAccountStorageThenFill()};
+ }
+
+ // Add button to sign-in which unlocks the previously used account store.
+ if (show_account_storage_resignin) {
+- suggestions.emplace_back(CreateEntryToReSignin());
++ suggestions.emplace_back() = {CreateEntryToReSignin()};
+ }
+
+ // Add "Manage all passwords" link to settings.
+@@ -393,30 +393,30 @@ PasswordSuggestionGenerator::GetManualFa
+ const bool generate_sections =
+ !suggested_credentials.empty() && !credentials.empty();
+ if (generate_sections) {
+- suggestions.emplace_back(
+- l10n_util::GetStringUTF16(
++ suggestions.emplace_back() =
++ {l10n_util::GetStringUTF16(
+ IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_SUGGESTED_PASSWORDS_SECTION_TITLE),
+- autofill::PopupItemId::kTitle);
++ autofill::PopupItemId::kTitle};
+ }
+
+ for (const auto& form : suggested_credentials) {
+- suggestions.emplace_back(
+- GetManualFallbackSuggestion(CredentialUIEntry(form), on_password_form));
++ suggestions.emplace_back() =
++ {GetManualFallbackSuggestion(CredentialUIEntry(form), on_password_form)};
+ }
+
+ if (generate_sections) {
+- suggestions.emplace_back(
+- l10n_util::GetStringUTF16(
++ suggestions.emplace_back() =
++ {l10n_util::GetStringUTF16(
+ IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_ALL_PASSWORDS_SECTION_TITLE),
+- autofill::PopupItemId::kTitle);
++ autofill::PopupItemId::kTitle};
+ }
+
+ // Only the "All passwords" section should be sorted alphabetically.
+ const size_t relevant_section_offset = suggestions.size();
+
+ for (const CredentialUIEntry& credential : credentials) {
+- suggestions.emplace_back(
+- GetManualFallbackSuggestion(credential, on_password_form));
++ suggestions.emplace_back() =
++ {GetManualFallbackSuggestion(credential, on_password_form)};
+ }
+
+ base::ranges::sort(suggestions.begin() + relevant_section_offset,
+diff -up chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc.no_matching_constructor chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc
+--- chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc.no_matching_constructor 2024-05-15 23:46:13.000000000 +0200
++++ chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc 2024-05-17 12:33:58.716650572 +0200
+@@ -242,7 +242,7 @@ void WorkerWatcher::OnWorkerCreated(
+ DCHECK(insertion_result.second);
+
+ absl::visit(
+- base::Overloaded(
++ base::Overloaded{
+ [&,
+ this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
+ AddFrameClientConnection(insertion_result.first->second.get(),
+@@ -251,7 +251,7 @@ void WorkerWatcher::OnWorkerCreated(
+ [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
+ ConnectDedicatedWorkerClient(insertion_result.first->second.get(),
+ dedicated_worker_token);
+- }),
++ }},
+ creator);
+ }
+
+@@ -268,7 +268,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
+ // First disconnect the creator's node from this worker node.
+
+ absl::visit(
+- base::Overloaded(
++ base::Overloaded{
+ [&,
+ this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
+ RemoveFrameClientConnection(worker_node.get(),
+@@ -277,7 +277,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
+ [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
+ DisconnectDedicatedWorkerClient(worker_node.get(),
+ dedicated_worker_token);
+- }),
++ }},
+ creator);
+
+ // Disconnect all child workers before destroying the node.
+@@ -449,7 +449,7 @@ void WorkerWatcher::OnControlleeAdded(
+ const std::string& client_uuid,
+ const content::ServiceWorkerClientInfo& client_info) {
+ absl::visit(
+- base::Overloaded(
++ base::Overloaded{
+ [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
+ // For window clients, it is necessary to wait until the navigation
+ // has committed to a RenderFrameHost.
+@@ -487,7 +487,7 @@ void WorkerWatcher::OnControlleeAdded(
+ ConnectSharedWorkerClient(service_worker_node,
+ shared_worker_token);
+ }
+- }),
++ }},
+ client_info);
+ }
+
+@@ -527,7 +527,7 @@ void WorkerWatcher::OnControlleeRemoved(
+ return;
+
+ absl::visit(
+- base::Overloaded(
++ base::Overloaded{
+ [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
+ RemoveFrameClientConnection(worker_node, render_frame_host_id);
+ },
+@@ -537,7 +537,7 @@ void WorkerWatcher::OnControlleeRemoved(
+ },
+ [&, this](blink::SharedWorkerToken shared_worker_token) {
+ DisconnectSharedWorkerClient(worker_node, shared_worker_token);
+- }),
++ }},
+ client);
+ }
+
+@@ -813,7 +813,7 @@ void WorkerWatcher::ConnectAllServiceWor
+
+ for (const auto& kv : it->second) {
+ absl::visit(
+- base::Overloaded(
++ base::Overloaded{
+ [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
+ AddFrameClientConnection(service_worker_node,
+ render_frame_host_id);
+@@ -825,7 +825,7 @@ void WorkerWatcher::ConnectAllServiceWor
+ [&, this](blink::SharedWorkerToken shared_worker_token) {
+ ConnectSharedWorkerClient(service_worker_node,
+ shared_worker_token);
+- }),
++ }},
+ kv.second);
+ }
+ }
+@@ -840,7 +840,7 @@ void WorkerWatcher::DisconnectAllService
+
+ for (const auto& kv : it->second) {
+ absl::visit(
+- base::Overloaded(
++ base::Overloaded{
+ [&, this](
+ const content::GlobalRenderFrameHostId& render_frame_host_id) {
+ RemoveFrameClientConnection(service_worker_node,
+@@ -854,7 +854,7 @@ void WorkerWatcher::DisconnectAllService
+ [&, this](const blink::SharedWorkerToken& shared_worker_token) {
+ DisconnectSharedWorkerClient(service_worker_node,
+ shared_worker_token);
+- }),
++ }},
+ kv.second);
+ }
+ }
+diff -up chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+--- chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2024-05-17 12:33:58.716650572 +0200
+@@ -1720,7 +1720,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
+
+ // Issue readbacks from the surfaces:
+ for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
+- SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height());
++ SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()};
+ SkImageInfo dst_info = SkImageInfo::Make(
+ size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType,
+ kUnpremul_SkAlphaType);
+diff -up chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc.no_matching_constructor chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc
+--- chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc.no_matching_constructor 2024-05-17 17:18:47.841479697 +0200
++++ chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc 2024-05-17 18:23:41.679054785 +0200
+@@ -181,9 +181,9 @@ void SignedWebBundleSignatureVerifier::O
+ // https://github.com/WICG/webpackage/blob/3f95ec365b87ed19d2cb5186e473ccc4d011e2af/explainers/integrity-signature.md
+ std::vector<uint8_t> payload_to_verify = CreateSignaturePayload({
+ .unsigned_web_bundle_hash = absl::visit(
+- base::Overloaded([](const auto& digest) -> base::span<const uint8_t> {
++ base::Overloaded{[](const auto& digest) -> base::span<const uint8_t> {
+ return digest;
+- }),
++ }},
+ *unsigned_web_bundle_hash),
+ .integrity_block_cbor = CreateIntegrityBlockCBOR(),
+ .attributes_cbor = signature_stack_entry.attributes_cbor(),
+diff -up chromium-125.0.6422.60/content/browser/download/save_package.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/download/save_package.cc
+--- chromium-125.0.6422.60/content/browser/download/save_package.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/download/save_package.cc 2024-05-17 12:33:58.717650592 +0200
+@@ -802,8 +802,8 @@ void SavePackage::Finish() {
+ if (download_) {
+ std::vector<download::DownloadSaveItemData::ItemInfo> files;
+ for (auto& item : saved_success_items_) {
+- files.emplace_back(item.second->full_path(), item.second->url(),
+- item.second->referrer().url);
++ files.emplace_back() = {item.second->full_path(), item.second->url(),
++ item.second->referrer().url};
+ }
+ download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
+ }
+diff -up chromium-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc
+--- chromium-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/fenced_frame/fenced_frame_config.cc 2024-05-17 12:33:58.717650592 +0200
+@@ -407,7 +407,7 @@ void FencedFrameProperties::UpdateParent
+ feature, allow_list.AllowedOrigins(), allow_list.SelfIfMatches(),
+ allow_list.MatchesAll(), allow_list.MatchesOpaqueSrc());
+ }
+- parent_permissions_info_.emplace(parsed_policies, parent_origin);
++ parent_permissions_info_.emplace() = {parsed_policies, parent_origin};
+ }
+
+ } // namespace content
+diff -up chromium-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc
+--- chromium-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_set_parser.cc 2024-05-17 12:33:58.718650614 +0200
+@@ -774,7 +774,7 @@ FirstPartySetParser::ParseSetsFromEnterp
+ context.GetPolicySetsFromList(
+ policy.FindList(kFirstPartySetPolicyAdditionsField),
+ PolicySetType::kAddition));
+- return ParsedPolicySetLists(std::move(replacements), std::move(additions));
++ return ParsedPolicySetLists{std::move(replacements), std::move(additions)};
+ }();
+
+ context.PostProcessSetLists(set_lists);
+diff -up chromium-125.0.6422.60/content/browser/gpu/compositor_util.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/gpu/compositor_util.cc
+--- chromium-125.0.6422.60/content/browser/gpu/compositor_util.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/gpu/compositor_util.cc 2024-05-17 12:33:58.718650614 +0200
+@@ -108,7 +108,7 @@ std::vector<GpuFeatureData> GetGpuFeatur
+ *base::CommandLine::ForCurrentProcess();
+
+ std::vector<GpuFeatureData> features;
+- features.emplace_back(
++ features.emplace_back() = {
+ "2d_canvas",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS,
+@@ -116,13 +116,13 @@ std::vector<GpuFeatureData> GetGpuFeatur
+ DisableInfo::Problem(
+ "Accelerated 2D canvas is unavailable: either disabled "
+ "via blocklist or the command line."),
+- true);
+- features.emplace_back(
++ true};
++ features.emplace_back() = {
+ "canvas_oop_rasterization",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION,
+- command_line.HasSwitch(switches::kDisableAccelerated2dCanvas)));
+- features.emplace_back(
++ command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))};
++ features.emplace_back() = {
+ "gpu_compositing",
+ // TODO(rivr): Replace with a check to see which backend is used for
+ // compositing; do the same for GPU rasterization if it's enabled. For
+@@ -136,16 +136,16 @@ std::vector<GpuFeatureData> GetGpuFeatur
+ "about:flags "
+ "or the command line. The browser will fall back to software "
+ "compositing and hardware acceleration will be unavailable."),
+- true);
+- features.emplace_back(
++ true};
++ features.emplace_back() = {
+ "webgl",
+ SafeGetFeatureStatus(gpu_feature_info,
+ gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL,
+ command_line.HasSwitch(switches::kDisableWebGL)),
+ DisableInfo::Problem(
+ "WebGL has been disabled via blocklist or the command line."),
+- false);
+- features.emplace_back(
++ false};
++ features.emplace_back() = {
+ "video_decode",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE,
+@@ -156,8 +156,8 @@ std::vector<GpuFeatureData> GetGpuFeatur
+ DisableInfo::Problem(
+ "Accelerated video decode has been disabled, either via blocklist, "
+ "about:flags or the command line."),
+- true);
+- features.emplace_back(
++ true};
++ features.emplace_back() = {
+ "video_encode",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE,
+@@ -169,33 +169,33 @@ std::vector<GpuFeatureData> GetGpuFeatur
+ DisableInfo::Problem(
+ "Accelerated video encode has been disabled, either via blocklist, "
+ "about:flags or the command line."),
+- true);
+- features.emplace_back(
++ true};
++ features.emplace_back() = {
+ "rasterization",
+ SafeGetFeatureStatus(gpu_feature_info,
+ gpu::GPU_FEATURE_TYPE_GPU_TILE_RASTERIZATION),
+ DisableInfo::Problem(
+ "Accelerated rasterization has been disabled, either via blocklist, "
+ "about:flags or the command line."),
+- true);
+- features.emplace_back(
++ true};
++ features.emplace_back() = {
+ "opengl", SafeGetFeatureStatus(gpu_feature_info,
+- gpu::GPU_FEATURE_TYPE_ACCELERATED_GL));
++ gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)};
+ #if BUILDFLAG(ENABLE_VULKAN)
+- features.emplace_back(
++ features.emplace_back() = {
+ "vulkan",
+- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN));
++ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)};
+ #endif
+- features.emplace_back(
++ features.emplace_back() = {
+ "multiple_raster_threads",
+- GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1));
++ GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)};
+ #if BUILDFLAG(IS_ANDROID)
+- features.emplace_back(
++ features.emplace_back() = {
+ "surface_control",
+ SafeGetFeatureStatus(gpu_feature_info,
+- gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL));
++ gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)};
+ #endif
+- features.emplace_back(
++ features.emplace_back() = {
+ "webgl2",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL2,
+@@ -203,12 +203,12 @@ std::vector<GpuFeatureData> GetGpuFeatur
+ command_line.HasSwitch(switches::kDisableWebGL2)),
+ DisableInfo::Problem(
+ "WebGL2 has been disabled via blocklist or the command line."),
+- false);
+- features.emplace_back("raw_draw",
+- GetFakeFeatureStatus(features::IsUsingRawDraw()));
+- features.emplace_back("direct_rendering_display_compositor",
+- GetFakeFeatureStatus(features::IsDrDcEnabled()));
+- features.emplace_back(
++ false};
++ features.emplace_back() = {"raw_draw",
++ GetFakeFeatureStatus(features::IsUsingRawDraw())};
++ features.emplace_back() = {"direct_rendering_display_compositor",
++ GetFakeFeatureStatus(features::IsDrDcEnabled())};
++ features.emplace_back() = {
+ "webgpu",
+ SafeGetFeatureStatus(
+ gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGPU,
+@@ -216,14 +216,14 @@ std::vector<GpuFeatureData> GetGpuFeatur
+ !base::FeatureList::IsEnabled(::features::kWebGPUService)),
+ DisableInfo::Problem(
+ "WebGPU has been disabled via blocklist or the command line."),
+- false);
+- features.emplace_back(
++ false};
++ features.emplace_back() = {
+ "skia_graphite",
+ SafeGetFeatureStatus(gpu_feature_info,
+- gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE));
+- features.emplace_back(
++ gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)};
++ features.emplace_back() = {
+ "webnn",
+- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN));
++ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)};
+ return features;
+ }
+
+diff -up chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h.no_matching_constructor chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h
+--- chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.h 2024-05-17 12:33:58.718650614 +0200
+@@ -133,6 +133,7 @@ class CONTENT_EXPORT HeaderDirectFromSel
+
+ // The Ad-Auction-Signals response served by `origin`.
+ std::string response_json;
++ UnprocessedResponse(auto u, auto s) : origin(u), response_json(s) { }
+ };
+
+ // Information from ParseAndFind() calls used by ParseAndFindCompleted.
+diff -up chromium-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc
+--- chromium-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/interest_group/interest_group_auction.cc 2024-05-17 12:33:58.719650634 +0200
+@@ -600,7 +600,7 @@ bool SampleDebugReport(
+ blink::features::kFledgeDebugReportRestrictedCooldown.Get() !=
+ base::Milliseconds(0))) {
+ new_debug_report_lockout_and_cooldowns.debug_report_cooldown_map[origin] =
+- DebugReportCooldown(now_nearest_next_hour, cooldown_type);
++ DebugReportCooldown{now_nearest_next_hour, cooldown_type};
+ }
+
+ return can_send_debug_report;
+diff -up chromium-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc
+--- chromium-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/interest_group/interest_group_storage.cc 2024-05-17 12:33:58.721650676 +0200
+@@ -3412,9 +3412,9 @@ std::optional<DebugReportCooldown> DoGet
+ return std::nullopt;
+ }
+
+- return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0),
++ return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0),
+ static_cast<DebugReportCooldownType>(
+- cooldown_debugging_only_report.ColumnInt(1)));
++ cooldown_debugging_only_report.ColumnInt(1))};
+ }
+
+ void DoGetDebugReportCooldowns(
+@@ -3542,10 +3542,10 @@ DoGetKAnonymityData(sql::Database& db,
+
+ std::vector<StorageInterestGroup::KAnonymityData> k_anon_data;
+ while (interest_group_kanon_query.Step()) {
+- k_anon_data.emplace_back(
++ k_anon_data.emplace_back() = {
+ /*key=*/interest_group_kanon_query.ColumnString(0),
+ /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1),
+- /*last_updated=*/interest_group_kanon_query.ColumnTime(2));
++ /*last_updated=*/interest_group_kanon_query.ColumnTime(2)};
+ }
+ if (!interest_group_kanon_query.Succeeded()) {
+ return std::nullopt;
+@@ -4338,7 +4338,7 @@ DoGetBiddingAndAuctionServerKeys(sql::Da
+ std::vector<BiddingAndAuctionServerKey> keys;
+ keys.reserve(key_protos.keys_size());
+ for (auto& key_proto : *key_protos.mutable_keys()) {
+- keys.emplace_back(std::move(*key_proto.mutable_key()), key_proto.id());
++ keys.emplace_back() = {std::move(*key_proto.mutable_key()), key_proto.id()};
+ }
+ return {expiration, keys};
+ }
+diff -up chromium-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc
+--- chromium-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/renderer_host/render_frame_host_impl.cc 2024-05-17 12:33:58.723650717 +0200
+@@ -8796,7 +8796,7 @@ void RenderFrameHostImpl::SendFencedFram
+ for (const blink::FencedFrame::ReportingDestination& destination :
+ destinations) {
+ SendFencedFrameReportingBeaconInternal(
+- DestinationEnumEvent(event_type, event_data, cross_origin_exposed),
++ DestinationEnumEvent{event_type, event_data, cross_origin_exposed},
+ destination);
+ }
+ }
+@@ -8827,7 +8827,7 @@ void RenderFrameHostImpl::SendFencedFram
+ }
+
+ SendFencedFrameReportingBeaconInternal(
+- DestinationURLEvent(destination_url, cross_origin_exposed),
++ DestinationURLEvent{destination_url, cross_origin_exposed},
+ blink::FencedFrame::ReportingDestination::kBuyer);
+ }
+
+@@ -8958,7 +8958,7 @@ void RenderFrameHostImpl::MaybeSendFence
+ data = info->data;
+ }
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- AutomaticBeaconEvent(event_type, data), destination,
++ AutomaticBeaconEvent{event_type, data}, destination,
+ navigation_request.GetNavigationId());
+ }
+ } else {
+@@ -8969,7 +8969,7 @@ void RenderFrameHostImpl::MaybeSendFence
+ for (blink::FencedFrame::ReportingDestination destination :
+ info->destinations) {
+ initiator_rfh->SendFencedFrameReportingBeaconInternal(
+- AutomaticBeaconEvent(event_type, info->data), destination,
++ AutomaticBeaconEvent{event_type, info->data}, destination,
+ navigation_request.GetNavigationId());
+ }
+ }
+diff -up chromium-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc
+--- chromium-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc.no_matching_constructor 2024-05-15 23:46:18.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/service_worker/service_worker_container_host.cc 2024-05-17 12:33:58.724650738 +0200
+@@ -947,7 +947,7 @@ ServiceWorkerContainerHost::GetClientTyp
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ DCHECK(client_info_);
+ return absl::visit(
+- base::Overloaded(
++ base::Overloaded{
+ [](GlobalRenderFrameHostId render_frame_host_id) {
+ return blink::mojom::ServiceWorkerClientType::kWindow;
+ },
+@@ -956,7 +956,7 @@ ServiceWorkerContainerHost::GetClientTyp
+ },
+ [](blink::SharedWorkerToken shared_worker_token) {
+ return blink::mojom::ServiceWorkerClientType::kSharedWorker;
+- }),
++ }},
+ *client_info_);
+ }
+
+diff -up chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc
+--- chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.no_matching_constructor 2024-05-15 23:46:18.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc 2024-05-17 12:33:58.724650738 +0200
+@@ -367,10 +367,10 @@ ServiceWorkerMainResourceLoaderIntercept
+ }
+ auto* storage_partition = process->GetStoragePartition();
+
+- return absl::visit(base::Overloaded([&, this](auto token) {
++ return absl::visit(base::Overloaded{[&, this](auto token) {
+ return GetStorageKeyFromWorkerHost(storage_partition,
+ token, origin);
+- }),
++ }},
+ *worker_token_);
+ }
+
+diff -up chromium-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc.no_matching_constructor chromium-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc
+--- chromium-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc.no_matching_constructor 2024-05-15 23:46:18.000000000 +0200
++++ chromium-125.0.6422.60/content/browser/worker_host/dedicated_worker_host.cc 2024-05-17 12:33:58.725650759 +0200
+@@ -258,7 +258,7 @@ void DedicatedWorkerHost::StartScriptLoa
+ RenderFrameHostImpl* creator_render_frame_host = nullptr;
+ DedicatedWorkerHost* creator_worker = nullptr;
+
+- absl::visit(base::Overloaded(
++ absl::visit(base::Overloaded{
+ [&](const GlobalRenderFrameHostId& render_frame_host_id) {
+ creator_render_frame_host =
+ RenderFrameHostImpl::FromID(render_frame_host_id);
+@@ -266,7 +266,7 @@ void DedicatedWorkerHost::StartScriptLoa
+ [&](blink::DedicatedWorkerToken dedicated_worker_token) {
+ creator_worker = service_->GetDedicatedWorkerHostFromToken(
+ dedicated_worker_token);
+- }),
++ }},
+ creator_);
+
+ if (!creator_render_frame_host && !creator_worker) {
+diff -up chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc.no_matching_constructor chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc
+--- chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc.no_matching_constructor 2024-05-18 23:43:25.984767458 +0200
++++ chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc 2024-05-18 23:47:43.981254708 +0200
+@@ -396,8 +396,8 @@ bool ServiceWorkerTaskQueue::IsReadyToRu
+ return false;
+ }
+
+- const SequencedContextId context_id(extension->id(), browser_context_,
+- *activation_token);
++ const SequencedContextId context_id{extension->id(), browser_context_,
++ *activation_token};
+ const WorkerState* worker_state = GetWorkerState(context_id);
+
+ if (!worker_state || !worker_state->worker_id_) {
+diff -up chromium-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h.no_matching_constructor chromium-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h
+--- chromium-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h.no_matching_constructor 2024-05-15 23:46:22.000000000 +0200
++++ chromium-125.0.6422.60/gpu/command_buffer/client/shared_image_interface.h 2024-05-17 12:33:58.725650759 +0200
+@@ -64,19 +64,19 @@ struct SharedImageInfo {
+ SkAlphaType alpha_type,
+ uint32_t usage,
+ std::string_view debug_label)
+- : meta(format, size, color_space, surface_origin, alpha_type, usage),
++ : meta{format, size, color_space, surface_origin, alpha_type, usage},
+ debug_label(debug_label) {}
+ SharedImageInfo(const viz::SharedImageFormat& format,
+ gfx::Size size,
+ const gfx::ColorSpace& color_space,
+ uint32_t usage,
+ std::string_view debug_label)
+- : meta(format,
++ : meta{format,
+ size,
+ color_space,
+ kTopLeft_GrSurfaceOrigin,
+ kPremul_SkAlphaType,
+- usage),
++ usage},
+ debug_label(debug_label) {}
+ // This constructor exists only to support the DEPRECATED CreareSharedImage
+ // call below that accepts a GpuMemoryBuffer. This should be removed when that
+diff -up chromium-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc.no_matching_constructor chromium-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc
+--- chromium-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc.no_matching_constructor 2024-05-15 23:46:22.000000000 +0200
++++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image_interface_in_process.cc 2024-05-17 12:33:58.725650759 +0200
+@@ -601,12 +601,12 @@ SharedImageInterfaceInProcess::CreateSha
+
+ return base::MakeRefCounted<ClientSharedImage>(
+ mailbox,
+- SharedImageMetadata(
++ SharedImageMetadata{
+ viz::GetSinglePlaneSharedImageFormat(
+ GetPlaneBufferFormat(plane, gpu_memory_buffer->GetFormat())),
+ gpu_memory_buffer->GetSize(), si_info.meta.color_space,
+ si_info.meta.surface_origin, si_info.meta.alpha_type,
+- si_info.meta.usage),
++ si_info.meta.usage},
+ GenUnverifiedSyncToken(), holder_, gpu_memory_buffer->GetType());
+ }
+
+diff -up chromium-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc.no_matching_constructor chromium-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc
+--- chromium-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc.no_matching_constructor 2024-05-15 23:46:22.000000000 +0200
++++ chromium-125.0.6422.60/gpu/ipc/client/client_shared_image_interface.cc 2024-05-17 15:17:33.527552837 +0200
+@@ -247,11 +247,11 @@ scoped_refptr<ClientSharedImage> ClientS
+ AddMailbox(proxy_->CreateSharedImage(
+ buffer_format, plane, gpu_memory_buffer->GetSize(), si_info,
+ gpu_memory_buffer->CloneHandle())),
+- SharedImageMetadata(viz::GetSinglePlaneSharedImageFormat(
++ SharedImageMetadata{viz::GetSinglePlaneSharedImageFormat(
+ GetPlaneBufferFormat(plane, buffer_format)),
+ gpu_memory_buffer->GetSize(),
+ si_info.meta.color_space, si_info.meta.surface_origin,
+- si_info.meta.alpha_type, si_info.meta.usage),
++ si_info.meta.alpha_type, si_info.meta.usage},
+ GenUnverifiedSyncToken(), holder_, gpu_memory_buffer->GetType());
+ }
+
+@@ -286,13 +286,13 @@ ClientSharedImageInterface::CreateSwapCh
+ return ClientSharedImageInterface::SwapChainSharedImages(
+ base::MakeRefCounted<ClientSharedImage>(
+ mailboxes.front_buffer,
+- SharedImageMetadata(format, size, color_space, surface_origin,
+- alpha_type, usage),
++ SharedImageMetadata{format, size, color_space, surface_origin,
++ alpha_type, usage},
+ sync_token, holder_, gfx::EMPTY_BUFFER),
+ base::MakeRefCounted<ClientSharedImage>(
+ mailboxes.back_buffer,
+- SharedImageMetadata(format, size, color_space, surface_origin,
+- alpha_type, usage),
++ SharedImageMetadata{format, size, color_space, surface_origin,
++ alpha_type, usage},
+ sync_token, holder_, gfx::EMPTY_BUFFER));
+ }
+
+@@ -350,8 +350,8 @@ scoped_refptr<ClientSharedImage> ClientS
+
+ return base::MakeRefCounted<ClientSharedImage>(
+ mailbox,
+- SharedImageMetadata(format, size, color_space, surface_origin, alpha_type,
+- usage),
++ SharedImageMetadata{format, size, color_space, surface_origin, alpha_type,
++ usage},
+ GenUnverifiedSyncToken(), holder_, gfx::EMPTY_BUFFER);
+ }
+
+diff -up chromium-125.0.6422.60/net/dns/host_resolver_cache.cc.no_matching_constructor chromium-125.0.6422.60/net/dns/host_resolver_cache.cc
+--- chromium-125.0.6422.60/net/dns/host_resolver_cache.cc.no_matching_constructor 2024-05-15 23:46:31.000000000 +0200
++++ chromium-125.0.6422.60/net/dns/host_resolver_cache.cc 2024-05-17 12:33:58.726650779 +0200
+@@ -368,7 +368,7 @@ void HostResolverCache::Set(
+
+ std::string domain_name = result->domain_name();
+ entries_.emplace(
+- Key(std::move(domain_name), network_anonymization_key),
++ Key{std::move(domain_name), network_anonymization_key},
+ Entry(std::move(result), source, secure, staleness_generation));
+
+ if (entries_.size() > max_entries_) {
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
+--- chromium-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc.no_matching_constructor 2024-05-18 11:35:28.689791628 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc 2024-05-18 11:35:52.294334790 +0200
+@@ -7509,7 +7509,7 @@ std::optional<InsetAreaKeyword> ConsumeI
+ default:
+ return std::nullopt;
+ }
+- return InsetAreaKeyword(css_parsing_utils::ConsumeIdent(range), type);
++ return InsetAreaKeyword{css_parsing_utils::ConsumeIdent(range), type};
+ }
+
+ } // namespace
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc
+--- chromium-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc.no_matching_constructor 2024-05-18 11:23:33.036875347 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/core/layout/anchor_evaluator_impl.cc 2024-05-18 11:24:05.697684459 +0200
+@@ -601,7 +601,7 @@ AnchorEvaluatorImpl::ComputeInsetAreaOff
+ right = Evaluate(query.value(), position_anchor,
+ /* inset_area_offsets */ std::nullopt);
+ }
+- return InsetAreaOffsets(top, bottom, left, right);
++ return InsetAreaOffsets{top, bottom, left, right};
+ }
+
+ PhysicalRect AnchorEvaluatorImpl::InsetAreaModifiedContainingBlock(
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc
+--- chromium-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.no_matching_constructor 2024-05-15 23:46:42.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc 2024-05-17 12:33:58.726650779 +0200
+@@ -181,8 +181,8 @@ AudioRendererMixer* AudioRendererMixerMa
+ DVLOG(1) << "Not reusing mixer with errors: " << it->second.mixer;
+
+ // Move bad mixers out of the reuse map.
+- dead_mixers_.emplace_back(std::move(it->second.mixer),
+- it->second.ref_count);
++ dead_mixers_.emplace_back() = {std::move(it->second.mixer),
++ it->second.ref_count};
+ mixers_.erase(it);
+ }
+
+@@ -228,7 +228,7 @@ void AudioRendererMixerManager::ReturnMi
+ }
+ } else if (dead_it == dead_mixers_.end() && mixer_ref.mixer->HasSinkError()) {
+ // Move bad mixers out of the reuse map.
+- dead_mixers_.emplace_back(std::move(mixer_ref.mixer), mixer_ref.ref_count);
++ dead_mixers_.emplace_back() = {std::move(mixer_ref.mixer), mixer_ref.ref_count};
+ mixers_.erase(it);
+ }
+ }
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h
+--- chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2024-05-15 23:46:42.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/font_palette.h 2024-05-17 12:33:58.726650779 +0200
+@@ -96,7 +96,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ Color::ColorSpace color_interpolation_space,
+ std::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+ return base::AdoptRef(new FontPalette(
+- start, end, NonNormalizedPercentages(start_percentage, end_percentage),
++ start, end, NonNormalizedPercentages{start_percentage, end_percentage},
+ normalized_percentage, alpha_multiplier, color_interpolation_space,
+ hue_interpolation_method));
+ }
+@@ -170,7 +170,7 @@ class PLATFORM_EXPORT FontPalette : publ
+ double normalized_percentage) {
+ double end_percentage = normalized_percentage * 100.0;
+ double start_percentage = 100.0 - end_percentage;
+- return NonNormalizedPercentages(start_percentage, end_percentage);
++ return NonNormalizedPercentages{start_percentage, end_percentage};
+ }
+
+ double GetAlphaMultiplier() const {
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+--- chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.no_matching_constructor 2024-05-15 23:46:42.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/platform/fonts/palette_interpolation.cc 2024-05-17 12:33:58.727650800 +0200
+@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
+ color_interpolation_space, hue_interpolation_method, start_color,
+ end_color, percentage, alpha_multiplier);
+
+- FontPalette::FontPaletteOverride result_color_record(i, result_color);
++ FontPalette::FontPaletteOverride result_color_record{static_cast<int>(i), result_color};
+ result_color_records.push_back(result_color_record);
+ }
+ return result_color_records;
+diff -up chromium-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor chromium-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp
+--- chromium-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.no_matching_constructor 2024-05-15 23:48:12.000000000 +0200
++++ chromium-125.0.6422.60/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp 2024-05-17 12:33:58.727650800 +0200
+@@ -507,7 +507,7 @@ void CPDF_RenderStatus::ProcessClipPath(
+ } else {
+ m_pDevice->SetClip_PathFill(
+ *pPath, &mtObj2Device,
+- CFX_FillRenderOptions(ClipPath.GetClipType(i)));
++ CFX_FillRenderOptions{ClipPath.GetClipType(i)});
+ }
+ }
+
+diff -up chromium-125.0.6422.60/ui/base/wayland/color_manager_util.h.no_matching_constructor chromium-125.0.6422.60/ui/base/wayland/color_manager_util.h
+--- chromium-125.0.6422.60/ui/base/wayland/color_manager_util.h.no_matching_constructor 2024-05-15 23:47:32.000000000 +0200
++++ chromium-125.0.6422.60/ui/base/wayland/color_manager_util.h 2024-05-17 12:33:58.728650821 +0200
+@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base::
+ zcr_color_manager_v1_chromaticity_names,
+ PrimaryVersion>(
+ {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
+- kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG,
+- kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
+- kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB,
+- PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB,
+- kDefaultSinceVersion)},
++ PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN,
+- PrimaryVersion(
++ PrimaryVersion{
+ gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN,
+- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M,
+- PrimaryVersion(
++ PrimaryVersion{
+ gfx::ColorSpace::PrimaryID::BT470M,
+- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M,
+- PrimaryVersion(
++ PrimaryVersion{
+ gfx::ColorSpace::PrimaryID::SMPTE240M,
+- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50,
+- PrimaryVersion(
++ PrimaryVersion{
+ gfx::ColorSpace::PrimaryID::XYZ_D50,
+- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1,
+- PrimaryVersion(
++ PrimaryVersion{
+ gfx::ColorSpace::PrimaryID::SMPTEST428_1,
+- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2,
+- PrimaryVersion(
++ PrimaryVersion{
+ gfx::ColorSpace::PrimaryID::SMPTEST431_2,
+- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM,
+- PrimaryVersion(
++ PrimaryVersion{
+ gfx::ColorSpace::PrimaryID::FILM,
+- ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}});
++ ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}});
+
+ // A map from the zcr_color_manager_v1 eotf_names enum values
+ // representing well-known EOTFs, to their equivalent TransferIDs.
+@@ -107,68 +107,68 @@ constexpr auto kEotfMap = base::MakeFixe
+ zcr_color_manager_v1_eotf_names,
+ TransferVersion>({
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+- TransferVersion(gfx::ColorSpace::TransferID::LINEAR,
+- kDefaultSinceVersion)},
++ TransferVersion{gfx::ColorSpace::TransferID::LINEAR,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
+- TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)},
++ TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
+- TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
+- TransferVersion(gfx::ColorSpace::TransferID::BT709,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::BT709,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
+- TransferVersion(gfx::ColorSpace::TransferID::GAMMA24,
+- kDefaultSinceVersion)},
++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA24,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
+ // This is ever so slightly inaccurate. The number ought to be
+ // 2.19921875f, not 2.2
+- TransferVersion(gfx::ColorSpace::TransferID::GAMMA22,
+- kDefaultSinceVersion)},
++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA22,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
+- TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)},
++ TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
+- TransferVersion(gfx::ColorSpace::TransferID::HLG,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::HLG,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M,
+- TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M,
+- TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1,
+- TransferVersion(
++ TransferVersion{
+ gfx::ColorSpace::TransferID::SMPTEST428_1,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG,
+- TransferVersion(gfx::ColorSpace::TransferID::LOG,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::LOG,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT,
+- TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4,
+- TransferVersion(
++ TransferVersion{
+ gfx::ColorSpace::TransferID::IEC61966_2_4,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG,
+- TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10,
+- TransferVersion(gfx::ColorSpace::TransferID::BT2020_10,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::BT2020_10,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12,
+- TransferVersion(gfx::ColorSpace::TransferID::BT2020_12,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::BT2020_12,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS,
+- TransferVersion(
++ TransferVersion{
+ gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18,
+- TransferVersion(gfx::ColorSpace::TransferID::GAMMA18,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA18,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28,
+- TransferVersion(gfx::ColorSpace::TransferID::GAMMA28,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)},
++ TransferVersion{gfx::ColorSpace::TransferID::GAMMA28,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}},
+ });
+
+ // A map from the SDR zcr_color_manager_v1 eotf_names enum values
+@@ -177,18 +177,18 @@ constexpr auto kEotfMap = base::MakeFixe
+ constexpr auto kTransferMap =
+ base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
++ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
+- TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
++ TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
+- TransferFnVersion(
++ TransferFnVersion{
+ SkNamedTransferFnExt::kRec709,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
+- TransferFnVersion(gamma24, kDefaultSinceVersion)},
++ TransferFnVersion{gamma24, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
+- TransferFnVersion(SkNamedTransferFnExt::kA98RGB,
+- kDefaultSinceVersion)},
++ TransferFnVersion{SkNamedTransferFnExt::kA98RGB,
++ kDefaultSinceVersion}},
+ });
+
+ // A map from the HDR zcr_color_manager_v1 eotf_names enum values
+@@ -197,70 +197,70 @@ constexpr auto kTransferMap =
+ constexpr auto kHDRTransferMap =
+ base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>(
+ {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
++ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
+- TransferFnVersion(
++ TransferFnVersion{
+ SkNamedTransferFnExt::kSRGB,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
+- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
++ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
+- TransferFnVersion(SkNamedTransferFn::kHLG,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
++ TransferFnVersion{SkNamedTransferFn::kHLG,
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10,
+- TransferFnVersion(
++ TransferFnVersion{
+ SkNamedTransferFnExt::kSRGBExtended1023Over510,
+- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}});
++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}});
+
+ // A map from zcr_color_manager_v1 matrix_names enum values to
+ // gfx::ColorSpace::MatrixIDs.
+ constexpr auto kMatrixMap =
+ base::MakeFixedFlatMap<zcr_color_manager_v1_matrix_names, MatrixVersion>(
+ {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB,
+- MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709,
+- MatrixVersion(gfx::ColorSpace::MatrixID::BT709,
+- kDefaultSinceVersion)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::BT709,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG,
+- MatrixVersion(
++ MatrixVersion{
+ gfx::ColorSpace::MatrixID::BT470BG,
+- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)},
++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL,
+- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL,
+- kDefaultSinceVersion)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL,
+- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL,
+- kDefaultSinceVersion)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC,
+- MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG,
+- MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG,
+- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG,
++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX,
+- MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX,
+- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX,
++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR,
+- MatrixVersion(gfx::ColorSpace::MatrixID::GBR,
+- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::GBR,
++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M,
+- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M,
+- kDefaultSinceVersion)},
++ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M,
+- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M,
+- kDefaultSinceVersion)}});
++ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M,
++ kDefaultSinceVersion}}});
+
+ // A map from zcr_color_manager_v1 range_names enum values to
+ // gfx::ColorSpace::RangeIDs.
+ constexpr auto kRangeMap =
+ base::MakeFixedFlatMap<zcr_color_manager_v1_range_names, RangeVersion>(
+ {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED,
+- RangeVersion(gfx::ColorSpace::RangeID::LIMITED,
+- kDefaultSinceVersion)},
++ RangeVersion{gfx::ColorSpace::RangeID::LIMITED,
++ kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL,
+- RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)},
++ RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}},
+ {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED,
+- RangeVersion(gfx::ColorSpace::RangeID::DERIVED,
+- kDefaultSinceVersion)}});
++ RangeVersion{gfx::ColorSpace::RangeID::DERIVED,
++ kDefaultSinceVersion}}});
+
+ zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
+ gfx::ColorSpace::PrimaryID primaryID,
+@@ -283,4 +283,4 @@ zcr_color_manager_v1_eotf_names ToColorM
+
+ } // namespace ui::wayland
+
+-#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+\ Kein Zeilenumbruch am Dateiende.
++#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+diff -up chromium-125.0.6422.60/ui/gtk/gtk_ui.cc.no_matching_constructor chromium-125.0.6422.60/ui/gtk/gtk_ui.cc
+--- chromium-125.0.6422.60/ui/gtk/gtk_ui.cc.no_matching_constructor 2024-05-15 23:47:33.000000000 +0200
++++ chromium-125.0.6422.60/ui/gtk/gtk_ui.cc 2024-05-17 12:33:58.728650821 +0200
+@@ -1001,11 +1001,11 @@ display::DisplayConfig GtkUi::GetDisplay
+ GdkRectangle geometry;
+ gdk_monitor_get_geometry(monitor, &geometry);
+ int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
+- config.display_geometries.emplace_back(
++ config.display_geometries.emplace_back() = {
+ gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
+ monitor_scale * geometry.width,
+ monitor_scale * geometry.height),
+- monitor_scale * font_scale);
++ static_cast<float>(monitor_scale * font_scale)};
+ }
+ return config;
+ }
+diff -up chromium-125.0.6422.60/ui/views/controls/button/label_button.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/controls/button/label_button.cc
+--- chromium-125.0.6422.60/ui/views/controls/button/label_button.cc.no_matching_constructor 2024-05-18 23:18:50.361107872 +0200
++++ chromium-125.0.6422.60/ui/views/controls/button/label_button.cc 2024-05-18 23:20:03.807502613 +0200
+@@ -391,11 +391,11 @@ ProposedLayout LabelButton::CalculatePro
+
+ gfx::Rect image_area = GetLocalBounds();
+
+- layouts.child_layouts.emplace_back(
++ layouts.child_layouts.emplace_back() = {
+ ink_drop_container_.get(),
+ static_cast<DelegatingLayoutManager*>(GetLayoutManager())
+ ->CanBeVisible(ink_drop_container_.get()),
+- image_area, SizeBounds());
++ image_area, SizeBounds()};
+
+ gfx::Insets insets = GetInsets();
+ // If the button have a limited space to fit in, the image and the label
+@@ -447,11 +447,11 @@ ProposedLayout LabelButton::CalculatePro
+ } else if (horizontal_alignment == gfx::ALIGN_RIGHT) {
+ image_origin.Offset(image_area.width() - image_size.width(), 0);
+ }
+- layouts.child_layouts.emplace_back(
++ layouts.child_layouts.emplace_back() = {
+ const_cast<LabelButton*>(this)->image_container_view(),
+ static_cast<DelegatingLayoutManager*>(GetLayoutManager())
+ ->CanBeVisible(image_container_view()),
+- gfx::Rect(image_origin, image_size), SizeBounds());
++ gfx::Rect(image_origin, image_size), SizeBounds()};
+
+ gfx::Rect label_bounds = label_area;
+ if (label_area.width() == label_size.width()) {
+@@ -465,11 +465,11 @@ ProposedLayout LabelButton::CalculatePro
+ }
+ }
+
+- layouts.child_layouts.emplace_back(
++ layouts.child_layouts.emplace_back() = {
+ label_.get(),
+ static_cast<DelegatingLayoutManager*>(GetLayoutManager())
+ ->CanBeVisible(label_.get()),
+- label_bounds, SizeBounds());
++ label_bounds, SizeBounds()};
+ layouts.host_size =
+ gfx::Size(size_bounds.width().value(), size_bounds.height().value());
+
+diff -up chromium-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc
+--- chromium-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc.no_matching_constructor 2024-05-18 23:47:53.838491347 +0200
++++ chromium-125.0.6422.60/ui/views/controls/editable_combobox/editable_combobox.cc 2024-05-18 23:49:06.186312630 +0200
+@@ -492,16 +492,16 @@ ProposedLayout EditableCombobox::Calcula
+ layout.host_size =
+ gfx::Size(size_bounds.width().value(), size_bounds.height().value());
+ }
+- layout.child_layouts.emplace_back(
++ layout.child_layouts.emplace_back() = {
+ textfield_.get(), textfield_->GetVisible(),
+- gfx::Rect(0, 0, layout.host_size.width(), layout.host_size.height()));
++ gfx::Rect(0, 0, layout.host_size.width(), layout.host_size.height())};
+ const int preferred_width =
+ control_elements_container_->GetPreferredSize({}).width();
+- layout.child_layouts.emplace_back(
++ layout.child_layouts.emplace_back() = {
+ control_elements_container_.get(),
+ control_elements_container_->GetVisible(),
+ gfx::Rect(layout.host_size.width() - preferred_width, 0, preferred_width,
+- layout.host_size.height()));
++ layout.host_size.height())};
+ return layout;
+ }
+
+diff -up chromium-125.0.6422.60/ui/views/layout/box_layout.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/layout/box_layout.cc
+--- chromium-125.0.6422.60/ui/views/layout/box_layout.cc.no_matching_constructor 2024-05-18 23:20:53.444272586 +0200
++++ chromium-125.0.6422.60/ui/views/layout/box_layout.cc 2024-05-18 23:21:13.339673253 +0200
+@@ -325,7 +325,7 @@ void BoxLayout::InitializeChildData(BoxL
+ data.child_data.emplace_back();
+ BoxChildData& child_data = data.child_data.back();
+
+- data.layout.child_layouts.emplace_back(child, true);
++ data.layout.child_layouts.emplace_back() = {child, true};
+
+ gfx::Insets* margins = child ? child->GetProperty(kMarginsKey) : nullptr;
+ if (margins) {
+diff -up chromium-125.0.6422.60/ui/views/window/dialog_client_view.cc.no_matching_constructor chromium-125.0.6422.60/ui/views/window/dialog_client_view.cc
+--- chromium-125.0.6422.60/ui/views/window/dialog_client_view.cc.no_matching_constructor 2024-05-18 23:51:05.385279382 +0200
++++ chromium-125.0.6422.60/ui/views/window/dialog_client_view.cc 2024-05-18 23:51:40.146096719 +0200
+@@ -205,16 +205,16 @@ ProposedLayout DialogClientView::Calcula
+ const int container_height =
+ button_row_container_->GetHeightForWidth(size_bounds.width().value());
+ const int container_y = size_bounds.height().value() - container_height;
+- layouts.child_layouts.emplace_back(
++ layouts.child_layouts.emplace_back() = {
+ button_row_container_.get(), button_row_container_->GetVisible(),
+ gfx::Rect(0, container_y, size_bounds.width().value(), container_height),
+- size_bounds);
++ size_bounds};
+ if (contents_view()) {
+ gfx::Rect contents_bounds(size_bounds.width().value(), container_y);
+ contents_bounds.Inset(GetDialogDelegate()->margins());
+- layouts.child_layouts.emplace_back(contents_view(),
++ layouts.child_layouts.emplace_back() = {contents_view(),
+ contents_view()->GetVisible(),
+- contents_bounds, size_bounds);
++ contents_bounds, size_bounds};
+ }
+ layouts.host_size =
+ gfx::Size(size_bounds.width().value(), size_bounds.height().value());
diff --git a/chromium-125-el7-old-libdrm.patch b/chromium-125-el7-old-libdrm.patch
new file mode 100644
index 0000000..ab62977
--- /dev/null
+++ b/chromium-125-el7-old-libdrm.patch
@@ -0,0 +1,18 @@
+diff -up chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc
+--- chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2024-05-16 20:43:26.619455300 +0200
++++ chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc 2024-05-16 20:45:18.120716278 +0200
+@@ -9,6 +9,14 @@
+ #include "base/logging.h"
+ #include "base/notreached.h"
+
++// the libdrm in EL-7 is too old to have this define
++#ifndef DRM_FORMAT_P010
++#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0')
++#endif
++#ifndef DRM_FORMAT_ABGR16161616F
++#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H')
++#endif
++
+ namespace ui {
+
+ int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format) {
diff --git a/chromium-125-el7-rust-proc-macro2.patch b/chromium-125-el7-rust-proc-macro2.patch
new file mode 100644
index 0000000..64a6978
--- /dev/null
+++ b/chromium-125-el7-rust-proc-macro2.patch
@@ -0,0 +1,747 @@
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/build.rs
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/build.rs 2024-05-15 23:47:24.000000000 +0200
+@@ -36,10 +36,10 @@
+
+ use std::env;
+ use std::ffi::OsString;
++use std::iter;
+ use std::path::Path;
+ use std::process::{self, Command, Stdio};
+ use std::str;
+-use std::u32;
+
+ fn main() {
+ let rustc = rustc_minor_version().unwrap_or(u32::MAX);
+@@ -63,6 +63,11 @@
+ println!("cargo:rustc-cfg=no_source_text");
+ }
+
++ if rustc < 79 {
++ println!("cargo:rustc-cfg=no_literal_byte_character");
++ println!("cargo:rustc-cfg=no_literal_c_string");
++ }
++
+ if !cfg!(feature = "proc-macro") {
+ println!("cargo:rerun-if-changed=build.rs");
+ return;
+@@ -138,15 +143,15 @@
+ let out_dir = cargo_env_var("OUT_DIR");
+ let probefile = Path::new("build").join("probe.rs");
+
+- // Make sure to pick up Cargo rustc configuration.
+- let mut cmd = if let Some(wrapper) = env::var_os("RUSTC_WRAPPER") {
+- let mut cmd = Command::new(wrapper);
+- // The wrapper's first argument is supposed to be the path to rustc.
+- cmd.arg(rustc);
+- cmd
+- } else {
+- Command::new(rustc)
+- };
++ let rustc_wrapper = env::var_os("RUSTC_WRAPPER").filter(|wrapper| !wrapper.is_empty());
++ let rustc_workspace_wrapper =
++ env::var_os("RUSTC_WORKSPACE_WRAPPER").filter(|wrapper| !wrapper.is_empty());
++ let mut rustc = rustc_wrapper
++ .into_iter()
++ .chain(rustc_workspace_wrapper)
++ .chain(iter::once(rustc));
++ let mut cmd = Command::new(rustc.next().unwrap());
++ cmd.args(rustc);
+
+ if !rustc_bootstrap {
+ cmd.env_remove("RUSTC_BOOTSTRAP");
+@@ -156,6 +161,7 @@
+ .arg("--edition=2021")
+ .arg("--crate-name=proc_macro2")
+ .arg("--crate-type=lib")
++ .arg("--cap-lints=allow")
+ .arg("--emit=dep-info,metadata")
+ .arg("--out-dir")
+ .arg(out_dir)
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml 2024-05-15 23:47:24.000000000 +0200
+@@ -13,7 +13,7 @@
+ edition = "2021"
+ rust-version = "1.56"
+ name = "proc-macro2"
+-version = "1.0.78"
++version = "1.0.80"
+ authors = [
+ "David Tolnay <dtolnay@gmail.com>",
+ "Alex Crichton <alex@alexcrichton.com>",
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml.orig chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml.orig
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml.orig 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml.orig 2024-05-15 23:47:24.000000000 +0200
+@@ -1,6 +1,6 @@
+ [package]
+ name = "proc-macro2"
+-version = "1.0.78"
++version = "1.0.80"
+ authors = ["David Tolnay <dtolnay@gmail.com>", "Alex Crichton <alex@alexcrichton.com>"]
+ autobenches = false
+ categories = ["development-tools::procedural-macro-helpers"]
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.cargo_vcs_info.json chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.cargo_vcs_info.json
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.cargo_vcs_info.json 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.cargo_vcs_info.json 2024-05-15 23:47:24.000000000 +0200
+@@ -1,6 +1,6 @@
+ {
+ "git": {
+- "sha1": "d850a1db5e3fe7732d62cacbfc4145e496c2a80e"
++ "sha1": "da51f8d005cc5d8299c1872fad9bbe63b07c31c7"
+ },
+ "path_in_vcs": ""
+ }
+\ Kein Zeilenumbruch am Dateiende.
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.github/workflows/ci.yml chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.github/workflows/ci.yml
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.github/workflows/ci.yml 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.github/workflows/ci.yml 2024-05-15 23:47:24.000000000 +0200
+@@ -198,6 +198,7 @@
+ timeout-minutes: 45
+ steps:
+ - uses: actions/checkout@v4
++ - uses: dtolnay/rust-toolchain@stable
+ - uses: dtolnay/install@cargo-outdated
+ - run: cargo outdated --workspace --exit-code 1
+ - run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/fallback.rs
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/fallback.rs 2024-05-15 23:47:24.000000000 +0200
+@@ -15,7 +15,9 @@
+ use core::ops::Range;
+ use core::ops::RangeBounds;
+ use core::ptr;
+-use core::str::FromStr;
++use core::str::{self, FromStr};
++use std::ffi::CStr;
++#[cfg(procmacro2_semver_exempt)]
+ use std::path::PathBuf;
+
+ /// Force use of proc-macro2's fallback implementation of the API for now, even
+@@ -297,11 +299,13 @@
+ }
+ }
+
++#[cfg(procmacro2_semver_exempt)]
+ #[derive(Clone, PartialEq, Eq)]
+ pub(crate) struct SourceFile {
+ path: PathBuf,
+ }
+
++#[cfg(procmacro2_semver_exempt)]
+ impl SourceFile {
+ /// Get the path to this source file as a string.
+ pub fn path(&self) -> PathBuf {
+@@ -313,6 +317,7 @@
+ }
+ }
+
++#[cfg(procmacro2_semver_exempt)]
+ impl Debug for SourceFile {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.debug_struct("SourceFile")
+@@ -922,7 +927,7 @@
+
+ #[derive(Clone)]
+ pub(crate) struct Literal {
+- repr: String,
++ pub(crate) repr: String,
+ span: Span,
+ }
+
+@@ -1003,71 +1008,98 @@
+ Literal::_new(s)
+ }
+
+- pub fn string(t: &str) -> Literal {
+- let mut repr = String::with_capacity(t.len() + 2);
++ pub fn string(string: &str) -> Literal {
++ let mut repr = String::with_capacity(string.len() + 2);
+ repr.push('"');
+- let mut chars = t.chars();
+- while let Some(ch) = chars.next() {
+- if ch == '\0' {
+- repr.push_str(
+- if chars
+- .as_str()
+- .starts_with(|next| '0' <= next && next <= '7')
+- {
+- // circumvent clippy::octal_escapes lint
+- "\\x00"
+- } else {
+- "\\0"
+- },
+- );
+- } else if ch == '\'' {
+- // escape_debug turns this into "\'" which is unnecessary.
+- repr.push(ch);
+- } else {
+- repr.extend(ch.escape_debug());
+- }
+- }
++ escape_utf8(string, &mut repr);
+ repr.push('"');
+ Literal::_new(repr)
+ }
+
+- pub fn character(t: char) -> Literal {
++ pub fn character(ch: char) -> Literal {
+ let mut repr = String::new();
+ repr.push('\'');
+- if t == '"' {
++ if ch == '"' {
+ // escape_debug turns this into '\"' which is unnecessary.
+- repr.push(t);
++ repr.push(ch);
+ } else {
+- repr.extend(t.escape_debug());
++ repr.extend(ch.escape_debug());
++ }
++ repr.push('\'');
++ Literal::_new(repr)
++ }
++
++ pub fn byte_character(byte: u8) -> Literal {
++ let mut repr = "b'".to_string();
++ #[allow(clippy::match_overlapping_arm)]
++ match byte {
++ b'\0' => repr.push_str(r"\0"),
++ b'\t' => repr.push_str(r"\t"),
++ b'\n' => repr.push_str(r"\n"),
++ b'\r' => repr.push_str(r"\r"),
++ b'\'' => repr.push_str(r"\'"),
++ b'\\' => repr.push_str(r"\\"),
++ b'\x20'..=b'\x7E' => repr.push(byte as char),
++ _ => {
++ let _ = write!(repr, r"\x{:02X}", byte);
++ }
+ }
+ repr.push('\'');
+ Literal::_new(repr)
+ }
+
+ pub fn byte_string(bytes: &[u8]) -> Literal {
+- let mut escaped = "b\"".to_string();
++ let mut repr = "b\"".to_string();
+ let mut bytes = bytes.iter();
+ while let Some(&b) = bytes.next() {
+ #[allow(clippy::match_overlapping_arm)]
+ match b {
+- b'\0' => escaped.push_str(match bytes.as_slice().first() {
++ b'\0' => repr.push_str(match bytes.as_slice().first() {
+ // circumvent clippy::octal_escapes lint
+ Some(b'0'..=b'7') => r"\x00",
+ _ => r"\0",
+ }),
+- b'\t' => escaped.push_str(r"\t"),
+- b'\n' => escaped.push_str(r"\n"),
+- b'\r' => escaped.push_str(r"\r"),
+- b'"' => escaped.push_str("\\\""),
+- b'\\' => escaped.push_str("\\\\"),
+- b'\x20'..=b'\x7E' => escaped.push(b as char),
++ b'\t' => repr.push_str(r"\t"),
++ b'\n' => repr.push_str(r"\n"),
++ b'\r' => repr.push_str(r"\r"),
++ b'"' => repr.push_str("\\\""),
++ b'\\' => repr.push_str(r"\\"),
++ b'\x20'..=b'\x7E' => repr.push(b as char),
+ _ => {
+- let _ = write!(escaped, "\\x{:02X}", b);
++ let _ = write!(repr, r"\x{:02X}", b);
+ }
+ }
+ }
+- escaped.push('"');
+- Literal::_new(escaped)
++ repr.push('"');
++ Literal::_new(repr)
++ }
++
++ pub fn c_string(string: &CStr) -> Literal {
++ let mut repr = "c\"".to_string();
++ let mut bytes = string.to_bytes();
++ while !bytes.is_empty() {
++ let (valid, invalid) = match str::from_utf8(bytes) {
++ Ok(all_valid) => {
++ bytes = b"";
++ (all_valid, bytes)
++ }
++ Err(utf8_error) => {
++ let (valid, rest) = bytes.split_at(utf8_error.valid_up_to());
++ let valid = str::from_utf8(valid).unwrap();
++ let invalid = utf8_error
++ .error_len()
++ .map_or(rest, |error_len| &rest[..error_len]);
++ bytes = &bytes[valid.len() + invalid.len()..];
++ (valid, invalid)
++ }
++ };
++ escape_utf8(valid, &mut repr);
++ for &byte in invalid {
++ let _ = write!(repr, r"\x{:02X}", byte);
++ }
++ }
++ repr.push('"');
++ Literal::_new(repr)
+ }
+
+ pub fn span(&self) -> Span {
+@@ -1168,3 +1200,27 @@
+ debug.finish()
+ }
+ }
++
++fn escape_utf8(string: &str, repr: &mut String) {
++ let mut chars = string.chars();
++ while let Some(ch) = chars.next() {
++ if ch == '\0' {
++ repr.push_str(
++ if chars
++ .as_str()
++ .starts_with(|next| '0' <= next && next <= '7')
++ {
++ // circumvent clippy::octal_escapes lint
++ r"\x00"
++ } else {
++ r"\0"
++ },
++ );
++ } else if ch == '\'' {
++ // escape_debug turns this into "\'" which is unnecessary.
++ repr.push(ch);
++ } else {
++ repr.extend(ch.escape_debug());
++ }
++ }
++}
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/lib.rs
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/lib.rs 2024-05-15 23:47:24.000000000 +0200
+@@ -86,7 +86,7 @@
+ //! a different thread.
+
+ // Proc-macro2 types in rustdoc of other crates get linked to here.
+-#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.78")]
++#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.80")]
+ #![cfg_attr(any(proc_macro_span, super_unstable), feature(proc_macro_span))]
+ #![cfg_attr(super_unstable, feature(proc_macro_def_site))]
+ #![cfg_attr(doc_cfg, feature(doc_cfg))]
+@@ -96,6 +96,7 @@
+ clippy::cast_possible_truncation,
+ clippy::checked_conversions,
+ clippy::doc_markdown,
++ clippy::incompatible_msrv,
+ clippy::items_after_statements,
+ clippy::iter_without_into_iter,
+ clippy::let_underscore_untyped,
+@@ -169,6 +170,7 @@
+ use core::ops::RangeBounds;
+ use core::str::FromStr;
+ use std::error::Error;
++use std::ffi::CStr;
+ #[cfg(procmacro2_semver_exempt)]
+ use std::path::PathBuf;
+
+@@ -1233,9 +1235,19 @@
+ Literal::_new(imp::Literal::character(ch))
+ }
+
++ /// Byte character literal.
++ pub fn byte_character(byte: u8) -> Literal {
++ Literal::_new(imp::Literal::byte_character(byte))
++ }
++
+ /// Byte string literal.
+- pub fn byte_string(s: &[u8]) -> Literal {
+- Literal::_new(imp::Literal::byte_string(s))
++ pub fn byte_string(bytes: &[u8]) -> Literal {
++ Literal::_new(imp::Literal::byte_string(bytes))
++ }
++
++ /// C string literal.
++ pub fn c_string(string: &CStr) -> Literal {
++ Literal::_new(imp::Literal::c_string(string))
+ }
+
+ /// Returns the span encompassing this literal.
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/wrapper.rs
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/wrapper.rs 2024-05-15 23:47:24.000000000 +0200
+@@ -7,6 +7,7 @@
+ use core::ops::Range;
+ use core::ops::RangeBounds;
+ use core::str::FromStr;
++use std::ffi::CStr;
+ use std::panic;
+ #[cfg(super_unstable)]
+ use std::path::PathBuf;
+@@ -846,19 +847,38 @@
+ }
+ }
+
+- pub fn string(t: &str) -> Literal {
++ pub fn string(string: &str) -> Literal {
+ if inside_proc_macro() {
+- Literal::Compiler(proc_macro::Literal::string(t))
++ Literal::Compiler(proc_macro::Literal::string(string))
+ } else {
+- Literal::Fallback(fallback::Literal::string(t))
++ Literal::Fallback(fallback::Literal::string(string))
+ }
+ }
+
+- pub fn character(t: char) -> Literal {
++ pub fn character(ch: char) -> Literal {
+ if inside_proc_macro() {
+- Literal::Compiler(proc_macro::Literal::character(t))
++ Literal::Compiler(proc_macro::Literal::character(ch))
+ } else {
+- Literal::Fallback(fallback::Literal::character(t))
++ Literal::Fallback(fallback::Literal::character(ch))
++ }
++ }
++
++ pub fn byte_character(byte: u8) -> Literal {
++ if inside_proc_macro() {
++ Literal::Compiler({
++ #[cfg(not(no_literal_byte_character))]
++ {
++ proc_macro::Literal::byte_character(byte)
++ }
++
++ #[cfg(no_literal_byte_character)]
++ {
++ let fallback = fallback::Literal::byte_character(byte);
++ fallback.repr.parse::<proc_macro::Literal>().unwrap()
++ }
++ })
++ } else {
++ Literal::Fallback(fallback::Literal::byte_character(byte))
+ }
+ }
+
+@@ -870,6 +890,25 @@
+ }
+ }
+
++ pub fn c_string(string: &CStr) -> Literal {
++ if inside_proc_macro() {
++ Literal::Compiler({
++ #[cfg(not(no_literal_c_string))]
++ {
++ proc_macro::Literal::c_string(string)
++ }
++
++ #[cfg(no_literal_c_string)]
++ {
++ let fallback = fallback::Literal::c_string(string);
++ fallback.repr.parse::<proc_macro::Literal>().unwrap()
++ }
++ })
++ } else {
++ Literal::Fallback(fallback::Literal::c_string(string))
++ }
++ }
++
+ pub fn span(&self) -> Span {
+ match self {
+ Literal::Compiler(lit) => Span::Compiler(lit.span()),
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/marker.rs
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/marker.rs 2024-05-15 23:47:24.000000000 +0200
+@@ -21,6 +21,7 @@
+ $(
+ {
+ // Implemented for types that implement $marker.
++ #[allow(dead_code)]
+ trait IsNotImplemented {
+ fn assert_not_implemented() {}
+ }
+diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/test.rs
+--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs 2024-04-10 23:25:21.000000000 +0200
++++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/test.rs 2024-05-15 23:47:24.000000000 +0200
+@@ -1,11 +1,14 @@
+ #![allow(
+ clippy::assertions_on_result_states,
+ clippy::items_after_statements,
++ clippy::needless_pass_by_value,
++ clippy::needless_raw_string_hashes,
+ clippy::non_ascii_literal,
+ clippy::octal_escapes
+ )]
+
+ use proc_macro2::{Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree};
++use std::ffi::CStr;
+ use std::iter;
+ use std::str::{self, FromStr};
+
+@@ -96,12 +99,22 @@
+
+ #[test]
+ fn literal_string() {
+- assert_eq!(Literal::string("foo").to_string(), "\"foo\"");
+- assert_eq!(Literal::string("\"").to_string(), "\"\\\"\"");
+- assert_eq!(Literal::string("didn't").to_string(), "\"didn't\"");
+- assert_eq!(
+- Literal::string("a\00b\07c\08d\0e\0").to_string(),
+- "\"a\\x000b\\x007c\\08d\\0e\\0\"",
++ #[track_caller]
++ fn assert(literal: Literal, expected: &str) {
++ assert_eq!(literal.to_string(), expected.trim());
++ }
++
++ assert(Literal::string(""), r#" "" "#);
++ assert(Literal::string("aA"), r#" "aA" "#);
++ assert(Literal::string("\t"), r#" "\t" "#);
++ assert(Literal::string("❤"), r#" "❤" "#);
++ assert(Literal::string("'"), r#" "'" "#);
++ assert(Literal::string("\""), r#" "\"" "#);
++ assert(Literal::string("\0"), r#" "\0" "#);
++ assert(Literal::string("\u{1}"), r#" "\u{1}" "#);
++ assert(
++ Literal::string("a\00b\07c\08d\0e\0"),
++ r#" "a\x000b\x007c\08d\0e\0" "#,
+ );
+
+ "\"\\\r\n x\"".parse::<TokenStream>().unwrap();
+@@ -133,15 +146,42 @@
+ }
+
+ #[test]
++fn literal_byte_character() {
++ #[track_caller]
++ fn assert(literal: Literal, expected: &str) {
++ assert_eq!(literal.to_string(), expected.trim());
++ }
++
++ assert(Literal::byte_character(b'a'), r#" b'a' "#);
++ assert(Literal::byte_character(b'\0'), r#" b'\0' "#);
++ assert(Literal::byte_character(b'\t'), r#" b'\t' "#);
++ assert(Literal::byte_character(b'\n'), r#" b'\n' "#);
++ assert(Literal::byte_character(b'\r'), r#" b'\r' "#);
++ assert(Literal::byte_character(b'\''), r#" b'\'' "#);
++ assert(Literal::byte_character(b'\\'), r#" b'\\' "#);
++ assert(Literal::byte_character(b'\x1f'), r#" b'\x1F' "#);
++ assert(Literal::byte_character(b'"'), r#" b'"' "#);
++}
++
++#[test]
+ fn literal_byte_string() {
+- assert_eq!(Literal::byte_string(b"").to_string(), "b\"\"");
+- assert_eq!(
+- Literal::byte_string(b"\0\t\n\r\"\\2\x10").to_string(),
+- "b\"\\0\\t\\n\\r\\\"\\\\2\\x10\"",
+- );
+- assert_eq!(
+- Literal::byte_string(b"a\00b\07c\08d\0e\0").to_string(),
+- "b\"a\\x000b\\x007c\\08d\\0e\\0\"",
++ #[track_caller]
++ fn assert(literal: Literal, expected: &str) {
++ assert_eq!(literal.to_string(), expected.trim());
++ }
++
++ assert(Literal::byte_string(b""), r#" b"" "#);
++ assert(Literal::byte_string(b"\0"), r#" b"\0" "#);
++ assert(Literal::byte_string(b"\t"), r#" b"\t" "#);
++ assert(Literal::byte_string(b"\n"), r#" b"\n" "#);
++ assert(Literal::byte_string(b"\r"), r#" b"\r" "#);
++ assert(Literal::byte_string(b"\""), r#" b"\"" "#);
++ assert(Literal::byte_string(b"\\"), r#" b"\\" "#);
++ assert(Literal::byte_string(b"\x1f"), r#" b"\x1F" "#);
++ assert(Literal::byte_string(b"'"), r#" b"'" "#);
++ assert(
++ Literal::byte_string(b"a\00b\07c\08d\0e\0"),
++ r#" b"a\x000b\x007c\08d\0e\0" "#,
+ );
+
+ "b\"\\\r\n x\"".parse::<TokenStream>().unwrap();
+@@ -152,6 +192,41 @@
+
+ #[test]
+ fn literal_c_string() {
++ #[track_caller]
++ fn assert(literal: Literal, expected: &str) {
++ assert_eq!(literal.to_string(), expected.trim());
++ }
++
++ assert(Literal::c_string(<&CStr>::default()), r#" c"" "#);
++ assert(
++ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()),
++ r#" c"aA" "#,
++ );
++ assert(
++ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()),
++ r#" c"aA" "#,
++ );
++ assert(
++ Literal::c_string(CStr::from_bytes_with_nul(b"\t\0").unwrap()),
++ r#" c"\t" "#,
++ );
++ assert(
++ Literal::c_string(CStr::from_bytes_with_nul(b"\xE2\x9D\xA4\0").unwrap()),
++ r#" c"❤" "#,
++ );
++ assert(
++ Literal::c_string(CStr::from_bytes_with_nul(b"'\0").unwrap()),
++ r#" c"'" "#,
++ );
++ assert(
++ Literal::c_string(CStr::from_bytes_with_nul(b"\"\0").unwrap()),
++ r#" c"\"" "#,
++ );
++ assert(
++ Literal::c_string(CStr::from_bytes_with_nul(b"\x7F\xFF\xFE\xCC\xB3\0").unwrap()),
++ r#" c"\u{7f}\xFF\xFE\u{333}" "#,
++ );
++
+ let strings = r###"
+ c"hello\x80我叫\u{1F980}" // from the RFC
+ cr"\"
+@@ -188,49 +263,80 @@
+
+ #[test]
+ fn literal_character() {
+- assert_eq!(Literal::character('x').to_string(), "'x'");
+- assert_eq!(Literal::character('\'').to_string(), "'\\''");
+- assert_eq!(Literal::character('"').to_string(), "'\"'");
++ #[track_caller]
++ fn assert(literal: Literal, expected: &str) {
++ assert_eq!(literal.to_string(), expected.trim());
++ }
++
++ assert(Literal::character('a'), r#" 'a' "#);
++ assert(Literal::character('\t'), r#" '\t' "#);
++ assert(Literal::character('❤'), r#" '❤' "#);
++ assert(Literal::character('\''), r#" '\'' "#);
++ assert(Literal::character('"'), r#" '"' "#);
++ assert(Literal::character('\0'), r#" '\0' "#);
++ assert(Literal::character('\u{1}'), r#" '\u{1}' "#);
+ }
+
+ #[test]
+ fn literal_integer() {
+- assert_eq!(Literal::u8_suffixed(10).to_string(), "10u8");
+- assert_eq!(Literal::u16_suffixed(10).to_string(), "10u16");
+- assert_eq!(Literal::u32_suffixed(10).to_string(), "10u32");
+- assert_eq!(Literal::u64_suffixed(10).to_string(), "10u64");
+- assert_eq!(Literal::u128_suffixed(10).to_string(), "10u128");
+- assert_eq!(Literal::usize_suffixed(10).to_string(), "10usize");
+-
+- assert_eq!(Literal::i8_suffixed(10).to_string(), "10i8");
+- assert_eq!(Literal::i16_suffixed(10).to_string(), "10i16");
+- assert_eq!(Literal::i32_suffixed(10).to_string(), "10i32");
+- assert_eq!(Literal::i64_suffixed(10).to_string(), "10i64");
+- assert_eq!(Literal::i128_suffixed(10).to_string(), "10i128");
+- assert_eq!(Literal::isize_suffixed(10).to_string(), "10isize");
+-
+- assert_eq!(Literal::u8_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::u16_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::u32_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::u64_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::u128_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::usize_unsuffixed(10).to_string(), "10");
+-
+- assert_eq!(Literal::i8_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::i16_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::i32_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::i64_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::i128_unsuffixed(10).to_string(), "10");
+- assert_eq!(Literal::isize_unsuffixed(10).to_string(), "10");
++ #[track_caller]
++ fn assert(literal: Literal, expected: &str) {
++ assert_eq!(literal.to_string(), expected);
++ }
++
++ assert(Literal::u8_suffixed(10), "10u8");
++ assert(Literal::u16_suffixed(10), "10u16");
++ assert(Literal::u32_suffixed(10), "10u32");
++ assert(Literal::u64_suffixed(10), "10u64");
++ assert(Literal::u128_suffixed(10), "10u128");
++ assert(Literal::usize_suffixed(10), "10usize");
++
++ assert(Literal::i8_suffixed(10), "10i8");
++ assert(Literal::i16_suffixed(10), "10i16");
++ assert(Literal::i32_suffixed(10), "10i32");
++ assert(Literal::i64_suffixed(10), "10i64");
++ assert(Literal::i128_suffixed(10), "10i128");
++ assert(Literal::isize_suffixed(10), "10isize");
++
++ assert(Literal::u8_unsuffixed(10), "10");
++ assert(Literal::u16_unsuffixed(10), "10");
++ assert(Literal::u32_unsuffixed(10), "10");
++ assert(Literal::u64_unsuffixed(10), "10");
++ assert(Literal::u128_unsuffixed(10), "10");
++ assert(Literal::usize_unsuffixed(10), "10");
++
++ assert(Literal::i8_unsuffixed(10), "10");
++ assert(Literal::i16_unsuffixed(10), "10");
++ assert(Literal::i32_unsuffixed(10), "10");
++ assert(Literal::i64_unsuffixed(10), "10");
++ assert(Literal::i128_unsuffixed(10), "10");
++ assert(Literal::isize_unsuffixed(10), "10");
++
++ assert(Literal::i32_suffixed(-10), "-10i32");
++ assert(Literal::i32_unsuffixed(-10), "-10");
+ }
+
+ #[test]
+ fn literal_float() {
+- assert_eq!(Literal::f32_suffixed(10.0).to_string(), "10f32");
+- assert_eq!(Literal::f64_suffixed(10.0).to_string(), "10f64");
+-
+- assert_eq!(Literal::f32_unsuffixed(10.0).to_string(), "10.0");
+- assert_eq!(Literal::f64_unsuffixed(10.0).to_string(), "10.0");
++ #[track_caller]
++ fn assert(literal: Literal, expected: &str) {
++ assert_eq!(literal.to_string(), expected);
++ }
++
++ assert(Literal::f32_suffixed(10.0), "10f32");
++ assert(Literal::f32_suffixed(-10.0), "-10f32");
++ assert(Literal::f64_suffixed(10.0), "10f64");
++ assert(Literal::f64_suffixed(-10.0), "-10f64");
++
++ assert(Literal::f32_unsuffixed(10.0), "10.0");
++ assert(Literal::f32_unsuffixed(-10.0), "-10.0");
++ assert(Literal::f64_unsuffixed(10.0), "10.0");
++ assert(Literal::f64_unsuffixed(-10.0), "-10.0");
++
++ assert(
++ Literal::f64_unsuffixed(1e100),
++ "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0",
++ );
+ }
+
+ #[test]
+@@ -248,9 +354,13 @@
+ assert_eq!(token_count("1._m"), 3);
+ assert_eq!(token_count("\"\"s"), 1);
+ assert_eq!(token_count("r\"\"r"), 1);
++ assert_eq!(token_count("r#\"\"#r"), 1);
+ assert_eq!(token_count("b\"\"b"), 1);
+ assert_eq!(token_count("br\"\"br"), 1);
+- assert_eq!(token_count("r#\"\"#r"), 1);
++ assert_eq!(token_count("br#\"\"#br"), 1);
++ assert_eq!(token_count("c\"\"c"), 1);
++ assert_eq!(token_count("cr\"\"cr"), 1);
++ assert_eq!(token_count("cr#\"\"#cr"), 1);
+ assert_eq!(token_count("'c'c"), 1);
+ assert_eq!(token_count("b'b'b"), 1);
+ assert_eq!(token_count("0E"), 1);
+@@ -378,7 +488,7 @@
+ roundtrip("'a");
+ roundtrip("'_");
+ roundtrip("'static");
+- roundtrip("'\\u{10__FFFF}'");
++ roundtrip(r"'\u{10__FFFF}'");
+ roundtrip("\"\\u{10_F0FF__}foo\\u{1_0_0_0__}\"");
+ }
+
+@@ -401,6 +511,7 @@
+ fail("\"\\\r \""); // backslash carriage return
+ fail("'aa'aa");
+ fail("br##\"\"#");
++ fail("cr##\"\"#");
+ fail("\"\\\n\u{85}\r\"");
+ }
+
diff --git a/chromium-125-el7-type-alias.patch b/chromium-125-el7-type-alias.patch
new file mode 100644
index 0000000..bda9050
--- /dev/null
+++ b/chromium-125-el7-type-alias.patch
@@ -0,0 +1,30 @@
+diff -up chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc.el7 chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc
+--- chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc.el7 2024-05-18 14:12:06.510863456 +0200
++++ chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc 2024-05-18 14:13:39.670666352 +0200
+@@ -165,7 +165,7 @@ std::vector<Suggestion> PlusAddressServi
+ bool is_off_the_record,
+ std::u16string_view focused_field_value,
+ autofill::AutofillSuggestionTriggerSource trigger_source) {
+- using enum autofill::AutofillSuggestionTriggerSource;
++ using autofill::AutofillSuggestionTriggerSource;
+ if (!SupportsPlusAddresses(last_committed_primary_main_frame_origin,
+ is_off_the_record)) {
+ return {};
+@@ -176,7 +176,7 @@ std::vector<Suggestion> PlusAddressServi
+ std::optional<std::string> maybe_address =
+ GetPlusAddress(last_committed_primary_main_frame_origin);
+ if (maybe_address == std::nullopt) {
+- if (trigger_source != kManualFallbackPlusAddresses &&
++ if (trigger_source != AutofillSuggestionTriggerSource::kManualFallbackPlusAddresses &&
+ !normalized_field_value.empty()) {
+ return {};
+ }
+@@ -191,7 +191,7 @@ std::vector<Suggestion> PlusAddressServi
+
+ // Only suggest filling a plus address whose prefix matches the field's value.
+ std::u16string address = base::UTF8ToUTF16(*maybe_address);
+- if (trigger_source != kManualFallbackPlusAddresses &&
++ if (trigger_source != AutofillSuggestionTriggerSource::kManualFallbackPlusAddresses &&
+ !address.starts_with(normalized_field_value)) {
+ return {};
+ }
diff --git a/chromium-125-el7-typename.patch b/chromium-125-el7-typename.patch
new file mode 100644
index 0000000..fc86a52
--- /dev/null
+++ b/chromium-125-el7-typename.patch
@@ -0,0 +1,417 @@
+diff -up chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h
+--- chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename 2024-05-15 23:45:49.000000000 +0200
++++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h 2024-05-17 12:33:58.735650966 +0200
+@@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot();
+
+ // A class that meets C++ named requirements, Allocator.
+ template <typename T>
+-InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
++typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
+ std::size_t count) {
+ PA_CHECK(count <=
+ std::numeric_limits<std::size_t>::max() / sizeof(value_type));
+diff -up chromium-125.0.6422.60/base/containers/heap_array.h.typename chromium-125.0.6422.60/base/containers/heap_array.h
+--- chromium-125.0.6422.60/base/containers/heap_array.h.typename 2024-05-17 13:51:39.923426461 +0200
++++ chromium-125.0.6422.60/base/containers/heap_array.h 2024-05-17 13:54:01.866085730 +0200
+@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray {
+ static_assert(!std::is_reference_v<T>,
+ "HeapArray cannot hold reference types");
+
+- using iterator = base::span<T>::iterator;
+- using const_iterator = base::span<const T>::iterator;
++ using iterator = typename base::span<T>::iterator;
++ using const_iterator = typename base::span<const T>::iterator;
+ // We don't put this default value in the template parameter list to allow the
+ // static_assert on is_reference_v to give a nicer error message.
+ using deleter_type = std::
+diff -up chromium-125.0.6422.60/base/containers/map_util.h.typename chromium-125.0.6422.60/base/containers/map_util.h
+--- chromium-125.0.6422.60/base/containers/map_util.h.typename 2024-05-15 23:45:49.000000000 +0200
++++ chromium-125.0.6422.60/base/containers/map_util.h 2024-05-17 12:33:58.735650966 +0200
+@@ -44,7 +44,7 @@ constexpr internal::MappedType<Map>* Fin
+ template <typename Map,
+ typename Key,
+ typename MappedElementType =
+- std::pointer_traits<internal::MappedType<Map>>::element_type>
++ typename std::pointer_traits<internal::MappedType<Map>>::element_type>
+ constexpr const MappedElementType* FindPtrOrNull(const Map& map,
+ const Key& key) {
+ auto it = map.find(key);
+@@ -60,7 +60,7 @@ constexpr const MappedElementType* FindP
+ template <typename Map,
+ typename Key,
+ typename MappedElementType =
+- std::pointer_traits<internal::MappedType<Map>>::element_type>
++ typename std::pointer_traits<internal::MappedType<Map>>::element_type>
+ constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) {
+ auto it = map.find(key);
+ return it != map.end() ? base::to_address(it->second) : nullptr;
+diff -up chromium-125.0.6422.60/base/containers/to_vector.h.typename chromium-125.0.6422.60/base/containers/to_vector.h
+--- chromium-125.0.6422.60/base/containers/to_vector.h.typename 2024-05-15 23:45:49.000000000 +0200
++++ chromium-125.0.6422.60/base/containers/to_vector.h 2024-05-17 12:33:58.736650987 +0200
+@@ -30,7 +30,7 @@ template <typename Range, typename Proj
+ std::indirectly_unary_invocable<Proj, ranges::iterator_t<Range>>
+ auto ToVector(Range&& range, Proj proj = {}) {
+ using ProjectedType =
+- std::projected<ranges::iterator_t<Range>, Proj>::value_type;
++ typename std::projected<ranges::iterator_t<Range>, Proj>::value_type;
+ std::vector<ProjectedType> container;
+ container.reserve(std::size(range));
+ ranges::transform(std::forward<Range>(range), std::back_inserter(container),
+diff -up chromium-125.0.6422.60/base/functional/bind_internal.h.typename chromium-125.0.6422.60/base/functional/bind_internal.h
+--- chromium-125.0.6422.60/base/functional/bind_internal.h.typename 2024-05-15 23:45:49.000000000 +0200
++++ chromium-125.0.6422.60/base/functional/bind_internal.h 2024-05-17 12:33:58.736650987 +0200
+@@ -1505,11 +1505,11 @@ template <int i,
+ typename Param>
+ struct ParamCanBeBound {
+ private:
+- using UnwrappedParam = BindArgument<i>::template ForwardedAs<
++ using UnwrappedParam = typename BindArgument<i>::template ForwardedAs<
+ Unwrapped>::template ToParamWithType<Param>;
+- using ParamStorage = BindArgument<i>::template ToParamWithType<
++ using ParamStorage = typename BindArgument<i>::template ToParamWithType<
+ Param>::template StoredAs<Storage>;
+- using BoundStorage =
++ using BoundStorage = typename
+ BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
+
+ template <bool v = !UnwrappedParam::kRawPtr ||
+diff -up chromium-125.0.6422.60/base/functional/function_ref.h.typename chromium-125.0.6422.60/base/functional/function_ref.h
+--- chromium-125.0.6422.60/base/functional/function_ref.h.typename 2024-05-15 23:45:49.000000000 +0200
++++ chromium-125.0.6422.60/base/functional/function_ref.h 2024-05-17 12:33:58.736650987 +0200
+@@ -64,7 +64,7 @@ class FunctionRef;
+ template <typename R, typename... Args>
+ class FunctionRef<R(Args...)> {
+ template <typename Functor,
+- typename RunType = internal::FunctorTraits<Functor>::RunType>
++ typename RunType = typename internal::FunctorTraits<Functor>::RunType>
+ static constexpr bool kCompatibleFunctor =
+ std::convertible_to<internal::ExtractReturnType<RunType>, R> &&
+ std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>;
+diff -up chromium-125.0.6422.60/base/types/fixed_array.h.typename chromium-125.0.6422.60/base/types/fixed_array.h
+--- chromium-125.0.6422.60/base/types/fixed_array.h.typename 2024-05-15 23:45:50.000000000 +0200
++++ chromium-125.0.6422.60/base/types/fixed_array.h 2024-05-17 12:33:58.737651008 +0200
+@@ -27,8 +27,8 @@ template <typename T,
+ class FixedArray : public absl::FixedArray<T, N, A> {
+ public:
+ using absl::FixedArray<T, N, A>::FixedArray;
+- explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
+- const absl::FixedArray<T, N, A>::allocator_type& a =
++ explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
++ const typename absl::FixedArray<T, N, A>::allocator_type& a =
+ typename absl::FixedArray<T, N, A>::allocator_type())
+ : FixedArray(n, T(), a) {}
+ };
+diff -up chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc
+--- chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2024-05-15 23:46:00.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/download/bubble/download_bubble_update_service.cc 2024-05-17 12:33:58.737651008 +0200
+@@ -94,7 +94,7 @@ ItemSortKey GetSortKey(const Item& item)
+ // Helper to get an iterator to the last element in the cache. The cache
+ // must not be empty.
+ template <typename Item>
+-SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
++typename SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
+ CHECK(!cache.empty());
+ auto it = cache.end();
+ return std::prev(it);
+@@ -1173,9 +1173,9 @@ bool DownloadBubbleUpdateService::CacheM
+ }
+
+ template <typename Id, typename Item>
+-SortedItems<Item>::iterator
++typename SortedItems<Item>::iterator
+ DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter(
+- SortedItems<Item>::iterator iter,
++ typename SortedItems<Item>::iterator iter,
+ SortedItems<Item>& cache,
+ IterMap<Id, Item>& iter_map) {
+ CHECK(iter != cache.end());
+diff -up chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h.typename chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h
+--- chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h.typename 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/web_applications/commands/internal/command_internal.h 2024-05-17 12:33:58.737651008 +0200
+@@ -121,7 +121,7 @@ class CommandBase {
+ template <typename LockType>
+ class CommandWithLock : public CommandBase {
+ public:
+- using LockDescription = LockType::LockDescription;
++ using LockDescription = typename LockType::LockDescription;
+ explicit CommandWithLock(const std::string& name,
+ LockDescription initial_lock_request);
+
+diff -up chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h.typename chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h
+--- chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h.typename 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/web_applications/commands/web_app_command.h 2024-05-17 12:33:58.738651028 +0200
+@@ -106,7 +106,7 @@ class WebAppLockManager;
+ template <typename LockType, typename... CallbackArgs>
+ class WebAppCommand : public internal::CommandWithLock<LockType> {
+ public:
+- using LockDescription = LockType::LockDescription;
++ using LockDescription = typename LockType::LockDescription;
+ using CallbackType = base::OnceCallback<void(CallbackArgs...)>;
+ using ShutdownArgumentsTuple = std::tuple<std::decay_t<CallbackArgs>...>;
+
+diff -up chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h.typename chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h
+--- chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h.typename 2024-05-15 23:46:06.000000000 +0200
++++ chromium-125.0.6422.60/chrome/browser/web_applications/web_app_command_scheduler.h 2024-05-17 12:33:58.738651028 +0200
+@@ -373,7 +373,7 @@ class WebAppCommandScheduler {
+ // command system.
+ template <typename LockType>
+ void ScheduleCallback(const std::string& operation_name,
+- LockType::LockDescription lock_description,
++ typename LockType::LockDescription lock_description,
+ CallbackCommand<LockType, void> callback,
+ base::OnceClosure on_complete,
+ const base::Location& location = FROM_HERE) {
+@@ -391,7 +391,7 @@ class WebAppCommandScheduler {
+ typename CallbackReturnValue = std::decay_t<CompletionCallbackArg>>
+ void ScheduleCallbackWithResult(
+ const std::string& operation_name,
+- LockType::LockDescription lock_description,
++ typename LockType::LockDescription lock_description,
+ CallbackCommand<LockType, CallbackReturnValue> callback,
+ base::OnceCallback<void(CompletionCallbackArg)> on_complete,
+ CallbackReturnValue arg_for_shutdown,
+diff -up chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h
+--- chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h.typename 2024-05-15 23:46:13.000000000 +0200
++++ chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_util.h 2024-05-17 12:33:58.738651028 +0200
+@@ -26,7 +26,7 @@ void SetExecutionRequestTemplate(
+
+ // Request is set by the feature and should always be typed.
+ auto typed_request =
+- static_cast<const FeatureType::Request&>(request_metadata);
++ static_cast<const typename FeatureType::Request&>(request_metadata);
+ *(logging_data->mutable_request_data()) = typed_request;
+ }
+
+diff -up chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h
+--- chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename 2024-05-15 23:46:13.000000000 +0200
++++ chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_log_entry.h 2024-05-17 12:33:58.738651028 +0200
+@@ -33,7 +33,7 @@ class ModelQualityLogEntry {
+ }
+
+ template <typename FeatureType>
+- FeatureType::Quality* quality_data() {
++ typename FeatureType::Quality* quality_data() {
+ return FeatureType::GetLoggingData(*log_ai_data_request_)
+ ->mutable_quality_data();
+ }
+diff -up chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h.typename chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h
+--- chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h.typename 2024-05-15 23:46:13.000000000 +0200
++++ chromium-125.0.6422.60/components/optimization_guide/core/model_quality/model_quality_util.h 2024-05-17 12:33:58.739651049 +0200
+@@ -20,7 +20,7 @@ std::optional<UserVisibleFeatureKey> Get
+ // Helper method to get the quality_data from `log_ai_data_request` for
+ // different features.
+ template <typename FeatureType>
+-FeatureType::Quality* GetModelQualityData(
++typename FeatureType::Quality* GetModelQualityData(
+ proto::LogAiDataRequest* log_ai_data_request) {
+ return FeatureType::GetLoggingData(*log_ai_data_request)
+ ->mutable_quality_data();
+diff -up chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h.typename chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h
+--- chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h.typename 2024-05-15 23:46:13.000000000 +0200
++++ chromium-125.0.6422.60/components/optimization_guide/core/tflite_model_executor.h 2024-05-17 12:33:58.739651049 +0200
+@@ -242,7 +242,7 @@ class TFLiteModelExecutor : public Model
+ void SendForBatchExecution(
+ BatchExecutionCallback callback_on_complete,
+ base::TimeTicks start_time,
+- ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
+ override {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -264,7 +264,7 @@ class TFLiteModelExecutor : public Model
+ // Starts the synchronous execution of the model. Returns model outputs.
+ // Model needs to be loaded. Synchronous calls do not load or unload model.
+ std::vector<std::optional<OutputType>> SendForBatchExecutionSync(
+- ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
+ override {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -422,7 +422,7 @@ class TFLiteModelExecutor : public Model
+ // executes it on the model execution thread.
+ void LoadModelFileAndBatchExecute(
+ BatchExecutionCallback callback_on_complete,
+- ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+@@ -439,7 +439,7 @@ class TFLiteModelExecutor : public Model
+
+ // Batch executes the loaded model for inputs.
+ void BatchExecuteLoadedModel(
+- ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
+ std::vector<std::optional<OutputType>>* outputs) {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -499,7 +499,7 @@ class TFLiteModelExecutor : public Model
+ // Unloads the model if needed.
+ void BatchExecuteLoadedModelAndRunCallback(
+ BatchExecutionCallback callback_on_complete,
+- ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
+ ExecutionStatus execution_status) {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+diff -up chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h.typename chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h
+--- chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h.typename 2024-05-15 23:46:15.000000000 +0200
++++ chromium-125.0.6422.60/components/supervised_user/core/browser/proto_fetcher.h 2024-05-17 12:33:58.739651049 +0200
+@@ -458,7 +458,7 @@ class RetryingFetcherImpl final : public
+ RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
+ RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
+
+- void Start(ProtoFetcher<Response>::Callback callback) override {
++ void Start(typename ProtoFetcher<Response>::Callback callback) override {
+ callback_ = std::move(callback);
+ Retry();
+ }
+@@ -504,7 +504,7 @@ class RetryingFetcherImpl final : public
+ }
+
+ // Client callback.
+- TypedProtoFetcher<Response>::Callback callback_;
++ typename TypedProtoFetcher<Response>::Callback callback_;
+
+ // Retry controls.
+ base::OneShotTimer timer_;
+@@ -525,7 +525,7 @@ class ParallelFetchManager {
+ // Deferred fetcher is required because it should be started after it is
+ // stored internally.
+ using Fetcher = ProtoFetcher<Response>;
+- using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
++ using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
+
+ public:
+ // Provides fresh instances of a deferred fetcher for each fetch.
+@@ -541,7 +541,7 @@ class ParallelFetchManager {
+
+ // Starts the fetch. Underlying fetcher is stored internally, and will be
+ // cleaned up after finish or when this manager is destroyed.
+- void Fetch(const Request& request, Fetcher::Callback callback) {
++ void Fetch(const Request& request, typename Fetcher::Callback callback) {
+ CHECK(callback) << "Use base::DoNothing() instead of empty callback.";
+ KeyType key = requests_in_flight_.Add(MakeFetcher(request));
+ requests_in_flight_.Lookup(key)->Start(
+diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h.typename chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h
+--- chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h.typename 2024-05-15 23:46:29.000000000 +0200
++++ chromium-125.0.6422.60/mojo/public/cpp/bindings/array_traits.h 2024-05-17 12:33:58.739651049 +0200
+@@ -90,7 +90,7 @@ template <typename Container>
+ { c[i] } -> std::same_as<typename Container::reference>;
+ }
+ struct ArrayTraits<Container> {
+- using Element = Container::value_type;
++ using Element = typename Container::value_type;
+
+ // vector-like containers have no built-in null.
+ static bool IsNull(const Container& c) { return false; }
+diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h.typename chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h
+--- chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h.typename 2024-05-15 23:46:30.000000000 +0200
++++ chromium-125.0.6422.60/mojo/public/cpp/bindings/type_converter.h 2024-05-17 12:33:58.740651070 +0200
+@@ -127,7 +127,7 @@ using VecValueType = typename Vec::value
+
+ template <typename Vec>
+ using VecPtrLikeUnderlyingValueType =
+- std::pointer_traits<VecValueType<Vec>>::element_type;
++ typename std::pointer_traits<VecValueType<Vec>>::element_type;
+
+ } // namespace internal
+
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h
+--- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename 2024-05-15 23:46:40.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/async_iterable.h 2024-05-17 12:33:58.740651070 +0200
+@@ -245,7 +245,7 @@ class PairAsyncIterable {
+ private:
+ virtual IterationSource* CreateIterationSource(
+ ScriptState* script_state,
+- IterationSource::Kind kind,
++ typename IterationSource::Kind kind,
+ InitArgs... args,
+ ExceptionState& exception_state) = 0;
+ };
+@@ -291,7 +291,7 @@ class ValueAsyncIterable {
+ private:
+ virtual IterationSource* CreateIterationSource(
+ ScriptState* script_state,
+- IterationSource::Kind kind,
++ typename IterationSource::Kind kind,
+ InitArgs... args,
+ ExceptionState& exception_state) = 0;
+ };
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
+--- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename 2024-05-15 23:46:40.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/script_promise_property.h 2024-05-17 12:33:58.740651070 +0200
+@@ -171,7 +171,7 @@ class ScriptPromiseProperty final
+ template <typename T>
+ requires std::derived_from<T, bindings::EnumerationBase>
+ static T DefaultPromiseResultValue() {
+- return T(static_cast<T::Enum>(0));
++ return T(static_cast<typename T::Enum>(0));
+ }
+
+ State state_ = kPending;
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
+--- chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename 2024-05-15 23:46:41.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2024-05-17 12:33:58.741651090 +0200
+@@ -210,7 +210,7 @@ class HTMLFastPathParser {
+ using Span = base::span<const Char>;
+ using USpan = base::span<const UChar>;
+ // 32 matches that used by HTMLToken::Attribute.
+- typedef std::conditional<std::is_same_v<Char, UChar>,
++ typedef typename std::conditional<std::is_same_v<Char, UChar>,
+ UCharLiteralBuffer<32>,
+ LCharLiteralBuffer<32>>::type LiteralBufferType;
+ static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h.typename chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h
+--- chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h.typename 2024-05-15 23:46:41.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/object_paint_properties.h 2024-05-17 12:33:58.741651090 +0200
+@@ -445,8 +445,8 @@ class CORE_EXPORT ObjectPaintProperties
+ PaintPropertyChangeType Update(
+ NodeId node_id,
+ const ParentType& parent,
+- NodeType::State&& state,
+- const NodeType::AnimationState& animation_state =
++ typename NodeType::State&& state,
++ const typename NodeType::AnimationState& animation_state =
+ NodeType::AnimationState()) {
+ // First, check if we need to add a new node.
+ if (!nodes_.HasField(node_id)) {
+diff -up chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h.typename chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h
+--- chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h.typename 2024-05-15 23:46:43.000000000 +0200
++++ chromium-125.0.6422.60/third_party/blink/renderer/platform/wtf/hash_table.h 2024-05-17 12:33:58.742651111 +0200
+@@ -2013,7 +2013,7 @@ struct HashTableConstIteratorAdapter {
+ static_assert(!IsTraceable<typename Traits::TraitType>::value);
+
+ using iterator_category = std::bidirectional_iterator_tag;
+- using value_type = HashTableType::ValueType;
++ using value_type = typename HashTableType::ValueType;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+@@ -2065,7 +2065,7 @@ struct HashTableConstIteratorAdapter<
+
+ public:
+ using iterator_category = std::bidirectional_iterator_tag;
+- using value_type = HashTableType::ValueType;
++ using value_type = typename HashTableType::ValueType;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+@@ -2119,7 +2119,7 @@ struct HashTableIteratorAdapter {
+ static_assert(!IsTraceable<typename Traits::TraitType>::value);
+
+ using iterator_category = std::bidirectional_iterator_tag;
+- using value_type = HashTableType::ValueType;
++ using value_type = typename HashTableType::ValueType;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+@@ -2167,7 +2167,7 @@ struct HashTableIteratorAdapter<
+
+ public:
+ using iterator_category = std::bidirectional_iterator_tag;
+- using value_type = HashTableType::ValueType;
++ using value_type = typename HashTableType::ValueType;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
diff --git a/chromium-125-missing-include-FieldDataManager.patch b/chromium-125-missing-include-FieldDataManager.patch
new file mode 100644
index 0000000..6dd763a
--- /dev/null
+++ b/chromium-125-missing-include-FieldDataManager.patch
@@ -0,0 +1,32 @@
+commit aa53c3ab8df7f7c1d42c30d4b184a8f8b0a8e50d
+Author: Jose Dapena Paz <jdapena@igalia.com>
+Date: Tue Apr 16 12:14:15 2024 +0000
+
+ IWYU: add missing include for usage of FieldDataManager in autofill_agent.h
+
+ Change-Id: I70575d1dd72b9334e3b8d4805779a7e45788989e
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5392840
+ Reviewed-by: Florian Leimgruber <fleimgruber@google.com>
+ Commit-Queue: José Dapena Paz <jdapena@igalia.com>
+ Cr-Commit-Position: refs/heads/main@{#1287967}
+
+diff --git a/components/autofill/content/renderer/autofill_agent.h b/components/autofill/content/renderer/autofill_agent.h
+index 76a25d72c87cc..01462aefdaae6 100644
+--- a/components/autofill/content/renderer/autofill_agent.h
++++ b/components/autofill/content/renderer/autofill_agent.h
+@@ -25,6 +25,7 @@
+ #include "components/autofill/content/renderer/form_autofill_util.h"
+ #include "components/autofill/content/renderer/form_tracker.h"
+ #include "components/autofill/core/common/autofill_features.h"
++#include "components/autofill/core/common/field_data_manager.h"
+ #include "components/autofill/core/common/mojom/autofill_types.mojom-shared.h"
+ #include "components/autofill/core/common/unique_ids.h"
+ #include "content/public/renderer/render_frame_observer.h"
+@@ -51,7 +52,6 @@ namespace autofill {
+ class FormCache;
+ class PasswordAutofillAgent;
+ class PasswordGenerationAgent;
+-class FieldDataManager;
+
+ // AutofillAgent deals with Autofill related communications between Blink and
+ // the browser.
diff --git a/chromium-125-system-libstdc++.patch b/chromium-125-system-libstdc++.patch
new file mode 100644
index 0000000..6c1e246
--- /dev/null
+++ b/chromium-125-system-libstdc++.patch
@@ -0,0 +1,777 @@
+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-17 12:33:58.761651505 +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-18 19:22:04.534942469 +0200
++++ chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h 2024-05-18 19:22:18.371296934 +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/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-18 13:31:00.381517294 +0200
++++ chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h 2024-05-18 13:31:19.740946964 +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-17 12:33:58.761651505 +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-17 12:33:58.762651526 +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-17 12:33:58.762651526 +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/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-17 12:33:58.762651526 +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-17 12:33:58.763651547 +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-17 12:33:58.763651547 +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-17 12:33:58.763651547 +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-17 12:33:58.764651567 +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-17 12:33:58.764651567 +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/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-17 12:33:58.765651588 +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-17 12:33:58.765651588 +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-17 12:33:58.767651629 +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-17 12:33:58.768651650 +0200
+@@ -2346,7 +2346,7 @@ std::unique_ptr<Xkb::GetMapReply> detail
+ // map
+ auto map_expr = present;
+ if (CaseAnd(map_expr, Xkb::MapPart::KeyTypes)) {
+- map.types_rtrn.emplace();
++ map.types_rtrn = std::vector<Xkb::KeyType>{};
+ auto& types_rtrn = *map.types_rtrn;
+ size_t types_rtrn_len = types_rtrn.size();
+
+@@ -5276,7 +5276,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::Types) ||
+ CaseAnd(replies_expr, Xkb::GBNDetail::ClientSymbols) ||
+ CaseAnd(replies_expr, Xkb::GBNDetail::ServerSymbols)) {
+- replies.types.emplace();
++ replies.types = Xkb::GetKbdByNameReply::Types{};
+ auto& getmap_type = (*replies.types).getmap_type;
+ auto& typeDeviceID = (*replies.types).typeDeviceID;
+ auto& getmap_sequence = (*replies.types).getmap_sequence;
+@@ -5708,7 +5708,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::CompatMap)) {
+- replies.compat_map.emplace();
++ replies.compat_map = Xkb::GetKbdByNameReply::CompatMap{};
+ auto& compatmap_type = (*replies.compat_map).compatmap_type;
+ auto& compatDeviceID = (*replies.compat_map).compatDeviceID;
+ auto& compatmap_sequence = (*replies.compat_map).compatmap_sequence;
+@@ -5832,7 +5832,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::IndicatorMaps)) {
+- replies.indicator_maps.emplace();
++ replies.indicator_maps = Xkb::GetKbdByNameReply::IndicatorMaps{};
+ auto& indicatormap_type = (*replies.indicator_maps).indicatormap_type;
+ auto& indicatorDeviceID = (*replies.indicator_maps).indicatorDeviceID;
+ auto& indicatormap_sequence =
+@@ -5926,7 +5926,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::KeyNames) ||
+ CaseAnd(replies_expr, Xkb::GBNDetail::OtherNames)) {
+- replies.key_names.emplace();
++ replies.key_names = Xkb::GetKbdByNameReply::KeyNames{};
+ auto& keyname_type = (*replies.key_names).keyname_type;
+ auto& keyDeviceID = (*replies.key_names).keyDeviceID;
+ auto& keyname_sequence = (*replies.key_names).keyname_sequence;
+@@ -6185,7 +6185,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
+ }
+ }
+ if (CaseAnd(replies_expr, Xkb::GBNDetail::Geometry)) {
+- replies.geometry.emplace();
++ replies.geometry = Xkb::GetKbdByNameReply::Geometry{};
+ auto& geometry_type = (*replies.geometry).geometry_type;
+ auto& geometryDeviceID = (*replies.geometry).geometryDeviceID;
+ auto& geometry_sequence = (*replies.geometry).geometry_sequence;
+diff -up chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h.me 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.me 2024-05-17 13:03:47.120796989 +0200
++++ chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h 2024-05-17 13:04:07.392217367 +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.h.me 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.me 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h 2024-05-17 13:09:38.495376514 +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_set.h.me 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.me 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h 2024-05-17 13:09:38.496376540 +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.me 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.me 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-17 13:09:38.497376567 +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.me 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.me 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-17 13:09:38.497376567 +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.me 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.me 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-17 13:09:38.497376567 +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.me chromium-125.0.6422.60/components/commerce/core/shopping_service.cc
+--- chromium-125.0.6422.60/components/commerce/core/shopping_service.cc.me 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/commerce/core/shopping_service.cc 2024-05-17 13:09:38.498376593 +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.me chromium-125.0.6422.60/components/commerce/core/shopping_service.h
+--- chromium-125.0.6422.60/components/commerce/core/shopping_service.h.me 2024-05-15 23:46:11.000000000 +0200
++++ chromium-125.0.6422.60/components/commerce/core/shopping_service.h 2024-05-17 13:09:38.499376619 +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/mojo/public/cpp/base/proto_wrapper.cc.me chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc
+--- chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc.me 2024-05-15 23:46:29.000000000 +0200
++++ chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc 2024-05-17 13:09:38.499376619 +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.me 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.me 2024-05-17 14:54:11.158723735 +0200
++++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h 2024-05-17 14:55:20.214285825 +0200
+@@ -8,6 +8,7 @@
+ #include <stdint.h>
+
+ #include <functional>
++#include <optional>
+ #include <type_traits>
+ #include <utility>
+
+diff -up chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp.me 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.me 2024-05-17 12:59:26.714809822 +0200
++++ chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp 2024-05-17 12:59:49.236235446 +0200
+@@ -8,6 +8,7 @@
+
+ #pragma once
+
++#include <memory>
+ #include <cassert>
+ #include <unordered_map>
+ #include <unordered_set>
diff --git a/chromium.spec b/chromium.spec
index cc66741..fdbd1e9 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -164,6 +164,9 @@
# enable|disable use_custom_libcxx
%global use_custom_libcxx 1
+%if %{rhel} == 7
+%global use_custom_libcxx 0
+%endif
# enable clang by default
%global clang 1
@@ -315,7 +318,7 @@
Name: chromium%{chromium_channel}
Version: 125.0.6422.60
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
License: BSD-3-Clause AND LGPL-2.1-or-later AND Apache-2.0 AND IJG AND MIT AND GPL-2.0-or-later AND ISC AND OpenSSL AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.0-only)
@@ -380,7 +383,7 @@ Patch101: chromium-108-el7-wayland-strndup-error.patch
# Workaround for old clang 14
# error: defaulting this default constructor would delete it after its first declaration
-Patch102: chromium-124-el7-default-constructor-involving-anonymous-union.patch
+Patch102: chromium-125-el7-default-constructor-involving-anonymous-union.patch
# Work around old and missing headers on EPEL7
Patch103: chromium-110-epel7-old-headers-workarounds.patch
@@ -391,7 +394,7 @@ Patch104: chromium-99.0.4844.51-epel7-old-cups.patch
# libdrm on EL7 is rather old and chromium assumes newer
# This gets us by for now
-Patch105: chromium-120-el7-old-libdrm.patch
+Patch105: chromium-125-el7-old-libdrm.patch
# error: no matching function for call to 'std::basic_string<char>::erase(std::basic_string<char>::const_iterator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&)'
# 33 | property_name.erase(property_name.cbegin(), cur);
@@ -406,25 +409,27 @@ 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
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-124-no_matching_constructor.patch
-Patch117: chromium-115-compiler-SkColor4f.patch
+Patch116: chromium-125-el7-no_matching_constructor.patch
+Patch117: chromium-115-el7-compiler-SkColor4f.patch
# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
-Patch118: chromium-124-workaround_clang_bug-structured_binding.patch
+Patch118: chromium-124-el7-workaround_clang_bug-structured_binding.patch
# missing typename
-Patch119: chromium-124-typename.patch
+Patch119: chromium-125-el7-typename.patch
# error: invalid operands to binary expression
-Patch120: chromium-117-string-convert.patch
-Patch121: chromium-119-assert.patch
-Patch122: chromium-124-el7-constexpr.patch
+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
# system ffmpeg
# need for old ffmpeg 5.x on epel9
@@ -479,6 +484,9 @@ 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
+# use system libstdc++
+Patch355: chromium-125-system-libstdc++.patch
+
# disable FFmpegAllowLists by default to allow external ffmpeg
patch356: chromium-125-disable-FFmpegAllowLists.patch
@@ -559,6 +567,7 @@ Patch413: fix-unknown-warning-option-messages.diff
# upstream patches
# 64kpage support on el8
Patch500: chromium-124-el8-support-64kpage.patch
+Patch501: chromium-125-missing-include-FieldDataManager.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
# http://build.chromium.org/buildbot/official/
@@ -1195,6 +1204,7 @@ udev.
%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 -P113 -p1 -b .el7-clang-version-warning
%patch -P114 -p1 -b .clang-build-failure
%patch -P115 -p1 -b .el7-size_t
@@ -1205,6 +1215,7 @@ udev.
%patch -P120 -p1 -b .string-convert
%patch -P121 -p1 -b .assert
%patch -P122 -p1 -b .constexpr
+%patch -P123 -p1 -b .el7-type-alias
%endif
%if 0%{?rhel} == 9
@@ -1248,6 +1259,9 @@ udev.
%endif
%patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint
+%if ! %{use_custom_libcxx}
+%patch -P355 -p1 -b .system-libstdc++
+%endif
%patch -P356 -p1 -b .disable-FFmpegAllowLists
%patch -P358 -p1 -b .rust-clang_lib
%patch -P359 -p1 -b .libavif-deps
@@ -1320,6 +1334,7 @@ udev.
%patch -P500 -p1 -b .el8-support-64kpage.patch
%endif
%endif
+%patch -P501 -p1 -b .missing-include-FieldDataManage
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@@ -1391,8 +1406,7 @@ cp -a third_party/dav1d/version/version.h third_party/dav1d/libdav1d/include/dav
%if %{clang}
FLAGS=' -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument'
FLAGS+=' -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable'
-FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes'
-FLAGS+=' -Wno-unknown-pragmas'
+FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes -Wno-unknown-pragmas'
%endif
%if %{system_build_flags}
@@ -2115,6 +2129,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif
%changelog
+* Sun May 19 2024 Than Ngo <than@redhat.com> - 125.0.6422.60-2
+- fix build errors on el7
+
* Thu May 16 2024 Than Ngo <than@redhat.com> - 125.0.6422.60-1
- update to 125.0.6422.60
* High CVE-2024-4947: Type Confusion in V8
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-07 16:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-07 16:06 [rpms/chromium] epel9-next: fix build errors on el7 Than Ngo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox