diff --git a/.chromium.metadata b/.chromium.metadata index 22f5b2a1..d494b1d3 100644 --- a/.chromium.metadata +++ b/.chromium.metadata @@ -1,4 +1,4 @@ -59ccb08ce23e3b1ba7f69c51bc3ba3452007045b SOURCES/chromium-125.0.6422.60.tar.xz +00af50f76b8a3fdf27f2ba6b1e3c3397fafc0a4f SOURCES/chromium-125.0.6422.112.tar.xz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz 769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz diff --git a/.gitignore b/.gitignore index 60133023..d6fc0fee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -SOURCES/chromium-125.0.6422.60.tar.xz +SOURCES/chromium-125.0.6422.112.tar.xz SOURCES/linux-x64-0.19.2.tgz SOURCES/linux-arm64-0.19.2.tgz SOURCES/node-v20.6.1-linux-x64.tar.xz diff --git a/SOURCES/chromium-115-compiler-SkColor4f.patch b/SOURCES/chromium-115-el7-compiler-SkColor4f.patch similarity index 100% rename from SOURCES/chromium-115-compiler-SkColor4f.patch rename to SOURCES/chromium-115-el7-compiler-SkColor4f.patch diff --git a/SOURCES/chromium-117-string-convert.patch b/SOURCES/chromium-117-el7-string-convert.patch similarity index 100% rename from SOURCES/chromium-117-string-convert.patch rename to SOURCES/chromium-117-el7-string-convert.patch diff --git a/SOURCES/chromium-119-assert.patch b/SOURCES/chromium-119-assert.patch deleted file mode 100644 index 6c502f13..00000000 --- a/SOURCES/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 ::value); - - public: diff --git a/SOURCES/chromium-120-el7-old-libdrm.patch b/SOURCES/chromium-120-el7-old-libdrm.patch deleted file mode 100644 index db6b8dd8..00000000 --- a/SOURCES/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 - -+// 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/SOURCES/chromium-124-el7-default-constructor-involving-anonymous-union.patch b/SOURCES/chromium-124-el7-default-constructor-involving-anonymous-union.patch deleted file mode 100644 index 38004dae..00000000 --- a/SOURCES/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 resource_hashes, - base::span 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 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 url_loader_factory, - signin::IdentityManager* identity_manager) diff --git a/SOURCES/chromium-124-el7-workaround_clang_bug-structured_binding.patch b/SOURCES/chromium-124-el7-workaround_clang_bug-structured_binding.patch new file mode 100644 index 00000000..727e4f5d --- /dev/null +++ b/SOURCES/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 origin_and_url; + std::swap(origin_and_url, queued_jobs_.front()); + queued_jobs_.pop(); +- const auto& [origin, url] = origin_and_url; ++ const auto& [origin, u] = origin_and_url; ++ const auto& url = u; + TRACE_EVENT_WITH_FLOW1( + "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob", + TRACE_ID_LOCAL(this), +--- chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc.workaround_clang_bug-structured_binding 2024-05-05 16:22:47.581070868 +0200 ++++ chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc 2024-05-05 16:27:18.859972481 +0200 +@@ -417,7 +417,8 @@ + } + + SCOPED_CRASH_KEY_STRING256("SWRace", "request_url", request_.url.spec()); +- auto [read_result, read_buffer] = read_buffer_manager_->ReadData(); ++ auto [r, read_buffer] = read_buffer_manager_->ReadData(); ++ auto read_result = r; + TRACE_EVENT_WITH_FLOW2("ServiceWorker", + "ServiceWorkerRaceNetworkRequestURLLoaderClient::Read", + TRACE_ID_LOCAL(this), diff --git a/SOURCES/chromium-125-devtools-build-dependency.patch b/SOURCES/chromium-125-devtools-build-dependency.patch new file mode 100644 index 00000000..1f16ac1e --- /dev/null +++ b/SOURCES/chromium-125-devtools-build-dependency.patch @@ -0,0 +1,27 @@ +commit a976cb05b4024b7a6452d1541378d718cdfe33e6 +Author: Takuto Ikuta +Date: Thu Apr 25 07:25:32 2024 +0000 + + [devtools] fix a missing build dependency to a generated file + + Bug: 336911498 + Change-Id: I6e6d3afaf33ace53a68271b70165b8c3ab596340 + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5487538 + Auto-Submit: Takuto Ikuta + Commit-Queue: Takuto Ikuta + Reviewed-by: Danil Somsikov + Commit-Queue: Danil Somsikov + Cr-Commit-Position: refs/heads/main@{#1292300} + +diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn +index f0c07cad8cfb4..053199e462f55 100644 +--- a/chrome/browser/devtools/BUILD.gn ++++ b/chrome/browser/devtools/BUILD.gn +@@ -117,6 +117,7 @@ static_library("devtools") { + "//chrome/browser/autofill:autofill", + "//components/autofill/content/browser:browser", + "//components/autofill/core/browser:browser", ++ "//components/enterprise/buildflags", + "//components/paint_preview/buildflags:buildflags", + "//components/variations/service:service", + "//components/webapps/common:common", diff --git a/SOURCES/chromium-125-el7-assert.patch b/SOURCES/chromium-125-el7-assert.patch new file mode 100644 index 00000000..e76feda1 --- /dev/null +++ b/SOURCES/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 ::value); + + public: diff --git a/SOURCES/chromium-125-el7-constexpr.patch b/SOURCES/chromium-125-el7-constexpr.patch new file mode 100644 index 00000000..0183bb34 --- /dev/null +++ b/SOURCES/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 + 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 + 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 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 + 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 + 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 +- 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 VisitSourceMap; + + // Constant used to represent that no app_id is used for matching. +-inline constexpr std::optional kNoAppIdFilter = std::nullopt; ++inline const std::optional kNoAppIdFilter = std::nullopt; + + // VisitRow ------------------------------------------------------------------- + +diff -up chromium-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/SOURCES/chromium-125-el7-default-constructor-involving-anonymous-union.patch b/SOURCES/chromium-125-el7-default-constructor-involving-anonymous-union.patch new file mode 100644 index 00000000..fc385623 --- /dev/null +++ b/SOURCES/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 resource_hashes, + base::span resource_indices) +diff -up chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc +--- chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union 2024-05-15 23:46:17.000000000 +0200 ++++ chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc 2024-05-17 12:33:58.685649929 +0200 +@@ -46,7 +46,7 @@ size_t GetResultSizeBytes(const HeaderDi + + } // namespace + +-HeaderDirectFromSellerSignals::Result::Result() = default; ++HeaderDirectFromSellerSignals::Result::Result() {} + + HeaderDirectFromSellerSignals::Result::Result( + std::optional seller_signals, +diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h +--- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union 2024-05-18 09:52:22.385330304 +0200 ++++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h 2024-05-18 09:52:51.023891525 +0200 +@@ -36,7 +36,7 @@ class FrozenArray final : public binding + using const_iterator = typename VectorType::const_iterator; + using const_reverse_iterator = typename VectorType::const_reverse_iterator; + +- FrozenArray() = default; ++ FrozenArray() {} + explicit FrozenArray(VectorType array) : array_(std::move(array)) {} + ~FrozenArray() override = default; + diff --git a/SOURCES/chromium-125-el7-no_matching_constructor.patch b/SOURCES/chromium-125-el7-no_matching_constructor.patch new file mode 100644 index 00000000..e6acca48 --- /dev/null +++ b/SOURCES/chromium-125-el7-no_matching_constructor.patch @@ -0,0 +1,1754 @@ +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* 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_mapinsert(std::make_pair( + "supported.test", +- SAMLProfileAttributes("placeholderName", "placeholderDomain", +- "placeholderToken"))); ++ SAMLProfileAttributes{"placeholderName", "placeholderDomain", ++ "placeholderToken"})); + + // Extract domains and attributes from the command line switch. + const base::CommandLine& command_line = +diff -up chromium-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 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 + if (lifecycle_unit->DiscardTab( + discard_reason, + /*memory_footprint_estimate=*/proxy.second)) { +- discard_events.emplace_back(base::TimeTicks::Now(), proxy.second); ++ discard_events.emplace_back() = {base::TimeTicks::Now(), proxy.second}; + } + } + return discard_events; +diff -up chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc +--- chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor 2024-05-15 23:46:02.000000000 +0200 ++++ chromium-125.0.6422.60/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-05-17 12:33:58.711650468 +0200 +@@ -4049,10 +4049,10 @@ void RenderViewContextMenu::ExecOpenComp + autofill::LocalFrameToken frame_token = driver->GetFrameToken(); + client->GetManager().OpenCompose( + *driver, +- autofill::FormGlobalId( +- frame_token, autofill::FormRendererId(params_.form_renderer_id)), +- autofill::FieldGlobalId( +- frame_token, autofill::FieldRendererId(params_.field_renderer_id)), ++ autofill::FormGlobalId{ ++ frame_token, autofill::FormRendererId(params_.form_renderer_id)}, ++ autofill::FieldGlobalId{ ++ frame_token, autofill::FieldRendererId(params_.field_renderer_id)}, + compose::ComposeManagerImpl::UiEntryPoint::kContextMenu); + GetBrowser()->window()->NotifyPromoFeatureUsed( + compose::features::kEnableCompose); +diff -up chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc +--- chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor 2024-05-15 23:46:05.000000000 +0200 ++++ chromium-125.0.6422.60/chrome/browser/ui/autofill/autofill_context_menu_manager.cc 2024-05-17 12:33:58.711650468 +0200 +@@ -365,8 +365,8 @@ void AutofillContextMenuManager::Execute + AutofillManager& manager) { + auto& driver = static_cast(manager.driver()); + driver.browser_events().RendererShouldTriggerSuggestions( +- FieldGlobalId(driver.GetFrameToken(), +- FieldRendererId(params_.field_renderer_id)), ++ FieldGlobalId{driver.GetFrameToken(), ++ FieldRendererId(params_.field_renderer_id)}, + AutofillSuggestionTriggerSource::kManualFallbackPayments); + LogManualFallbackContextMenuEntryAccepted( + static_cast(manager), +diff -up chromium-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 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 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::GetButtonsConfiguration() const { + std::vector buttons; +- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), +- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal); ++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), ++ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal}; + return buttons; + } + +diff -up chromium-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::GetButtonsConfiguration() const { + std::vector buttons; +- buttons.emplace_back( ++ buttons.emplace_back() = { + l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING), +- ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal); ++ ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal}; + + 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::GetButtonsConfiguration() const { + std::vector 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 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 Address + } + + base::span observations_data = s.ColumnBlob(3); +- field_type_values.emplace_back( ++ field_type_values.emplace_back() = { + type, s.ColumnString16(1), s.ColumnInt(2), + std::vector(observations_data.begin(), +- observations_data.end())); ++ observations_data.end())}; + + if (type == ADDRESS_HOME_COUNTRY) { + country_code = base::UTF16ToUTF8(s.ColumnString16(1)); +diff -up chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc +--- chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.no_matching_constructor 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc 2024-05-17 12:33:58.715650551 +0200 +@@ -169,9 +169,9 @@ class ContactInfoProfileSetter { + CHECK(observations.empty()); + for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation : + metadata.observations()) { +- observations.emplace_back(proto_observation.type(), ++ observations.emplace_back() = {proto_observation.type(), + ProfileTokenQuality::FormSignatureHash( +- proto_observation.form_hash())); ++ proto_observation.form_hash())}; + } + } + } +diff -up chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc +--- chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc.no_matching_constructor 2024-05-17 16:24:29.993689838 +0200 ++++ chromium-125.0.6422.60/components/invalidation/impl/fcm_invalidation_service.cc 2024-05-17 16:24:48.402073830 +0200 +@@ -98,7 +98,7 @@ bool FCMInvalidationService::UpdateInter + DVLOG(2) << "Subscribing to topics: " << topic_set.size(); + TopicMap topic_map; + for (const auto& topic_name : topic_set) { +- topic_map[topic_name] = TopicMetadata(handler->IsPublicTopic(topic_name)); ++ topic_map[topic_name] = TopicMetadata{handler->IsPublicTopic(topic_name)}; + } + // TODO(crbug.com/40675708): UpdateRegisteredTopics() should be renamed to + // clarify that it actually updates whether topics need subscription (aka +diff -up chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc +--- chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc.no_matching_constructor 2024-05-15 23:46:12.000000000 +0200 ++++ chromium-125.0.6422.60/components/memory_pressure/unnecessary_discard_monitor.cc 2024-05-17 12:33:58.715650551 +0200 +@@ -92,8 +92,8 @@ void UnnecessaryDiscardMonitor::OnDiscar + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + if (current_reclaim_event_) { + // Cache this kill event along with the time it took place. +- current_reclaim_event_kills_.emplace_back(memory_freed_kb, +- discard_complete_time); ++ current_reclaim_event_kills_.emplace_back() = {memory_freed_kb, ++ discard_complete_time}; + } + } + +diff -up chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc.no_matching_constructor chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc +--- chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc.no_matching_constructor 2024-05-15 23:46:13.000000000 +0200 ++++ chromium-125.0.6422.60/components/password_manager/core/browser/password_manager.cc 2024-05-17 12:33:58.716650572 +0200 +@@ -686,7 +686,7 @@ void PasswordManager::OnUserModifiedNonP + it->second.last_change = base::Time::Now(); + } else { + possible_usernames_.Put( +- PossibleUsernameFieldIdentifier(driver_id, renderer_id), ++ PossibleUsernameFieldIdentifier{driver_id, renderer_id}, + PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()), + renderer_id, value, base::Time::Now(), driver_id, + autocomplete_attribute_has_username, +diff -up chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc +--- chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc.no_matching_constructor 2024-05-17 23:09:49.869213076 +0200 ++++ chromium-125.0.6422.60/components/password_manager/core/browser/password_suggestion_generator.cc 2024-05-17 23:22:38.599168420 +0200 +@@ -157,7 +157,7 @@ void MaybeAppendManagePasswordsEntry( + suggestion.icon = autofill::Suggestion::Icon::kSettings; + // The UI code will pick up an icon from the resources based on the string. + suggestion.trailing_icon = autofill::Suggestion::Icon::kGooglePasswordManager; +- suggestions->emplace_back(std::move(suggestion)); ++ suggestions->emplace_back() = {std::move(suggestion)}; + } + + // If |field_suggestion| matches |field_content|, creates a Suggestion out of it +@@ -205,7 +205,7 @@ void AppendSuggestionIfMatching( + suggestion.trailing_icon = CreateStoreIcon(from_account_store); + } + #endif +- suggestions->emplace_back(std::move(suggestion)); ++ suggestions->emplace_back() = {std::move(suggestion)}; + } + } + +@@ -237,8 +237,8 @@ void GetSuggestions(const autofill::Pass + + void AddPasswordUsernameChildSuggestion(const std::u16string& username, + autofill::Suggestion& suggestion) { +- suggestion.children.emplace_back( +- username, autofill::PopupItemId::kPasswordFieldByFieldFilling); ++ suggestion.children.emplace_back() = ++ {username, autofill::PopupItemId::kPasswordFieldByFieldFilling}; + } + + void AddFillPasswordChildSuggestion(autofill::Suggestion& suggestion, +@@ -248,8 +248,8 @@ void AddFillPasswordChildSuggestion(auto + IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_FILL_PASSWORD_ENTRY), + autofill::PopupItemId::kFillPassword); + fill_password.payload = +- autofill::Suggestion::PasswordSuggestionDetails(password); +- suggestion.children.emplace_back(std::move(fill_password)); ++ autofill::Suggestion::PasswordSuggestionDetails{password}; ++ suggestion.children.emplace_back() = {std::move(fill_password)}; + } + + void AddViewPasswordDetailsChildSuggestion(autofill::Suggestion& suggestion) { +@@ -258,7 +258,7 @@ void AddViewPasswordDetailsChildSuggesti + IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_VIEW_DETAILS_ENTRY), + autofill::PopupItemId::kViewPasswordDetails); + view_password_details.icon = autofill::Suggestion::Icon::kKey; +- suggestion.children.emplace_back(std::move(view_password_details)); ++ suggestion.children.emplace_back() = {std::move(view_password_details)}; + } + + autofill::Suggestion GetManualFallbackSuggestion( +@@ -273,7 +273,7 @@ autofill::Suggestion GetManualFallbackSu + suggestion.additional_label = maybe_username; + suggestion.icon = autofill::Suggestion::Icon::kGlobe; + suggestion.payload = +- autofill::Suggestion::PasswordSuggestionDetails(credential.password); ++ autofill::Suggestion::PasswordSuggestionDetails{credential.password}; + suggestion.is_acceptable = on_password_form.value(); + + if (!replaced) { +@@ -355,27 +355,27 @@ PasswordSuggestionGenerator::GetSuggesti + if (uses_passkeys && delegate->OfferPasskeysFromAnotherDeviceOption()) { + bool listed_passkeys = delegate->GetPasskeys().has_value() && + delegate->GetPasskeys()->size() > 0; +- suggestions.emplace_back(CreateWebAuthnEntry(listed_passkeys)); ++ suggestions.emplace_back() = {CreateWebAuthnEntry(listed_passkeys)}; + } + #endif + + // Add password generation entry, if available. + if (offers_generation) { +- suggestions.emplace_back( +- show_account_storage_optin ++ suggestions.emplace_back() = ++ {show_account_storage_optin + ? CreateEntryToOptInToAccountStorageThenGenerate() +- : CreateGenerationEntry()); ++ : CreateGenerationEntry()}; + } + + // Add button to opt into using the account storage for passwords and then + // suggest. + if (show_account_storage_optin) { +- suggestions.emplace_back(CreateEntryToOptInToAccountStorageThenFill()); ++ suggestions.emplace_back() = {CreateEntryToOptInToAccountStorageThenFill()}; + } + + // Add button to sign-in which unlocks the previously used account store. + if (show_account_storage_resignin) { +- suggestions.emplace_back(CreateEntryToReSignin()); ++ suggestions.emplace_back() = {CreateEntryToReSignin()}; + } + + // Add "Manage all passwords" link to settings. +@@ -393,30 +393,30 @@ PasswordSuggestionGenerator::GetManualFa + const bool generate_sections = + !suggested_credentials.empty() && !credentials.empty(); + if (generate_sections) { +- suggestions.emplace_back( +- l10n_util::GetStringUTF16( ++ suggestions.emplace_back() = ++ {l10n_util::GetStringUTF16( + IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_SUGGESTED_PASSWORDS_SECTION_TITLE), +- autofill::PopupItemId::kTitle); ++ autofill::PopupItemId::kTitle}; + } + + for (const auto& form : suggested_credentials) { +- suggestions.emplace_back( +- GetManualFallbackSuggestion(CredentialUIEntry(form), on_password_form)); ++ suggestions.emplace_back() = ++ {GetManualFallbackSuggestion(CredentialUIEntry(form), on_password_form)}; + } + + if (generate_sections) { +- suggestions.emplace_back( +- l10n_util::GetStringUTF16( ++ suggestions.emplace_back() = ++ {l10n_util::GetStringUTF16( + IDS_PASSWORD_MANAGER_MANUAL_FALLBACK_ALL_PASSWORDS_SECTION_TITLE), +- autofill::PopupItemId::kTitle); ++ autofill::PopupItemId::kTitle}; + } + + // Only the "All passwords" section should be sorted alphabetically. + const size_t relevant_section_offset = suggestions.size(); + + for (const CredentialUIEntry& credential : credentials) { +- suggestions.emplace_back( +- GetManualFallbackSuggestion(credential, on_password_form)); ++ suggestions.emplace_back() = ++ {GetManualFallbackSuggestion(credential, on_password_form)}; + } + + base::ranges::sort(suggestions.begin() + relevant_section_offset, +diff -up chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc.no_matching_constructor chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc +--- chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc.no_matching_constructor 2024-05-15 23:46:13.000000000 +0200 ++++ chromium-125.0.6422.60/components/performance_manager/worker_watcher.cc 2024-05-17 12:33:58.716650572 +0200 +@@ -242,7 +242,7 @@ void WorkerWatcher::OnWorkerCreated( + DCHECK(insertion_result.second); + + absl::visit( +- base::Overloaded( ++ base::Overloaded{ + [&, + this](const content::GlobalRenderFrameHostId& render_frame_host_id) { + AddFrameClientConnection(insertion_result.first->second.get(), +@@ -251,7 +251,7 @@ void WorkerWatcher::OnWorkerCreated( + [&, this](blink::DedicatedWorkerToken dedicated_worker_token) { + ConnectDedicatedWorkerClient(insertion_result.first->second.get(), + dedicated_worker_token); +- }), ++ }}, + creator); + } + +@@ -268,7 +268,7 @@ void WorkerWatcher::OnBeforeWorkerDestro + // First disconnect the creator's node from this worker node. + + absl::visit( +- base::Overloaded( ++ base::Overloaded{ + [&, + this](const content::GlobalRenderFrameHostId& render_frame_host_id) { + RemoveFrameClientConnection(worker_node.get(), +@@ -277,7 +277,7 @@ void WorkerWatcher::OnBeforeWorkerDestro + [&, this](blink::DedicatedWorkerToken dedicated_worker_token) { + DisconnectDedicatedWorkerClient(worker_node.get(), + dedicated_worker_token); +- }), ++ }}, + creator); + + // Disconnect all child workers before destroying the node. +@@ -449,7 +449,7 @@ void WorkerWatcher::OnControlleeAdded( + const std::string& client_uuid, + const content::ServiceWorkerClientInfo& client_info) { + absl::visit( +- base::Overloaded( ++ base::Overloaded{ + [&, this](content::GlobalRenderFrameHostId render_frame_host_id) { + // For window clients, it is necessary to wait until the navigation + // has committed to a RenderFrameHost. +@@ -487,7 +487,7 @@ void WorkerWatcher::OnControlleeAdded( + ConnectSharedWorkerClient(service_worker_node, + shared_worker_token); + } +- }), ++ }}, + client_info); + } + +@@ -527,7 +527,7 @@ void WorkerWatcher::OnControlleeRemoved( + return; + + absl::visit( +- base::Overloaded( ++ base::Overloaded{ + [&, this](content::GlobalRenderFrameHostId render_frame_host_id) { + RemoveFrameClientConnection(worker_node, render_frame_host_id); + }, +@@ -537,7 +537,7 @@ void WorkerWatcher::OnControlleeRemoved( + }, + [&, this](blink::SharedWorkerToken shared_worker_token) { + DisconnectSharedWorkerClient(worker_node, shared_worker_token); +- }), ++ }}, + client); + } + +@@ -813,7 +813,7 @@ void WorkerWatcher::ConnectAllServiceWor + + for (const auto& kv : it->second) { + absl::visit( +- base::Overloaded( ++ base::Overloaded{ + [&, this](content::GlobalRenderFrameHostId render_frame_host_id) { + AddFrameClientConnection(service_worker_node, + render_frame_host_id); +@@ -825,7 +825,7 @@ void WorkerWatcher::ConnectAllServiceWor + [&, this](blink::SharedWorkerToken shared_worker_token) { + ConnectSharedWorkerClient(service_worker_node, + shared_worker_token); +- }), ++ }}, + kv.second); + } + } +@@ -840,7 +840,7 @@ void WorkerWatcher::DisconnectAllService + + for (const auto& kv : it->second) { + absl::visit( +- base::Overloaded( ++ base::Overloaded{ + [&, this]( + const content::GlobalRenderFrameHostId& render_frame_host_id) { + RemoveFrameClientConnection(service_worker_node, +@@ -854,7 +854,7 @@ void WorkerWatcher::DisconnectAllService + [&, this](const blink::SharedWorkerToken& shared_worker_token) { + DisconnectSharedWorkerClient(service_worker_node, + shared_worker_token); +- }), ++ }}, + kv.second); + } + } +diff -up chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc +--- chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2024-05-15 23:46:17.000000000 +0200 ++++ chromium-125.0.6422.60/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2024-05-17 12:33:58.716650572 +0200 +@@ -1720,7 +1720,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut + + // Issue readbacks from the surfaces: + for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) { +- SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height()); ++ SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()}; + SkImageInfo dst_info = SkImageInfo::Make( + size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType, + kUnpremul_SkAlphaType); +diff -up chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc.no_matching_constructor chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc +--- chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc.no_matching_constructor 2024-05-17 17:18:47.841479697 +0200 ++++ chromium-125.0.6422.60/components/web_package/signed_web_bundles/signed_web_bundle_signature_verifier.cc 2024-05-17 18:23:41.679054785 +0200 +@@ -181,9 +181,9 @@ void SignedWebBundleSignatureVerifier::O + // https://github.com/WICG/webpackage/blob/3f95ec365b87ed19d2cb5186e473ccc4d011e2af/explainers/integrity-signature.md + std::vector payload_to_verify = CreateSignaturePayload({ + .unsigned_web_bundle_hash = absl::visit( +- base::Overloaded([](const auto& digest) -> base::span { ++ base::Overloaded{[](const auto& digest) -> base::span { + 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 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 GetGpuFeatur + *base::CommandLine::ForCurrentProcess(); + + std::vector features; +- features.emplace_back( ++ features.emplace_back() = { + "2d_canvas", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, +@@ -116,13 +116,13 @@ std::vector GetGpuFeatur + DisableInfo::Problem( + "Accelerated 2D canvas is unavailable: either disabled " + "via blocklist or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "canvas_oop_rasterization", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION, +- command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))); +- features.emplace_back( ++ command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))}; ++ features.emplace_back() = { + "gpu_compositing", + // TODO(rivr): Replace with a check to see which backend is used for + // compositing; do the same for GPU rasterization if it's enabled. For +@@ -136,16 +136,16 @@ std::vector GetGpuFeatur + "about:flags " + "or the command line. The browser will fall back to software " + "compositing and hardware acceleration will be unavailable."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "webgl", + SafeGetFeatureStatus(gpu_feature_info, + gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL, + command_line.HasSwitch(switches::kDisableWebGL)), + DisableInfo::Problem( + "WebGL has been disabled via blocklist or the command line."), +- false); +- features.emplace_back( ++ false}; ++ features.emplace_back() = { + "video_decode", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE, +@@ -156,8 +156,8 @@ std::vector GetGpuFeatur + DisableInfo::Problem( + "Accelerated video decode has been disabled, either via blocklist, " + "about:flags or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "video_encode", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE, +@@ -169,33 +169,33 @@ std::vector GetGpuFeatur + DisableInfo::Problem( + "Accelerated video encode has been disabled, either via blocklist, " + "about:flags or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "rasterization", + SafeGetFeatureStatus(gpu_feature_info, + gpu::GPU_FEATURE_TYPE_GPU_TILE_RASTERIZATION), + DisableInfo::Problem( + "Accelerated rasterization has been disabled, either via blocklist, " + "about:flags or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "opengl", SafeGetFeatureStatus(gpu_feature_info, +- gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)); ++ gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)}; + #if BUILDFLAG(ENABLE_VULKAN) +- features.emplace_back( ++ features.emplace_back() = { + "vulkan", +- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)); ++ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)}; + #endif +- features.emplace_back( ++ features.emplace_back() = { + "multiple_raster_threads", +- GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)); ++ GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)}; + #if BUILDFLAG(IS_ANDROID) +- features.emplace_back( ++ features.emplace_back() = { + "surface_control", + SafeGetFeatureStatus(gpu_feature_info, +- gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)); ++ gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)}; + #endif +- features.emplace_back( ++ features.emplace_back() = { + "webgl2", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL2, +@@ -203,12 +203,12 @@ std::vector GetGpuFeatur + command_line.HasSwitch(switches::kDisableWebGL2)), + DisableInfo::Problem( + "WebGL2 has been disabled via blocklist or the command line."), +- false); +- features.emplace_back("raw_draw", +- GetFakeFeatureStatus(features::IsUsingRawDraw())); +- features.emplace_back("direct_rendering_display_compositor", +- GetFakeFeatureStatus(features::IsDrDcEnabled())); +- features.emplace_back( ++ false}; ++ features.emplace_back() = {"raw_draw", ++ GetFakeFeatureStatus(features::IsUsingRawDraw())}; ++ features.emplace_back() = {"direct_rendering_display_compositor", ++ GetFakeFeatureStatus(features::IsDrDcEnabled())}; ++ features.emplace_back() = { + "webgpu", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGPU, +@@ -216,14 +216,14 @@ std::vector GetGpuFeatur + !base::FeatureList::IsEnabled(::features::kWebGPUService)), + DisableInfo::Problem( + "WebGPU has been disabled via blocklist or the command line."), +- false); +- features.emplace_back( ++ false}; ++ features.emplace_back() = { + "skia_graphite", + SafeGetFeatureStatus(gpu_feature_info, +- gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)); +- features.emplace_back( ++ gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)}; ++ features.emplace_back() = { + "webnn", +- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)); ++ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)}; + return features; + } + +diff -up chromium-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 DoGet + return std::nullopt; + } + +- return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0), ++ return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0), + static_cast( +- cooldown_debugging_only_report.ColumnInt(1))); ++ cooldown_debugging_only_report.ColumnInt(1))}; + } + + void DoGetDebugReportCooldowns( +@@ -3542,10 +3542,10 @@ DoGetKAnonymityData(sql::Database& db, + + std::vector k_anon_data; + while (interest_group_kanon_query.Step()) { +- k_anon_data.emplace_back( ++ k_anon_data.emplace_back() = { + /*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 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( + 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 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( + mailboxes.front_buffer, +- SharedImageMetadata(format, size, color_space, surface_origin, +- alpha_type, usage), ++ SharedImageMetadata{format, size, color_space, surface_origin, ++ alpha_type, usage}, + sync_token, holder_, gfx::EMPTY_BUFFER), + base::MakeRefCounted( + mailboxes.back_buffer, +- SharedImageMetadata(format, size, color_space, surface_origin, +- alpha_type, usage), ++ SharedImageMetadata{format, size, color_space, surface_origin, ++ alpha_type, usage}, + sync_token, holder_, gfx::EMPTY_BUFFER)); + } + +@@ -350,8 +350,8 @@ scoped_refptr ClientS + + return base::MakeRefCounted( + mailbox, +- SharedImageMetadata(format, size, color_space, surface_origin, alpha_type, +- usage), ++ SharedImageMetadata{format, size, color_space, surface_origin, alpha_type, ++ usage}, + GenUnverifiedSyncToken(), holder_, gfx::EMPTY_BUFFER); + } + +diff -up chromium-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 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 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 + color_interpolation_space, hue_interpolation_method, start_color, + end_color, percentage, alpha_multiplier); + +- FontPalette::FontPaletteOverride result_color_record(i, result_color); ++ FontPalette::FontPaletteOverride result_color_record{static_cast(i), result_color}; + result_color_records.push_back(result_color_record); + } + return result_color_records; +diff -up chromium-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_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_LINEAR, +- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kSRGB, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, +- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, +- TransferFnVersion(SkNamedTransferFn::kHLG, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, ++ TransferFnVersion{SkNamedTransferFn::kHLG, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kSRGBExtended1023Over510, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}}); ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}}); + + // A map from zcr_color_manager_v1 matrix_names enum values to + // gfx::ColorSpace::MatrixIDs. + constexpr auto kMatrixMap = + base::MakeFixedFlatMap( + {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB, +- MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT709, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT709, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG, +- MatrixVersion( ++ MatrixVersion{ + gfx::ColorSpace::MatrixID::BT470BG, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_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_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(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(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(this)->image_container_view(), + static_cast(GetLayoutManager()) + ->CanBeVisible(image_container_view()), +- gfx::Rect(image_origin, image_size), SizeBounds()); ++ gfx::Rect(image_origin, image_size), SizeBounds()}; + + gfx::Rect label_bounds = label_area; + if (label_area.width() == label_size.width()) { +@@ -465,11 +465,11 @@ ProposedLayout LabelButton::CalculatePro + } + } + +- layouts.child_layouts.emplace_back( ++ layouts.child_layouts.emplace_back() = { + label_.get(), + static_cast(GetLayoutManager()) + ->CanBeVisible(label_.get()), +- label_bounds, SizeBounds()); ++ label_bounds, SizeBounds()}; + layouts.host_size = + gfx::Size(size_bounds.width().value(), size_bounds.height().value()); + +diff -up chromium-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/SOURCES/chromium-125-el7-old-libdrm.patch b/SOURCES/chromium-125-el7-old-libdrm.patch new file mode 100644 index 00000000..ab629774 --- /dev/null +++ b/SOURCES/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/SOURCES/chromium-125-el7-optional-workaround-assert.patch b/SOURCES/chromium-125-el7-optional-workaround-assert.patch new file mode 100644 index 00000000..7e78085c --- /dev/null +++ b/SOURCES/chromium-125-el7-optional-workaround-assert.patch @@ -0,0 +1,11 @@ +--- chromium-125.0.6422.60/optional.orig 2024-05-20 00:12:50.152306289 +0200 ++++ chromium-125.0.6422.60/optional 2024-05-20 00:12:28.041823631 +0200 +@@ -474,7 +474,7 @@ + constexpr _Tp& + _M_get() noexcept + { +- __glibcxx_assert(this->_M_is_engaged()); ++ //__glibcxx_assert(this->_M_is_engaged()); + return static_cast<_Dp*>(this)->_M_payload._M_get(); + } + diff --git a/SOURCES/chromium-125-el7-rust-proc-macro2.patch b/SOURCES/chromium-125-el7-rust-proc-macro2.patch new file mode 100644 index 00000000..64a69784 --- /dev/null +++ b/SOURCES/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 ", + "Alex Crichton ", +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 ", "Alex Crichton "] + 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::().unwrap() ++ } ++ }) ++ } else { ++ Literal::Fallback(fallback::Literal::byte_character(byte)) + } + } + +@@ -870,6 +890,25 @@ + } + } + ++ pub fn c_string(string: &CStr) -> Literal { ++ if inside_proc_macro() { ++ Literal::Compiler({ ++ #[cfg(not(no_literal_c_string))] ++ { ++ proc_macro::Literal::c_string(string) ++ } ++ ++ #[cfg(no_literal_c_string)] ++ { ++ let fallback = fallback::Literal::c_string(string); ++ fallback.repr.parse::().unwrap() ++ } ++ }) ++ } else { ++ Literal::Fallback(fallback::Literal::c_string(string)) ++ } ++ } ++ + pub fn span(&self) -> Span { + match self { + Literal::Compiler(lit) => Span::Compiler(lit.span()), +diff -Nur 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::().unwrap(); +@@ -133,15 +146,42 @@ + } + + #[test] ++fn literal_byte_character() { ++ #[track_caller] ++ fn assert(literal: Literal, expected: &str) { ++ assert_eq!(literal.to_string(), expected.trim()); ++ } ++ ++ assert(Literal::byte_character(b'a'), r#" b'a' "#); ++ assert(Literal::byte_character(b'\0'), r#" b'\0' "#); ++ assert(Literal::byte_character(b'\t'), r#" b'\t' "#); ++ assert(Literal::byte_character(b'\n'), r#" b'\n' "#); ++ assert(Literal::byte_character(b'\r'), r#" b'\r' "#); ++ assert(Literal::byte_character(b'\''), r#" b'\'' "#); ++ assert(Literal::byte_character(b'\\'), r#" b'\\' "#); ++ assert(Literal::byte_character(b'\x1f'), r#" b'\x1F' "#); ++ assert(Literal::byte_character(b'"'), r#" b'"' "#); ++} ++ ++#[test] + fn literal_byte_string() { +- assert_eq!(Literal::byte_string(b"").to_string(), "b\"\""); +- assert_eq!( +- Literal::byte_string(b"\0\t\n\r\"\\2\x10").to_string(), +- "b\"\\0\\t\\n\\r\\\"\\\\2\\x10\"", +- ); +- assert_eq!( +- Literal::byte_string(b"a\00b\07c\08d\0e\0").to_string(), +- "b\"a\\x000b\\x007c\\08d\\0e\\0\"", ++ #[track_caller] ++ fn assert(literal: Literal, expected: &str) { ++ assert_eq!(literal.to_string(), expected.trim()); ++ } ++ ++ assert(Literal::byte_string(b""), r#" b"" "#); ++ assert(Literal::byte_string(b"\0"), r#" b"\0" "#); ++ assert(Literal::byte_string(b"\t"), r#" b"\t" "#); ++ assert(Literal::byte_string(b"\n"), r#" b"\n" "#); ++ assert(Literal::byte_string(b"\r"), r#" b"\r" "#); ++ assert(Literal::byte_string(b"\""), r#" b"\"" "#); ++ assert(Literal::byte_string(b"\\"), r#" b"\\" "#); ++ assert(Literal::byte_string(b"\x1f"), r#" b"\x1F" "#); ++ assert(Literal::byte_string(b"'"), r#" b"'" "#); ++ assert( ++ Literal::byte_string(b"a\00b\07c\08d\0e\0"), ++ r#" b"a\x000b\x007c\08d\0e\0" "#, + ); + + "b\"\\\r\n x\"".parse::().unwrap(); +@@ -152,6 +192,41 @@ + + #[test] + fn literal_c_string() { ++ #[track_caller] ++ fn assert(literal: Literal, expected: &str) { ++ assert_eq!(literal.to_string(), expected.trim()); ++ } ++ ++ assert(Literal::c_string(<&CStr>::default()), r#" c"" "#); ++ assert( ++ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()), ++ r#" c"aA" "#, ++ ); ++ assert( ++ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()), ++ r#" c"aA" "#, ++ ); ++ assert( ++ Literal::c_string(CStr::from_bytes_with_nul(b"\t\0").unwrap()), ++ r#" c"\t" "#, ++ ); ++ assert( ++ Literal::c_string(CStr::from_bytes_with_nul(b"\xE2\x9D\xA4\0").unwrap()), ++ r#" c"❤" "#, ++ ); ++ assert( ++ Literal::c_string(CStr::from_bytes_with_nul(b"'\0").unwrap()), ++ r#" c"'" "#, ++ ); ++ assert( ++ Literal::c_string(CStr::from_bytes_with_nul(b"\"\0").unwrap()), ++ r#" c"\"" "#, ++ ); ++ assert( ++ Literal::c_string(CStr::from_bytes_with_nul(b"\x7F\xFF\xFE\xCC\xB3\0").unwrap()), ++ r#" c"\u{7f}\xFF\xFE\u{333}" "#, ++ ); ++ + let strings = r###" + c"hello\x80我叫\u{1F980}" // from the RFC + cr"\" +@@ -188,49 +263,80 @@ + + #[test] + fn literal_character() { +- assert_eq!(Literal::character('x').to_string(), "'x'"); +- assert_eq!(Literal::character('\'').to_string(), "'\\''"); +- assert_eq!(Literal::character('"').to_string(), "'\"'"); ++ #[track_caller] ++ fn assert(literal: Literal, expected: &str) { ++ assert_eq!(literal.to_string(), expected.trim()); ++ } ++ ++ assert(Literal::character('a'), r#" 'a' "#); ++ assert(Literal::character('\t'), r#" '\t' "#); ++ assert(Literal::character('❤'), r#" '❤' "#); ++ assert(Literal::character('\''), r#" '\'' "#); ++ assert(Literal::character('"'), r#" '"' "#); ++ assert(Literal::character('\0'), r#" '\0' "#); ++ assert(Literal::character('\u{1}'), r#" '\u{1}' "#); + } + + #[test] + fn literal_integer() { +- assert_eq!(Literal::u8_suffixed(10).to_string(), "10u8"); +- assert_eq!(Literal::u16_suffixed(10).to_string(), "10u16"); +- assert_eq!(Literal::u32_suffixed(10).to_string(), "10u32"); +- assert_eq!(Literal::u64_suffixed(10).to_string(), "10u64"); +- assert_eq!(Literal::u128_suffixed(10).to_string(), "10u128"); +- assert_eq!(Literal::usize_suffixed(10).to_string(), "10usize"); +- +- assert_eq!(Literal::i8_suffixed(10).to_string(), "10i8"); +- assert_eq!(Literal::i16_suffixed(10).to_string(), "10i16"); +- assert_eq!(Literal::i32_suffixed(10).to_string(), "10i32"); +- assert_eq!(Literal::i64_suffixed(10).to_string(), "10i64"); +- assert_eq!(Literal::i128_suffixed(10).to_string(), "10i128"); +- assert_eq!(Literal::isize_suffixed(10).to_string(), "10isize"); +- +- assert_eq!(Literal::u8_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::u16_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::u32_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::u64_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::u128_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::usize_unsuffixed(10).to_string(), "10"); +- +- assert_eq!(Literal::i8_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::i16_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::i32_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::i64_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::i128_unsuffixed(10).to_string(), "10"); +- assert_eq!(Literal::isize_unsuffixed(10).to_string(), "10"); ++ #[track_caller] ++ fn assert(literal: Literal, expected: &str) { ++ assert_eq!(literal.to_string(), expected); ++ } ++ ++ assert(Literal::u8_suffixed(10), "10u8"); ++ assert(Literal::u16_suffixed(10), "10u16"); ++ assert(Literal::u32_suffixed(10), "10u32"); ++ assert(Literal::u64_suffixed(10), "10u64"); ++ assert(Literal::u128_suffixed(10), "10u128"); ++ assert(Literal::usize_suffixed(10), "10usize"); ++ ++ assert(Literal::i8_suffixed(10), "10i8"); ++ assert(Literal::i16_suffixed(10), "10i16"); ++ assert(Literal::i32_suffixed(10), "10i32"); ++ assert(Literal::i64_suffixed(10), "10i64"); ++ assert(Literal::i128_suffixed(10), "10i128"); ++ assert(Literal::isize_suffixed(10), "10isize"); ++ ++ assert(Literal::u8_unsuffixed(10), "10"); ++ assert(Literal::u16_unsuffixed(10), "10"); ++ assert(Literal::u32_unsuffixed(10), "10"); ++ assert(Literal::u64_unsuffixed(10), "10"); ++ assert(Literal::u128_unsuffixed(10), "10"); ++ assert(Literal::usize_unsuffixed(10), "10"); ++ ++ assert(Literal::i8_unsuffixed(10), "10"); ++ assert(Literal::i16_unsuffixed(10), "10"); ++ assert(Literal::i32_unsuffixed(10), "10"); ++ assert(Literal::i64_unsuffixed(10), "10"); ++ assert(Literal::i128_unsuffixed(10), "10"); ++ assert(Literal::isize_unsuffixed(10), "10"); ++ ++ assert(Literal::i32_suffixed(-10), "-10i32"); ++ assert(Literal::i32_unsuffixed(-10), "-10"); + } + + #[test] + fn literal_float() { +- assert_eq!(Literal::f32_suffixed(10.0).to_string(), "10f32"); +- assert_eq!(Literal::f64_suffixed(10.0).to_string(), "10f64"); +- +- assert_eq!(Literal::f32_unsuffixed(10.0).to_string(), "10.0"); +- assert_eq!(Literal::f64_unsuffixed(10.0).to_string(), "10.0"); ++ #[track_caller] ++ fn assert(literal: Literal, expected: &str) { ++ assert_eq!(literal.to_string(), expected); ++ } ++ ++ assert(Literal::f32_suffixed(10.0), "10f32"); ++ assert(Literal::f32_suffixed(-10.0), "-10f32"); ++ assert(Literal::f64_suffixed(10.0), "10f64"); ++ assert(Literal::f64_suffixed(-10.0), "-10f64"); ++ ++ assert(Literal::f32_unsuffixed(10.0), "10.0"); ++ assert(Literal::f32_unsuffixed(-10.0), "-10.0"); ++ assert(Literal::f64_unsuffixed(10.0), "10.0"); ++ assert(Literal::f64_unsuffixed(-10.0), "-10.0"); ++ ++ assert( ++ Literal::f64_unsuffixed(1e100), ++ "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0", ++ ); + } + + #[test] +@@ -248,9 +354,13 @@ + assert_eq!(token_count("1._m"), 3); + assert_eq!(token_count("\"\"s"), 1); + assert_eq!(token_count("r\"\"r"), 1); ++ assert_eq!(token_count("r#\"\"#r"), 1); + assert_eq!(token_count("b\"\"b"), 1); + assert_eq!(token_count("br\"\"br"), 1); +- assert_eq!(token_count("r#\"\"#r"), 1); ++ assert_eq!(token_count("br#\"\"#br"), 1); ++ assert_eq!(token_count("c\"\"c"), 1); ++ assert_eq!(token_count("cr\"\"cr"), 1); ++ assert_eq!(token_count("cr#\"\"#cr"), 1); + assert_eq!(token_count("'c'c"), 1); + assert_eq!(token_count("b'b'b"), 1); + assert_eq!(token_count("0E"), 1); +@@ -378,7 +488,7 @@ + roundtrip("'a"); + roundtrip("'_"); + roundtrip("'static"); +- roundtrip("'\\u{10__FFFF}'"); ++ roundtrip(r"'\u{10__FFFF}'"); + roundtrip("\"\\u{10_F0FF__}foo\\u{1_0_0_0__}\""); + } + +@@ -401,6 +511,7 @@ + fail("\"\\\r \""); // backslash carriage return + fail("'aa'aa"); + fail("br##\"\"#"); ++ fail("cr##\"\"#"); + fail("\"\\\n\u{85}\r\""); + } + diff --git a/SOURCES/chromium-125-el7-type-alias.patch b/SOURCES/chromium-125-el7-type-alias.patch new file mode 100644 index 00000000..bda9050e --- /dev/null +++ b/SOURCES/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 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 PlusAddressServi + std::optional 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 PlusAddressServi + + // Only suggest filling a plus address whose prefix matches the field's value. + std::u16string address = base::UTF8ToUTF16(*maybe_address); +- if (trigger_source != kManualFallbackPlusAddresses && ++ if (trigger_source != AutofillSuggestionTriggerSource::kManualFallbackPlusAddresses && + !address.starts_with(normalized_field_value)) { + return {}; + } diff --git a/SOURCES/chromium-125-missing-include-FieldDataManager.patch b/SOURCES/chromium-125-missing-include-FieldDataManager.patch new file mode 100644 index 00000000..6dd763a7 --- /dev/null +++ b/SOURCES/chromium-125-missing-include-FieldDataManager.patch @@ -0,0 +1,32 @@ +commit aa53c3ab8df7f7c1d42c30d4b184a8f8b0a8e50d +Author: Jose Dapena Paz +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 + Commit-Queue: José Dapena Paz + 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/SOURCES/chromium-125-system-libstdc++.patch b/SOURCES/chromium-125-system-libstdc++.patch new file mode 100644 index 00000000..759807d9 --- /dev/null +++ b/SOURCES/chromium-125-system-libstdc++.patch @@ -0,0 +1,896 @@ +diff -up chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h +--- chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ 2024-05-15 23:45:49.000000000 +0200 ++++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h 2024-05-19 09:07:38.199437617 +0200 +@@ -14,7 +14,7 @@ + #include + #include + +-#include "partition_alloc/internal_allocator_forward.h" ++#include "partition_alloc/internal_allocator.h" + #include "partition_alloc/partition_alloc_base/threading/platform_thread.h" + #include "partition_alloc/partition_alloc_base/time/time.h" + #include "partition_alloc/partition_alloc_check.h" +diff -up chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h.system-libstdc++ chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h +--- chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h.system-libstdc++ 2024-05-15 23:46:01.000000000 +0200 ++++ chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h 2024-05-19 09:07:38.200437638 +0200 +@@ -5,6 +5,7 @@ + #ifndef CHROME_BROWSER_LENS_LENS_OVERLAY_LENS_OVERLAY_URL_BUILDER_H_ + #define CHROME_BROWSER_LENS_LENS_OVERLAY_LENS_OVERLAY_URL_BUILDER_H_ + ++#include + #include + + #include "third_party/lens_server_proto/lens_overlay_cluster_info.pb.h" +diff -up chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc.system-libstdc++ chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc +--- chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc.system-libstdc++ 2024-05-19 13:16:01.140442423 +0200 ++++ chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc 2024-05-19 13:16:38.029246015 +0200 +@@ -41,9 +41,9 @@ bool ProductSpecificationsChecker::IsExi + bool ProductSpecificationsChecker::IsSpecificsAvailableAndEqual() { + for (const ProductSpecificationsSet& product_specifications_set : + service_->GetAllProductSpecifications()) { +- std::vector specifics_urls; ++ std::vector specifics_urls; + for (sync_pb::ComparisonData data : compare_specifics_->data()) { +- specifics_urls.push_back(GURL(data.url())); ++ specifics_urls.emplace_back(data.url()); + } + if (product_specifications_set.uuid().AsLowercaseString() == + compare_specifics_->uuid() && +diff -up chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h +--- chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ 2024-05-15 23:46:05.000000000 +0200 ++++ chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h 2024-05-19 09:07:38.200437638 +0200 +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + #include + + #include "base/containers/span.h" +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc.system-libstdc++ 2024-05-19 13:08:44.920571765 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc 2024-05-19 13:11:08.451775188 +0200 +@@ -24,11 +24,11 @@ ProductSpecificationsService::GetSyncCon + return bridge_->change_processor()->GetControllerDelegate(); + } + +-const std::vector ++const std::vector + ProductSpecificationsService::GetAllProductSpecifications() { +- std::vector product_specifications; ++ std::vector product_specifications; + for (auto& entry : bridge_->entries()) { +- std::vector urls; ++ std::vector urls; + for (auto& data : entry.second.data()) { + urls.emplace_back(data.url()); + } +@@ -43,7 +43,7 @@ ProductSpecificationsService::GetAllProd + const std::optional + ProductSpecificationsService::AddProductSpecificationsSet( + const std::string& name, +- const std::vector& urls) { ++ const std::vector& urls) { + // TODO(crbug.com/332545064) add for a product specification set being added. + std::optional specifics = + bridge_->AddProductSpecifications(name, urls); +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h 2024-05-19 09:07:38.201437659 +0200 +@@ -26,14 +26,13 @@ class ProductSpecificationsService : pub + base::WeakPtr + GetSyncControllerDelegate(); + +- const std::vector +- GetAllProductSpecifications(); ++ const std::vector GetAllProductSpecifications(); + + // Add new product specifications set called |name| with product pages + // corresponding to |urls|. + const std::optional + AddProductSpecificationsSet(const std::string& name, +- const std::vector& urls); ++ const std::vector& urls); + + // Deletes product specification set corresponding to identifier |uuid|. + void DeleteProductSpecificationsSet(const std::string& uuid); +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc.system-libstdc++ 2024-05-19 13:12:01.840028873 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc 2024-05-19 13:13:44.363473948 +0200 +@@ -82,9 +82,9 @@ void AddTestSpecifics(commerce::ProductS + } + + MATCHER_P(HasAllProductSpecs, compare_specifics, "") { +- std::vector specifics_urls; ++ std::vector specifics_urls; + for (const sync_pb::ComparisonData& data : compare_specifics.data()) { +- specifics_urls.push_back(GURL(data.url())); ++ specifics_urls.emplace_back(data.url()); + } + return arg.uuid().AsLowercaseString() == compare_specifics.uuid() && + arg.creation_time() == +@@ -217,7 +217,7 @@ class ProductSpecificationsServiceTest : + specifics.update_time_unix_epoch_micros()), + specifications.update_time()); + EXPECT_EQ(specifics.name(), specifications.name()); +- std::vector urls; ++ std::vector urls; + for (const sync_pb::ComparisonData& data : specifics.data()) { + urls.emplace_back(data.url()); + } +@@ -243,7 +243,7 @@ TEST_F(ProductSpecificationsServiceTest, + for (const sync_pb::CompareSpecifics& specifics : kCompareSpecifics) { + bridge()->AddCompareSpecifics(specifics); + } +- const std::vector specifications = ++ const std::vector specifications = + service()->GetAllProductSpecifications(); + EXPECT_EQ(2u, specifications.size()); + for (uint64_t i = 0; i < specifications.size(); i++) { +@@ -252,7 +252,7 @@ TEST_F(ProductSpecificationsServiceTest, + } + + TEST_F(ProductSpecificationsServiceTest, TestAddProductSpecificationsSuccess) { +- std::vector expected_product_urls{GURL(kProductOneUrl), ++ std::vector expected_product_urls{GURL(kProductOneUrl), + GURL(kProductTwoUrl)}; + EXPECT_CALL(*observer(), + OnProductSpecificationsSetAdded(HasProductSpecsNameUrl( +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc.system-libstdc++ 2024-05-19 13:06:20.870445163 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc 2024-05-19 13:07:44.385278233 +0200 +@@ -12,7 +12,7 @@ ProductSpecificationsSet::ProductSpecifi + const std::string& uuid, + const int64_t creation_time_usec_since_epoch, + const int64_t update_time_usec_since_epoch, +- const std::vector& urls, ++ const std::vector& 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 urls; ++ std::vector urls; + for (const sync_pb::ComparisonData& data : specifics.data()) { +- urls.push_back(GURL(data.url())); ++ urls.emplace_back(data.url()); + } + return ProductSpecificationsSet( + specifics.uuid(), specifics.creation_time_unix_epoch_micros(), +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h 2024-05-19 09:07:38.201437659 +0200 +@@ -43,7 +43,7 @@ class ProductSpecificationsSet { + ProductSpecificationsSet(const std::string& uuid, + const int64_t creation_time_usec_since_epoch, + const int64_t update_time_usec_since_epoch, +- const std::vector& urls, ++ const std::vector& 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& urls() const { return urls_; } ++ const std::vector& 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 urls_; ++ const std::vector urls_; + const std::string name_; + }; + +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc 2024-05-19 09:07:38.201437659 +0200 +@@ -131,7 +131,7 @@ void ProductSpecificationsSyncBridge::Ge + const std::optional + ProductSpecificationsSyncBridge::AddProductSpecifications( + const std::string& name, +- const std::vector& urls) { ++ const std::vector& urls) { + if (!change_processor()->IsTrackingMetadata()) { + return std::nullopt; + } +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h 2024-05-19 09:07:38.201437659 +0200 +@@ -64,7 +64,7 @@ class ProductSpecificationsSyncBridge : + + virtual const std::optional + AddProductSpecifications(const std::string& name, +- const std::vector& urls); ++ const std::vector& urls); + + void DeleteProductSpecificationsSet(const std::string& uuid); + +diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc +--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc 2024-05-19 09:07:38.201437659 +0200 +@@ -178,7 +178,7 @@ class ProductSpecificationsSyncBridgeTes + + std::optional AddProductSpecifications( + const std::string& name, +- const std::vector urls) { ++ const std::vector urls) { + return bridge().AddProductSpecifications(name, urls); + } + +diff -up chromium-125.0.6422.60/components/commerce/core/shopping_service.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/shopping_service.cc +--- chromium-125.0.6422.60/components/commerce/core/shopping_service.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/shopping_service.cc 2024-05-19 09:07:38.201437659 +0200 +@@ -1734,7 +1734,7 @@ void ShoppingService::GetProductIdentifi + std::move(callback))); + } + +-const std::vector ++const std::vector + ShoppingService::GetAllProductSpecificationSets() { + return product_specifications_service_->GetAllProductSpecifications(); + } +diff -up chromium-125.0.6422.60/components/commerce/core/shopping_service.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/shopping_service.h +--- chromium-125.0.6422.60/components/commerce/core/shopping_service.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200 ++++ chromium-125.0.6422.60/components/commerce/core/shopping_service.h 2024-05-19 09:07:38.201437659 +0200 +@@ -624,7 +624,7 @@ class ShoppingService : public KeyedServ + UrlProductIdentifierTupleCallback callback); + + // Return all ProductSpecificationsSets from ProductSpecificationsService. +- virtual const std::vector ++ virtual const std::vector + GetAllProductSpecificationSets(); + + // Updates the bookmark model used for sync (and shopping) if needed. Invoked +diff -up chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h.system-libstdc++ chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h +--- chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h.system-libstdc++ 2024-05-15 23:46:14.000000000 +0200 ++++ chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h 2024-05-19 09:07:38.202437679 +0200 +@@ -5,6 +5,7 @@ + #ifndef COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_TYPES_H_ + #define COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_TYPES_H_ + ++#include + #include "base/component_export.h" + #include "components/services/app_service/public/cpp/macros.h" + #include "components/services/app_service/public/protos/app_types.pb.h" +diff -up chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc.system-libstdc++ chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc +--- chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc.system-libstdc++ 2024-05-15 23:46:17.000000000 +0200 ++++ chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc 2024-05-19 09:07:38.202437679 +0200 +@@ -2275,7 +2275,7 @@ AggregatedFrame SurfaceAggregator::Aggre + root_surface_id_ = surface_id; + + // Start recording new stats for this aggregation. +- stats_.emplace(); ++ stats_ = AggregateStatistics{}; + + base::ElapsedTimer prewalk_timer; + ResolvedFrameData* resolved_frame = GetResolvedFrame(surface_id); +diff -up chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc +--- chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ 2024-05-15 23:46:17.000000000 +0200 ++++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc 2024-05-19 09:07:38.202437679 +0200 +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include + #include "content/browser/first_party_sets/first_party_sets_handler_database_helper.h" + + #include "base/containers/contains.h" +diff -up chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h +--- chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ 2024-05-15 23:46:22.000000000 +0200 ++++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h 2024-05-19 09:07:38.202437679 +0200 +@@ -111,6 +111,25 @@ using VideoDecodeDevice = Microsoft::WRL + using VideoDecodeDevice = void*; + #endif // BUILDFLAG(IS_WIN) + ++class ScopedWriteUMA { ++ public: ++ ScopedWriteUMA() = default; ++ ++ ScopedWriteUMA(const ScopedWriteUMA&) = delete; ++ ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete; ++ ++ ~ScopedWriteUMA() { ++ UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed", ++ content_consumed_); ++ } ++ ++ bool content_consumed() const { return content_consumed_; } ++ void SetConsumed() { content_consumed_ = true; } ++ ++ private: ++ bool content_consumed_ = false; ++}; ++ + // Represents the actual storage (GL texture, VkImage, GMB) for a SharedImage. + // Should not be accessed directly, instead is accessed through a + // SharedImageRepresentation. +@@ -370,25 +389,6 @@ class GPU_GLES2_EXPORT SharedImageBackin + mutable std::optional lock_; + + private: +- class ScopedWriteUMA { +- public: +- ScopedWriteUMA() = default; +- +- ScopedWriteUMA(const ScopedWriteUMA&) = delete; +- ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete; +- +- ~ScopedWriteUMA() { +- UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed", +- content_consumed_); +- } +- +- bool content_consumed() const { return content_consumed_; } +- void SetConsumed() { content_consumed_ = true; } +- +- private: +- bool content_consumed_ = false; +- }; +- + const Mailbox mailbox_; + const viz::SharedImageFormat format_; + const gfx::Size size_; +diff -up chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc +--- chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200 ++++ chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc 2024-05-19 09:07:38.203437700 +0200 +@@ -57,7 +57,7 @@ bool ProtoWrapper::DeserializeToMessage( + // Make an in-process copy here as protobuf is not designed to + // safely parse data that might be changing underneath it. + auto as_span = base::make_span(bytes_->data(), bytes_->size()); +- const std::vector copy(as_span.begin(), as_span.end()); ++ const std::vector copy(as_span.begin(), as_span.end()); + return message.ParseFromArray(copy.data(), copy.size()); + } + } +diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h +--- chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200 ++++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h 2024-05-19 09:07:38.203437700 +0200 +@@ -8,6 +8,7 @@ + #include + + #include ++#include + #include + #include + +diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc +--- chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200 ++++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc 2024-05-19 09:07:38.203437700 +0200 +@@ -892,7 +892,7 @@ bool MultiplexRouter::ExclusiveSyncWaitF + DCHECK(!exclusive_sync_wait_); + + scoped_refptr keep_alive(this); +- exclusive_sync_wait_.emplace(); ++ exclusive_sync_wait_ = ExclusiveSyncWaitInfo{}; + exclusive_sync_wait_->interface_id = interface_id; + exclusive_sync_wait_->request_id = request_id; + while (!exclusive_sync_wait_->finished) { +diff -up chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc +--- chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ 2024-05-15 23:46:38.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc 2024-05-19 09:07:38.206437763 +0200 +@@ -218,8 +218,6 @@ bool StructTraitsall_buyers_priority_signals) || + !data.ReadAuctionReportBuyerKeys(&out->auction_report_buyer_keys) || + !data.ReadAuctionReportBuyers(&out->auction_report_buyers) || +- !data.ReadAuctionReportBuyerDebugModeConfig( +- &out->auction_report_buyer_debug_mode_config) || + !data.ReadRequiredSellerCapabilities( + &out->required_seller_capabilities) || + !data.ReadRequestedSize(&out->requested_size) || +diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc +--- chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ 2024-05-15 23:46:41.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc 2024-05-19 09:07:38.209437825 +0200 +@@ -182,26 +182,26 @@ void HistoryItem::SetReferrerPolicy(netw + + void HistoryItem::SetVisualViewportScrollOffset(const ScrollOffset& offset) { + if (!view_state_) +- view_state_ = std::make_optional(); ++ 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(); ++ view_state_ = blink::HistoryItem::ViewState{}; + view_state_->scroll_offset_ = offset; + } + + void HistoryItem::SetPageScaleFactor(float scale_factor) { + if (!view_state_) +- view_state_ = std::make_optional(); ++ 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(); ++ view_state_ = blink::HistoryItem::ViewState{}; + view_state_->scroll_anchor_data_ = scroll_anchor_data; + } + +diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h +--- chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ 2024-05-15 23:46:41.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2024-05-19 09:07:38.209437825 +0200 +@@ -22,7 +22,7 @@ class FragmentDataIteratorBase { + + public: + explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {} +- explicit FragmentDataIteratorBase(nullptr_t) {} ++ explicit FragmentDataIteratorBase(std::nullptr_t) {} + + Data* GetFragmentData() const { + return !IsDone() ? &fragment_head_.at(idx_) : nullptr; +diff -up chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc +--- chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ 2024-05-15 23:46:42.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc 2024-05-19 09:07:38.210437846 +0200 +@@ -101,7 +101,7 @@ void MediaControlTimelineElement::Update + void MediaControlTimelineElement::SetPosition(double current_time, + bool suppress_aria) { + if (is_live_ && !live_anchor_time_ && current_time != 0) { +- live_anchor_time_.emplace(); ++ live_anchor_time_ = LiveAnchorTime{}; + live_anchor_time_->clock_time_ = base::TimeTicks::Now(); + live_anchor_time_->media_time_ = MediaElement().currentTime(); + } +diff -up chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc +--- chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ 2024-05-15 23:46:42.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc 2024-05-19 09:07:38.210437846 +0200 +@@ -70,7 +70,7 @@ void GeometryMapperTransformCache::Updat + to_2d_translation_root_ += translation; + + if (parent.plane_root_transform_) { +- plane_root_transform_.emplace(); ++ plane_root_transform_ = PlaneRootTransform{}; + plane_root_transform_->plane_root = parent.plane_root(); + plane_root_transform_->to_plane_root = parent.to_plane_root(); + plane_root_transform_->to_plane_root.Translate(translation.x(), +@@ -98,7 +98,7 @@ void GeometryMapperTransformCache::Updat + // as the 2d translation root. + plane_root_transform_ = std::nullopt; + } else { +- plane_root_transform_.emplace(); ++ plane_root_transform_ = PlaneRootTransform{}; + plane_root_transform_->plane_root = parent.plane_root(); + plane_root_transform_->to_plane_root.MakeIdentity(); + parent.ApplyToPlaneRoot(plane_root_transform_->to_plane_root); +@@ -140,7 +140,7 @@ void GeometryMapperTransformCache::Updat + parent_node->UpdateScreenTransform(); + const auto& parent = parent_node->GetTransformCache(); + +- screen_transform_.emplace(); ++ screen_transform_ = ScreenTransform{}; + parent.ApplyToScreen(screen_transform_->to_screen); + if (node.FlattensInheritedTransform()) + screen_transform_->to_screen.Flatten(); +diff -up chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h +--- chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ 2024-05-15 23:47:49.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h 2024-05-19 09:07:38.211437867 +0200 +@@ -19,6 +19,7 @@ limitations under the License. + #ifdef RUY_PROFILER + #include + #include ++#include + #include + #endif + +diff -up chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp.system-libstdc++ chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp +--- chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp.system-libstdc++ 2024-05-15 23:48:05.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp 2024-05-19 09:07:38.211437867 +0200 +@@ -8,6 +8,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff -up chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc +--- chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ 2024-05-15 23:48:09.000000000 +0200 ++++ chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc 2024-05-19 09:07:38.212437888 +0200 +@@ -549,7 +549,7 @@ absl::optional L + if (!enabled.Get()) { + return config; + } +- config.emplace(); ++ config = Config{}; + config->bandwidth_rampup_upper_bound_factor = + bandwidth_rampup_upper_bound_factor.Get(); + config->bandwidth_rampup_upper_bound_factor_in_hold = +diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc +--- chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200 ++++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc 2024-05-19 09:07:38.212437888 +0200 +@@ -305,7 +305,7 @@ void ReadEvent(RandR + // 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 + 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 + subpixel_order = static_cast(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 + 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 + 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 + 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 + Pad(&buf, 20); + } + if (CaseEq(data_expr, RandR::Notify::Lease)) { +- data.lc.emplace(); ++ data.lc = RandR::NotifyEvent::Lc{}; + auto& timestamp = (*data.lc).timestamp; + auto& window = (*data.lc).window; + auto& lease = (*data.lc).lease; +diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc +--- chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200 ++++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc 2024-05-19 09:07:38.216437971 +0200 +@@ -567,7 +567,7 @@ void ReadEvent detail + // map + auto map_expr = present; + if (CaseAnd(map_expr, Xkb::MapPart::KeyTypes)) { +- map.types_rtrn.emplace(); ++ map.types_rtrn = std::vector{}; + auto& types_rtrn = *map.types_rtrn; + size_t types_rtrn_len = types_rtrn.size(); + +@@ -5276,7 +5276,7 @@ std::unique_ptr + 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 + } + } + 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 + } + } + 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 + } + 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 + } + } + if (CaseAnd(replies_expr, Xkb::GBNDetail::Geometry)) { +- replies.geometry.emplace(); ++ replies.geometry = Xkb::GetKbdByNameReply::Geometry{}; + auto& geometry_type = (*replies.geometry).geometry_type; + auto& geometryDeviceID = (*replies.geometry).geometryDeviceID; + auto& geometry_sequence = (*replies.geometry).geometry_sequence; diff --git a/SPECS/chromium.spec b/SPECS/chromium.spec index 8494daa2..d362e569 100644 --- a/SPECS/chromium.spec +++ b/SPECS/chromium.spec @@ -184,6 +184,9 @@ # enable|disable use_custom_libcxx %global use_custom_libcxx 1 +%if 0%{?rhel} == 7 +%global use_custom_libcxx 0 +%endif # enable clang by default %global clang 1 @@ -228,12 +231,17 @@ %global bundlelibaom 1 %global bundlelibavif 1 %global bundlesnappy 1 - -# Fedora's Python 2 stack is being removed, we use the bundled Python libraries -# This can be revisited once we upgrade to Python 3 %global bundlepylibs 0 %global bundlelibxslt 0 %global bundleflac 0 +%global bundledoubleconversion 0 +%global bundlelibXNVCtrl 0 +%global bundlehighway 0 +%global bundlelibusbx 0 +%global bundlelibevent 0 +%global bundlelibsecret 0 +%global bundleopus 0 +%global bundlelcms2 0 # RHEL 7.9 dropped minizip. # enable bundleminizip for Fedora > 39 due to switch to minizip-ng @@ -247,45 +255,35 @@ %global bundleffmpegfree 0 %if 0%{?rhel} == 7 || 0%{?rhel} == 8 -%global bundlehighway 1 -%global bundledav1d 1 -%global bundleopus 1 -%global bundlelibusbx 1 %global bundleharfbuzz 1 -%global bundlelibpng 1 %global bundlelibwebp 1 +%global bundlelibpng 1 %global bundlelibjpeg 1 %global bundlefreetype 1 %global bundlelibdrm 1 %global bundlefontconfig 1 +%global bundleffmpegfree 1 %global bundlebrotli 1 %global bundlelibopenjpeg2 1 -%global bundlelcms2 1 %global bundlelibtiff 1 %global bundlecrc32c 1 -%global bundledoubleconversion 1 -%global bundlelibsecret 1 -%global bundlelibXNVCtrl 1 %global bundlelibxml 1 -%global bundlelibevent 1 +%global bundledav1d 1 %else %if 0%{?fedora} > 38 || 0%{?rhel} > 9 %global bundlebrotli 0 %else %global bundlebrotli 1 %endif -%global bundlehighway 0 %global bundledav1d 0 -%global bundleopus 0 -%global bundlelibusbx 0 %global bundlelibwebp 0 %global bundlelibpng 0 %global bundlelibjpeg 0 %global bundlelibdrm 0 %global bundlefontconfig 0 +%global bundleffmpegfree 0 %global bundlefreetype 0 %global bundlelibopenjpeg2 0 -%global bundlelcms2 0 %global bundlelibtiff 0 %if 0%{?rhel} == 9 %global bundlecrc32c 1 @@ -294,11 +292,7 @@ %global bundlecrc32c 0 %global bundleharfbuzz 0 %endif -%global bundledoubleconversion 0 -%global bundlelibsecret 0 -%global bundlelibXNVCtrl 0 %global bundlelibxml 0 -%global bundlelibevent 0 %endif %if %{with gost} @@ -344,7 +338,7 @@ %endif Name: chromium%{chromium_channel} -Version: 125.0.6422.60 +Version: 125.0.6422.112 Release: 1%{?dist}.inferit Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Url: http://www.chromium.org/Home @@ -410,7 +404,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 @@ -421,7 +415,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::erase(std::basic_string::const_iterator, __gnu_cxx::__normal_iterator >&)' # 33 | property_name.erase(property_name.cbegin(), cur); @@ -455,6 +449,25 @@ Patch119: chromium-124-typename.patch Patch120: chromium-117-string-convert.patch Patch121: chromium-119-assert.patch Patch122: chromium-124-el7-constexpr.patch +======= +# fixes for old clang version in el7 (clang <= 15) +# compiler build errors, no matching constructor for initialization +Patch116: chromium-125-el7-no_matching_constructor.patch +Patch117: chromium-115-el7-compiler-SkColor4f.patch + +# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826 +Patch118: chromium-124-el7-workaround_clang_bug-structured_binding.patch + +# missing typename +Patch119: chromium-124-typename.patch + +# error: invalid operands to binary expression +Patch120: chromium-117-el7-string-convert.patch +Patch121: chromium-125-el7-assert.patch +Patch122: chromium-125-el7-constexpr.patch +Patch123: chromium-125-el7-type-alias.patch +Patch124: chromium-125-el7-optional-workaround-assert.patch +>>>>>>> i9e # system ffmpeg # need for old ffmpeg 5.x on epel9 @@ -466,6 +479,8 @@ Patch131: chromium-107-proprietary-codecs.patch Patch132: chromium-118-sigtrap_system_ffmpeg.patch # need for old ffmpeg 6.0/5.x on epel9 and fedora < 40 Patch133: chromium-121-system-old-ffmpeg.patch +# disable FFmpegAllowLists by default to allow external ffmpeg +Patch134: chromium-125-disable-FFmpegAllowLists.patch # revert AV1 VAAPI video encode due to old libva on el9 Patch140: chromium-122-revert-av1enc-el9.patch @@ -509,8 +524,8 @@ 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 -# disable FFmpegAllowLists by default to allow external ffmpeg -patch356: chromium-125-disable-FFmpegAllowLists.patch +# use system libstdc++ +Patch355: chromium-125-system-libstdc++.patch # set clang_lib path Patch358: chromium-124-rust-clang_lib.patch @@ -589,6 +604,10 @@ Patch413: fix-unknown-warning-option-messages.diff # upstream patches # 64kpage support on el8 Patch500: chromium-124-el8-support-64kpage.patch +# add missing include for usage of FieldDataManager in autofill_agent.h +Patch501: chromium-125-missing-include-FieldDataManager.patch +# [devtools] fix a missing build dependency to a generated file +Patch502: chromium-125-devtools-build-dependency.patch # Old Yandex patch Patch600: 0001-Yandex-as-default-search-engine.patch @@ -918,30 +937,13 @@ BuildRequires: mesa-libGL-devel BuildRequires: opus-devel %endif -BuildRequires: perl(Switch) BuildRequires: %{chromium_pybin} BuildRequires: pkgconfig(gtk+-3.0) -BuildRequires: python3-devel -BuildRequires: python3-zipp -BuildRequires: python3-simplejson -BuildRequires: python3-importlib-metadata - -%if 0%{?rhel} == 7 || 0%{?rhel} == 8 -BuildRequires: python3-dataclasses -%endif %if ! %{bundlepylibs} %if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: python3-beautifulsoup4 -BuildRequires: python3-html5lib -BuildRequires: python3-markupsafe -BuildRequires: python3-ply BuildRequires: python3-jinja2 %else -BuildRequires: python-beautifulsoup4 -BuildRequires: python-html5lib -BuildRequires: python-markupsafe -BuildRequires: python-ply BuildRequires: python-jinja2 %endif %endif @@ -1284,6 +1286,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena # EPEL specific patches %if 0%{?rhel} == 7 +cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optional . %patch -P100 -p1 -b .el7-memfd-fcntl-include %patch -P101 -p1 -b .wayland-strndup-error %patch -P102 -p1 -b .default-constructor-involving-anonymous-union @@ -1296,7 +1299,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena %patch -P109 -p1 -b .wireless %patch -P110 -p1 -b .buildflag-el7 %patch -P111 -p1 -b .inline-function-el7 -%patch -P112 -p1 -b .el7-powf +%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 @@ -1307,6 +1310,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena %patch -P120 -p1 -b .string-convert %patch -P121 -p1 -b .assert %patch -P122 -p1 -b .constexpr +%patch -P123 -p1 -b .el7-type-alias +%patch -P124 -p1 -b .el7-workaround-assert %endif %if 0%{?rhel} == 9 @@ -1321,6 +1326,13 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena %if %{bundleffmpegfree} %patch -P129 -p1 -R -b .ffmpeg-5.x-reordered_opaque %patch -P130 -p1 -b .revert-av1enc +%patch -P133 -p1 -b .system-old-ffmpeg +%patch -P134 -p1 -b .disable-FFmpegAllowLists +%endif +%endif + +%if 0%{?rhel} > 9 || 0%{?fedora} > 39 +%patch -P150 -p1 -b .qt6 %endif %endif @@ -1357,7 +1369,9 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena %endif %patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint -%patch -P356 -p1 -b .disable-FFmpegAllowLists +%if ! %{use_custom_libcxx} +%patch -P355 -p1 -b .system-libstdc++ +%endif %patch -P358 -p1 -b .rust-clang_lib %patch -P359 -p1 -b .libavif-deps @@ -1429,6 +1443,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena %patch -P500 -p1 -b .el8-support-64kpage.patch %endif %endif +%patch -P501 -p1 -b .missing-include-FieldDataManage +%patch -P502 -p1 -b .devtools-build-dependency %patch -P601 -p1 -b .Added-Russian-description-and-summary-for-gnome-soft %if ! %{with gost} @@ -1518,8 +1534,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} @@ -1660,7 +1675,7 @@ CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=false' CHROMIUM_CORE_GN_DEFINES+=' enable_vr=false' CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false enable_perfetto_unittests=false' CHROMIUM_CORE_GN_DEFINES+=' disable_fieldtrial_testing_config=true' -CHROMIUM_CORE_GN_DEFINES+=' symbol_level=%{debug_level}' +CHROMIUM_CORE_GN_DEFINES+=' symbol_level=%{debug_level} blink_symbol_level=%{debug_level}' CHROMIUM_CORE_GN_DEFINES+=' angle_has_histograms=false' export CHROMIUM_CORE_GN_DEFINES @@ -2246,6 +2261,20 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %endif %changelog +* Mon May 27 2024 Arkady L. Shane - 125.0.6422.112-1.inferit +- update to 125.0.6422.112 + * High CVE-2024-5274: Type Confusion in V8 + +* Fri May 24 2024 Arkady L. Shane - 125.0.6422.76-1.inferit +- fix bz#2282246, update to 125.0.6422.76 + * High CVE-2024-5157: Use after free in Scheduling + * High CVE-2024-5158: Type Confusion in V8 + * High CVE-2024-5159: Heap buffer overflow in ANGLE + * High CVE-2024-5160: Heap buffer overflow in Dawn +- cleanup +- remove unneeded BRs +- workarounds for el7 build + * Fri May 17 2024 Arkady L. Shane - 125.0.6422.60-1.inferit - update to 125.0.6422.60 * High CVE-2024-4947: Type Confusion in V8