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

            A new commit has been pushed.

            Repo   : rpms/chromium
            Branch : epel9-next
            Commit : a85a4df5dc78b511d11e04a8431f556a1ffd6833
            Author : Than Ngo <than@redhat.com>
            Date   : 2024-05-08T11:33:25+02:00
            Stats  : +2193/-2124 in 17 file(s)
            URL    : https://src.fedoraproject.org/rpms/chromium/c/a85a4df5dc78b511d11e04a8431f556a1ffd6833?branch=epel9-next

            Log:
            - update to 124.0.6367.155
  * High CVE-2024-4558: Use after free in ANGLE
  * High CVE-2024-4559: Heap buffer overflow in WebAudio
- refreshed patches

---
diff --git a/chromium-121-nullptr_t-without-namespace-std.patch b/chromium-121-nullptr_t-without-namespace-std.patch
deleted file mode 100644
index 3defc39..0000000
--- a/chromium-121-nullptr_t-without-namespace-std.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h
---- chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h.than	2023-12-04 10:20:45.350540897 +0100
-+++ chromium-120.0.6099.56/third_party/blink/renderer/core/paint/fragment_data_iterator.h	2023-12-04 10:23:17.335339670 +0100
-@@ -21,7 +21,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 --git a/chromium-122-rust-clang_lib.patch b/chromium-122-rust-clang_lib.patch
deleted file mode 100644
index 111b570..0000000
--- a/chromium-122-rust-clang_lib.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
---- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib	2024-01-10 16:43:01.000000000 +0100
-+++ chromium-121.0.6167.57/build/config/clang/BUILD.gn	2024-01-20 19:51:38.481992799 +0100
-@@ -112,6 +112,7 @@ template("clang_lib") {
-       _prefix = "lib"
-       _suffix = ""
-       _ext = "a"
-+      _libprefix = ""
-       if (is_win) {
-         _dir = "windows"
-         _prefix = ""
-@@ -127,7 +128,33 @@ template("clang_lib") {
-         }
-       } else if (is_apple) {
-         _dir = "darwin"
--      } else if (is_linux || is_chromeos) {
-+      } else if (is_linux) {
-+        if (current_cpu == "x64") {
-+          _dir = "x86_64-redhat-linux-gnu"
-+          _suffix ="-x86_64"
-+        } else if (current_cpu == "x86") {
-+          _dir = "i386-redhat-linux-gnu"
-+          _suffix = "-i386"
-+        } else if (current_cpu == "arm64") {
-+          _dir = "aarch64-redhat-linux-gnu"
-+          _suffix = "-aarch64"
-+        } else if (current_cpu == "arm") {
-+          _dir = "armhf-redhat-linux-gnu"
-+          _suffix = "-armhf"
-+        } else if (current_cpu == "ppc64") {
-+          _dir = "ppc64le-redhat-linux-gnu"
-+          _suffix = "-ppc64le"
-+        } else {
-+          assert(false)  # Unhandled cpu type
-+        }
-+        # different clang lib dir in fedora/epel
-+        if (clang_version == "17" || clang_version == "18") {
-+          _suffix = ""
-+        } else if (clang_version == "16" || clang_version == "14") {
-+          _libprefix = "64"
-+          _dir = ""
-+        }
-+      } else if (is_chromeos) {
-         if (current_cpu == "x64") {
-           _dir = "x86_64-unknown-linux-gnu"
-         } else if (current_cpu == "x86") {
-@@ -166,7 +193,7 @@ template("clang_lib") {
-         assert(false)  # Unhandled target platform
-       }
- 
--      _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib"
-+      _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib"
-       _lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}"
-       libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ]
-     }

diff --git a/chromium-123-constexpr.patch b/chromium-123-constexpr.patch
deleted file mode 100644
index aa59c3e..0000000
--- a/chromium-123-constexpr.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -up chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h.me chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h
---- chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h.me	2024-02-13 13:07:24.982184485 +0100
-+++ chromium-122.0.6261.29/components/autofill/core/common/unique_ids.h	2024-02-13 13:07:45.510551589 +0100
-@@ -137,7 +137,7 @@ struct GlobalId {
- 
-   friend constexpr auto operator<=>(const GlobalId<RendererId>& lhs,
-                                     const GlobalId<RendererId>& rhs) = default;
--  friend constexpr bool operator==(const GlobalId<RendererId>& lhs,
-+  friend bool operator==(const GlobalId<RendererId>& lhs,
-                                    const GlobalId<RendererId>& rhs) = default;
- };
- 
-diff -up chromium-122.0.6261.29/base/types/strong_alias.h.me chromium-122.0.6261.29/base/types/strong_alias.h
---- chromium-122.0.6261.29/base/types/strong_alias.h.me	2024-02-13 14:13:20.311374288 +0100
-+++ chromium-122.0.6261.29/base/types/strong_alias.h	2024-02-13 12:30:38.596913951 +0100
-@@ -110,7 +110,7 @@ class StrongAlias {
-   // a `StrongAlias<W>`.
-   friend constexpr auto operator<=>(const StrongAlias& lhs,
-                                     const StrongAlias& rhs) = default;
--  friend constexpr bool operator==(const StrongAlias& lhs,
-+  friend bool operator==(const StrongAlias& lhs,
-                                    const StrongAlias& rhs) = default;
- 
-   // Hasher to use in std::unordered_map, std::unordered_set, etc.
-diff -up chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h.constexpr chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h
---- chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h.constexpr	2024-02-07 19:49:31.000000000 +0100
-+++ chromium-122.0.6261.29/components/performance_manager/resource_attribution/query_params.h	2024-02-13 11:12:52.913338699 +0100
-@@ -67,7 +67,7 @@ struct QueryParams {
-   QueryParams(const QueryParams& other);
-   QueryParams& operator=(const QueryParams& other);
- 
--  friend constexpr bool operator==(const QueryParams&,
-+  friend bool operator==(const QueryParams&,
-                                    const QueryParams&) = default;
- 
-   // Resource types to measure.
-diff -up chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h.me chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h
---- chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h.me	2024-03-17 11:57:22.097161565 +0100
-+++ chromium-123.0.6312.46/components/performance_manager/resource_attribution/context_collection.h	2024-03-17 22:18:25.442101825 +0100
-@@ -28,7 +28,7 @@ class ContextCollection {
-   ContextCollection(const ContextCollection& other);
-   ContextCollection& operator=(const ContextCollection& other);
- 
--  friend constexpr bool operator==(const ContextCollection&,
-+  friend bool operator==(const ContextCollection&,
-                                    const ContextCollection&) = default;
- 
-   // Adds `context` to the collection.
-diff -up chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h.me chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h
---- chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h.me	2024-03-16 23:38:10.437128249 +0100
-+++ chromium-123.0.6312.46/components/autofill/core/browser/metrics/log_event.h	2024-03-16 23:59:50.868080652 +0100
-@@ -57,7 +57,7 @@ struct IsRequired {
-   // This function is not defined and consteval. Therefore, any evaluation will
-   // fail and fail at compile time.
-   template <typename T>
--  consteval operator T();  // NOLINT
-+  operator T();  // NOLINT
- };
- 
- }  // namespace internal

diff --git a/chromium-123-no_matching_constructor.patch b/chromium-123-no_matching_constructor.patch
deleted file mode 100644
index 4b29170..0000000
--- a/chromium-123-no_matching_constructor.patch
+++ /dev/null
@@ -1,1364 +0,0 @@
-diff -up chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc.than chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc
---- chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc.than	2024-02-22 22:42:43.000000000 +0100
-+++ chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc	2024-02-24 13:13:32.484503735 +0100
-@@ -218,13 +218,13 @@ PersistentSparseHistogramDataManager::Lo
-     // The sample-record could be for any sparse histogram. Add the reference
-     // to the appropriate collection for later use.
-     if (found_id == match_id) {
--      found_records.emplace_back(ref, value);
-+      found_records.emplace_back() = {ref, value};
-       found = true;
-     } else {
-       std::vector<ReferenceAndSample>* samples =
-           GetSampleMapRecordsWhileLocked(found_id);
-       CHECK(samples);
--      samples->emplace_back(ref, value);
-+      samples->emplace_back() = {ref, value};
-     }
-   }
- 
-diff -up chromium-122.0.6261.69/base/nix/mime_util_xdg.cc.than chromium-122.0.6261.69/base/nix/mime_util_xdg.cc
---- chromium-122.0.6261.69/base/nix/mime_util_xdg.cc.than	2024-02-22 22:42:43.000000000 +0100
-+++ chromium-122.0.6261.69/base/nix/mime_util_xdg.cc	2024-02-24 13:13:44.158712756 +0100
-@@ -56,7 +56,7 @@ void LoadAllMimeCacheFiles(MimeTypeMap&
-   for (const auto& path : GetXDGDataSearchLocations(env.get())) {
-     FilePath mime_cache = path.Append("mime/mime.cache");
-     if (GetFileInfo(mime_cache, &info) && ParseMimeTypes(mime_cache, map)) {
--      files.emplace_back(mime_cache, info.last_modified);
-+      files.emplace_back() = {mime_cache, info.last_modified};
-     }
-   }
- }
-diff -up chromium-122.0.6261.69/base/trace_event/trace_log.cc.than chromium-122.0.6261.69/base/trace_event/trace_log.cc
---- chromium-122.0.6261.69/base/trace_event/trace_log.cc.than	2024-02-22 22:42:43.000000000 +0100
-+++ chromium-122.0.6261.69/base/trace_event/trace_log.cc	2024-02-24 13:13:32.484503735 +0100
-@@ -2198,8 +2198,8 @@ void TraceLog::SetTraceBufferForTesting(
- #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
- void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
-   AutoLock lock(track_event_lock_);
--  track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
--                                     args.backend_type);
-+  track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
-+                                     args.backend_type};
- }
- 
- void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
-diff -up chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc.than chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc
---- chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc.than	2024-02-22 22:42:50.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc	2024-02-24 13:13:32.485503752 +0100
-@@ -252,8 +252,8 @@ void OneTimePermissionProvider::OnSuspen
- 
-       while (rule_iterator && rule_iterator->HasNext()) {
-         auto rule = rule_iterator->Next();
--        patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
--                                        rule->secondary_pattern);
-+        patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
-+                                        rule->secondary_pattern};
-         permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
-             setting_type,
-             permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
-@@ -355,8 +355,8 @@ void OneTimePermissionProvider::DeleteEn
-     auto rule = rule_iterator->Next();
-     if (rule->primary_pattern.Matches(origin_gurl) &&
-         rule->secondary_pattern.Matches(origin_gurl)) {
--      patterns_to_delete.emplace_back(
--          content_setting_type, rule->primary_pattern, rule->secondary_pattern);
-+      patterns_to_delete.emplace_back() = {
-+          content_setting_type, rule->primary_pattern, rule->secondary_pattern};
-       permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
-           content_setting_type, trigger_event);
-     }
-diff -up chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.than chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
---- chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.than	2024-02-22 22:42:50.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc	2024-02-24 13:13:32.485503752 +0100
-@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
-   // TODO(crbug.com/1445072): Add actual domains with attribute names.
-   profile_attributes->insert(std::make_pair(
-       "supported.test",
--      SAMLProfileAttributes("placeholderName", "placeholderDomain",
--                            "placeholderToken")));
-+      SAMLProfileAttributes{"placeholderName", "placeholderDomain",
-+                            "placeholderToken"}));
- 
-   // Extract domains and attributes from the command line switch.
-   const base::CommandLine& command_line =
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than	2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc	2024-02-24 13:13:32.486503770 +0100
-@@ -60,12 +60,12 @@ std::vector<EmbeddedPermissionPromptAskV
- EmbeddedPermissionPromptAskView::GetButtonsConfiguration() const {
-   std::vector<ButtonConfiguration> buttons;
-   if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
--    buttons.emplace_back(
-+    buttons.emplace_back() = {
-         l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
--        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
-+        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
-   }
--  buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
--                       ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId);
-+  buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-+                       ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId};
-   return buttons;
- }
- 
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.than	2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h	2024-02-24 13:13:32.486503770 +0100
-@@ -87,6 +87,7 @@ class EmbeddedPermissionPromptBaseView :
-   struct RequestLineConfiguration {
-     const raw_ptr<const gfx::VectorIcon> icon;
-     std::u16string message;
-+    RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { }
-   };
- 
-   struct ButtonConfiguration {
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than	2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc	2024-02-24 13:13:32.486503770 +0100
-@@ -64,8 +64,8 @@ EmbeddedPermissionPromptPolicyView::GetR
- std::vector<EmbeddedPermissionPromptPolicyView::ButtonConfiguration>
- EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() const {
-   std::vector<ButtonConfiguration> buttons;
--  buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
--                       ButtonType::kPolicyOK, ui::ButtonStyle::kTonal);
-+  buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
-+                       ButtonType::kPolicyOK, ui::ButtonStyle::kTonal};
-   return buttons;
- }
- 
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than	2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc	2024-02-24 13:13:44.153712667 +0100
-@@ -79,17 +79,17 @@ EmbeddedPermissionPromptPreviouslyDenied
- std::vector<EmbeddedPermissionPromptPreviouslyDeniedView::ButtonConfiguration>
- EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const {
-   std::vector<ButtonConfiguration> buttons;
--  buttons.emplace_back(
-+  buttons.emplace_back() = {
-       l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING),
--      ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal);
-+      ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal};
- 
-   if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
--    buttons.emplace_back(
-+    buttons.emplace_back() = {
-         l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
--        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId);
-+        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId};
-   } else {
--    buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
--                         ButtonType::kAllow, ui::ButtonStyle::kTonal);
-+    buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
-+                         ButtonType::kAllow, ui::ButtonStyle::kTonal};
-   }
-   return buttons;
- }
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than	2024-02-22 22:42:55.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc	2024-02-24 13:13:44.153712667 +0100
-@@ -74,12 +74,12 @@ EmbeddedPermissionPromptPreviouslyGrante
- std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
- EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const {
-   std::vector<ButtonConfiguration> buttons;
--  buttons.emplace_back(
-+  buttons.emplace_back() = {
-       l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
--      ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
-+      ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
- 
--  buttons.emplace_back(
-+  buttons.emplace_back() = {
-       l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
--      ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId);
-+      ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId};
-   return buttons;
- }
-diff -up chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc.than chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc
---- chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc.than	2024-02-22 22:42:56.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc	2024-02-24 13:13:32.486503770 +0100
-@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base::
-                         "'version' field of type string");
-         }
- 
--        brands.emplace_back(*brand, *version);
-+        brands.emplace_back() = {*brand, *version};
-       }
- 
-       client_hints.brands = std::move(brands);
-@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base::
-                         "a 'version' field of type string");
-         }
- 
--        full_version_list.emplace_back(*brand, *version);
-+        full_version_list.emplace_back() = {*brand, *version};
-       }
- 
-       client_hints.full_version_list = std::move(full_version_list);
-diff -up chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc.than chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc
---- chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc.than	2024-02-22 22:43:02.000000000 +0100
-+++ chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc	2024-02-24 13:13:44.154712685 +0100
-@@ -673,7 +673,7 @@ void PasswordManager::OnUserModifiedNonP
-     it->second.last_change = base::Time::Now();
-   } else {
-     possible_usernames_.Put(
--        PossibleUsernameFieldIdentifier(driver_id, renderer_id),
-+        PossibleUsernameFieldIdentifier{driver_id, renderer_id},
-         PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
-                              renderer_id, value, base::Time::Now(), driver_id,
-                              autocomplete_attribute_has_username,
-diff -up chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc.than chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc
---- chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc.than	2024-02-22 22:43:02.000000000 +0100
-+++ chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc	2024-02-24 13:13:44.158712756 +0100
-@@ -239,7 +239,7 @@ void WorkerWatcher::OnWorkerCreated(
-   DCHECK(insertion_result.second);
- 
-   absl::visit(
--      base::Overloaded(
-+      base::Overloaded{
-           [&,
-            this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
-             AddFrameClientConnection(insertion_result.first->second.get(),
-@@ -248,7 +248,7 @@ void WorkerWatcher::OnWorkerCreated(
-           [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
-             ConnectDedicatedWorkerClient(insertion_result.first->second.get(),
-                                          dedicated_worker_token);
--          }),
-+          }},
-       creator);
- }
- 
-@@ -265,7 +265,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
-   // First disconnect the creator's node from this worker node.
- 
-   absl::visit(
--      base::Overloaded(
-+      base::Overloaded{
-           [&,
-            this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
-             RemoveFrameClientConnection(worker_node.get(),
-@@ -274,7 +274,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
-           [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
-             DisconnectDedicatedWorkerClient(worker_node.get(),
-                                             dedicated_worker_token);
--          }),
-+          }},
-       creator);
- 
-   // Disconnect all child workers before destroying the node.
-@@ -446,7 +446,7 @@ void WorkerWatcher::OnControlleeAdded(
-     const std::string& client_uuid,
-     const content::ServiceWorkerClientInfo& client_info) {
-   absl::visit(
--      base::Overloaded(
-+      base::Overloaded{
-           [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
-             // For window clients, it is necessary to wait until the navigation
-             // has committed to a RenderFrameHost.
-@@ -484,7 +484,7 @@ void WorkerWatcher::OnControlleeAdded(
-               ConnectSharedWorkerClient(service_worker_node,
-                                         shared_worker_token);
-             }
--          }),
-+          }},
-       client_info);
- }
- 
-@@ -524,7 +524,7 @@ void WorkerWatcher::OnControlleeRemoved(
-     return;
- 
-   absl::visit(
--      base::Overloaded(
-+      base::Overloaded{
-           [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
-             RemoveFrameClientConnection(worker_node, render_frame_host_id);
-           },
-@@ -534,7 +534,7 @@ void WorkerWatcher::OnControlleeRemoved(
-           },
-           [&, this](blink::SharedWorkerToken shared_worker_token) {
-             DisconnectSharedWorkerClient(worker_node, shared_worker_token);
--          }),
-+          }},
-       client);
- }
- 
-@@ -810,7 +810,7 @@ void WorkerWatcher::ConnectAllServiceWor
- 
-   for (const auto& kv : it->second) {
-     absl::visit(
--        base::Overloaded(
-+        base::Overloaded{
-             [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
-               AddFrameClientConnection(service_worker_node,
-                                        render_frame_host_id);
-@@ -822,7 +822,7 @@ void WorkerWatcher::ConnectAllServiceWor
-             [&, this](blink::SharedWorkerToken shared_worker_token) {
-               ConnectSharedWorkerClient(service_worker_node,
-                                         shared_worker_token);
--            }),
-+            }},
-         kv.second);
-   }
- }
-@@ -837,7 +837,7 @@ void WorkerWatcher::DisconnectAllService
- 
-   for (const auto& kv : it->second) {
-     absl::visit(
--        base::Overloaded(
-+        base::Overloaded{
-             [&, this](
-                 const content::GlobalRenderFrameHostId& render_frame_host_id) {
-               RemoveFrameClientConnection(service_worker_node,
-@@ -851,7 +851,7 @@ void WorkerWatcher::DisconnectAllService
-             [&, this](const blink::SharedWorkerToken& shared_worker_token) {
-               DisconnectSharedWorkerClient(service_worker_node,
-                                            shared_worker_token);
--            }),
-+            }},
-         kv.second);
-   }
- }
-diff -up chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.than chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
---- chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.than	2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc	2024-02-24 13:13:44.151712632 +0100
-@@ -1573,7 +1573,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
- 
-       // Issue readbacks from the surfaces:
-       for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
--        SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height());
-+        SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()};
-         SkImageInfo dst_info = SkImageInfo::Make(
-             size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType,
-             kUnpremul_SkAlphaType);
-diff -up chromium-122.0.6261.69/content/browser/download/save_package.cc.than chromium-122.0.6261.69/content/browser/download/save_package.cc
---- chromium-122.0.6261.69/content/browser/download/save_package.cc.than	2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/download/save_package.cc	2024-02-24 13:13:44.151712632 +0100
-@@ -801,8 +801,8 @@ void SavePackage::Finish() {
-   if (download_) {
-     std::vector<download::DownloadSaveItemData::ItemInfo> files;
-     for (auto& item : saved_success_items_) {
--      files.emplace_back(item.second->full_path(), item.second->url(),
--                         item.second->referrer().url);
-+      files.emplace_back() = {item.second->full_path(), item.second->url(),
-+                         item.second->referrer().url};
-     }
-     download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
-   }
-diff -up chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc.than chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc
---- chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc.than	2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc	2024-02-24 13:13:44.158712756 +0100
-@@ -773,7 +773,7 @@ FirstPartySetParser::ParseSetsFromEnterp
-                      context.GetPolicySetsFromList(
-                          policy.FindList(kFirstPartySetPolicyAdditionsField),
-                          PolicySetType::kAddition));
--    return ParsedPolicySetLists(std::move(replacements), std::move(additions));
-+    return ParsedPolicySetLists{std::move(replacements), std::move(additions)};
-   }();
- 
-   context.PostProcessSetLists(set_lists);
-diff -up chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h.than chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h
---- chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h.than	2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h	2024-02-24 13:13:44.158712756 +0100
-@@ -133,6 +133,7 @@ class CONTENT_EXPORT HeaderDirectFromSel
- 
-     // The Ad-Auction-Signals response served by `origin`.
-     std::string response_json;
-+    UnprocessedResponse(auto u, auto s) : origin(u), response_json(s) { }
-   };
- 
-   // Information from ParseAndFind() calls used by ParseAndFindCompleted.
-diff -up chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.than chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc
---- chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.than	2024-02-22 22:43:05.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc	2024-02-24 13:13:44.152712649 +0100
-@@ -3461,10 +3461,10 @@ DoGetKAnonymityData(sql::Database& db,
- 
-   std::vector<StorageInterestGroup::KAnonymityData> k_anon_data;
-   while (interest_group_kanon_query.Step()) {
--    k_anon_data.emplace_back(
-+    k_anon_data.emplace_back() = {
-         /*key=*/interest_group_kanon_query.ColumnString(0),
-         /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1),
--        /*last_updated=*/interest_group_kanon_query.ColumnTime(2));
-+        /*last_updated=*/interest_group_kanon_query.ColumnTime(2)};
-   }
-   if (!interest_group_kanon_query.Succeeded()) {
-     return std::nullopt;
-diff -up chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc.than chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc
---- chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc.than	2024-02-24 13:13:44.157712739 +0100
-+++ chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc	2024-02-24 13:18:39.480119447 +0100
-@@ -8632,7 +8632,7 @@ void RenderFrameHostImpl::SendFencedFram
-   for (const blink::FencedFrame::ReportingDestination& destination :
-        destinations) {
-     SendFencedFrameReportingBeaconInternal(
--        DestinationEnumEvent(event_type, event_data), destination);
-+        DestinationEnumEvent{event_type, event_data}, destination);
-   }
- }
- 
-@@ -8661,7 +8661,7 @@ void RenderFrameHostImpl::SendFencedFram
-   }
- 
-   SendFencedFrameReportingBeaconInternal(
--      DestinationURLEvent(destination_url),
-+      DestinationURLEvent{destination_url},
-       blink::FencedFrame::ReportingDestination::kBuyer);
- }
- 
-@@ -8792,7 +8792,7 @@ void RenderFrameHostImpl::MaybeSendFence
-         data = info->data;
-       }
-       initiator_rfh->SendFencedFrameReportingBeaconInternal(
--          AutomaticBeaconEvent(event_type, data), destination,
-+          AutomaticBeaconEvent{event_type, data}, destination,
-           navigation_request.GetNavigationId());
-     }
-   } else {
-@@ -8803,7 +8803,7 @@ void RenderFrameHostImpl::MaybeSendFence
-     for (blink::FencedFrame::ReportingDestination destination :
-          info->destinations) {
-       initiator_rfh->SendFencedFrameReportingBeaconInternal(
--          AutomaticBeaconEvent(event_type, info->data), destination,
-+          AutomaticBeaconEvent{event_type, info->data}, destination,
-           navigation_request.GetNavigationId());
-     }
-   }
-diff -up chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc.than chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc
---- chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc.than	2024-02-22 22:43:06.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc	2024-02-24 13:13:44.159712774 +0100
-@@ -870,7 +870,7 @@ ServiceWorkerContainerHost::GetClientTyp
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-   DCHECK(client_info_);
-   return absl::visit(
--      base::Overloaded(
-+      base::Overloaded{
-           [](GlobalRenderFrameHostId render_frame_host_id) {
-             return blink::mojom::ServiceWorkerClientType::kWindow;
-           },
-@@ -879,7 +879,7 @@ ServiceWorkerContainerHost::GetClientTyp
-           },
-           [](blink::SharedWorkerToken shared_worker_token) {
-             return blink::mojom::ServiceWorkerClientType::kSharedWorker;
--          }),
-+          }},
-       *client_info_);
- }
- 
-diff -up chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.than chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc
---- chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.than	2024-02-22 22:43:06.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc	2024-02-24 13:13:44.159712774 +0100
-@@ -363,10 +363,10 @@ ServiceWorkerMainResourceLoaderIntercept
-   }
-   auto* storage_partition = process->GetStoragePartition();
- 
--  return absl::visit(base::Overloaded([&, this](auto token) {
-+  return absl::visit(base::Overloaded{[&, this](auto token) {
-                        return GetStorageKeyFromWorkerHost(storage_partition,
-                                                           token, origin);
--                     }),
-+                     }},
-                      *worker_token_);
- }
- 
-diff -up chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc.than chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc
---- chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc.than	2024-02-22 22:43:06.000000000 +0100
-+++ chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc	2024-02-24 13:13:44.159712774 +0100
-@@ -252,7 +252,7 @@ void DedicatedWorkerHost::StartScriptLoa
-   RenderFrameHostImpl* creator_render_frame_host = nullptr;
-   DedicatedWorkerHost* creator_worker = nullptr;
- 
--  absl::visit(base::Overloaded(
-+  absl::visit(base::Overloaded{
-                   [&](const GlobalRenderFrameHostId& render_frame_host_id) {
-                     creator_render_frame_host =
-                         RenderFrameHostImpl::FromID(render_frame_host_id);
-@@ -260,7 +260,7 @@ void DedicatedWorkerHost::StartScriptLoa
-                   [&](blink::DedicatedWorkerToken dedicated_worker_token) {
-                     creator_worker = service_->GetDedicatedWorkerHostFromToken(
-                         dedicated_worker_token);
--                  }),
-+                  }},
-               creator_);
- 
-   if (!creator_render_frame_host && !creator_worker) {
-diff -up chromium-122.0.6261.69/net/dns/host_resolver_cache.cc.than chromium-122.0.6261.69/net/dns/host_resolver_cache.cc
---- chromium-122.0.6261.69/net/dns/host_resolver_cache.cc.than	2024-02-22 22:43:17.000000000 +0100
-+++ chromium-122.0.6261.69/net/dns/host_resolver_cache.cc	2024-02-24 13:13:44.152712649 +0100
-@@ -368,7 +368,7 @@ void HostResolverCache::Set(
- 
-   std::string domain_name = result->domain_name();
-   entries_.emplace(
--      Key(std::move(domain_name), network_anonymization_key),
-+      Key{std::move(domain_name), network_anonymization_key},
-       Entry(std::move(result), source, secure, staleness_generation));
- 
-   if (entries_.size() > max_entries_) {
-diff -up chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.than chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
---- chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.than	2024-02-22 22:43:25.000000000 +0100
-+++ chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc	2024-02-24 13:13:44.152712649 +0100
-@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
-         color_interpolation_space, hue_interpolation_method, start_color,
-         end_color, percentage, alpha_multiplier);
- 
--    FontPalette::FontPaletteOverride result_color_record(i, result_color);
-+    FontPalette::FontPaletteOverride result_color_record{static_cast<int>(i), result_color};
-     result_color_records.push_back(result_color_record);
-   }
-   return result_color_records;
-diff -up chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.than chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp
---- chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.than	2024-02-22 22:45:02.000000000 +0100
-+++ chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp	2024-02-24 13:13:44.153712667 +0100
-@@ -507,7 +507,7 @@ void CPDF_RenderStatus::ProcessClipPath(
-     } else {
-       m_pDevice->SetClip_PathFill(
-           *pPath, &mtObj2Device,
--          CFX_FillRenderOptions(ClipPath.GetClipType(i)));
-+          CFX_FillRenderOptions{ClipPath.GetClipType(i)});
-     }
-   }
- 
-diff -up chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h.than chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h
---- chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h.than	2024-02-22 22:44:12.000000000 +0100
-+++ chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h	2024-02-24 13:13:44.153712667 +0100
-@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base::
-     zcr_color_manager_v1_chromaticity_names,
-     PrimaryVersion>(
-     {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB,
--      PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB,
--                     kDefaultSinceVersion)},
-+      PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB,
-+                     kDefaultSinceVersion}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::BT470M,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::SMPTE240M,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::XYZ_D50,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::SMPTEST428_1,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::SMPTEST431_2,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)},
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}},
-      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM,
--      PrimaryVersion(
-+      PrimaryVersion{
-           gfx::ColorSpace::PrimaryID::FILM,
--          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}});
-+          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}});
- 
- // A map from the zcr_color_manager_v1 eotf_names enum values
- // representing well-known EOTFs, to their equivalent TransferIDs.
-@@ -107,68 +107,68 @@ constexpr auto kEotfMap = base::MakeFixe
-     zcr_color_manager_v1_eotf_names,
-     TransferVersion>({
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
--     TransferVersion(gfx::ColorSpace::TransferID::LINEAR,
--                     kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::LINEAR,
-+                     kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
--     TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
--     TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
--     TransferVersion(gfx::ColorSpace::TransferID::BT709,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT709,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA24,
--                     kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA24,
-+                     kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
-      // This is ever so slightly inaccurate. The number ought to be
-      // 2.19921875f, not 2.2
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA22,
--                     kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA22,
-+                     kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
--     TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)},
-+     TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
--     TransferVersion(gfx::ColorSpace::TransferID::HLG,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::HLG,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M,
--     TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M,
--     TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1,
--     TransferVersion(
-+     TransferVersion{
-          gfx::ColorSpace::TransferID::SMPTEST428_1,
--         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)},
-+         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG,
--     TransferVersion(gfx::ColorSpace::TransferID::LOG,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::LOG,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT,
--     TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4,
--     TransferVersion(
-+     TransferVersion{
-          gfx::ColorSpace::TransferID::IEC61966_2_4,
--         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)},
-+         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG,
--     TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10,
--     TransferVersion(gfx::ColorSpace::TransferID::BT2020_10,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT2020_10,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12,
--     TransferVersion(gfx::ColorSpace::TransferID::BT2020_12,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::BT2020_12,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS,
--     TransferVersion(
-+     TransferVersion{
-          gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS,
--         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)},
-+         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18,
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA18,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA18,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}},
-     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28,
--     TransferVersion(gfx::ColorSpace::TransferID::GAMMA28,
--                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)},
-+     TransferVersion{gfx::ColorSpace::TransferID::GAMMA28,
-+                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}},
- });
- 
- // A map from the SDR zcr_color_manager_v1 eotf_names enum values
-@@ -177,18 +177,18 @@ constexpr auto kEotfMap = base::MakeFixe
- constexpr auto kTransferMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
--         TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
-+         TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
--         TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
-+         TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
--         TransferFnVersion(
-+         TransferFnVersion{
-              SkNamedTransferFnExt::kRec709,
--             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
-+             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
--         TransferFnVersion(gamma24, kDefaultSinceVersion)},
-+         TransferFnVersion{gamma24, kDefaultSinceVersion}},
-         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
--         TransferFnVersion(SkNamedTransferFnExt::kA98RGB,
--                           kDefaultSinceVersion)},
-+         TransferFnVersion{SkNamedTransferFnExt::kA98RGB,
-+                           kDefaultSinceVersion}},
-     });
- 
- // A map from the HDR zcr_color_manager_v1 eotf_names enum values
-@@ -197,70 +197,70 @@ constexpr auto kTransferMap =
- constexpr auto kHDRTransferMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>(
-         {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
--          TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
-+          TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
--          TransferFnVersion(
-+          TransferFnVersion{
-               SkNamedTransferFnExt::kSRGB,
--              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
-+              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
--          TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
-+          TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
--          TransferFnVersion(SkNamedTransferFn::kHLG,
--                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
-+          TransferFnVersion{SkNamedTransferFn::kHLG,
-+                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10,
--          TransferFnVersion(
-+          TransferFnVersion{
-               SkNamedTransferFnExt::kSRGBExtended1023Over510,
--              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}});
-+              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}});
- 
- // A map from zcr_color_manager_v1 matrix_names enum values to
- // gfx::ColorSpace::MatrixIDs.
- constexpr auto kMatrixMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_matrix_names, MatrixVersion>(
-         {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB,
--          MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709,
--          MatrixVersion(gfx::ColorSpace::MatrixID::BT709,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::BT709,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG,
--          MatrixVersion(
-+          MatrixVersion{
-               gfx::ColorSpace::MatrixID::BT470BG,
--              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)},
-+              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL,
--          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL,
--          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC,
--          MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG,
--          MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG,
--                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG,
-+                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX,
--          MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX,
--                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX,
-+                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR,
--          MatrixVersion(gfx::ColorSpace::MatrixID::GBR,
--                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::GBR,
-+                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M,
--          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M,
--                        kDefaultSinceVersion)},
-+          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M,
-+                        kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M,
--          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M,
--                        kDefaultSinceVersion)}});
-+          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M,
-+                        kDefaultSinceVersion}}});
- 
- // A map from zcr_color_manager_v1 range_names enum values to
- // gfx::ColorSpace::RangeIDs.
- constexpr auto kRangeMap =
-     base::MakeFixedFlatMap<zcr_color_manager_v1_range_names, RangeVersion>(
-         {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED,
--          RangeVersion(gfx::ColorSpace::RangeID::LIMITED,
--                       kDefaultSinceVersion)},
-+          RangeVersion{gfx::ColorSpace::RangeID::LIMITED,
-+                       kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL,
--          RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)},
-+          RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}},
-          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED,
--          RangeVersion(gfx::ColorSpace::RangeID::DERIVED,
--                       kDefaultSinceVersion)}});
-+          RangeVersion{gfx::ColorSpace::RangeID::DERIVED,
-+                       kDefaultSinceVersion}}});
- 
- zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
-     gfx::ColorSpace::PrimaryID primaryID,
-@@ -283,4 +283,4 @@ zcr_color_manager_v1_eotf_names ToColorM
- 
- }  // namespace ui::wayland
- 
--#endif  // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
-\ Kein Zeilenumbruch am Dateiende.
-+#endif  // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
-diff -up chromium-122.0.6261.69/ui/gtk/gtk_ui.cc.than chromium-122.0.6261.69/ui/gtk/gtk_ui.cc
---- chromium-122.0.6261.69/ui/gtk/gtk_ui.cc.than	2024-02-22 22:44:13.000000000 +0100
-+++ chromium-122.0.6261.69/ui/gtk/gtk_ui.cc	2024-02-24 13:13:44.153712667 +0100
-@@ -1007,11 +1007,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
-     GdkRectangle geometry;
-     gdk_monitor_get_geometry(monitor, &geometry);
-     int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
--    config.display_geometries.emplace_back(
-+    config.display_geometries.emplace_back() = {
-         gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
-                   monitor_scale * geometry.width,
-                   monitor_scale * geometry.height),
--        monitor_scale * font_scale);
-+        static_cast<float>(monitor_scale * font_scale)};
-   }
-   return config;
- }
-diff -up chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc.me chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc
---- chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc.me	2024-02-24 18:06:46.509393032 +0100
-+++ chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc	2024-02-24 18:07:11.258948241 +0100
-@@ -92,8 +92,8 @@ void UnnecessaryDiscardMonitor::OnDiscar
-   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-   if (current_reclaim_event_) {
-     // Cache this kill event along with the time it took place.
--    current_reclaim_event_kills_.emplace_back(memory_freed_kb,
--                                              discard_complete_time);
-+    current_reclaim_event_kills_.emplace_back() = {memory_freed_kb,
-+                                              discard_complete_time};
-   }
- }
- 
-diff -up chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.me chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc
---- chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.me	2024-02-24 19:58:09.929371791 +0100
-+++ chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc	2024-02-24 19:59:07.149524862 +0100
-@@ -631,10 +631,10 @@ std::unique_ptr<AutofillProfile> Address
-     }
- 
-     base::span<const uint8_t> observations_data = s.ColumnBlob(3);
--    field_type_values.emplace_back(
-+    field_type_values.emplace_back() = {
-         type, s.ColumnString16(1), s.ColumnInt(2),
-         std::vector<uint8_t>(observations_data.begin(),
--                             observations_data.end()));
-+                             observations_data.end())};
- 
-     if (type == ADDRESS_HOME_COUNTRY) {
-       country_code = base::UTF16ToUTF8(s.ColumnString16(1));
-diff -up chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.me chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc
---- chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.me	2024-02-24 19:52:02.173682060 +0100
-+++ chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc	2024-02-24 19:52:25.247216329 +0100
-@@ -192,9 +192,9 @@ class ContactInfoProfileSetter {
-       CHECK(observations.empty());
-       for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
-            metadata.observations()) {
--        observations.emplace_back(proto_observation.type(),
-+        observations.emplace_back() = {proto_observation.type(),
-                                   ProfileTokenQuality::FormSignatureHash(
--                                      proto_observation.form_hash()));
-+                                      proto_observation.form_hash())};
-       }
-     }
-   }
-diff -up chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc.me chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc
---- chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc.me	2024-02-25 00:14:26.830323365 +0100
-+++ chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc	2024-02-25 00:15:17.939241091 +0100
-@@ -402,7 +402,7 @@ void FencedFrameProperties::UpdateParent
-         feature, allow_list.AllowedOrigins(), allow_list.SelfIfMatches(),
-         allow_list.MatchesAll(), allow_list.MatchesOpaqueSrc());
-   }
--  parent_permissions_info_.emplace(parsed_policies, parent_origin);
-+  parent_permissions_info_.emplace() = {parsed_policies, parent_origin};
- }
- 
- }  // namespace content
-diff -up chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.me chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc
---- chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.me	2024-02-25 00:17:31.799644691 +0100
-+++ chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc	2024-02-25 00:18:54.157123519 +0100
-@@ -3332,9 +3332,9 @@ std::optional<DebugReportCooldown> DoGet
-     return std::nullopt;
-   }
- 
--  return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0),
-+  return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0),
-                              static_cast<DebugReportCooldownType>(
--                                 cooldown_debugging_only_report.ColumnInt(1)));
-+                                 cooldown_debugging_only_report.ColumnInt(1))};
- }
- 
- void DoGetDebugReportCooldowns(
-diff -up chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h.me chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h
---- chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h.me	2024-02-25 15:34:16.140768445 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h	2024-02-25 15:37:47.789665835 +0100
-@@ -24,6 +24,7 @@ struct MenuNotificationEntry {
-   int command = 0;
-   std::u16string label;
-   safety_hub::SafetyHubModuleType module;
-+  MenuNotificationEntry(auto c, auto l, auto m) : command(c), label(l), module(m) { }
- };
- 
- namespace {
-diff -up chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc.me chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc
---- chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc.me	2024-02-25 16:22:46.601209269 +0100
-+++ chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc	2024-02-25 16:24:48.110618475 +0100
-@@ -1214,10 +1214,10 @@ SkPath ChromeRefresh2023TabStyleViews::G
- 
-     // Radii are clockwise from top left.
-     const SkVector radii[4] = {
--        SkVector(top_content_corner_radius, top_content_corner_radius),
--        SkVector(top_content_corner_radius, top_content_corner_radius),
--        SkVector(bottom_content_corner_radius, bottom_content_corner_radius),
--        SkVector(bottom_content_corner_radius, bottom_content_corner_radius)};
-+        SkVector{top_content_corner_radius, top_content_corner_radius},
-+        SkVector{top_content_corner_radius, top_content_corner_radius},
-+        SkVector{bottom_content_corner_radius, bottom_content_corner_radius},
-+        SkVector{bottom_content_corner_radius, bottom_content_corner_radius}};
-     SkRRect rrect;
-     rrect.setRectRadii(SkRect::MakeLTRB(left, top, right, bottom), radii);
-     SkPath path;
-diff -up chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.me chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
---- chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.me	2024-02-25 18:49:32.512080085 +0100
-+++ chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc	2024-02-25 19:07:36.518711693 +0100
-@@ -386,7 +386,7 @@ bool ShouldBlockAccessToPath(const base:
-       DCHECK(block.path);
-       blocked_path = base::FilePath(block.path);
-     }
--    rules.emplace_back(blocked_path, block.type);
-+    rules.emplace_back() = {blocked_path, block.type};
-   }
- 
-   base::FilePath nearest_ancestor;
-@@ -1575,11 +1575,11 @@ void ChromeFileSystemAccessPermissionCon
-   // profile's directory, assuming the profile dir is a child of the user data
-   // dir.
-   std::vector<BlockPathRule> extra_rules;
--  extra_rules.emplace_back(profile_->GetPath().DirName(), kBlockAllChildren);
-+  extra_rules.emplace_back() = {profile_->GetPath().DirName(), kBlockAllChildren};
-   if (g_browser_process->profile_manager()) {
--    extra_rules.emplace_back(
-+    extra_rules.emplace_back() = {
-         g_browser_process->profile_manager()->user_data_dir(),
--        kBlockAllChildren);
-+        kBlockAllChildren};
-   }
- 
-   base::ThreadPool::PostTaskAndReplyWithResult(
-diff -up chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc.me chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc
---- chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc.me	2024-02-25 19:14:16.227843148 +0100
-+++ chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc	2024-02-25 19:15:04.589307468 +0100
-@@ -53,7 +53,7 @@ std::vector<PageDiscarder::DiscardEvent>
-     if (lifecycle_unit->DiscardTab(
-             discard_reason,
-             /*memory_footprint_estimate=*/proxy.second)) {
--      discard_events.emplace_back(base::TimeTicks::Now(), proxy.second);
-+      discard_events.emplace_back() = {base::TimeTicks::Now(), proxy.second};
-     }
-   }
-   return discard_events;
-diff -up chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h.me chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h
---- chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h.me	2024-02-25 17:26:25.623572458 +0100
-+++ chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h	2024-02-25 17:29:52.983345280 +0100
-@@ -204,6 +204,7 @@ class ServiceWorkerTaskQueue : public Ke
-     raw_ptr<content::BrowserContext> browser_context;
-     base::UnguessableToken token;
- 
-+    SequencedContextId(auto e, auto b, auto t) : extension_id(e), browser_context(b), token(t) { }
-     bool operator<(const SequencedContextId& rhs) const {
-       return std::tie(extension_id, browser_context, token) <
-              std::tie(rhs.extension_id, rhs.browser_context, rhs.token);
-diff -up chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc.me chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc
---- chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc.me	2024-02-25 20:05:40.567891077 +0100
-+++ chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc	2024-02-25 20:05:46.407001997 +0100
-@@ -3993,10 +3993,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);
-     new_badge_tracker_.ActionPerformed("compose_menu_item_activated");
-   } else {
---- chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me	2024-03-15 15:16:46.980123806 +0100
-+++ chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc	2024-03-15 15:18:39.024042560 +0100
-@@ -474,10 +474,10 @@
-               alternative_nav_match);
- 
-   // Store the details necessary to open the omnibox match via browser commands.
--  location_bar_->set_navigation_params(LocationBar::NavigationParams(
-+  location_bar_->set_navigation_params(LocationBar::NavigationParams{
-       destination_url, disposition, transition, match_selection_timestamp,
-       destination_url_entered_without_scheme,
--      destination_url_entered_with_http_scheme, match.extra_headers));
-+      destination_url_entered_with_http_scheme, match.extra_headers});
- 
-   if (browser_) {
-     auto navigation = chrome::OpenCurrentURL(browser_);
---- chromium-123.0.6312.46/content/browser/interest_group/interest_group_auction.cc.me	2024-03-15 15:16:47.004124431 +0100
-+++ chromium-123.0.6312.46/content/browser/interest_group/interest_group_auction.cc	2024-03-15 15:21:57.794229521 +0100
-@@ -565,7 +565,7 @@
-        blink::features::kFledgeDebugReportRestrictedCooldown.Get() !=
-            base::Milliseconds(0))) {
-     new_debug_report_lockout_and_cooldowns.debug_report_cooldown_map[origin] =
--        DebugReportCooldown(now_nearest_next_hour, cooldown_type);
-+        DebugReportCooldown{now_nearest_next_hour, cooldown_type};
-   }
- 
-   return can_send_debug_report;
---- chromium-123.0.6312.46/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor	2024-03-15 15:55:51.351878829 +0100
-+++ chromium-123.0.6312.46/chrome/browser/ui/autofill/autofill_context_menu_manager.cc	2024-03-15 16:19:48.862189463 +0100
-@@ -277,8 +277,8 @@
-     AutofillManager& manager) {
-   auto& driver = static_cast<ContentAutofillDriver&>(manager.driver());
-   driver.browser_events().RendererShouldTriggerSuggestions(
--      FieldGlobalId(driver.GetFrameToken(),
--                    FieldRendererId(params_.field_renderer_id)),
-+      FieldGlobalId{driver.GetFrameToken(),
-+                    FieldRendererId(params_.field_renderer_id)},
-       AutofillSuggestionTriggerSource::kManualFallbackPayments);
-   LogManualFallbackContextMenuEntryAccepted(
-       static_cast<BrowserAutofillManager&>(manager),
---- chromium-123.0.6312.46/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor	2024-03-13 20:35:40.000000000 +0100
-+++ chromium-123.0.6312.46/chrome/browser/ui/web_applications/sub_apps_service_impl.cc	2024-03-15 16:20:45.846919820 +0100
-@@ -107,7 +107,7 @@
-                      ConvertPathToUrl(sub_app->manifest_id_path, origin));
-     ASSIGN_OR_RETURN(GURL install_url,
-                      ConvertPathToUrl(sub_app->install_url_path, origin));
--    sub_apps.emplace_back(std::move(manifest_id), std::move(install_url));
-+    sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)};
-   }
-   return sub_apps;
- }
-@@ -439,7 +439,7 @@
-         base::BindOnce(
-             [](webapps::ManifestId manifest_id, const webapps::AppId& app_id,
-                webapps::InstallResultCode result_code) {
--              return SubAppInstallResult(manifest_id, app_id, result_code);
-+              return SubAppInstallResult{manifest_id, app_id, result_code};
-             },
-             manifest_id)
-             .Then(concurrent.CreateCallback()));
---- chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor	2024-03-13 20:35:57.000000000 +0100
-+++ chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h	2024-03-15 16:24:57.899540941 +0100
-@@ -96,7 +96,7 @@
-       Color::ColorSpace color_interpolation_space,
-       std::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
-     return base::AdoptRef(new FontPalette(
--        start, end, NonNormalizedPercentages(start_percentage, end_percentage),
-+        start, end, NonNormalizedPercentages{start_percentage, end_percentage},
-         normalized_percentage, alpha_multiplier, color_interpolation_space,
-         hue_interpolation_method));
-   }
-@@ -170,7 +170,7 @@
-       double normalized_percentage) {
-     double end_percentage = normalized_percentage * 100.0;
-     double start_percentage = 100.0 - end_percentage;
--    return NonNormalizedPercentages(start_percentage, end_percentage);
-+    return NonNormalizedPercentages{start_percentage, end_percentage};
-   }
- 
-   double GetAlphaMultiplier() const {
-diff -up chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.me chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc
---- chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.me	2024-03-15 19:01:07.765832801 +0100
-+++ chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc	2024-03-15 19:01:52.918687742 +0100
-@@ -62,7 +62,7 @@ bool LightweightQuarantineBranch::Quaran
-     branch_size_in_bytes_ += usable_size;
-     PA_DCHECK(branch_size_in_bytes_ <= capacity_in_bytes);
- 
--    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-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc.me chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc
---- chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc.me	2024-03-16 18:43:17.863328507 +0100
-+++ chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc	2024-03-16 18:51:00.449277152 +0100
-@@ -106,8 +106,8 @@ scoped_refptr<ClientSharedImage> ClientS
-       AddMailbox(proxy_->CreateSharedImage(format, size, color_space,
-                                            surface_origin, alpha_type, usage,
-                                            debug_label)),
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-@@ -137,8 +137,8 @@ scoped_refptr<ClientSharedImage> ClientS
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       AddMailbox(mailbox),
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-@@ -165,8 +165,8 @@ scoped_refptr<ClientSharedImage> ClientS
-   CHECK(!buffer_handle.is_null());
-   return base::MakeRefCounted<ClientSharedImage>(
-       AddMailbox(mailbox),
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(),
-       GpuMemoryBufferHandleInfo(std::move(buffer_handle), format, size,
-                                 buffer_usage),
-@@ -192,8 +192,8 @@ scoped_refptr<ClientSharedImage> ClientS
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(),
-       GpuMemoryBufferHandleInfo(std::move(client_buffer_handle), format, size,
-                                 buffer_usage),
-@@ -219,8 +219,8 @@ scoped_refptr<ClientSharedImage> ClientS
-       AddMailbox(proxy_->CreateSharedImage(
-           format, size, color_space, surface_origin, alpha_type, usage,
-           debug_label, std::move(buffer_handle))),
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-@@ -273,8 +273,8 @@ ClientSharedImageInterface::CreateShared
-       AddMailbox(proxy_->CreateSharedImage(format, size, color_space,
-                                            surface_origin, alpha_type, usage,
-                                            debug_label, std::move(handle))),
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
-   return shared_image_mapping;
- }
-@@ -296,10 +296,10 @@ scoped_refptr<ClientSharedImage> ClientS
-           buffer_format, plane, gpu_memory_buffer->GetSize(), color_space,
-           surface_origin, alpha_type, usage, debug_label,
-           gpu_memory_buffer->CloneHandle())),
--      ClientSharedImage::Metadata(
-+      ClientSharedImage::Metadata{
-           viz::GetSinglePlaneSharedImageFormat(buffer_format),
-           gpu_memory_buffer->GetSize(), color_space, surface_origin, alpha_type,
--          usage),
-+          usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-@@ -334,13 +334,13 @@ ClientSharedImageInterface::CreateSwapCh
-   return ClientSharedImageInterface::SwapChainSharedImages(
-       base::MakeRefCounted<ClientSharedImage>(
-           mailboxes.front_buffer,
--          ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                      alpha_type, usage),
-+          ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                      alpha_type, usage},
-           sync_token, holder_),
-       base::MakeRefCounted<ClientSharedImage>(
-           mailboxes.back_buffer,
--          ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                      alpha_type, usage),
-+          ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                      alpha_type, usage},
-           sync_token, holder_));
- }
- 
-@@ -380,8 +380,8 @@ ClientSharedImageInterface::AddReference
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       sync_token, holder_);
- }
- 
-@@ -402,8 +402,8 @@ scoped_refptr<ClientSharedImage> ClientS
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-diff -up chromium-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc.me chromium-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc
---- chromium-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc.me	2024-03-16 18:59:20.175882894 +0100
-+++ chromium-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc	2024-03-16 19:03:05.001754609 +0100
-@@ -41,8 +41,8 @@ scoped_refptr<ClientSharedImage> SharedI
-   NOTREACHED();
-   return base::MakeRefCounted<ClientSharedImage>(
-       Mailbox(),
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-diff -up chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc.me chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc
---- chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc.me	2024-03-16 19:06:32.102330155 +0100
-+++ chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc	2024-03-16 19:11:59.627008063 +0100
-@@ -238,8 +238,8 @@ SharedImageInterfaceInProcess::CreateSha
-   }
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-@@ -301,8 +301,8 @@ SharedImageInterfaceInProcess::CreateSha
-   }
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-@@ -365,8 +365,8 @@ SharedImageInterfaceInProcess::CreateSha
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), GetGpuMemoryBufferHandleInfo(mailbox), holder_);
- }
- 
-@@ -481,8 +481,8 @@ SharedImageInterfaceInProcess::CreateSha
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(),
-       GpuMemoryBufferHandleInfo(std::move(client_buffer_handle), format, size,
-                                 buffer_usage),
-@@ -524,8 +524,8 @@ SharedImageInterfaceInProcess::CreateSha
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- SharedImageInterface::SharedImageMapping
-@@ -589,8 +589,8 @@ SharedImageInterfaceInProcess::CreateSha
-   }
-   shared_image_mapping.shared_image = base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(format, size, color_space, surface_origin,
--                                  alpha_type, usage),
-+      ClientSharedImage::Metadata{format, size, color_space, surface_origin,
-+                                  alpha_type, usage},
-       GenUnverifiedSyncToken(), holder_);
- 
-   return shared_image_mapping;
-@@ -664,10 +664,10 @@ SharedImageInterfaceInProcess::CreateSha
- 
-   return base::MakeRefCounted<ClientSharedImage>(
-       mailbox,
--      ClientSharedImage::Metadata(
-+      ClientSharedImage::Metadata{
-           viz::GetSinglePlaneSharedImageFormat(gpu_memory_buffer->GetFormat()),
-           gpu_memory_buffer->GetSize(), color_space, surface_origin, alpha_type,
--          usage),
-+          usage},
-       GenUnverifiedSyncToken(), holder_);
- }
- 
-diff -up chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc
---- chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me	2024-03-17 00:42:31.183226211 +0100
-+++ chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc	2024-03-17 00:55:56.689512430 +0100
-@@ -1507,7 +1507,7 @@ void AttributionManagerImpl::PrepareNext
-                            RenderFrameHost::FromID(event.render_frame_id),
-                            source_origin, destination_origin, &reporting_origin,
-                            &can_bypass_cookie_check)) {
--      need_to_check_cookie.emplace_back(url::Origin::Create(item.url), i);
-+      need_to_check_cookie.emplace_back() = {url::Origin::Create(item.url), i};
-     } else {
-       allowed.at(i) = can_bypass_cookie_check;
-     }
-diff -up chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc.me chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc
---- chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc.me	2024-03-17 00:24:41.420837884 +0100
-+++ chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc	2024-03-17 00:26:40.273364638 +0100
-@@ -3993,7 +3993,7 @@ DoGetBiddingAndAuctionServerKeys(sql::Da
-     std::vector<BiddingAndAuctionServerKey> keys;
-     keys.reserve(key_protos.keys_size());
-     for (auto& key_proto : *key_protos.mutable_keys()) {
--      keys.emplace_back(std::move(*key_proto.mutable_key()), key_proto.id());
-+      keys.emplace_back() = {std::move(*key_proto.mutable_key()), key_proto.id()};
-     }
-     return {expiration, keys};
-   }

diff --git a/chromium-123-typename.patch b/chromium-123-typename.patch
deleted file mode 100644
index aebbd18..0000000
--- a/chromium-123-typename.patch
+++ /dev/null
@@ -1,406 +0,0 @@
-
-fixed error: missing 'typename' prior to dependent type name
-
-diff -up chromium-122.0.6261.69/base/containers/map_util.h.typename chromium-122.0.6261.69/base/containers/map_util.h
---- chromium-122.0.6261.69/base/containers/map_util.h.typename	2024-02-22 22:42:43.000000000 +0100
-+++ chromium-122.0.6261.69/base/containers/map_util.h	2024-02-24 15:05:00.882592705 +0100
-@@ -42,7 +42,7 @@ constexpr internal::MappedType<Map>* Fin
- template <typename Map,
-           typename Key,
-           typename MappedElementType =
--              std::pointer_traits<internal::MappedType<Map>>::element_type>
-+              typename std::pointer_traits<internal::MappedType<Map>>::element_type>
- constexpr const MappedElementType* FindPtrOrNull(const Map& map,
-                                                  const Key& key) {
-   auto it = map.find(key);
-@@ -58,7 +58,7 @@ constexpr const MappedElementType* FindP
- template <typename Map,
-           typename Key,
-           typename MappedElementType =
--              std::pointer_traits<internal::MappedType<Map>>::element_type>
-+              typename std::pointer_traits<internal::MappedType<Map>>::element_type>
- constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) {
-   auto it = map.find(key);
-   return it != map.end() ? std::to_address(it->second) : nullptr;
-diff -up chromium-122.0.6261.69/base/functional/bind_internal.h.typename chromium-122.0.6261.69/base/functional/bind_internal.h
---- chromium-122.0.6261.69/base/functional/bind_internal.h.typename	2024-02-24 15:05:00.883592724 +0100
-+++ chromium-122.0.6261.69/base/functional/bind_internal.h	2024-02-24 15:13:49.755223533 +0100
-@@ -1400,11 +1400,11 @@ template <int i,
-           typename Param>
- struct ParamCanBeBound {
-  private:
--  using UnwrappedParam = BindArgument<i>::template ForwardedAs<
-+  using UnwrappedParam = typename BindArgument<i>::template ForwardedAs<
-       Unwrapped>::template ToParamWithType<Param>;
--  using ParamStorage = BindArgument<i>::template ToParamWithType<
-+  using ParamStorage = typename BindArgument<i>::template ToParamWithType<
-       Param>::template StoredAs<Storage>;
--  using BoundStorage =
-+  using BoundStorage = typename
-       BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
- 
-   template <bool v = !UnwrappedParam::kRawPtr ||
-diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc
---- chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc.typename	2024-02-22 22:42:50.000000000 +0100
-+++ chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc	2024-02-24 15:05:00.882592705 +0100
-@@ -90,7 +90,7 @@ ItemSortKey GetSortKey(const Item& item)
- // Helper to get an iterator to the last element in the cache. The cache
- // must not be empty.
- template <typename Item>
--SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
-+typename SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
-   CHECK(!cache.empty());
-   auto it = cache.end();
-   return std::prev(it);
-@@ -1090,9 +1090,9 @@ bool DownloadBubbleUpdateService::CacheM
- }
- 
- template <typename Id, typename Item>
--SortedItems<Item>::iterator
-+typename SortedItems<Item>::iterator
- DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter(
--    SortedItems<Item>::iterator iter,
-+    typename SortedItems<Item>::iterator iter,
-     SortedItems<Item>& cache,
-     IterMap<Id, Item>& iter_map) {
-   CHECK(iter != cache.end());
-diff -up chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h
---- chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h.typename	2024-02-22 22:43:01.000000000 +0100
-+++ chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h	2024-02-24 15:05:00.884592742 +0100
-@@ -25,7 +25,7 @@ void SetExecutionRequestTemplate(
- 
-   // Request is set by the feature and should always be typed.
-   auto typed_request =
--      static_cast<const FeatureType::Request&>(request_metadata);
-+      static_cast<const typename FeatureType::Request&>(request_metadata);
-   *(logging_data->mutable_request_data()) = typed_request;
- }
- 
-diff -up chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h
---- chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename	2024-02-22 22:43:01.000000000 +0100
-+++ chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h	2024-02-24 15:05:00.884592742 +0100
-@@ -29,7 +29,7 @@ class ModelQualityLogEntry {
-   }
- 
-   template <typename FeatureType>
--  FeatureType::Quality* quality_data() {
-+  typename FeatureType::Quality* quality_data() {
-     return FeatureType::GetLoggingData(*log_ai_data_request_)
-         ->mutable_quality_data();
-   }
-diff -up chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h.typename chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h
---- chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h.typename	2024-02-22 22:43:15.000000000 +0100
-+++ chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h	2024-02-24 15:05:00.884592742 +0100
-@@ -90,7 +90,7 @@ template <typename Container>
-     { c[i] } -> std::same_as<typename Container::reference>;
-   }
- struct ArrayTraits<Container> {
--  using Element = Container::value_type;
-+  using Element = typename Container::value_type;
- 
-   // vector-like containers have no built-in null.
-   static bool IsNull(const Container& c) { return false; }
-diff -up chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h
---- chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename	2024-02-22 22:43:20.000000000 +0100
-+++ chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h	2024-02-24 15:05:00.883592724 +0100
-@@ -218,7 +218,7 @@ class PairAsyncIterable {
-  private:
-   virtual IterationSource* CreateIterationSource(
-       ScriptState* script_state,
--      IterationSource::Kind kind,
-+      typename IterationSource::Kind kind,
-       ExceptionState& exception_state) = 0;
- };
- 
-@@ -260,7 +260,7 @@ class ValueAsyncIterable {
-  private:
-   virtual IterationSource* CreateIterationSource(
-       ScriptState* script_state,
--      IterationSource::Kind kind,
-+      typename IterationSource::Kind kind,
-       ExceptionState& exception_state) = 0;
- };
- 
-diff -up chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
---- chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename	2024-02-24 15:05:00.882592705 +0100
-+++ chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc	2024-02-24 15:12:27.742724849 +0100
-@@ -211,7 +211,7 @@ class HTMLFastPathParser {
-   using Span = base::span<const Char>;
-   using USpan = base::span<const UChar>;
-   // 32 matches that used by HTMLToken::Attribute.
--  typedef std::conditional<std::is_same_v<Char, UChar>,
-+  typedef typename std::conditional<std::is_same_v<Char, UChar>,
-                            UCharLiteralBuffer<32>,
-                            LCharLiteralBuffer<32>>::type LiteralBufferType;
-   static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
-diff -up chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.typename chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h
---- chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.typename	2024-02-22 22:43:21.000000000 +0100
-+++ chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h	2024-02-24 15:05:00.883592724 +0100
-@@ -272,8 +272,8 @@ class CORE_EXPORT ObjectPaintPropertiesS
-       NodeList& nodes,
-       NodeId node_id,
-       const ParentType& parent,
--      NodeType::State&& state,
--      const NodeType::AnimationState& animation_state =
-+      typename NodeType::State&& state,
-+      const typename NodeType::AnimationState& animation_state =
-           NodeType::AnimationState()) {
-     // First, check if we need to add a new node.
-     if (!nodes.HasField(node_id)) {
-diff -up chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.me chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h
---- chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.me	2024-02-24 16:51:41.292310554 +0100
-+++ chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h	2024-02-24 16:52:10.022896063 +0100
-@@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot();
- 
- // A class that meets C++ named requirements, Allocator.
- template <typename T>
--InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
-+typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
-     std::size_t count) {
-   PA_CHECK(count <=
-            std::numeric_limits<std::size_t>::max() / sizeof(value_type));
-diff -up chromium-122.0.6261.69/base/containers/heap_array.h.me chromium-122.0.6261.69/base/containers/heap_array.h
---- chromium-122.0.6261.69/base/containers/heap_array.h.me	2024-02-24 18:02:34.463921568 +0100
-+++ chromium-122.0.6261.69/base/containers/heap_array.h	2024-02-24 18:04:01.922850571 +0100
-@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray {
-   static_assert(!std::is_reference_v<T>,
-                 "HeapArray cannot hold reference types");
- 
--  using iterator = base::span<T>::iterator;
--  using const_iterator = base::span<const T>::iterator;
-+  using iterator = typename base::span<T>::iterator;
-+  using const_iterator = typename base::span<const T>::iterator;
- 
-   // Allocates initialized memory capable of holding `size` elements. No memory
-   // is allocated for zero-sized arrays.
-diff -up chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h.me chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h
---- chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h.me	2024-02-24 18:51:06.957087464 +0100
-+++ chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h	2024-02-24 18:51:27.778488490 +0100
-@@ -125,7 +125,7 @@ using VecValueType = typename Vec::value
- 
- template <typename Vec>
- using VecPtrLikeUnderlyingValueType =
--    std::pointer_traits<VecValueType<Vec>>::element_type;
-+    typename std::pointer_traits<VecValueType<Vec>>::element_type;
- 
- }  // namespace internal
- 
-diff -up chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h.me chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h
---- chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h.me	2024-02-24 19:45:13.620934215 +0100
-+++ chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h	2024-02-24 19:46:08.817940962 +0100
-@@ -2005,7 +2005,7 @@ struct HashTableConstIteratorAdapter {
-   static_assert(!IsTraceable<typename Traits::TraitType>::value);
- 
-   using iterator_category = std::bidirectional_iterator_tag;
--  using value_type = HashTableType::ValueType;
-+  using value_type = typename HashTableType::ValueType;
-   using difference_type = ptrdiff_t;
-   using pointer = value_type*;
-   using reference = value_type&;
-@@ -2057,7 +2057,7 @@ struct HashTableConstIteratorAdapter<
- 
-  public:
-   using iterator_category = std::bidirectional_iterator_tag;
--  using value_type = HashTableType::ValueType;
-+  using value_type = typename HashTableType::ValueType;
-   using difference_type = ptrdiff_t;
-   using pointer = value_type*;
-   using reference = value_type&;
-@@ -2111,7 +2111,7 @@ struct HashTableIteratorAdapter {
-   static_assert(!IsTraceable<typename Traits::TraitType>::value);
- 
-   using iterator_category = std::bidirectional_iterator_tag;
--  using value_type = HashTableType::ValueType;
-+  using value_type = typename HashTableType::ValueType;
-   using difference_type = ptrdiff_t;
-   using pointer = value_type*;
-   using reference = value_type&;
-@@ -2159,7 +2159,7 @@ struct HashTableIteratorAdapter<
- 
-  public:
-   using iterator_category = std::bidirectional_iterator_tag;
--  using value_type = HashTableType::ValueType;
-+  using value_type = typename HashTableType::ValueType;
-   using difference_type = ptrdiff_t;
-   using pointer = value_type*;
-   using reference = value_type&;
-diff -up chromium-122.0.6261.69/base/types/fixed_array.h.me chromium-122.0.6261.69/base/types/fixed_array.h
---- chromium-122.0.6261.69/base/types/fixed_array.h.me	2024-02-25 11:22:59.819590529 +0100
-+++ chromium-122.0.6261.69/base/types/fixed_array.h	2024-02-25 11:24:12.424953031 +0100
-@@ -27,8 +27,8 @@ template <typename T,
- class FixedArray : public absl::FixedArray<T, N, A> {
-  public:
-   using absl::FixedArray<T, N, A>::FixedArray;
--  explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
--                      const absl::FixedArray<T, N, A>::allocator_type& a =
-+  explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
-+                      const typename absl::FixedArray<T, N, A>::allocator_type& a =
-                           typename absl::FixedArray<T, N, A>::allocator_type())
-       : FixedArray(n, T(), a) {}
- };
-diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h.me chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h
---- chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h.me	2024-02-25 15:04:56.775897713 +0100
-+++ chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h	2024-02-25 15:05:34.884579279 +0100
-@@ -121,7 +121,7 @@ class CommandBase {
- template <typename LockType>
- class CommandWithLock : public CommandBase {
-  public:
--  using LockDescription = LockType::LockDescription;
-+  using LockDescription = typename LockType::LockDescription;
-   explicit CommandWithLock(const std::string& name,
-                            LockDescription initial_lock_request);
- 
-diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h.me chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h
---- chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h.me	2024-02-25 15:05:46.885793828 +0100
-+++ chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app_command.h	2024-02-25 15:06:12.334248725 +0100
-@@ -106,7 +106,7 @@ class WebAppLockManager;
- template <typename LockType, typename... CallbackArgs>
- class WebAppCommand : public internal::CommandWithLock<LockType> {
-  public:
--  using LockDescription = LockType::LockDescription;
-+  using LockDescription = typename LockType::LockDescription;
-   using CallbackType = base::OnceCallback<void(CallbackArgs...)>;
-   using ShutdownArgumentsTuple = std::tuple<std::decay_t<CallbackArgs>...>;
- 
-diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h.me chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h
---- chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h.me	2024-02-25 15:06:17.896348149 +0100
-+++ chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h	2024-02-25 15:06:58.841076746 +0100
-@@ -355,7 +355,7 @@ class WebAppCommandScheduler {
-   // command system.
-   template <typename LockType>
-   void ScheduleCallback(const std::string& operation_name,
--                        LockType::LockDescription lock_description,
-+                        typename LockType::LockDescription lock_description,
-                         CallbackCommand<LockType, void> callback,
-                         base::OnceClosure on_complete,
-                         const base::Location& location = FROM_HERE) {
-@@ -373,7 +373,7 @@ class WebAppCommandScheduler {
-             typename CallbackReturnValue = std::decay_t<CompletionCallbackArg>>
-   void ScheduleCallbackWithResult(
-       const std::string& operation_name,
--      LockType::LockDescription lock_description,
-+      typename LockType::LockDescription lock_description,
-       CallbackCommand<LockType, CallbackReturnValue> callback,
-       base::OnceCallback<void(CompletionCallbackArg)> on_complete,
-       CallbackReturnValue arg_for_shutdown,
-diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h.me chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h
---- chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h.me	2024-02-25 15:12:53.835409392 +0100
-+++ chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h	2024-02-25 15:16:03.171931033 +0100
-@@ -424,7 +424,7 @@ class RetryingFetcherImpl final : public
-   RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
-   RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
- 
--  void Start(ProtoFetcher<Response>::Callback callback) override {
-+  void Start(typename ProtoFetcher<Response>::Callback callback) override {
-     callback_ = std::move(callback);
-     Retry();
-   }
-@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public
-   }
- 
-   // Client callback.
--  TypedProtoFetcher<Response>::Callback callback_;
-+  typename TypedProtoFetcher<Response>::Callback callback_;
- 
-   // Retry controls.
-   base::OneShotTimer timer_;
-@@ -490,7 +490,7 @@ class ParallelFetchManager {
-   // Deferred fetcher is required because it should be started after it is
-   // stored internally.
-   using Fetcher = ProtoFetcher<Response>;
--  using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
-+  using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
- 
-  public:
-   // Provides fresh instances of a deferred fetcher for each fetch.
-@@ -506,7 +506,7 @@ class ParallelFetchManager {
- 
-   // Starts the fetch. Underlying fetcher is stored internally, and will be
-   // cleaned up after finish or when this manager is destroyed.
--  void Fetch(const Request& request, Fetcher::Callback callback) {
-+  void Fetch(const Request& request, typename Fetcher::Callback callback) {
-     CHECK(callback) << "Use base::DoNothing() instead of empty callback.";
-     KeyType key = requests_in_flight_.Add(MakeFetcher(request));
-     requests_in_flight_.Lookup(key)->Start(
---- chromium-123.0.6312.46/components/optimization_guide/core/tflite_model_executor.h.orig	2024-03-13 20:35:44.000000000 +0100
-+++ chromium-123.0.6312.46/components/optimization_guide/core/tflite_model_executor.h	2024-03-15 15:45:47.067156826 +0100
-@@ -242,7 +242,7 @@
-   void SendForBatchExecution(
-       BatchExecutionCallback callback_on_complete,
-       base::TimeTicks start_time,
--      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
-+      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
-       override {
-     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
-     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -264,7 +264,7 @@
-   // Starts the synchronous execution of the model. Returns model outputs.
-   // Model needs to be loaded. Synchronous calls do not load or unload model.
-   std::vector<std::optional<OutputType>> SendForBatchExecutionSync(
--      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
-+      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
-       override {
-     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
-     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -422,7 +422,7 @@
-   // executes it on the model execution thread.
-   void LoadModelFileAndBatchExecute(
-       BatchExecutionCallback callback_on_complete,
--      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
-+      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
-     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
-     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- 
-@@ -439,7 +439,7 @@
- 
-   // Batch executes the loaded model for inputs.
-   void BatchExecuteLoadedModel(
--      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
-+      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
-       std::vector<std::optional<OutputType>>* outputs) {
-     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
-     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -499,7 +499,7 @@
-   // Unloads the model if needed.
-   void BatchExecuteLoadedModelAndRunCallback(
-       BatchExecutionCallback callback_on_complete,
--      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
-+      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
-       ExecutionStatus execution_status) {
-     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
-     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
---- chromium-123.0.6312.46/base/functional/function_ref.h.orig	2024-03-15 15:43:32.329786974 +0100
-+++ chromium-123.0.6312.46/base/functional/function_ref.h	2024-03-15 15:46:57.278813500 +0100
-@@ -64,7 +64,7 @@
- template <typename R, typename... Args>
- class FunctionRef<R(Args...)> {
-   template <typename Functor,
--            typename RunType = internal::FunctorTraits<Functor>::RunType>
-+            typename RunType = typename internal::FunctorTraits<Functor>::RunType>
-   static constexpr bool kCompatibleFunctor =
-       std::convertible_to<internal::ExtractReturnType<RunType>, R> &&
-       std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>;
-diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.me chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
---- chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.me	2024-03-16 22:55:01.387265478 +0100
-+++ chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h	2024-03-16 22:55:18.752568310 +0100
-@@ -173,7 +173,7 @@ class ScriptPromiseProperty final
-   template <typename T>
-     requires std::derived_from<T, bindings::EnumerationBase>
-   static T DefaultPromiseResultValue() {
--    return T(static_cast<T::Enum>(0));
-+    return T(static_cast<typename T::Enum>(0));
-   }
- 
-   State state_ = kPending;
-diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.me chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
---- chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.me	2024-03-16 22:41:50.634510019 +0100
-+++ chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h	2024-03-16 22:54:51.215088087 +0100
-@@ -477,7 +477,7 @@ class ScriptPromiseResolverTyped : publi
- 
-  private:
-   using TypedResolver =
--      ScriptPromiseTyped<IDLResolvedType>::InternalResolverTyped;
-+      typename ScriptPromiseTyped<IDLResolvedType>::InternalResolverTyped;
- };
- 
- }  // namespace blink

diff --git a/chromium-123-workaround_clang_bug-structured_binding.patch b/chromium-123-workaround_clang_bug-structured_binding.patch
deleted file mode 100644
index 998fbad..0000000
--- a/chromium-123-workaround_clang_bug-structured_binding.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
---- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:37.000000000 +0200
-+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc	2023-06-17 16:53:20.216628557 +0200
-@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
- void CdmPromiseAdapter::Clear(ClearReason reason) {
-   // Reject all outstanding promises.
-   DCHECK(thread_checker_.CalledOnValidThread());
--  for (auto& [promise_id, promise] : promises_) {
-+  for (auto& [p_i, p_e] : promises_) {
-+    auto& promise_id = p_i;
-+    auto& promise = p_e;
-     TRACE_EVENT_NESTABLE_ASYNC_END1(
-         "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
-         "status", "cleared");
-diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
---- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me	2023-06-19 08:04:02.287072722 +0200
-+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc	2023-06-19 08:18:24.576814950 +0200
-@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
-     return;
-   }
- 
--  auto [document_url, key, callback] = std::move(*request);
-+  auto [d_u, key, callback] = std::move(*request);
-+  auto document_url = d_u;
- 
-   DCHECK(document_url.is_valid());
-   TRACE_EVENT1("ServiceWorker",
-diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
---- chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than	2023-12-19 17:57:56.205197246 +0100
-+++ chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc	2023-12-19 18:10:13.778634531 +0100
-@@ -3527,8 +3527,8 @@ void GridLayoutAlgorithm::PlaceGridItems
-   DCHECK(out_row_break_between);
- 
-   const auto& container_space = GetConstraintSpace();
--  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
--
-+  const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData();
-+  const auto& layout_data = l_d;
-   const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
-   const auto container_writing_direction =
-       container_space.GetWritingDirection();
-@@ -3691,8 +3691,9 @@ void GridLayoutAlgorithm::PlaceGridItems
- 
-   // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
-   const auto& constraint_space = GetConstraintSpace();
--  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
--
-+  const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData();
-+  const auto& grid_items = g_i;
-+  const auto& layout_data = l_d;
-   const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
-   const auto container_writing_direction =
-       constraint_space.GetWritingDirection();
-diff -up chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc
---- chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me	2024-02-25 18:03:51.654579579 +0100
-+++ chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc	2024-02-25 18:12:45.144287750 +0100
-@@ -136,7 +136,8 @@ void PrewarmHttpDiskCacheManager::MaybeP
-   std::pair<url::Origin, GURL> origin_and_url;
-   std::swap(origin_and_url, queued_jobs_.front());
-   queued_jobs_.pop();
--  const auto& [origin, url] = origin_and_url;
-+  const auto& [origin, u] = origin_and_url;
-+  const auto& url = u;
-   TRACE_EVENT_WITH_FLOW1(
-       "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob",
-       TRACE_ID_LOCAL(this),
---- chromium-123.0.6312.46/content/common/service_worker/race_network_request_url_loader_client.cc.orig	2024-03-15 15:37:58.201209354 +0100
-+++ chromium-123.0.6312.46/content/common/service_worker/race_network_request_url_loader_client.cc	2024-03-15 15:40:35.003250723 +0100
-@@ -639,7 +639,8 @@
-     return std::nullopt;
-   }
- 
--  auto [result, read_buffer] = BeginReadData();
-+  auto [r, read_buffer] = BeginReadData();
-+  auto result = r;
-   TRACE_EVENT_WITH_FLOW2(
-       "ServiceWorker",
-       "ServiceWorkerRaceNetworkRequestURLLoaderClient::ReadAndWrite",

diff --git a/chromium-124-el7-constexpr.patch b/chromium-124-el7-constexpr.patch
new file mode 100644
index 0000000..735d343
--- /dev/null
+++ b/chromium-124-el7-constexpr.patch
@@ -0,0 +1,74 @@
+diff -up chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h
+--- chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me	2024-05-07 07:58:10.202960298 +0200
++++ chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h	2024-05-07 07:59:29.413411767 +0200
+@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio
+ // Country code that represents autofill's legacy address hierarchy model as
+ // stored `kAutofillModelRules`. As a workaround for GCC we declare the
+ // std::string constexpr first.
+-constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
+-constexpr AddressCountryCode kLegacyHierarchyCountryCode =
++const inline std::string kLegacyHierarchyCountryCodeString{"XX"};
++const AddressCountryCode kLegacyHierarchyCountryCode =
+     AddressCountryCode(kLegacyHierarchyCountryCodeString);
+ 
+ // Creates an instance of the address hierarchy model corresponding to the
+diff -up chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h
+--- chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me	2024-05-07 07:59:38.239573497 +0200
++++ chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h	2024-05-07 08:00:55.578990659 +0200
+@@ -57,7 +57,7 @@ struct IsRequired {
+   // This function is not defined and consteval. Therefore, any evaluation will
+   // fail and fail at compile time.
+   template <typename T>
+-  consteval operator T();  // NOLINT
++  operator T();  // NOLINT
+ };
+ 
+ }  // namespace internal
+diff -up chromium-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h
+--- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me	2024-05-06 18:01:28.606845554 +0200
++++ chromium-124.0.6367.118/components/history/core/browser/history_types.h	2024-05-06 18:06:15.492751252 +0200
+@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL
+ typedef std::map<VisitID, VisitSource> VisitSourceMap;
+ 
+ // Constant used to represent that no app_id is used for matching.
+-inline constexpr std::optional<std::string> kNoAppIdFilter = std::nullopt;
++inline const std::optional<std::string> kNoAppIdFilter = std::nullopt;
+ 
+ // VisitRow -------------------------------------------------------------------
+ 
+diff -up chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc
+--- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me	2024-05-07 00:07:15.720573794 +0200
++++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc	2024-05-07 00:08:07.633519604 +0200
+@@ -28,17 +28,17 @@ namespace network {
+ namespace {
+ 
+ // https://urlpattern.spec.whatwg.org/#default-options
+-constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
++const liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
+                                                     .prefix_list = "",
+                                                     .sensitive = true,
+                                                     .strict = true};
+ // https://urlpattern.spec.whatwg.org/#hostname-options
+-constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
++const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
+                                                      .prefix_list = "",
+                                                      .sensitive = true,
+                                                      .strict = true};
+ // https://urlpattern.spec.whatwg.org/#pathname-options
+-constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
++const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
+                                                      .prefix_list = "/",
+                                                      .sensitive = true,
+                                                      .strict = true};
+diff -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py
+--- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1	2024-05-07 10:58:13.316756926 +0200
++++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py	2024-05-07 10:58:30.821083061 +0200
+@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam
+   yield '// Checks if all the matching patterns for the given PatternSources'
+   yield '// and language are the same - meaning that computing predictions for'
+   yield '// both is unnecessary, since it will yield the same result.'
+-  yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,'
++  yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,'
+   yield '                                            PatternSource b,'
+   yield '                                            LanguageCode lang_code) {'
+   yield '  if (a == b) {'

diff --git a/chromium-124-el7-powf.patch b/chromium-124-el7-powf.patch
new file mode 100644
index 0000000..7b8762b
--- /dev/null
+++ b/chromium-124-el7-powf.patch
@@ -0,0 +1,18 @@
+diff -up chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp.me chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
+--- chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp.me	2024-05-05 17:29:38.907559210 +0200
++++ chromium-124.0.6367.118/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp	2024-05-05 17:51:26.665080742 +0200
+@@ -1726,10 +1726,10 @@ angle::Result FramebufferVk::generateFra
+                 for (uint32_t point = 0; point < activeFocalPoints.size(); point++)
+                 {
+                     float density =
+-                        1.0f / std::max(std::powf(activeFocalPoints[point].focalX - px, 2) *
+-                                                std::powf(activeFocalPoints[point].gainX, 2) +
+-                                            std::powf(activeFocalPoints[point].focalY - py, 2) *
+-                                                std::powf(activeFocalPoints[point].gainY, 2) -
++                        1.0f / std::max(powf(activeFocalPoints[point].focalX - px, 2) *
++                                                powf(activeFocalPoints[point].gainX, 2) +
++                                            powf(activeFocalPoints[point].focalY - py, 2) *
++                                                powf(activeFocalPoints[point].gainY, 2) -
+                                             activeFocalPoints[point].foveaArea,
+                                         1.0f);
+ 

diff --git a/chromium-124-el7-size_t.patch b/chromium-124-el7-size_t.patch
new file mode 100644
index 0000000..3ca84ee
--- /dev/null
+++ b/chromium-124-el7-size_t.patch
@@ -0,0 +1,16 @@
+diff -up chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h.me chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h
+--- chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h.me	2024-05-06 08:32:09.637210958 +0200
++++ chromium-124.0.6367.118/third_party/perfetto/src/tracing/core/id_allocator.h	2024-05-06 08:32:26.485518448 +0200
+@@ -63,10 +63,10 @@ class IdAllocator : public IdAllocatorGe
+ 
+   // Tries to allocate `n` IDs. Returns a vector of `n` valid IDs or an empty
+   // vector, if not enough IDs are available.
+-  std::vector<T> AllocateMultiple(size_t n) {
++  std::vector<T> AllocateMultiple(std::size_t n) {
+     std::vector<T> res;
+     res.reserve(n);
+-    for (size_t i = 0; i < n; i++) {
++    for (std::size_t i = 0; i < n; i++) {
+       T id = Allocate();
+       if (id) {
+         res.push_back(id);

diff --git a/chromium-124-no_matching_constructor.patch b/chromium-124-no_matching_constructor.patch
new file mode 100644
index 0000000..0c60858
--- /dev/null
+++ b/chromium-124-no_matching_constructor.patch
@@ -0,0 +1,1392 @@
+diff -up chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc.than chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc
+--- chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc.than	2024-02-22 22:42:43.000000000 +0100
++++ chromium-122.0.6261.69/base/metrics/persistent_histogram_allocator.cc	2024-02-24 13:13:32.484503735 +0100
+@@ -218,13 +218,13 @@ PersistentSparseHistogramDataManager::Lo
+     // The sample-record could be for any sparse histogram. Add the reference
+     // to the appropriate collection for later use.
+     if (found_id == match_id) {
+-      found_records.emplace_back(ref, value);
++      found_records.emplace_back() = {ref, value};
+       found = true;
+     } else {
+       std::vector<ReferenceAndSample>* samples =
+           GetSampleMapRecordsWhileLocked(found_id);
+       CHECK(samples);
+-      samples->emplace_back(ref, value);
++      samples->emplace_back() = {ref, value};
+     }
+   }
+ 
+diff -up chromium-122.0.6261.69/base/nix/mime_util_xdg.cc.than chromium-122.0.6261.69/base/nix/mime_util_xdg.cc
+--- chromium-122.0.6261.69/base/nix/mime_util_xdg.cc.than	2024-02-22 22:42:43.000000000 +0100
++++ chromium-122.0.6261.69/base/nix/mime_util_xdg.cc	2024-02-24 13:13:44.158712756 +0100
+@@ -56,7 +56,7 @@ void LoadAllMimeCacheFiles(MimeTypeMap&
+   for (const auto& path : GetXDGDataSearchLocations(env.get())) {
+     FilePath mime_cache = path.Append("mime/mime.cache");
+     if (GetFileInfo(mime_cache, &info) && ParseMimeTypes(mime_cache, map)) {
+-      files.emplace_back(mime_cache, info.last_modified);
++      files.emplace_back() = {mime_cache, info.last_modified};
+     }
+   }
+ }
+diff -up chromium-122.0.6261.69/base/trace_event/trace_log.cc.than chromium-122.0.6261.69/base/trace_event/trace_log.cc
+--- chromium-122.0.6261.69/base/trace_event/trace_log.cc.than	2024-02-22 22:42:43.000000000 +0100
++++ chromium-122.0.6261.69/base/trace_event/trace_log.cc	2024-02-24 13:13:32.484503735 +0100
+@@ -2198,8 +2198,8 @@ void TraceLog::SetTraceBufferForTesting(
+ #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
+ void TraceLog::OnSetup(const perfetto::DataSourceBase::SetupArgs& args) {
+   AutoLock lock(track_event_lock_);
+-  track_event_sessions_.emplace_back(args.internal_instance_index, *args.config,
+-                                     args.backend_type);
++  track_event_sessions_.emplace_back() = {args.internal_instance_index, *args.config,
++                                     args.backend_type};
+ }
+ 
+ void TraceLog::OnStart(const perfetto::DataSourceBase::StartArgs&) {
+diff -up chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc.than chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc
+--- chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc.than	2024-02-22 22:42:50.000000000 +0100
++++ chromium-122.0.6261.69/chrome/browser/content_settings/one_time_permission_provider.cc	2024-02-24 13:13:32.485503752 +0100
+@@ -252,8 +252,8 @@ void OneTimePermissionProvider::OnSuspen
+ 
+       while (rule_iterator && rule_iterator->HasNext()) {
+         auto rule = rule_iterator->Next();
+-        patterns_to_delete.emplace_back(setting_type, rule->primary_pattern,
+-                                        rule->secondary_pattern);
++        patterns_to_delete.emplace_back() = {setting_type, rule->primary_pattern,
++                                        rule->secondary_pattern};
+         permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+             setting_type,
+             permissions::OneTimePermissionEvent::EXPIRED_ON_SUSPEND);
+@@ -355,8 +355,8 @@ void OneTimePermissionProvider::DeleteEn
+     auto rule = rule_iterator->Next();
+     if (rule->primary_pattern.Matches(origin_gurl) &&
+         rule->secondary_pattern.Matches(origin_gurl)) {
+-      patterns_to_delete.emplace_back(
+-          content_setting_type, rule->primary_pattern, rule->secondary_pattern);
++      patterns_to_delete.emplace_back() = {
++          content_setting_type, rule->primary_pattern, rule->secondary_pattern};
+       permissions::PermissionUmaUtil::RecordOneTimePermissionEvent(
+           content_setting_type, trigger_event);
+     }
+diff -up chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.than chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc
+--- chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.than	2024-02-22 22:42:50.000000000 +0100
++++ chromium-122.0.6261.69/chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc	2024-02-24 13:13:32.485503752 +0100
+@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileA
+   // TODO(crbug.com/1445072): Add actual domains with attribute names.
+   profile_attributes->insert(std::make_pair(
+       "supported.test",
+-      SAMLProfileAttributes("placeholderName", "placeholderDomain",
+-                            "placeholderToken")));
++      SAMLProfileAttributes{"placeholderName", "placeholderDomain",
++                            "placeholderToken"}));
+ 
+   // Extract domains and attributes from the command line switch.
+   const base::CommandLine& command_line =
+diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc
+--- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc.than	2024-02-22 22:42:55.000000000 +0100
++++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_ask_view.cc	2024-02-24 13:13:32.486503770 +0100
+@@ -60,12 +60,12 @@ std::vector<EmbeddedPermissionPromptAskV
+ EmbeddedPermissionPromptAskView::GetButtonsConfiguration() const {
+   std::vector<ButtonConfiguration> buttons;
+   if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
+-    buttons.emplace_back(
++    buttons.emplace_back() = {
+         l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
+-        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
++        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
+   }
+-  buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+-                       ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId);
++  buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
++                       ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId};
+   return buttons;
+ }
+ 
+diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h
+--- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h.than	2024-02-22 22:42:55.000000000 +0100
++++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_base_view.h	2024-02-24 13:13:32.486503770 +0100
+@@ -87,6 +87,7 @@ class EmbeddedPermissionPromptBaseView :
+   struct RequestLineConfiguration {
+     const raw_ptr<const gfx::VectorIcon> icon;
+     std::u16string message;
++    RequestLineConfiguration(auto i, auto m) : icon(i), message(m) { }
+   };
+ 
+   struct ButtonConfiguration {
+diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc
+--- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc.than	2024-02-22 22:42:55.000000000 +0100
++++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_policy_view.cc	2024-02-24 13:13:32.486503770 +0100
+@@ -64,8 +64,8 @@ EmbeddedPermissionPromptPolicyView::GetR
+ std::vector<EmbeddedPermissionPromptPolicyView::ButtonConfiguration>
+ EmbeddedPermissionPromptPolicyView::GetButtonsConfiguration() const {
+   std::vector<ButtonConfiguration> buttons;
+-  buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
+-                       ButtonType::kPolicyOK, ui::ButtonStyle::kTonal);
++  buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL),
++                       ButtonType::kPolicyOK, ui::ButtonStyle::kTonal};
+   return buttons;
+ }
+ 
+diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc
+--- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than	2024-02-22 22:42:55.000000000 +0100
++++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc	2024-02-24 13:13:44.153712667 +0100
+@@ -79,17 +79,17 @@ EmbeddedPermissionPromptPreviouslyDenied
+ std::vector<EmbeddedPermissionPromptPreviouslyDeniedView::ButtonConfiguration>
+ EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const {
+   std::vector<ButtonConfiguration> buttons;
+-  buttons.emplace_back(
++  buttons.emplace_back() = {
+       l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING),
+-      ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal);
++      ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal};
+ 
+   if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
+-    buttons.emplace_back(
++    buttons.emplace_back() = {
+         l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
+-        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId);
++        ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId};
+   } else {
+-    buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+-                         ButtonType::kAllow, ui::ButtonStyle::kTonal);
++    buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
++                         ButtonType::kAllow, ui::ButtonStyle::kTonal};
+   }
+   return buttons;
+ }
+diff -up chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
+--- chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than	2024-02-22 22:42:55.000000000 +0100
++++ chromium-122.0.6261.69/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc	2024-02-24 13:13:44.153712667 +0100
+@@ -74,12 +74,12 @@ EmbeddedPermissionPromptPreviouslyGrante
+ std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
+ EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const {
+   std::vector<ButtonConfiguration> buttons;
+-  buttons.emplace_back(
++  buttons.emplace_back() = {
+       l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
+-      ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
++      ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
+ 
+-  buttons.emplace_back(
++  buttons.emplace_back() = {
+       l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
+-      ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId);
++      ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId};
+   return buttons;
+ }
+diff -up chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc.than chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc
+--- chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc.than	2024-02-22 22:42:56.000000000 +0100
++++ chromium-122.0.6261.69/chrome/test/chromedriver/capabilities.cc	2024-02-24 13:13:32.486503770 +0100
+@@ -346,7 +346,7 @@ Status ParseMobileEmulation(const base::
+                         "'version' field of type string");
+         }
+ 
+-        brands.emplace_back(*brand, *version);
++        brands.emplace_back() = {*brand, *version};
+       }
+ 
+       client_hints.brands = std::move(brands);
+@@ -384,7 +384,7 @@ Status ParseMobileEmulation(const base::
+                         "a 'version' field of type string");
+         }
+ 
+-        full_version_list.emplace_back(*brand, *version);
++        full_version_list.emplace_back() = {*brand, *version};
+       }
+ 
+       client_hints.full_version_list = std::move(full_version_list);
+diff -up chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc.than chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc
+--- chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc.than	2024-02-22 22:43:02.000000000 +0100
++++ chromium-122.0.6261.69/components/password_manager/core/browser/password_manager.cc	2024-02-24 13:13:44.154712685 +0100
+@@ -673,7 +673,7 @@ void PasswordManager::OnUserModifiedNonP
+     it->second.last_change = base::Time::Now();
+   } else {
+     possible_usernames_.Put(
+-        PossibleUsernameFieldIdentifier(driver_id, renderer_id),
++        PossibleUsernameFieldIdentifier{driver_id, renderer_id},
+         PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
+                              renderer_id, value, base::Time::Now(), driver_id,
+                              autocomplete_attribute_has_username,
+diff -up chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc.than chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc
+--- chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc.than	2024-02-22 22:43:02.000000000 +0100
++++ chromium-122.0.6261.69/components/performance_manager/worker_watcher.cc	2024-02-24 13:13:44.158712756 +0100
+@@ -239,7 +239,7 @@ void WorkerWatcher::OnWorkerCreated(
+   DCHECK(insertion_result.second);
+ 
+   absl::visit(
+-      base::Overloaded(
++      base::Overloaded{
+           [&,
+            this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
+             AddFrameClientConnection(insertion_result.first->second.get(),
+@@ -248,7 +248,7 @@ void WorkerWatcher::OnWorkerCreated(
+           [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
+             ConnectDedicatedWorkerClient(insertion_result.first->second.get(),
+                                          dedicated_worker_token);
+-          }),
++          }},
+       creator);
+ }
+ 
+@@ -265,7 +265,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
+   // First disconnect the creator's node from this worker node.
+ 
+   absl::visit(
+-      base::Overloaded(
++      base::Overloaded{
+           [&,
+            this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
+             RemoveFrameClientConnection(worker_node.get(),
+@@ -274,7 +274,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
+           [&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
+             DisconnectDedicatedWorkerClient(worker_node.get(),
+                                             dedicated_worker_token);
+-          }),
++          }},
+       creator);
+ 
+   // Disconnect all child workers before destroying the node.
+@@ -446,7 +446,7 @@ void WorkerWatcher::OnControlleeAdded(
+     const std::string& client_uuid,
+     const content::ServiceWorkerClientInfo& client_info) {
+   absl::visit(
+-      base::Overloaded(
++      base::Overloaded{
+           [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
+             // For window clients, it is necessary to wait until the navigation
+             // has committed to a RenderFrameHost.
+@@ -484,7 +484,7 @@ void WorkerWatcher::OnControlleeAdded(
+               ConnectSharedWorkerClient(service_worker_node,
+                                         shared_worker_token);
+             }
+-          }),
++          }},
+       client_info);
+ }
+ 
+@@ -524,7 +524,7 @@ void WorkerWatcher::OnControlleeRemoved(
+     return;
+ 
+   absl::visit(
+-      base::Overloaded(
++      base::Overloaded{
+           [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
+             RemoveFrameClientConnection(worker_node, render_frame_host_id);
+           },
+@@ -534,7 +534,7 @@ void WorkerWatcher::OnControlleeRemoved(
+           },
+           [&, this](blink::SharedWorkerToken shared_worker_token) {
+             DisconnectSharedWorkerClient(worker_node, shared_worker_token);
+-          }),
++          }},
+       client);
+ }
+ 
+@@ -810,7 +810,7 @@ void WorkerWatcher::ConnectAllServiceWor
+ 
+   for (const auto& kv : it->second) {
+     absl::visit(
+-        base::Overloaded(
++        base::Overloaded{
+             [&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
+               AddFrameClientConnection(service_worker_node,
+                                        render_frame_host_id);
+@@ -822,7 +822,7 @@ void WorkerWatcher::ConnectAllServiceWor
+             [&, this](blink::SharedWorkerToken shared_worker_token) {
+               ConnectSharedWorkerClient(service_worker_node,
+                                         shared_worker_token);
+-            }),
++            }},
+         kv.second);
+   }
+ }
+@@ -837,7 +837,7 @@ void WorkerWatcher::DisconnectAllService
+ 
+   for (const auto& kv : it->second) {
+     absl::visit(
+-        base::Overloaded(
++        base::Overloaded{
+             [&, this](
+                 const content::GlobalRenderFrameHostId& render_frame_host_id) {
+               RemoveFrameClientConnection(service_worker_node,
+@@ -851,7 +851,7 @@ void WorkerWatcher::DisconnectAllService
+             [&, this](const blink::SharedWorkerToken& shared_worker_token) {
+               DisconnectSharedWorkerClient(service_worker_node,
+                                            shared_worker_token);
+-            }),
++            }},
+         kv.second);
+   }
+ }
+diff -up chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.than chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
+--- chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.than	2024-02-22 22:43:05.000000000 +0100
++++ chromium-122.0.6261.69/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc	2024-02-24 13:13:44.151712632 +0100
+@@ -1573,7 +1573,7 @@ void SkiaOutputSurfaceImplOnGpu::CopyOut
+ 
+       // Issue readbacks from the surfaces:
+       for (size_t i = 0; i < CopyOutputResult::kNV12MaxPlanes; ++i) {
+-        SkISize size(plane_surfaces[i]->width(), plane_surfaces[i]->height());
++        SkISize size{plane_surfaces[i]->width(), plane_surfaces[i]->height()};
+         SkImageInfo dst_info = SkImageInfo::Make(
+             size, (i == 0) ? kAlpha_8_SkColorType : kR8G8_unorm_SkColorType,
+             kUnpremul_SkAlphaType);
+diff -up chromium-122.0.6261.69/content/browser/download/save_package.cc.than chromium-122.0.6261.69/content/browser/download/save_package.cc
+--- chromium-122.0.6261.69/content/browser/download/save_package.cc.than	2024-02-22 22:43:05.000000000 +0100
++++ chromium-122.0.6261.69/content/browser/download/save_package.cc	2024-02-24 13:13:44.151712632 +0100
+@@ -801,8 +801,8 @@ void SavePackage::Finish() {
+   if (download_) {
+     std::vector<download::DownloadSaveItemData::ItemInfo> files;
+     for (auto& item : saved_success_items_) {
+-      files.emplace_back(item.second->full_path(), item.second->url(),
+-                         item.second->referrer().url);
++      files.emplace_back() = {item.second->full_path(), item.second->url(),
++                         item.second->referrer().url};
+     }
+     download::DownloadSaveItemData::AttachItemData(download_, std::move(files));
+   }
+diff -up chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc.than chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc
+--- chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc.than	2024-02-22 22:43:05.000000000 +0100
++++ chromium-122.0.6261.69/content/browser/first_party_sets/first_party_set_parser.cc	2024-02-24 13:13:44.158712756 +0100
+@@ -773,7 +773,7 @@ FirstPartySetParser::ParseSetsFromEnterp
+                      context.GetPolicySetsFromList(
+                          policy.FindList(kFirstPartySetPolicyAdditionsField),
+                          PolicySetType::kAddition));
+-    return ParsedPolicySetLists(std::move(replacements), std::move(additions));
++    return ParsedPolicySetLists{std::move(replacements), std::move(additions)};
+   }();
+ 
+   context.PostProcessSetLists(set_lists);
+diff -up chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h.than chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h
+--- chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h.than	2024-02-22 22:43:05.000000000 +0100
++++ chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.h	2024-02-24 13:13:44.158712756 +0100
+@@ -133,6 +133,7 @@ class CONTENT_EXPORT HeaderDirectFromSel
+ 
+     // The Ad-Auction-Signals response served by `origin`.
+     std::string response_json;
++    UnprocessedResponse(auto u, auto s) : origin(u), response_json(s) { }
+   };
+ 
+   // Information from ParseAndFind() calls used by ParseAndFindCompleted.
+diff -up chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.than chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc
+--- chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.than	2024-02-22 22:43:05.000000000 +0100
++++ chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc	2024-02-24 13:13:44.152712649 +0100
+@@ -3461,10 +3461,10 @@ DoGetKAnonymityData(sql::Database& db,
+ 
+   std::vector<StorageInterestGroup::KAnonymityData> k_anon_data;
+   while (interest_group_kanon_query.Step()) {
+-    k_anon_data.emplace_back(
++    k_anon_data.emplace_back() = {
+         /*key=*/interest_group_kanon_query.ColumnString(0),
+         /*is_k_anonymous=*/interest_group_kanon_query.ColumnBool(1),
+-        /*last_updated=*/interest_group_kanon_query.ColumnTime(2));
++        /*last_updated=*/interest_group_kanon_query.ColumnTime(2)};
+   }
+   if (!interest_group_kanon_query.Succeeded()) {
+     return std::nullopt;
+diff -up chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc.than chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc
+--- chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc.than	2024-02-24 13:13:44.157712739 +0100
++++ chromium-122.0.6261.69/content/browser/renderer_host/render_frame_host_impl.cc	2024-02-24 13:18:39.480119447 +0100
+@@ -8632,7 +8632,7 @@ void RenderFrameHostImpl::SendFencedFram
+   for (const blink::FencedFrame::ReportingDestination& destination :
+        destinations) {
+     SendFencedFrameReportingBeaconInternal(
+-        DestinationEnumEvent(event_type, event_data), destination);
++        DestinationEnumEvent{event_type, event_data}, destination);
+   }
+ }
+ 
+@@ -8661,7 +8661,7 @@ void RenderFrameHostImpl::SendFencedFram
+   }
+ 
+   SendFencedFrameReportingBeaconInternal(
+-      DestinationURLEvent(destination_url),
++      DestinationURLEvent{destination_url},
+       blink::FencedFrame::ReportingDestination::kBuyer);
+ }
+ 
+@@ -8792,7 +8792,7 @@ void RenderFrameHostImpl::MaybeSendFence
+         data = info->data;
+       }
+       initiator_rfh->SendFencedFrameReportingBeaconInternal(
+-          AutomaticBeaconEvent(event_type, data), destination,
++          AutomaticBeaconEvent{event_type, data}, destination,
+           navigation_request.GetNavigationId());
+     }
+   } else {
+@@ -8803,7 +8803,7 @@ void RenderFrameHostImpl::MaybeSendFence
+     for (blink::FencedFrame::ReportingDestination destination :
+          info->destinations) {
+       initiator_rfh->SendFencedFrameReportingBeaconInternal(
+-          AutomaticBeaconEvent(event_type, info->data), destination,
++          AutomaticBeaconEvent{event_type, info->data}, destination,
+           navigation_request.GetNavigationId());
+     }
+   }
+diff -up chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc.than chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc
+--- chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc.than	2024-02-22 22:43:06.000000000 +0100
++++ chromium-122.0.6261.69/content/browser/service_worker/service_worker_container_host.cc	2024-02-24 13:13:44.159712774 +0100
+@@ -870,7 +870,7 @@ ServiceWorkerContainerHost::GetClientTyp
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+   DCHECK(client_info_);
+   return absl::visit(
+-      base::Overloaded(
++      base::Overloaded{
+           [](GlobalRenderFrameHostId render_frame_host_id) {
+             return blink::mojom::ServiceWorkerClientType::kWindow;
+           },
+@@ -879,7 +879,7 @@ ServiceWorkerContainerHost::GetClientTyp
+           },
+           [](blink::SharedWorkerToken shared_worker_token) {
+             return blink::mojom::ServiceWorkerClientType::kSharedWorker;
+-          }),
++          }},
+       *client_info_);
+ }
+ 
+diff -up chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.than chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc
+--- chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.than	2024-02-22 22:43:06.000000000 +0100
++++ chromium-122.0.6261.69/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc	2024-02-24 13:13:44.159712774 +0100
+@@ -363,10 +363,10 @@ ServiceWorkerMainResourceLoaderIntercept
+   }
+   auto* storage_partition = process->GetStoragePartition();
+ 
+-  return absl::visit(base::Overloaded([&, this](auto token) {
++  return absl::visit(base::Overloaded{[&, this](auto token) {
+                        return GetStorageKeyFromWorkerHost(storage_partition,
+                                                           token, origin);
+-                     }),
++                     }},
+                      *worker_token_);
+ }
+ 
+diff -up chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc.than chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc
+--- chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc.than	2024-02-22 22:43:06.000000000 +0100
++++ chromium-122.0.6261.69/content/browser/worker_host/dedicated_worker_host.cc	2024-02-24 13:13:44.159712774 +0100
+@@ -252,7 +252,7 @@ void DedicatedWorkerHost::StartScriptLoa
+   RenderFrameHostImpl* creator_render_frame_host = nullptr;
+   DedicatedWorkerHost* creator_worker = nullptr;
+ 
+-  absl::visit(base::Overloaded(
++  absl::visit(base::Overloaded{
+                   [&](const GlobalRenderFrameHostId& render_frame_host_id) {
+                     creator_render_frame_host =
+                         RenderFrameHostImpl::FromID(render_frame_host_id);
+@@ -260,7 +260,7 @@ void DedicatedWorkerHost::StartScriptLoa
+                   [&](blink::DedicatedWorkerToken dedicated_worker_token) {
+                     creator_worker = service_->GetDedicatedWorkerHostFromToken(
+                         dedicated_worker_token);
+-                  }),
++                  }},
+               creator_);
+ 
+   if (!creator_render_frame_host && !creator_worker) {
+diff -up chromium-122.0.6261.69/net/dns/host_resolver_cache.cc.than chromium-122.0.6261.69/net/dns/host_resolver_cache.cc
+--- chromium-122.0.6261.69/net/dns/host_resolver_cache.cc.than	2024-02-22 22:43:17.000000000 +0100
++++ chromium-122.0.6261.69/net/dns/host_resolver_cache.cc	2024-02-24 13:13:44.152712649 +0100
+@@ -368,7 +368,7 @@ void HostResolverCache::Set(
+ 
+   std::string domain_name = result->domain_name();
+   entries_.emplace(
+-      Key(std::move(domain_name), network_anonymization_key),
++      Key{std::move(domain_name), network_anonymization_key},
+       Entry(std::move(result), source, secure, staleness_generation));
+ 
+   if (entries_.size() > max_entries_) {
+diff -up chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.than chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc
+--- chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc.than	2024-02-22 22:43:25.000000000 +0100
++++ chromium-122.0.6261.69/third_party/blink/renderer/platform/fonts/palette_interpolation.cc	2024-02-24 13:13:44.152712649 +0100
+@@ -31,7 +31,7 @@ Vector<FontPalette::FontPaletteOverride>
+         color_interpolation_space, hue_interpolation_method, start_color,
+         end_color, percentage, alpha_multiplier);
+ 
+-    FontPalette::FontPaletteOverride result_color_record(i, result_color);
++    FontPalette::FontPaletteOverride result_color_record{static_cast<int>(i), result_color};
+     result_color_records.push_back(result_color_record);
+   }
+   return result_color_records;
+diff -up chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.than chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp
+--- chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp.than	2024-02-22 22:45:02.000000000 +0100
++++ chromium-122.0.6261.69/third_party/pdfium/core/fpdfapi/render/cpdf_renderstatus.cpp	2024-02-24 13:13:44.153712667 +0100
+@@ -507,7 +507,7 @@ void CPDF_RenderStatus::ProcessClipPath(
+     } else {
+       m_pDevice->SetClip_PathFill(
+           *pPath, &mtObj2Device,
+-          CFX_FillRenderOptions(ClipPath.GetClipType(i)));
++          CFX_FillRenderOptions{ClipPath.GetClipType(i)});
+     }
+   }
+ 
+diff -up chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h.than chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h
+--- chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h.than	2024-02-22 22:44:12.000000000 +0100
++++ chromium-122.0.6261.69/ui/base/wayland/color_manager_util.h	2024-02-24 13:13:44.153712667 +0100
+@@ -52,53 +52,53 @@ constexpr auto kChromaticityMap = base::
+     zcr_color_manager_v1_chromaticity_names,
+     PrimaryVersion>(
+     {{ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_525_LINE,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT601_625_LINE,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT470BG,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT470BG,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE170M,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::SMPTE170M,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::SMPTE170M,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT709,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT2020,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT2020, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SRGB,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::BT709, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_DISPLAYP3,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::P3, kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_ADOBERGB,
+-      PrimaryVersion(gfx::ColorSpace::PrimaryID::ADOBE_RGB,
+-                     kDefaultSinceVersion)},
++      PrimaryVersion{gfx::ColorSpace::PrimaryID::ADOBE_RGB,
++                     kDefaultSinceVersion}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::WIDE_GAMUT_COLOR_SPIN,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_WIDE_GAMUT_COLOR_SPIN_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::BT470M,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_BT470M_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::SMPTE240M,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTE240M_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::XYZ_D50,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_XYZ_D50_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::SMPTEST428_1,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST428_1_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::SMPTEST431_2,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION)},
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_SMPTEST431_2_SINCE_VERSION}},
+      {ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM,
+-      PrimaryVersion(
++      PrimaryVersion{
+           gfx::ColorSpace::PrimaryID::FILM,
+-          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION)}});
++          ZCR_COLOR_MANAGER_V1_CHROMATICITY_NAMES_FILM_SINCE_VERSION}}});
+ 
+ // A map from the zcr_color_manager_v1 eotf_names enum values
+ // representing well-known EOTFs, to their equivalent TransferIDs.
+@@ -107,68 +107,68 @@ constexpr auto kEotfMap = base::MakeFixe
+     zcr_color_manager_v1_eotf_names,
+     TransferVersion>({
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+-     TransferVersion(gfx::ColorSpace::TransferID::LINEAR,
+-                     kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::LINEAR,
++                     kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
+-     TransferVersion(gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::SRGB, kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
+-     TransferVersion(gfx::ColorSpace::TransferID::SRGB_HDR,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::SRGB_HDR,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT709,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT709,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA24,
+-                     kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA24,
++                     kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
+      // This is ever so slightly inaccurate. The number ought to be
+      // 2.19921875f, not 2.2
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA22,
+-                     kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA22,
++                     kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
+-     TransferVersion(gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion)},
++     TransferVersion{gfx::ColorSpace::TransferID::PQ, kDefaultSinceVersion}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
+-     TransferVersion(gfx::ColorSpace::TransferID::HLG,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::HLG,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M,
+-     TransferVersion(gfx::ColorSpace::TransferID::SMPTE170M,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::SMPTE170M,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE170M_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M,
+-     TransferVersion(gfx::ColorSpace::TransferID::SMPTE240M,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::SMPTE240M,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTE240M_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1,
+-     TransferVersion(
++     TransferVersion{
+          gfx::ColorSpace::TransferID::SMPTEST428_1,
+-         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION)},
++         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SMPTEST428_1_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG,
+-     TransferVersion(gfx::ColorSpace::TransferID::LOG,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::LOG,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT,
+-     TransferVersion(gfx::ColorSpace::TransferID::LOG_SQRT,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::LOG_SQRT,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LOG_SQRT_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4,
+-     TransferVersion(
++     TransferVersion{
+          gfx::ColorSpace::TransferID::IEC61966_2_4,
+-         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION)},
++         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_IEC61966_2_4_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT1361_ECG,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT1361_ECG,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT1361_ECG_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT2020_10,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT2020_10,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_10_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12,
+-     TransferVersion(gfx::ColorSpace::TransferID::BT2020_12,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::BT2020_12,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2020_12_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS,
+-     TransferVersion(
++     TransferVersion{
+          gfx::ColorSpace::TransferID::SCRGB_LINEAR_80_NITS,
+-         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION)},
++         ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SCRGB_LINEAR_80_NITS_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18,
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA18,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA18,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA18_SINCE_VERSION}},
+     {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28,
+-     TransferVersion(gfx::ColorSpace::TransferID::GAMMA28,
+-                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION)},
++     TransferVersion{gfx::ColorSpace::TransferID::GAMMA28,
++                     ZCR_COLOR_MANAGER_V1_EOTF_NAMES_GAMMA28_SINCE_VERSION}},
+ });
+ 
+ // A map from the SDR zcr_color_manager_v1 eotf_names enum values
+@@ -177,18 +177,18 @@ constexpr auto kEotfMap = base::MakeFixe
+ constexpr auto kTransferMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>({
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+-         TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
++         TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB,
+-         TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)},
++         TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709,
+-         TransferFnVersion(
++         TransferFnVersion{
+              SkNamedTransferFnExt::kRec709,
+-             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)},
++             ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087,
+-         TransferFnVersion(gamma24, kDefaultSinceVersion)},
++         TransferFnVersion{gamma24, kDefaultSinceVersion}},
+         {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB,
+-         TransferFnVersion(SkNamedTransferFnExt::kA98RGB,
+-                           kDefaultSinceVersion)},
++         TransferFnVersion{SkNamedTransferFnExt::kA98RGB,
++                           kDefaultSinceVersion}},
+     });
+ 
+ // A map from the HDR zcr_color_manager_v1 eotf_names enum values
+@@ -197,70 +197,70 @@ constexpr auto kTransferMap =
+ constexpr auto kHDRTransferMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_eotf_names, TransferFnVersion>(
+         {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR,
+-          TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)},
++          TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR,
+-          TransferFnVersion(
++          TransferFnVersion{
+               SkNamedTransferFnExt::kSRGB,
+-              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)},
++              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ,
+-          TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)},
++          TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG,
+-          TransferFnVersion(SkNamedTransferFn::kHLG,
+-                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)},
++          TransferFnVersion{SkNamedTransferFn::kHLG,
++                            ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10,
+-          TransferFnVersion(
++          TransferFnVersion{
+               SkNamedTransferFnExt::kSRGBExtended1023Over510,
+-              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}});
++              ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}});
+ 
+ // A map from zcr_color_manager_v1 matrix_names enum values to
+ // gfx::ColorSpace::MatrixIDs.
+ constexpr auto kMatrixMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_matrix_names, MatrixVersion>(
+         {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::BT709,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::BT709,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG,
+-          MatrixVersion(
++          MatrixVersion{
+               gfx::ColorSpace::MatrixID::BT470BG,
+-              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)},
++              ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG,
+-                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG,
++                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX,
+-                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX,
++                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::GBR,
+-                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::GBR,
++                        ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M,
+-                        kDefaultSinceVersion)},
++          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M,
++                        kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M,
+-          MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M,
+-                        kDefaultSinceVersion)}});
++          MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M,
++                        kDefaultSinceVersion}}});
+ 
+ // A map from zcr_color_manager_v1 range_names enum values to
+ // gfx::ColorSpace::RangeIDs.
+ constexpr auto kRangeMap =
+     base::MakeFixedFlatMap<zcr_color_manager_v1_range_names, RangeVersion>(
+         {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED,
+-          RangeVersion(gfx::ColorSpace::RangeID::LIMITED,
+-                       kDefaultSinceVersion)},
++          RangeVersion{gfx::ColorSpace::RangeID::LIMITED,
++                       kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL,
+-          RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)},
++          RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}},
+          {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED,
+-          RangeVersion(gfx::ColorSpace::RangeID::DERIVED,
+-                       kDefaultSinceVersion)}});
++          RangeVersion{gfx::ColorSpace::RangeID::DERIVED,
++                       kDefaultSinceVersion}}});
+ 
+ zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity(
+     gfx::ColorSpace::PrimaryID primaryID,
+@@ -283,4 +283,4 @@ zcr_color_manager_v1_eotf_names ToColorM
+ 
+ }  // namespace ui::wayland
+ 
+-#endif  // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+\ Kein Zeilenumbruch am Dateiende.
++#endif  // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_
+diff -up chromium-122.0.6261.69/ui/gtk/gtk_ui.cc.than chromium-122.0.6261.69/ui/gtk/gtk_ui.cc
+--- chromium-122.0.6261.69/ui/gtk/gtk_ui.cc.than	2024-02-22 22:44:13.000000000 +0100
++++ chromium-122.0.6261.69/ui/gtk/gtk_ui.cc	2024-02-24 13:13:44.153712667 +0100
+@@ -1007,11 +1007,11 @@ ui::DisplayConfig GtkUi::GetDisplayConfi
+     GdkRectangle geometry;
+     gdk_monitor_get_geometry(monitor, &geometry);
+     int monitor_scale = std::max(1, gdk_monitor_get_scale_factor(monitor));
+-    config.display_geometries.emplace_back(
++    config.display_geometries.emplace_back() = {
+         gfx::Rect(monitor_scale * geometry.x, monitor_scale * geometry.y,
+                   monitor_scale * geometry.width,
+                   monitor_scale * geometry.height),
+-        monitor_scale * font_scale);
++        static_cast<float>(monitor_scale * font_scale)};
+   }
+   return config;
+ }
+diff -up chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc.me chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc
+--- chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc.me	2024-02-24 18:06:46.509393032 +0100
++++ chromium-122.0.6261.69/components/memory_pressure/unnecessary_discard_monitor.cc	2024-02-24 18:07:11.258948241 +0100
+@@ -92,8 +92,8 @@ void UnnecessaryDiscardMonitor::OnDiscar
+   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+   if (current_reclaim_event_) {
+     // Cache this kill event along with the time it took place.
+-    current_reclaim_event_kills_.emplace_back(memory_freed_kb,
+-                                              discard_complete_time);
++    current_reclaim_event_kills_.emplace_back() = {memory_freed_kb,
++                                              discard_complete_time};
+   }
+ }
+ 
+diff -up chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.me chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc
+--- chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc.me	2024-02-24 19:58:09.929371791 +0100
++++ chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/address_autofill_table.cc	2024-02-24 19:59:07.149524862 +0100
+@@ -631,10 +631,10 @@ std::unique_ptr<AutofillProfile> Address
+     }
+ 
+     base::span<const uint8_t> observations_data = s.ColumnBlob(3);
+-    field_type_values.emplace_back(
++    field_type_values.emplace_back() = {
+         type, s.ColumnString16(1), s.ColumnInt(2),
+         std::vector<uint8_t>(observations_data.begin(),
+-                             observations_data.end()));
++                             observations_data.end())};
+ 
+     if (type == ADDRESS_HOME_COUNTRY) {
+       country_code = base::UTF16ToUTF8(s.ColumnString16(1));
+diff -up chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.me chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc
+--- chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc.me	2024-02-24 19:52:02.173682060 +0100
++++ chromium-122.0.6261.69/components/autofill/core/browser/webdata/addresses/contact_info_sync_util.cc	2024-02-24 19:52:25.247216329 +0100
+@@ -192,9 +192,9 @@ class ContactInfoProfileSetter {
+       CHECK(observations.empty());
+       for (const sync_pb::ContactInfoSpecifics::Observation& proto_observation :
+            metadata.observations()) {
+-        observations.emplace_back(proto_observation.type(),
++        observations.emplace_back() = {proto_observation.type(),
+                                   ProfileTokenQuality::FormSignatureHash(
+-                                      proto_observation.form_hash()));
++                                      proto_observation.form_hash())};
+       }
+     }
+   }
+diff -up chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc.me chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc
+--- chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc.me	2024-02-25 00:14:26.830323365 +0100
++++ chromium-122.0.6261.69/content/browser/fenced_frame/fenced_frame_config.cc	2024-02-25 00:15:17.939241091 +0100
+@@ -402,7 +402,7 @@ void FencedFrameProperties::UpdateParent
+         feature, allow_list.AllowedOrigins(), allow_list.SelfIfMatches(),
+         allow_list.MatchesAll(), allow_list.MatchesOpaqueSrc());
+   }
+-  parent_permissions_info_.emplace(parsed_policies, parent_origin);
++  parent_permissions_info_.emplace() = {parsed_policies, parent_origin};
+ }
+ 
+ }  // namespace content
+diff -up chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.me chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc
+--- chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc.me	2024-02-25 00:17:31.799644691 +0100
++++ chromium-122.0.6261.69/content/browser/interest_group/interest_group_storage.cc	2024-02-25 00:18:54.157123519 +0100
+@@ -3332,9 +3332,9 @@ std::optional<DebugReportCooldown> DoGet
+     return std::nullopt;
+   }
+ 
+-  return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0),
++  return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0),
+                              static_cast<DebugReportCooldownType>(
+-                                 cooldown_debugging_only_report.ColumnInt(1)));
++                                 cooldown_debugging_only_report.ColumnInt(1))};
+ }
+ 
+ void DoGetDebugReportCooldowns(
+diff -up chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h.me chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h
+--- chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h.me	2024-02-25 15:34:16.140768445 +0100
++++ chromium-122.0.6261.69/chrome/browser/ui/safety_hub/menu_notification_service.h	2024-02-25 15:37:47.789665835 +0100
+@@ -24,6 +24,7 @@ struct MenuNotificationEntry {
+   int command = 0;
+   std::u16string label;
+   safety_hub::SafetyHubModuleType module;
++  MenuNotificationEntry(auto c, auto l, auto m) : command(c), label(l), module(m) { }
+ };
+ 
+ namespace {
+diff -up chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc.me chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc
+--- chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc.me	2024-02-25 16:22:46.601209269 +0100
++++ chromium-122.0.6261.69/chrome/browser/ui/views/tabs/tab_style_views.cc	2024-02-25 16:24:48.110618475 +0100
+@@ -1214,10 +1214,10 @@ SkPath ChromeRefresh2023TabStyleViews::G
+ 
+     // Radii are clockwise from top left.
+     const SkVector radii[4] = {
+-        SkVector(top_content_corner_radius, top_content_corner_radius),
+-        SkVector(top_content_corner_radius, top_content_corner_radius),
+-        SkVector(bottom_content_corner_radius, bottom_content_corner_radius),
+-        SkVector(bottom_content_corner_radius, bottom_content_corner_radius)};
++        SkVector{top_content_corner_radius, top_content_corner_radius},
++        SkVector{top_content_corner_radius, top_content_corner_radius},
++        SkVector{bottom_content_corner_radius, bottom_content_corner_radius},
++        SkVector{bottom_content_corner_radius, bottom_content_corner_radius}};
+     SkRRect rrect;
+     rrect.setRectRadii(SkRect::MakeLTRB(left, top, right, bottom), radii);
+     SkPath path;
+diff -up chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.me chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+--- chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.me	2024-02-25 18:49:32.512080085 +0100
++++ chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc	2024-02-25 19:07:36.518711693 +0100
+@@ -386,7 +386,7 @@ bool ShouldBlockAccessToPath(const base:
+       DCHECK(block.path);
+       blocked_path = base::FilePath(block.path);
+     }
+-    rules.emplace_back(blocked_path, block.type);
++    rules.emplace_back() = {blocked_path, block.type};
+   }
+ 
+   base::FilePath nearest_ancestor;
+@@ -1575,11 +1575,11 @@ void ChromeFileSystemAccessPermissionCon
+   // profile's directory, assuming the profile dir is a child of the user data
+   // dir.
+   std::vector<BlockPathRule> extra_rules;
+-  extra_rules.emplace_back(profile_->GetPath().DirName(), kBlockAllChildren);
++  extra_rules.emplace_back() = {profile_->GetPath().DirName(), kBlockAllChildren};
+   if (g_browser_process->profile_manager()) {
+-    extra_rules.emplace_back(
++    extra_rules.emplace_back() = {
+         g_browser_process->profile_manager()->user_data_dir(),
+-        kBlockAllChildren);
++        kBlockAllChildren};
+   }
+ 
+   base::ThreadPool::PostTaskAndReplyWithResult(
+--- chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me	2024-03-15 15:16:46.980123806 +0100
++++ chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc	2024-03-15 15:18:39.024042560 +0100
+@@ -474,10 +474,10 @@
+               alternative_nav_match);
+ 
+   // Store the details necessary to open the omnibox match via browser commands.
+-  location_bar_->set_navigation_params(LocationBar::NavigationParams(
++  location_bar_->set_navigation_params(LocationBar::NavigationParams{
+       destination_url, disposition, transition, match_selection_timestamp,
+       destination_url_entered_without_scheme,
+-      destination_url_entered_with_http_scheme, match.extra_headers));
++      destination_url_entered_with_http_scheme, match.extra_headers});
+ 
+   if (browser_) {
+     auto navigation = chrome::OpenCurrentURL(browser_);
+--- chromium-123.0.6312.46/content/browser/interest_group/interest_group_auction.cc.me	2024-03-15 15:16:47.004124431 +0100
++++ chromium-123.0.6312.46/content/browser/interest_group/interest_group_auction.cc	2024-03-15 15:21:57.794229521 +0100
+@@ -565,7 +565,7 @@
+        blink::features::kFledgeDebugReportRestrictedCooldown.Get() !=
+            base::Milliseconds(0))) {
+     new_debug_report_lockout_and_cooldowns.debug_report_cooldown_map[origin] =
+-        DebugReportCooldown(now_nearest_next_hour, cooldown_type);
++        DebugReportCooldown{now_nearest_next_hour, cooldown_type};
+   }
+ 
+   return can_send_debug_report;
+--- chromium-123.0.6312.46/chrome/browser/ui/autofill/autofill_context_menu_manager.cc.no_matching_constructor	2024-03-15 15:55:51.351878829 +0100
++++ chromium-123.0.6312.46/chrome/browser/ui/autofill/autofill_context_menu_manager.cc	2024-03-15 16:19:48.862189463 +0100
+@@ -277,8 +277,8 @@
+     AutofillManager& manager) {
+   auto& driver = static_cast<ContentAutofillDriver&>(manager.driver());
+   driver.browser_events().RendererShouldTriggerSuggestions(
+-      FieldGlobalId(driver.GetFrameToken(),
+-                    FieldRendererId(params_.field_renderer_id)),
++      FieldGlobalId{driver.GetFrameToken(),
++                    FieldRendererId(params_.field_renderer_id)},
+       AutofillSuggestionTriggerSource::kManualFallbackPayments);
+   LogManualFallbackContextMenuEntryAccepted(
+       static_cast<BrowserAutofillManager&>(manager),
+--- chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor	2024-03-13 20:35:57.000000000 +0100
++++ chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h	2024-03-15 16:24:57.899540941 +0100
+@@ -96,7 +96,7 @@
+       Color::ColorSpace color_interpolation_space,
+       std::optional<Color::HueInterpolationMethod> hue_interpolation_method) {
+     return base::AdoptRef(new FontPalette(
+-        start, end, NonNormalizedPercentages(start_percentage, end_percentage),
++        start, end, NonNormalizedPercentages{start_percentage, end_percentage},
+         normalized_percentage, alpha_multiplier, color_interpolation_space,
+         hue_interpolation_method));
+   }
+@@ -170,7 +170,7 @@
+       double normalized_percentage) {
+     double end_percentage = normalized_percentage * 100.0;
+     double start_percentage = 100.0 - end_percentage;
+-    return NonNormalizedPercentages(start_percentage, end_percentage);
++    return NonNormalizedPercentages{start_percentage, end_percentage};
+   }
+ 
+   double GetAlphaMultiplier() const {
+diff -up chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc
+--- chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me	2024-03-17 00:42:31.183226211 +0100
++++ chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc	2024-03-17 00:55:56.689512430 +0100
+@@ -1507,7 +1507,7 @@ void AttributionManagerImpl::PrepareNext
+                            RenderFrameHost::FromID(event.render_frame_id),
+                            source_origin, destination_origin, &reporting_origin,
+                            &can_bypass_cookie_check)) {
+-      need_to_check_cookie.emplace_back(url::Origin::Create(item.url), i);
++      need_to_check_cookie.emplace_back() = {url::Origin::Create(item.url), i};
+     } else {
+       allowed.at(i) = can_bypass_cookie_check;
+     }
+diff -up chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc.me chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc
+--- chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc.me	2024-03-17 00:24:41.420837884 +0100
++++ chromium-123.0.6312.46/content/browser/interest_group/interest_group_storage.cc	2024-03-17 00:26:40.273364638 +0100
+@@ -3993,7 +3993,7 @@ DoGetBiddingAndAuctionServerKeys(sql::Da
+     std::vector<BiddingAndAuctionServerKey> keys;
+     keys.reserve(key_protos.keys_size());
+     for (auto& key_proto : *key_protos.mutable_keys()) {
+-      keys.emplace_back(std::move(*key_proto.mutable_key()), key_proto.id());
++      keys.emplace_back() = {std::move(*key_proto.mutable_key()), key_proto.id()};
+     }
+     return {expiration, keys};
+   }
+--- chromium-124.0.6367.118/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor	2024-05-05 11:21:25.869307434 +0200
++++ chromium-124.0.6367.118/chrome/browser/renderer_context_menu/render_view_context_menu.cc	2024-05-05 12:11:07.575690784 +0200
+@@ -4043,10 +4043,10 @@
+     autofill::LocalFrameToken frame_token = driver->GetFrameToken();
+     client->GetManager().OpenCompose(
+         *driver,
+-        autofill::FormGlobalId(
+-            frame_token, autofill::FormRendererId(params_.form_renderer_id)),
+-        autofill::FieldGlobalId(
+-            frame_token, autofill::FieldRendererId(params_.field_renderer_id)),
++        autofill::FormGlobalId{
++            frame_token, autofill::FormRendererId(params_.form_renderer_id)},
++        autofill::FieldGlobalId{
++            frame_token, autofill::FieldRendererId(params_.field_renderer_id)},
+         compose::ComposeManagerImpl::UiEntryPoint::kContextMenu);
+     GetBrowser()->window()->NotifyPromoFeatureUsed(
+         compose::features::kEnableCompose);
+--- chromium-124.0.6367.118/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor	2024-05-01 01:46:48.000000000 +0200
++++ chromium-124.0.6367.118/chrome/browser/ui/web_applications/sub_apps_service_impl.cc	2024-05-05 12:13:22.814839779 +0200
+@@ -108,7 +108,7 @@
+                      ConvertPathToUrl(sub_app->manifest_id_path, origin));
+     ASSIGN_OR_RETURN(GURL install_url,
+                      ConvertPathToUrl(sub_app->install_url_path, origin));
+-    sub_apps.emplace_back(std::move(manifest_id), std::move(install_url));
++    sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)};
+   }
+   return sub_apps;
+ }
+@@ -440,7 +440,7 @@
+         base::BindOnce(
+             [](webapps::ManifestId manifest_id, const webapps::AppId& app_id,
+                webapps::InstallResultCode result_code) {
+-              return SubAppInstallResult(manifest_id, app_id, result_code);
++              return SubAppInstallResult{manifest_id, app_id, result_code};
+             },
+             manifest_id)
+             .Then(concurrent.CreateCallback()),
+--- chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor	2024-05-05 11:21:25.888307743 +0200
++++ chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc	2024-05-05 12:17:07.658087100 +0200
+@@ -73,7 +73,7 @@
+     // synchronization between the root and branch, so `branch_size_in_bytes_`
+     // may be larger than `root_.capacity_in_bytes_` at this point.
+ 
+-    slots_.emplace_back(slot_start, usable_size);
++    slots_.emplace_back() = {slot_start, usable_size};
+ 
+     // Swap randomly so that the quarantine list remain shuffled.
+     // This is not uniformly random, but sufficiently random.
+diff -up chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc.me chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc
+--- chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc.me	2024-05-06 12:00:52.947652122 +0200
++++ chromium-124.0.6367.118/components/attribution_reporting/registration_info.cc	2024-05-06 12:01:06.829970137 +0200
+@@ -96,7 +96,7 @@ RegistrationInfo::ParseInfo(const net::s
+ 
+   ASSIGN_OR_RETURN(bool report_header_errors, ParseReportHeaderErrors(dict));
+ 
+-  return RegistrationInfo(preferred_platform, report_header_errors);
++  return RegistrationInfo{preferred_platform, report_header_errors};
+ }
+ 
+ }  // namespace attribution_reporting
+diff -up chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h.me chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h
+--- chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h.me	2024-05-06 09:53:10.755781392 +0200
++++ chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h	2024-05-06 09:54:42.280586275 +0200
+@@ -64,19 +64,19 @@ struct SharedImageInfo {
+                   SkAlphaType alpha_type,
+                   uint32_t usage,
+                   std::string_view debug_label)
+-      : meta(format, size, color_space, surface_origin, alpha_type, usage),
++      : meta{format, size, color_space, surface_origin, alpha_type, usage},
+         debug_label(debug_label) {}
+   SharedImageInfo(const viz::SharedImageFormat& format,
+                   gfx::Size size,
+                   const gfx::ColorSpace& color_space,
+                   uint32_t usage,
+                   std::string_view debug_label)
+-      : meta(format,
++      : meta{format,
+              size,
+              color_space,
+              kTopLeft_GrSurfaceOrigin,
+              kPremul_SkAlphaType,
+-             usage),
++             usage},
+         debug_label(debug_label) {}
+   // This constructor exists only to support the DEPRECATED CreareSharedImage
+   // call below that accepts a GpuMemoryBuffer. This should be removed when that
+diff -up chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc.me chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc
+--- chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc.me	2024-05-06 11:05:36.974350061 +0200
++++ chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc	2024-05-06 11:06:05.848045697 +0200
+@@ -579,11 +579,11 @@ SharedImageInterfaceInProcess::CreateSha
+ 
+   return base::MakeRefCounted<ClientSharedImage>(
+       mailbox,
+-      SharedImageMetadata(
++      SharedImageMetadata{
+           viz::GetSinglePlaneSharedImageFormat(gpu_memory_buffer->GetFormat()),
+           gpu_memory_buffer->GetSize(), si_info.meta.color_space,
+           si_info.meta.surface_origin, si_info.meta.alpha_type,
+-          si_info.meta.usage),
++          si_info.meta.usage},
+       GenUnverifiedSyncToken(), holder_);
+ }
+ 
+diff -up chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc.me chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc
+--- chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc.me	2024-05-06 10:12:47.067925365 +0200
++++ chromium-124.0.6367.118/gpu/ipc/client/client_shared_image_interface.cc	2024-05-06 10:13:56.568627190 +0200
+@@ -238,11 +238,11 @@ scoped_refptr<ClientSharedImage> ClientS
+       AddMailbox(proxy_->CreateSharedImage(
+           buffer_format, plane, gpu_memory_buffer->GetSize(), si_info,
+           gpu_memory_buffer->CloneHandle())),
+-      SharedImageMetadata(viz::GetSinglePlaneSharedImageFormat(
++      SharedImageMetadata{viz::GetSinglePlaneSharedImageFormat(
+                               GetPlaneBufferFormat(plane, buffer_format)),
+                           gpu_memory_buffer->GetSize(),
+                           si_info.meta.color_space, si_info.meta.surface_origin,
+-                          si_info.meta.alpha_type, si_info.meta.usage),
++                          si_info.meta.alpha_type, si_info.meta.usage},
+       GenUnverifiedSyncToken(), holder_, gpu_memory_buffer->GetType());
+ }
+ 
+@@ -277,13 +277,13 @@ ClientSharedImageInterface::CreateSwapCh
+   return ClientSharedImageInterface::SwapChainSharedImages(
+       base::MakeRefCounted<ClientSharedImage>(
+           mailboxes.front_buffer,
+-          SharedImageMetadata(format, size, color_space, surface_origin,
+-                              alpha_type, usage),
++          SharedImageMetadata{format, size, color_space, surface_origin,
++                              alpha_type, usage},
+           sync_token, holder_),
+       base::MakeRefCounted<ClientSharedImage>(
+           mailboxes.back_buffer,
+-          SharedImageMetadata(format, size, color_space, surface_origin,
+-                              alpha_type, usage),
++          SharedImageMetadata{format, size, color_space, surface_origin,
++                              alpha_type, usage},
+           sync_token, holder_));
+ }
+ 
+@@ -339,8 +339,8 @@ scoped_refptr<ClientSharedImage> ClientS
+ 
+   return base::MakeRefCounted<ClientSharedImage>(
+       mailbox,
+-      SharedImageMetadata(format, size, color_space, surface_origin, alpha_type,
+-                          usage),
++      SharedImageMetadata{format, size, color_space, surface_origin, alpha_type,
++                          usage},
+       GenUnverifiedSyncToken(), holder_);
+ }
+ 
+diff -up chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc.me chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc
+--- chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc.me	2024-05-07 13:34:30.384580905 +0200
++++ chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc	2024-05-07 13:39:24.219132733 +0200
+@@ -108,7 +108,7 @@ std::vector<GpuFeatureData> GetGpuFeatur
+       *base::CommandLine::ForCurrentProcess();
+ 
+   std::vector<GpuFeatureData> features;
+-  features.emplace_back(
++  features.emplace_back() = {
+       "2d_canvas",
+       SafeGetFeatureStatus(
+           gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS,
+@@ -116,13 +116,13 @@ std::vector<GpuFeatureData> GetGpuFeatur
+       DisableInfo::Problem(
+           "Accelerated 2D canvas is unavailable: either disabled "
+           "via blocklist or the command line."),
+-      true);
+-  features.emplace_back(
++      true};
++  features.emplace_back() = {
+       "canvas_oop_rasterization",
+       SafeGetFeatureStatus(
+           gpu_feature_info, gpu::GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION,
+-          command_line.HasSwitch(switches::kDisableAccelerated2dCanvas)));
+-  features.emplace_back(
++          command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))};
++  features.emplace_back() = {
+       "gpu_compositing",
+       // TODO(rivr): Replace with a check to see which backend is used for
+       // compositing; do the same for GPU rasterization if it's enabled. For
+@@ -136,16 +136,16 @@ std::vector<GpuFeatureData> GetGpuFeatur
+           "about:flags "
+           "or the command line. The browser will fall back to software "
+           "compositing and hardware acceleration will be unavailable."),
+-      true);
+-  features.emplace_back(
++      true};
++  features.emplace_back() = {
+       "webgl",
+       SafeGetFeatureStatus(gpu_feature_info,
+                            gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL,
+                            command_line.HasSwitch(switches::kDisableWebGL)),
+       DisableInfo::Problem(
+           "WebGL has been disabled via blocklist or the command line."),
+-      false);
+-  features.emplace_back(
++      false};
++  features.emplace_back() = {
+       "video_decode",
+       SafeGetFeatureStatus(
+           gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE,
+@@ -156,8 +156,8 @@ std::vector<GpuFeatureData> GetGpuFeatur
+       DisableInfo::Problem(
+           "Accelerated video decode has been disabled, either via blocklist, "
+           "about:flags or the command line."),
+-      true);
+-  features.emplace_back(
++      true};
++  features.emplace_back() = {
+       "video_encode",
+       SafeGetFeatureStatus(
+           gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE,
+@@ -169,33 +169,33 @@ std::vector<GpuFeatureData> GetGpuFeatur
+       DisableInfo::Problem(
+           "Accelerated video encode has been disabled, either via blocklist, "
+           "about:flags or the command line."),
+-      true);
+-  features.emplace_back(
++      true};
++  features.emplace_back() = {
+       "rasterization",
+       SafeGetFeatureStatus(gpu_feature_info,
+                            gpu::GPU_FEATURE_TYPE_GPU_TILE_RASTERIZATION),
+       DisableInfo::Problem(
+           "Accelerated rasterization has been disabled, either via blocklist, "
+           "about:flags or the command line."),
+-      true);
+-  features.emplace_back(
++      true};
++  features.emplace_back() = {
+       "opengl", SafeGetFeatureStatus(gpu_feature_info,
+-                                     gpu::GPU_FEATURE_TYPE_ACCELERATED_GL));
++                                     gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)};
+ #if BUILDFLAG(ENABLE_VULKAN)
+-  features.emplace_back(
++  features.emplace_back() = {
+       "vulkan",
+-      SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN));
++      SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)};
+ #endif
+-  features.emplace_back(
++  features.emplace_back() = {
+       "multiple_raster_threads",
+-      GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1));
++      GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)};
+ #if BUILDFLAG(IS_ANDROID)
+-  features.emplace_back(
++  features.emplace_back() = {
+       "surface_control",
+       SafeGetFeatureStatus(gpu_feature_info,
+-                           gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL));
++                           gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)};
+ #endif
+-  features.emplace_back(
++  features.emplace_back() = {
+       "webgl2",
+       SafeGetFeatureStatus(
+           gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL2,
+@@ -203,12 +203,12 @@ std::vector<GpuFeatureData> GetGpuFeatur
+               command_line.HasSwitch(switches::kDisableWebGL2)),
+       DisableInfo::Problem(
+           "WebGL2 has been disabled via blocklist or the command line."),
+-      false);
+-  features.emplace_back("raw_draw",
+-                        GetFakeFeatureStatus(features::IsUsingRawDraw()));
+-  features.emplace_back("direct_rendering_display_compositor",
+-                        GetFakeFeatureStatus(features::IsDrDcEnabled()));
+-  features.emplace_back(
++      false};
++  features.emplace_back() = {"raw_draw",
++                        GetFakeFeatureStatus(features::IsUsingRawDraw())};
++  features.emplace_back() = {"direct_rendering_display_compositor",
++                        GetFakeFeatureStatus(features::IsDrDcEnabled())};
++  features.emplace_back() = {
+       "webgpu",
+       SafeGetFeatureStatus(
+           gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGPU,
+@@ -216,14 +216,14 @@ std::vector<GpuFeatureData> GetGpuFeatur
+               !base::FeatureList::IsEnabled(::features::kWebGPUService)),
+       DisableInfo::Problem(
+           "WebGPU has been disabled via blocklist or the command line."),
+-      false);
+-  features.emplace_back(
++      false};
++  features.emplace_back() = {
+       "skia_graphite",
+       SafeGetFeatureStatus(gpu_feature_info,
+-                           gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE));
+-  features.emplace_back(
++                           gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)};
++  features.emplace_back() = {
+       "webnn",
+-      SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN));
++      SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)};
+   return features;
+ }
+ 
+diff -up chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.me chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc
+--- chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc.me	2024-05-07 17:36:54.884303561 +0200
++++ chromium-124.0.6367.118/third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager.cc	2024-05-07 17:38:26.954157928 +0200
+@@ -171,8 +171,8 @@ AudioRendererMixer* AudioRendererMixerMa
+     DVLOG(1) << "Not reusing mixer with errors: " << it->second.mixer;
+ 
+     // Move bad mixers out of the reuse map.
+-    dead_mixers_.emplace_back(std::move(it->second.mixer),
+-                              it->second.ref_count);
++    dead_mixers_.emplace_back() = {std::move(it->second.mixer),
++                              it->second.ref_count};
+     mixers_.erase(it);
+   }
+ 
+@@ -218,7 +218,7 @@ void AudioRendererMixerManager::ReturnMi
+     }
+   } else if (dead_it == dead_mixers_.end() && mixer_ref.mixer->HasSinkError()) {
+     // Move bad mixers out of the reuse map.
+-    dead_mixers_.emplace_back(std::move(mixer_ref.mixer), mixer_ref.ref_count);
++    dead_mixers_.emplace_back() = {std::move(mixer_ref.mixer), mixer_ref.ref_count};
+     mixers_.erase(it);
+   }
+ }

diff --git a/chromium-124-python3-assignment-expressions.patch b/chromium-124-python3-assignment-expressions.patch
deleted file mode 100644
index 61ce037..0000000
--- a/chromium-124-python3-assignment-expressions.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py
---- chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me	2024-02-23 12:04:45.451423995 +0100
-+++ chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py	2024-02-23 12:18:04.099824392 +0100
-@@ -124,7 +124,8 @@ def _GenerateH(basepath, fileroot, head,
-     f.write(u'#include <cstddef>\n')
-     f.write(u'\n')
- 
--    if system_headers := schema.get(u'system-headers', []):
-+    system_headers = schema.get(u'system-headers', [])
-+    if system_headers:
-       for header in system_headers:
-         f.write(u'#include <%s>\n' % header)
-       f.write(u'\n')

diff --git a/chromium-124-rust-clang_lib.patch b/chromium-124-rust-clang_lib.patch
new file mode 100644
index 0000000..cc152ec
--- /dev/null
+++ b/chromium-124-rust-clang_lib.patch
@@ -0,0 +1,55 @@
+diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
+--- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib	2024-01-10 16:43:01.000000000 +0100
++++ chromium-121.0.6167.57/build/config/clang/BUILD.gn	2024-01-20 19:51:38.481992799 +0100
+@@ -112,6 +112,7 @@ template("clang_lib") {
+       _prefix = "lib"
+       _suffix = ""
+       _ext = "a"
++      _libprefix = ""
+       if (is_win) {
+         _dir = "windows"
+         _prefix = ""
+@@ -127,7 +128,33 @@ template("clang_lib") {
+         }
+       } else if (is_apple) {
+         _dir = "darwin"
+-      } else if (is_linux || is_chromeos) {
++      } else if (is_linux) {
++        if (current_cpu == "x64") {
++          _dir = "x86_64-redhat-linux-gnu"
++          _suffix ="-x86_64"
++        } else if (current_cpu == "x86") {
++          _dir = "i386-redhat-linux-gnu"
++          _suffix = "-i386"
++        } else if (current_cpu == "arm64") {
++          _dir = "aarch64-redhat-linux-gnu"
++          _suffix = "-aarch64"
++        } else if (current_cpu == "arm") {
++          _dir = "armhf-redhat-linux-gnu"
++          _suffix = "-armhf"
++        } else if (current_cpu == "ppc64") {
++          _dir = "ppc64le-redhat-linux-gnu"
++          _suffix = "-ppc64le"
++        } else {
++          assert(false)  # Unhandled cpu type
++        }
++        # different clang lib dir in fedora/epel
++        if (clang_version == "17" || clang_version == "18") {
++          _suffix = ""
++        } else if (clang_version == "14" || clang_version == "15" || clang_version == "16") {
++          _libprefix = "64"
++          _dir = ""
++        }
++      } else if (is_chromeos) {
+         if (current_cpu == "x64") {
+           _dir = "x86_64-unknown-linux-gnu"
+         } else if (current_cpu == "x86") {
+@@ -166,7 +193,7 @@ template("clang_lib") {
+         assert(false)  # Unhandled target platform
+       }
+ 
+-      _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib"
++      _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib"
+       _lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}"
+       libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ]
+     }

diff --git a/chromium-124-typename.patch b/chromium-124-typename.patch
new file mode 100644
index 0000000..a4c7364
--- /dev/null
+++ b/chromium-124-typename.patch
@@ -0,0 +1,429 @@
+diff -up chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h
+--- chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.typename	2024-05-01 01:46:40.000000000 +0200
++++ chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h	2024-05-05 16:32:57.377654043 +0200
+@@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot();
+ 
+ // A class that meets C++ named requirements, Allocator.
+ template <typename T>
+-InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
++typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
+     std::size_t count) {
+   PA_CHECK(count <=
+            std::numeric_limits<std::size_t>::max() / sizeof(value_type));
+diff -up chromium-124.0.6367.118/base/containers/heap_array.h.typename chromium-124.0.6367.118/base/containers/heap_array.h
+--- chromium-124.0.6367.118/base/containers/heap_array.h.typename	2024-05-01 01:46:40.000000000 +0200
++++ chromium-124.0.6367.118/base/containers/heap_array.h	2024-05-05 16:32:57.377654043 +0200
+@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray {
+   static_assert(!std::is_reference_v<T>,
+                 "HeapArray cannot hold reference types");
+ 
+-  using iterator = base::span<T>::iterator;
+-  using const_iterator = base::span<const T>::iterator;
++  using iterator = typename base::span<T>::iterator;
++  using const_iterator = typename base::span<const T>::iterator;
+ 
+   // Allocates initialized memory capable of holding `size` elements. No memory
+   // is allocated for zero-sized arrays.
+diff -up chromium-124.0.6367.118/base/containers/map_util.h.typename chromium-124.0.6367.118/base/containers/map_util.h
+--- chromium-124.0.6367.118/base/containers/map_util.h.typename	2024-05-01 01:46:40.000000000 +0200
++++ chromium-124.0.6367.118/base/containers/map_util.h	2024-05-05 16:36:15.062228596 +0200
+@@ -44,7 +44,7 @@ constexpr internal::MappedType<Map>* Fin
+ template <typename Map,
+           typename Key,
+           typename MappedElementType =
+-              std::pointer_traits<internal::MappedType<Map>>::element_type>
++              typename std::pointer_traits<internal::MappedType<Map>>::element_type>
+ constexpr const MappedElementType* FindPtrOrNull(const Map& map,
+                                                  const Key& key) {
+   auto it = map.find(key);
+@@ -60,7 +60,7 @@ constexpr const MappedElementType* FindP
+ template <typename Map,
+           typename Key,
+           typename MappedElementType =
+-              std::pointer_traits<internal::MappedType<Map>>::element_type>
++              typename std::pointer_traits<internal::MappedType<Map>>::element_type>
+ constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) {
+   auto it = map.find(key);
+   return it != map.end() ? base::to_address(it->second) : nullptr;
+diff -up chromium-124.0.6367.118/base/functional/bind_internal.h.typename chromium-124.0.6367.118/base/functional/bind_internal.h
+--- chromium-124.0.6367.118/base/functional/bind_internal.h.typename	2024-05-01 01:46:40.000000000 +0200
++++ chromium-124.0.6367.118/base/functional/bind_internal.h	2024-05-05 16:32:57.375653992 +0200
+@@ -1505,11 +1505,11 @@ template <int i,
+           typename Param>
+ struct ParamCanBeBound {
+  private:
+-  using UnwrappedParam = BindArgument<i>::template ForwardedAs<
++  using UnwrappedParam = typename BindArgument<i>::template ForwardedAs<
+       Unwrapped>::template ToParamWithType<Param>;
+-  using ParamStorage = BindArgument<i>::template ToParamWithType<
++  using ParamStorage = typename BindArgument<i>::template ToParamWithType<
+       Param>::template StoredAs<Storage>;
+-  using BoundStorage =
++  using BoundStorage = typename
+       BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
+ 
+   template <bool v = !UnwrappedParam::kRawPtr ||
+diff -up chromium-124.0.6367.118/base/functional/function_ref.h.typename chromium-124.0.6367.118/base/functional/function_ref.h
+--- chromium-124.0.6367.118/base/functional/function_ref.h.typename	2024-05-01 01:46:40.000000000 +0200
++++ chromium-124.0.6367.118/base/functional/function_ref.h	2024-05-05 16:32:57.379654093 +0200
+@@ -64,7 +64,7 @@ class FunctionRef;
+ template <typename R, typename... Args>
+ class FunctionRef<R(Args...)> {
+   template <typename Functor,
+-            typename RunType = internal::FunctorTraits<Functor>::RunType>
++            typename RunType = typename internal::FunctorTraits<Functor>::RunType>
+   static constexpr bool kCompatibleFunctor =
+       std::convertible_to<internal::ExtractReturnType<RunType>, R> &&
+       std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>;
+diff -up chromium-124.0.6367.118/base/types/fixed_array.h.typename chromium-124.0.6367.118/base/types/fixed_array.h
+--- chromium-124.0.6367.118/base/types/fixed_array.h.typename	2024-05-01 01:46:41.000000000 +0200
++++ chromium-124.0.6367.118/base/types/fixed_array.h	2024-05-05 16:32:57.378654068 +0200
+@@ -27,8 +27,8 @@ template <typename T,
+ class FixedArray : public absl::FixedArray<T, N, A> {
+  public:
+   using absl::FixedArray<T, N, A>::FixedArray;
+-  explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
+-                      const absl::FixedArray<T, N, A>::allocator_type& a =
++  explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
++                      const typename absl::FixedArray<T, N, A>::allocator_type& a =
+                           typename absl::FixedArray<T, N, A>::allocator_type())
+       : FixedArray(n, T(), a) {}
+ };
+diff -up chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc
+--- chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename	2024-05-01 01:46:45.000000000 +0200
++++ chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc	2024-05-05 16:32:57.375653992 +0200
+@@ -95,7 +95,7 @@ ItemSortKey GetSortKey(const Item& item)
+ // Helper to get an iterator to the last element in the cache. The cache
+ // must not be empty.
+ template <typename Item>
+-SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
++typename SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
+   CHECK(!cache.empty());
+   auto it = cache.end();
+   return std::prev(it);
+@@ -1179,9 +1179,9 @@ bool DownloadBubbleUpdateService::CacheM
+ }
+ 
+ template <typename Id, typename Item>
+-SortedItems<Item>::iterator
++typename SortedItems<Item>::iterator
+ DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter(
+-    SortedItems<Item>::iterator iter,
++    typename SortedItems<Item>::iterator iter,
+     SortedItems<Item>& cache,
+     IterMap<Id, Item>& iter_map) {
+   CHECK(iter != cache.end());
+diff -up chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h
+--- chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename	2024-05-01 01:46:48.000000000 +0200
++++ chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h	2024-05-05 16:32:57.378654068 +0200
+@@ -121,7 +121,7 @@ class CommandBase {
+ template <typename LockType>
+ class CommandWithLock : public CommandBase {
+  public:
+-  using LockDescription = LockType::LockDescription;
++  using LockDescription = typename LockType::LockDescription;
+   explicit CommandWithLock(const std::string& name,
+                            LockDescription initial_lock_request);
+ 
+diff -up chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h
+--- chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h.typename	2024-05-01 01:46:48.000000000 +0200
++++ chromium-124.0.6367.118/chrome/browser/web_applications/commands/web_app_command.h	2024-05-05 16:32:57.378654068 +0200
+@@ -106,7 +106,7 @@ class WebAppLockManager;
+ template <typename LockType, typename... CallbackArgs>
+ class WebAppCommand : public internal::CommandWithLock<LockType> {
+  public:
+-  using LockDescription = LockType::LockDescription;
++  using LockDescription = typename LockType::LockDescription;
+   using CallbackType = base::OnceCallback<void(CallbackArgs...)>;
+   using ShutdownArgumentsTuple = std::tuple<std::decay_t<CallbackArgs>...>;
+ 
+diff -up chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h
+--- chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename	2024-05-01 01:46:48.000000000 +0200
++++ chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h	2024-05-05 16:32:57.379654093 +0200
+@@ -369,7 +369,7 @@ class WebAppCommandScheduler {
+   // command system.
+   template <typename LockType>
+   void ScheduleCallback(const std::string& operation_name,
+-                        LockType::LockDescription lock_description,
++                        typename LockType::LockDescription lock_description,
+                         CallbackCommand<LockType, void> callback,
+                         base::OnceClosure on_complete,
+                         const base::Location& location = FROM_HERE) {
+@@ -387,7 +387,7 @@ class WebAppCommandScheduler {
+             typename CallbackReturnValue = std::decay_t<CompletionCallbackArg>>
+   void ScheduleCallbackWithResult(
+       const std::string& operation_name,
+-      LockType::LockDescription lock_description,
++      typename LockType::LockDescription lock_description,
+       CallbackCommand<LockType, CallbackReturnValue> callback,
+       base::OnceCallback<void(CompletionCallbackArg)> on_complete,
+       CallbackReturnValue arg_for_shutdown,
+diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h
+--- chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h.typename	2024-05-01 01:46:52.000000000 +0200
++++ chromium-124.0.6367.118/components/optimization_guide/core/model_execution/model_execution_util.h	2024-05-05 16:32:57.376654018 +0200
+@@ -26,7 +26,7 @@ void SetExecutionRequestTemplate(
+ 
+   // Request is set by the feature and should always be typed.
+   auto typed_request =
+-      static_cast<const FeatureType::Request&>(request_metadata);
++      static_cast<const typename FeatureType::Request&>(request_metadata);
+   *(logging_data->mutable_request_data()) = typed_request;
+ }
+ 
+diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h
+--- chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename	2024-05-01 01:46:52.000000000 +0200
++++ chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_log_entry.h	2024-05-05 16:32:57.376654018 +0200
+@@ -33,7 +33,7 @@ class ModelQualityLogEntry {
+   }
+ 
+   template <typename FeatureType>
+-  FeatureType::Quality* quality_data() {
++  typename FeatureType::Quality* quality_data() {
+     return FeatureType::GetLoggingData(*log_ai_data_request_)
+         ->mutable_quality_data();
+   }
+diff -up chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h
+--- chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename	2024-05-01 01:46:52.000000000 +0200
++++ chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h	2024-05-05 16:32:57.379654093 +0200
+@@ -242,7 +242,7 @@ class TFLiteModelExecutor : public Model
+   void SendForBatchExecution(
+       BatchExecutionCallback callback_on_complete,
+       base::TimeTicks start_time,
+-      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
+       override {
+     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -264,7 +264,7 @@ class TFLiteModelExecutor : public Model
+   // Starts the synchronous execution of the model. Returns model outputs.
+   // Model needs to be loaded. Synchronous calls do not load or unload model.
+   std::vector<std::optional<OutputType>> SendForBatchExecutionSync(
+-      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
+       override {
+     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -422,7 +422,7 @@ class TFLiteModelExecutor : public Model
+   // executes it on the model execution thread.
+   void LoadModelFileAndBatchExecute(
+       BatchExecutionCallback callback_on_complete,
+-      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
++      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs) {
+     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+ 
+@@ -439,7 +439,7 @@ class TFLiteModelExecutor : public Model
+ 
+   // Batch executes the loaded model for inputs.
+   void BatchExecuteLoadedModel(
+-      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
+       std::vector<std::optional<OutputType>>* outputs) {
+     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+@@ -499,7 +499,7 @@ class TFLiteModelExecutor : public Model
+   // Unloads the model if needed.
+   void BatchExecuteLoadedModelAndRunCallback(
+       BatchExecutionCallback callback_on_complete,
+-      ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
++      typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs,
+       ExecutionStatus execution_status) {
+     DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+diff -up chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h
+--- chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename	2024-05-01 01:46:54.000000000 +0200
++++ chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h	2024-05-05 16:32:57.379654093 +0200
+@@ -424,7 +424,7 @@ class RetryingFetcherImpl final : public
+   RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
+   RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
+ 
+-  void Start(ProtoFetcher<Response>::Callback callback) override {
++  void Start(typename ProtoFetcher<Response>::Callback callback) override {
+     callback_ = std::move(callback);
+     Retry();
+   }
+@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public
+   }
+ 
+   // Client callback.
+-  TypedProtoFetcher<Response>::Callback callback_;
++  typename TypedProtoFetcher<Response>::Callback callback_;
+ 
+   // Retry controls.
+   base::OneShotTimer timer_;
+@@ -490,7 +490,7 @@ class ParallelFetchManager {
+   // Deferred fetcher is required because it should be started after it is
+   // stored internally.
+   using Fetcher = ProtoFetcher<Response>;
+-  using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
++  using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
+ 
+  public:
+   // Provides fresh instances of a deferred fetcher for each fetch.
+@@ -506,7 +506,7 @@ class ParallelFetchManager {
+ 
+   // Starts the fetch. Underlying fetcher is stored internally, and will be
+   // cleaned up after finish or when this manager is destroyed.
+-  void Fetch(const Request& request, Fetcher::Callback callback) {
++  void Fetch(const Request& request, typename Fetcher::Callback callback) {
+     CHECK(callback) << "Use base::DoNothing() instead of empty callback.";
+     KeyType key = requests_in_flight_.Add(MakeFetcher(request));
+     requests_in_flight_.Lookup(key)->Start(
+diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h
+--- chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename	2024-05-01 01:46:59.000000000 +0200
++++ chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h	2024-05-05 16:32:57.376654018 +0200
+@@ -90,7 +90,7 @@ template <typename Container>
+     { c[i] } -> std::same_as<typename Container::reference>;
+   }
+ struct ArrayTraits<Container> {
+-  using Element = Container::value_type;
++  using Element = typename Container::value_type;
+ 
+   // vector-like containers have no built-in null.
+   static bool IsNull(const Container& c) { return false; }
+diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h
+--- chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename	2024-05-01 01:46:59.000000000 +0200
++++ chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h	2024-05-05 16:32:57.377654043 +0200
+@@ -127,7 +127,7 @@ using VecValueType = typename Vec::value
+ 
+ template <typename Vec>
+ using VecPtrLikeUnderlyingValueType =
+-    std::pointer_traits<VecValueType<Vec>>::element_type;
++    typename std::pointer_traits<VecValueType<Vec>>::element_type;
+ 
+ }  // namespace internal
+ 
+diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h
+--- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename	2024-05-05 16:32:57.376654018 +0200
++++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h	2024-05-05 16:39:07.015158335 +0200
+@@ -245,7 +245,7 @@ class PairAsyncIterable {
+  private:
+   virtual IterationSource* CreateIterationSource(
+       ScriptState* script_state,
+-      IterationSource::Kind kind,
++      typename IterationSource::Kind kind,
+       InitArgs... args,
+       ExceptionState& exception_state) = 0;
+ };
+@@ -291,7 +291,7 @@ class ValueAsyncIterable {
+  private:
+   virtual IterationSource* CreateIterationSource(
+       ScriptState* script_state,
+-      IterationSource::Kind kind,
++      typename IterationSource::Kind kind,
+       InitArgs... args,
+       ExceptionState& exception_state) = 0;
+ };
+diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
+--- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename	2024-05-01 01:47:03.000000000 +0200
++++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h	2024-05-05 16:32:57.380654118 +0200
+@@ -173,7 +173,7 @@ class ScriptPromiseProperty final
+   template <typename T>
+     requires std::derived_from<T, bindings::EnumerationBase>
+   static T DefaultPromiseResultValue() {
+-    return T(static_cast<T::Enum>(0));
++    return T(static_cast<typename T::Enum>(0));
+   }
+ 
+   State state_ = kPending;
+diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
+--- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h.typename	2024-05-01 01:47:03.000000000 +0200
++++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h	2024-05-05 16:32:57.380654118 +0200
+@@ -389,7 +389,7 @@ class ScriptPromiseResolverTyped : publi
+ 
+  private:
+   using TypedResolver =
+-      ScriptPromiseTyped<IDLResolvedType>::InternalResolverTyped;
++      typename ScriptPromiseTyped<IDLResolvedType>::InternalResolverTyped;
+ };
+ 
+ }  // namespace blink
+diff -up chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
+--- chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename	2024-05-01 01:47:04.000000000 +0200
++++ chromium-124.0.6367.118/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc	2024-05-05 16:32:57.376654018 +0200
+@@ -210,7 +210,7 @@ class HTMLFastPathParser {
+   using Span = base::span<const Char>;
+   using USpan = base::span<const UChar>;
+   // 32 matches that used by HTMLToken::Attribute.
+-  typedef std::conditional<std::is_same_v<Char, UChar>,
++  typedef typename std::conditional<std::is_same_v<Char, UChar>,
+                            UCharLiteralBuffer<32>,
+                            LCharLiteralBuffer<32>>::type LiteralBufferType;
+   static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
+diff -up chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h
+--- chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename	2024-05-01 01:47:05.000000000 +0200
++++ chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h	2024-05-05 16:32:57.378654068 +0200
+@@ -2006,7 +2006,7 @@ struct HashTableConstIteratorAdapter {
+   static_assert(!IsTraceable<typename Traits::TraitType>::value);
+ 
+   using iterator_category = std::bidirectional_iterator_tag;
+-  using value_type = HashTableType::ValueType;
++  using value_type = typename HashTableType::ValueType;
+   using difference_type = ptrdiff_t;
+   using pointer = value_type*;
+   using reference = value_type&;
+@@ -2058,7 +2058,7 @@ struct HashTableConstIteratorAdapter<
+ 
+  public:
+   using iterator_category = std::bidirectional_iterator_tag;
+-  using value_type = HashTableType::ValueType;
++  using value_type = typename HashTableType::ValueType;
+   using difference_type = ptrdiff_t;
+   using pointer = value_type*;
+   using reference = value_type&;
+@@ -2112,7 +2112,7 @@ struct HashTableIteratorAdapter {
+   static_assert(!IsTraceable<typename Traits::TraitType>::value);
+ 
+   using iterator_category = std::bidirectional_iterator_tag;
+-  using value_type = HashTableType::ValueType;
++  using value_type = typename HashTableType::ValueType;
+   using difference_type = ptrdiff_t;
+   using pointer = value_type*;
+   using reference = value_type&;
+@@ -2160,7 +2160,7 @@ struct HashTableIteratorAdapter<
+ 
+  public:
+   using iterator_category = std::bidirectional_iterator_tag;
+-  using value_type = HashTableType::ValueType;
++  using value_type = typename HashTableType::ValueType;
+   using difference_type = ptrdiff_t;
+   using pointer = value_type*;
+   using reference = value_type&;
+diff -up chromium-124.0.6367.118/base/containers/to_vector.h.me chromium-124.0.6367.118/base/containers/to_vector.h
+--- chromium-124.0.6367.118/base/containers/to_vector.h.me	2024-05-06 12:39:58.312899455 +0200
++++ chromium-124.0.6367.118/base/containers/to_vector.h	2024-05-06 12:40:22.014635715 +0200
+@@ -30,7 +30,7 @@ template <typename Range, typename Proj
+            std::indirectly_unary_invocable<Proj, ranges::iterator_t<Range>>
+ auto ToVector(Range&& range, Proj proj = {}) {
+   using ProjectedType =
+-      std::projected<ranges::iterator_t<Range>, Proj>::value_type;
++      typename std::projected<ranges::iterator_t<Range>, Proj>::value_type;
+   std::vector<ProjectedType> container;
+   container.reserve(std::size(range));
+   ranges::transform(std::forward<Range>(range), std::back_inserter(container),
+diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h
+--- chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me	2024-05-06 20:13:29.067800309 +0200
++++ chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h	2024-05-06 20:13:44.671084222 +0200
+@@ -19,7 +19,7 @@ proto::ModelExecutionFeature GetModelExe
+ // Helper method to get the quality_data from `log_ai_data_request` for
+ // different features.
+ template <typename FeatureType>
+-FeatureType::Quality* GetModelQualityData(
++typename FeatureType::Quality* GetModelQualityData(
+     proto::LogAiDataRequest* log_ai_data_request) {
+   return FeatureType::GetLoggingData(*log_ai_data_request)
+       ->mutable_quality_data();
+diff -up chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h
+--- chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me	2024-05-07 08:54:42.099316020 +0200
++++ chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h	2024-05-07 08:57:18.304022672 +0200
+@@ -445,8 +445,8 @@ class CORE_EXPORT ObjectPaintProperties
+   PaintPropertyChangeType Update(
+       NodeId node_id,
+       const ParentType& parent,
+-      NodeType::State&& state,
+-      const NodeType::AnimationState& animation_state =
++      typename NodeType::State&& state,
++      const typename NodeType::AnimationState& animation_state =
+           NodeType::AnimationState()) {
+     // First, check if we need to add a new node.
+     if (!nodes_.HasField(node_id)) {

diff --git a/chromium-124-workaround_clang_bug-structured_binding.patch b/chromium-124-workaround_clang_bug-structured_binding.patch
new file mode 100644
index 0000000..727e4f5
--- /dev/null
+++ b/chromium-124-workaround_clang_bug-structured_binding.patch
@@ -0,0 +1,78 @@
+diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
+--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:37.000000000 +0200
++++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc	2023-06-17 16:53:20.216628557 +0200
+@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
+ void CdmPromiseAdapter::Clear(ClearReason reason) {
+   // Reject all outstanding promises.
+   DCHECK(thread_checker_.CalledOnValidThread());
+-  for (auto& [promise_id, promise] : promises_) {
++  for (auto& [p_i, p_e] : promises_) {
++    auto& promise_id = p_i;
++    auto& promise = p_e;
+     TRACE_EVENT_NESTABLE_ASYNC_END1(
+         "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
+         "status", "cleared");
+diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
+--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me	2023-06-19 08:04:02.287072722 +0200
++++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc	2023-06-19 08:18:24.576814950 +0200
+@@ -1393,7 +1393,8 @@ void ServiceWorkerContextWrapper::MaybeP
+     return;
+   }
+ 
+-  auto [document_url, key, callback] = std::move(*request);
++  auto [d_u, key, callback] = std::move(*request);
++  auto document_url = d_u;
+ 
+   DCHECK(document_url.is_valid());
+   TRACE_EVENT1("ServiceWorker",
+diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
+--- chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than	2023-12-19 17:57:56.205197246 +0100
++++ chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc	2023-12-19 18:10:13.778634531 +0100
+@@ -3527,8 +3527,8 @@ void GridLayoutAlgorithm::PlaceGridItems
+   DCHECK(out_row_break_between);
+ 
+   const auto& container_space = GetConstraintSpace();
+-  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+-
++  const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData();
++  const auto& layout_data = l_d;
+   const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
+   const auto container_writing_direction =
+       container_space.GetWritingDirection();
+@@ -3691,8 +3691,9 @@ void GridLayoutAlgorithm::PlaceGridItems
+ 
+   // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
+   const auto& constraint_space = GetConstraintSpace();
+-  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+-
++  const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData();
++  const auto& grid_items = g_i;
++  const auto& layout_data = l_d;
+   const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
+   const auto container_writing_direction =
+       constraint_space.GetWritingDirection();
+diff -up chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc
+--- chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc.me	2024-02-25 18:03:51.654579579 +0100
++++ chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_predictor/prewarm_http_disk_cache_manager.cc	2024-02-25 18:12:45.144287750 +0100
+@@ -136,7 +136,8 @@ void PrewarmHttpDiskCacheManager::MaybeP
+   std::pair<url::Origin, GURL> origin_and_url;
+   std::swap(origin_and_url, queued_jobs_.front());
+   queued_jobs_.pop();
+-  const auto& [origin, url] = origin_and_url;
++  const auto& [origin, u] = origin_and_url;
++  const auto& url = u;
+   TRACE_EVENT_WITH_FLOW1(
+       "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob",
+       TRACE_ID_LOCAL(this),
+--- chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc.workaround_clang_bug-structured_binding	2024-05-05 16:22:47.581070868 +0200
++++ chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc	2024-05-05 16:27:18.859972481 +0200
+@@ -417,7 +417,8 @@
+   }
+ 
+   SCOPED_CRASH_KEY_STRING256("SWRace", "request_url", request_.url.spec());
+-  auto [read_result, read_buffer] = read_buffer_manager_->ReadData();
++  auto [r, read_buffer] = read_buffer_manager_->ReadData();
++  auto read_result = r;
+   TRACE_EVENT_WITH_FLOW2("ServiceWorker",
+                          "ServiceWorkerRaceNetworkRequestURLLoaderClient::Read",
+                          TRACE_ID_LOCAL(this),

diff --git a/chromium.spec b/chromium.spec
index bbc7118..5031576 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -71,7 +71,7 @@
 %endif
 
 %if 0%{?rhel} == 7
-%global chromium_pybin /usr/bin/python3
+%global chromium_pybin /opt/rh/rh-python38/root/usr/bin/python
 %else
 %if 0%{?rhel} == 8
 %global chromium_pybin /usr/bin/python3.9
@@ -184,13 +184,17 @@
 %endif
 
 # enable qt backend
-%if 0%{?rhel} > 9 || 0%{?fedora}
 %global use_qt6 0
+%global use_qt 0
+
+%if 0%{?rhel} > 9 || 0%{?fedora}
+%global use_qt6 1
 %global use_qt 1
 %else
-%global use_qt6 0
+%if 0%{?rhel} == 8
 %global use_qt 1
 %endif
+%endif
 
 # Chromium's fork of ICU is now something we can't unbundle.
 # This is left here to ease the change if that ever switches.
@@ -309,8 +313,8 @@
 %endif
 
 Name:	chromium%{chromium_channel}
-Version: 124.0.6367.118
-Release: 2%{?dist}
+Version: 124.0.6367.155
+Release: 1%{?dist}
 Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
 Url: http://www.chromium.org/Home
 License: BSD-3-Clause AND LGPL-2.1-or-later AND Apache-2.0 AND IJG AND MIT AND GPL-2.0-or-later AND ISC AND OpenSSL AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.0-only)
@@ -401,50 +405,51 @@ Patch108: chromium-118-el7_v4l2_quantization.patch
 Patch109: chromium-114-wireless-el7.patch
 Patch110: chromium-115-buildflag-el7.patch
 Patch111: chromium-122-el7-inline-function.patch
+Patch112: chromium-124-el7-powf.patch
 Patch113: chromium-121-el7-clang-version-warning.patch
 Patch114: chromium-123-el7-clang-build-failure.patch
+Patch115: chromium-124-el7-size_t.patch
+
+# fixes for old clang version in el7 (clang <= 15)
+# compiler build errors, no matching constructor for initialization
+Patch116: chromium-124-no_matching_constructor.patch
+Patch117: chromium-115-compiler-SkColor4f.patch
+
+# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
+Patch118: chromium-124-workaround_clang_bug-structured_binding.patch
+
+# missing typename
+Patch119: chromium-124-typename.patch
+
+# error: invalid operands to binary expression
+Patch120: chromium-117-string-convert.patch
+Patch121: chromium-119-assert.patch
+Patch122: chromium-124-el7-constexpr.patch
 
 # system ffmpeg
 # need for old ffmpeg 5.x on epel9
-Patch115: chromium-107-ffmpeg-5.x-duration.patch
+Patch130: chromium-107-ffmpeg-5.x-duration.patch
 # disable the check
-Patch116: chromium-107-proprietary-codecs.patch
+Patch131: chromium-107-proprietary-codecs.patch
 # fix tab crash with SIGTRAP error when using system ffmpeg
-Patch117: chromium-118-sigtrap_system_ffmpeg.patch
+Patch132: chromium-118-sigtrap_system_ffmpeg.patch
 # need for old ffmpeg 6.0/5.x on epel9 and fedora < 40
-Patch118: chromium-121-system-old-ffmpeg.patch
+Patch133: chromium-121-system-old-ffmpeg.patch
 
-# revert AV1 VAAPI video encode due to old libva on el9
-Patch130: chromium-122-revert-av1enc-el9.patch
+# revert AV1 VAAPI video encode due to old libva on el9 (rhel9.3)
+Patch140: chromium-122-revert-av1enc-el9.patch
 
 # file conflict with old kernel on el8/el9
-Patch140: chromium-118-dma_buf_export_sync_file-conflict.patch
-
-# fixes for old clang version in fedora < 38 end epel < 8 (old clang <= 15)
-# compiler build errors, no matching constructor for initialization
-Patch300: chromium-123-no_matching_constructor.patch
-Patch301: chromium-115-compiler-SkColor4f.patch
-
-# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
-Patch302: chromium-123-workaround_clang_bug-structured_binding.patch
-
-# missing typename
-Patch303: chromium-123-typename.patch
-
-# error: invalid operands to binary expression
-Patch304: chromium-117-string-convert.patch
+Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch
 
 # disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver
 # not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found
 Patch305: chromium-124-arm64-memory_tagging.patch
 
-Patch306: chromium-119-assert.patch
-
 # compiler errors on epel
 # revert it for old clang on rhel and f38
 Patch307: chromium-121-v8-c++20-p1.patch
 Patch308: chromium-123-v8-c++20.patch
-Patch309: chromium-123-constexpr.patch
 
 # missing include header files
 Patch310: chromium-123-missing-header-files.patch
@@ -457,9 +462,6 @@ Patch313: chromium-123-rust-clap_lex.patch
 
 Patch314: chromium-124-clang16-buildflags.patch
 
-# assignment-expressions not suport in python < 3.8 on el 7/8
-Patch315: chromium-124-python3-assignment-expressions.patch
-
 # add -ftrivial-auto-var-init=zero and -fwrapv
 Patch316: chromium-122-clang-build-flags.patch
 
@@ -474,9 +476,6 @@ 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
 
-# error: unknown type name 'nullptr_t'
-Patch355: chromium-121-nullptr_t-without-namespace-std.patch
-
 # disable FFmpegAllowLists by default to allow external ffmpeg
 patch356: chromium-122-disable-FFmpegAllowLists.patch
 
@@ -484,7 +483,7 @@ patch356: chromium-122-disable-FFmpegAllowLists.patch
 Patch357: chromium-122-clang16-disable-auto-upgrade-debug-info.patch
 
 # set clang_lib path
-Patch358: chromium-122-rust-clang_lib.patch
+Patch358: chromium-124-rust-clang_lib.patch
 
 # ERROR Unresolved dependencies
 Patch359: chromium-124-libavif-deps.patch
@@ -600,6 +599,10 @@ Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuil
 BuildRequires: golang-github-evanw-esbuild
 %endif
 
+%if 0%{?rhel} == 7
+BuildRequires: rh-python38
+%endif
+
 %if %{clang}
 %if 0%{?rhel} == 7
 BuildRequires: llvm-toolset-%{llvm_toolset_version}
@@ -1169,11 +1172,11 @@ udev.
 
 %if ! %{bundleffmpegfree}
 %if 0%{?rhel} == 9
-%patch -P115 -p1 -b .ffmpeg-5.x-duration
+%patch -P130 -p1 -b .ffmpeg-5.x-duration
 %endif
-%patch -P116 -p1 -b .prop-codecs
-%patch -P117 -p1 -b .sigtrap_system_ffmpeg
-%patch -P118 -p1 -b .system-old-ffmpeg
+%patch -P131 -p1 -b .prop-codecs
+%patch -P132 -p1 -b .sigtrap_system_ffmpeg
+%patch -P133 -p1 -b .system-old-ffmpeg
 %endif
 
 # EPEL specific patches
@@ -1190,26 +1193,28 @@ udev.
 %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 -P113 -p1 -b .el7-clang-version-warning
 %patch -P114 -p1 -b .clang-build-failure
-%patch -P300 -p1 -b .no_matching_constructor
-%patch -P301 -p1 -b .workaround_clang-SkColor4f
-%patch -P302 -p1 -b .workaround_clang_bug-structured_binding
-%patch -P303 -p1 -b .typename
-%patch -P304 -p1 -b .string-convert
-%patch -P306 -p1 -b .assert
+%patch -P115 -p1 -b .el7-size_t
+%patch -P116 -p1 -b .no_matching_constructor
+%patch -P117 -p1 -b .workaround_clang-SkColor4f
+%patch -P118 -p1 -b .workaround_clang_bug-structured_binding
+%patch -P119 -p1 -b .typename
+%patch -P120 -p1 -b .string-convert
+%patch -P121 -p1 -b .assert
+%patch -P122 -p1 -b .constexpr
 %endif
 
-%if 0%{?rhel} == 8 || 0%{?rhel} == 9
-%patch -P140 -p1 -b .dma_buf_export_sync_file-conflict
+%if 0%{?rhel} == 9
+%patch -P140 -p1 -b .revert-av1enc
 %endif
 
-%if 0%{?rhel} == 9
-%patch -P130 -p1 -b .revert-av1enc
+%if 0%{?rhel} == 8 || 0%{?rhel} == 9
+%patch -P141 -p1 -b .dma_buf_export_sync_file-conflict
 %endif
 
 %if 0%{?rhel} && 0%{?rhel} <= 8
-%patch -P315 -p1 -b .assignment-expressions
 %ifarch aarch64
 %patch -P305 -p1 -b .memory_tagging
 %patch -P317 -p1 -b .libdav1d-aarch64
@@ -1238,9 +1243,6 @@ udev.
 %endif
 
 %patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint
-%if ! %{use_custom_libcxx}
-%patch -P355 -p1 -b .nullptr_t-without-namespace-std
-%endif
 %patch -P356 -p1 -b .disable-FFmpegAllowLists
 %patch -P357 -p1 -b .clang16-disable-auto-upgrade-debug-info
 %patch -P358 -p1 -b .rust-clang_lib
@@ -1381,11 +1383,6 @@ cp -a third_party/dav1d/version/version.h third_party/dav1d/libdav1d/include/dav
 %endif
 
 %build
-# utf8 issue on epel7, Internal parsing error 'ascii' codec can't
-# decode byte 0xe2 in position 474: ordinal not in range(128)
-%if 0%{?rhel} == 7
-export LANG=en_US.UTF-8
-%endif
 
 # reduce warnings
 %if %{clang}
@@ -1438,6 +1435,7 @@ export RUSTFLAGS
 
 # enable toolset on el7
 %if 0%{?rhel} == 7
+. /opt/rh/rh-python38/enable
 %if %{clang}
 . /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable
 %else
@@ -2115,6 +2113,11 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
 %endif
 
 %changelog
+* Wed May 08 2024 Than Ngo <than@redhat.com> - 124.0.6367.155-1
+- update to 124.0.6367.155
+  * High CVE-2024-4558: Use after free in ANGLE
+  * High CVE-2024-4559: Heap buffer overflow in WebAudio
+
 * Sun May 05 2024 Than Ngo <than@redhat.com> - 124.0.6367.118-2
 - fixed build errors on el8
 - refreshed clean_ffmpeg.sh

diff --git a/skia-vsx-instructions.patch b/skia-vsx-instructions.patch
index 1cec31e..fa9d5c7 100644
--- a/skia-vsx-instructions.patch
+++ b/skia-vsx-instructions.patch
@@ -1,7 +1,7 @@
-Index: chromium-124.0.6367.60/third_party/skia/BUILD.gn
+Index: chromium-124.0.6367.118/third_party/skia/BUILD.gn
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/BUILD.gn
-+++ chromium-124.0.6367.60/third_party/skia/BUILD.gn
+--- chromium-124.0.6367.118.orig/third_party/skia/BUILD.gn
++++ chromium-124.0.6367.118/third_party/skia/BUILD.gn
 @@ -191,6 +191,12 @@ opts("skx") {
    }
  }
@@ -35,10 +35,10 @@ Index: chromium-124.0.6367.60/third_party/skia/BUILD.gn
  
    sources = []
    sources += skia_pathops_sources
-Index: chromium-124.0.6367.60/third_party/skia/gn/skia/BUILD.gn
+Index: chromium-124.0.6367.118/third_party/skia/gn/skia/BUILD.gn
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/gn/skia/BUILD.gn
-+++ chromium-124.0.6367.60/third_party/skia/gn/skia/BUILD.gn
+--- chromium-124.0.6367.118.orig/third_party/skia/gn/skia/BUILD.gn
++++ chromium-124.0.6367.118/third_party/skia/gn/skia/BUILD.gn
 @@ -163,6 +163,8 @@ config("default") {
        "-mfpmath=sse",
      ]
@@ -48,10 +48,10 @@ Index: chromium-124.0.6367.60/third_party/skia/gn/skia/BUILD.gn
    }
  
    if (malloc != "" && !is_win) {
-Index: chromium-124.0.6367.60/third_party/skia/include/core/SkTypes.h
+Index: chromium-124.0.6367.118/third_party/skia/include/core/SkTypes.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/include/core/SkTypes.h
-+++ chromium-124.0.6367.60/third_party/skia/include/core/SkTypes.h
+--- chromium-124.0.6367.118.orig/third_party/skia/include/core/SkTypes.h
++++ chromium-124.0.6367.118/third_party/skia/include/core/SkTypes.h
 @@ -195,5 +195,44 @@ static constexpr uint32_t SK_InvalidGenI
  */
  static constexpr uint32_t SK_InvalidUniqueID = 0;
@@ -97,10 +97,10 @@ Index: chromium-124.0.6367.60/third_party/skia/include/core/SkTypes.h
 +
  
  #endif
-Index: chromium-124.0.6367.60/third_party/skia/src/base/SkSpinlock.cpp
+Index: chromium-124.0.6367.118/third_party/skia/src/base/SkSpinlock.cpp
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/base/SkSpinlock.cpp
-+++ chromium-124.0.6367.60/third_party/skia/src/base/SkSpinlock.cpp
+--- chromium-124.0.6367.118.orig/third_party/skia/src/base/SkSpinlock.cpp
++++ chromium-124.0.6367.118/third_party/skia/src/base/SkSpinlock.cpp
 @@ -33,7 +33,8 @@
  #endif
  
@@ -111,10 +111,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/base/SkSpinlock.cpp
      #include <emmintrin.h>
      static void do_pause() { _mm_pause(); }
  #else
-Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBitmapProcState_opts.h
+Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkBitmapProcState_opts.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
-+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkBitmapProcState_opts.h
+--- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
++++ chromium-124.0.6367.118/third_party/skia/src/opts/SkBitmapProcState_opts.h
 @@ -21,7 +21,13 @@
  // The rest are scattershot at the moment but I want to get them
  // all migrated to be normal code inside SkBitmapProcState.cpp.
@@ -130,10 +130,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBitmapProcState_opts.h
      #include <immintrin.h>
  #elif defined(SK_ARM_HAS_NEON)
      #include <arm_neon.h>
-Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBlitRow_opts.h
+Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkBlitRow_opts.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkBlitRow_opts.h
-+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkBlitRow_opts.h
+--- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkBlitRow_opts.h
++++ chromium-124.0.6367.118/third_party/skia/src/opts/SkBlitRow_opts.h
 @@ -69,7 +69,7 @@
  #endif
  
@@ -143,10 +143,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkBlitRow_opts.h
  
      static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) {
          __m128i scale = _mm_sub_epi32(_mm_set1_epi32(256),
-Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h
+Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkRasterPipeline_opts.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
-+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h
+--- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
++++ chromium-124.0.6367.118/third_party/skia/src/opts/SkRasterPipeline_opts.h
 @@ -1,5 +1,6 @@
  /*
   * Copyright 2018 Google Inc.
@@ -227,7 +227,7 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h
 +    }
 +
 +    SI F     mad(F f, F m, F a) { return vec_madd(f,m,a); }
-+    SI F    nmad(F f, F m, F a) { return vec_msub(f,m,a); }
++    SI F    nmad(F f, F m, F a) { return vec_nmsub(f,m,a); }
 +    SI F  floor_(F v) { return vec_floor(v); }
 +    SI F   ceil_(F v) { return vec_ceil(v); }
 +    SI F   sqrt_(F v) { return vec_sqrt(v); }
@@ -524,10 +524,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h
      };
  
      r = lerpY(topR, bottomR);
-Index: chromium-124.0.6367.60/third_party/skia/src/base/SkVx.h
+Index: chromium-124.0.6367.118/third_party/skia/src/base/SkVx.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/base/SkVx.h
-+++ chromium-124.0.6367.60/third_party/skia/src/base/SkVx.h
+--- chromium-124.0.6367.118.orig/third_party/skia/src/base/SkVx.h
++++ chromium-124.0.6367.118/third_party/skia/src/base/SkVx.h
 @@ -42,7 +42,13 @@
  
  #if SKVX_USE_SIMD
@@ -543,10 +543,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/base/SkVx.h
      #elif defined(SK_ARM_HAS_NEON)
          #include <arm_neon.h>
      #elif defined(__wasm_simd128__)
-Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
-+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+--- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
++++ chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
 @@ -9,7 +9,7 @@
  #include "src/core/SkBlitMask.h"
  #include "src/core/SkOptsTargets.h"
@@ -556,10 +556,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts_ssse3.cp
  
  // The order of these includes is important:
  // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
-Index: chromium-124.0.6367.60/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+Index: chromium-124.0.6367.118/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
-+++ chromium-124.0.6367.60/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+--- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
++++ chromium-124.0.6367.118/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
 @@ -10,7 +10,7 @@
  #include "src/core/SkOptsTargets.h"
  #include "src/core/SkSwizzlePriv.h"
@@ -569,10 +569,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkSwizzler_opts_ssse3.cp
      !defined(SK_ENABLE_OPTIMIZE_SIZE) && \
      SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
  
-Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts.cpp
+Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts.cpp
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
-+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts.cpp
+--- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
++++ chromium-124.0.6367.118/third_party/skia/src/core/SkBlitMask_opts.cpp
 @@ -25,7 +25,7 @@ namespace SkOpts {
      static bool init() {
      #if defined(SK_ENABLE_OPTIMIZE_SIZE)
@@ -582,10 +582,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts.cpp
          #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
              if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
          #endif
-Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts.cpp
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
-+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+--- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
++++ chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts.cpp
 @@ -25,7 +25,7 @@ namespace SkOpts {
      static bool init() {
      #if defined(SK_ENABLE_OPTIMIZE_SIZE)
@@ -595,10 +595,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.c
          #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
              if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
          #endif
-Index: chromium-124.0.6367.60/third_party/skia/src/core/SkCpu.h
+Index: chromium-124.0.6367.118/third_party/skia/src/core/SkCpu.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkCpu.h
-+++ chromium-124.0.6367.60/third_party/skia/src/core/SkCpu.h
+--- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkCpu.h
++++ chromium-124.0.6367.118/third_party/skia/src/core/SkCpu.h
 @@ -55,7 +55,7 @@ inline bool SkCpu::Supports(uint32_t mas
  
      // If we mask in compile-time known lower limits, the compiler can
@@ -608,10 +608,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkCpu.h
      #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
      features |= SSE1;
      #endif
-Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
-+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+--- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
++++ chromium-124.0.6367.118/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
 @@ -8,7 +8,7 @@
  #include "include/private/base/SkFeatures.h"
  #include "src/core/SkOptsTargets.h"
@@ -621,10 +621,10 @@ Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts_s
  
  // The order of these includes is important:
  // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
-Index: chromium-124.0.6367.60/third_party/skia/include/private/base/SkFeatures.h
+Index: chromium-124.0.6367.118/third_party/skia/include/private/base/SkFeatures.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/include/private/base/SkFeatures.h
-+++ chromium-124.0.6367.60/third_party/skia/include/private/base/SkFeatures.h
+--- chromium-124.0.6367.118.orig/third_party/skia/include/private/base/SkFeatures.h
++++ chromium-124.0.6367.118/third_party/skia/include/private/base/SkFeatures.h
 @@ -63,6 +63,8 @@
  
  #if defined(__i386) || defined(_M_IX86) ||  defined(__x86_64__) || defined(_M_X64)
@@ -634,10 +634,10 @@ Index: chromium-124.0.6367.60/third_party/skia/include/private/base/SkFeatures.h
  #endif
  
  /**
-Index: chromium-124.0.6367.60/third_party/skia/modules/skcms/src/skcms_internals.h
+Index: chromium-124.0.6367.118/third_party/skia/modules/skcms/src/skcms_internals.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/modules/skcms/src/skcms_internals.h
-+++ chromium-124.0.6367.60/third_party/skia/modules/skcms/src/skcms_internals.h
+--- chromium-124.0.6367.118.orig/third_party/skia/modules/skcms/src/skcms_internals.h
++++ chromium-124.0.6367.118/third_party/skia/modules/skcms/src/skcms_internals.h
 @@ -47,6 +47,7 @@ extern "C" {
                                                   && !defined(__EMSCRIPTEN__) \
                                                   && !defined(__arm__) \
@@ -646,10 +646,10 @@ Index: chromium-124.0.6367.60/third_party/skia/modules/skcms/src/skcms_internals
                                                   && !defined(__loongarch__) \
                                                   && !defined(_WIN32) && !defined(__SYMBIAN32__)
              #define SKCMS_HAS_MUSTTAIL 1
-Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc
+Index: chromium-124.0.6367.118/third_party/skia/src/opts/SkSwizzler_opts.inc
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
-+++ chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc
+--- chromium-124.0.6367.118.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
++++ chromium-124.0.6367.118/third_party/skia/src/opts/SkSwizzler_opts.inc
 @@ -14,7 +14,10 @@
  #include <cmath>
  #include <utility>
@@ -696,32 +696,24 @@ Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc
  #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER))
  // -- SSE -- Harden against timing attacks -- MSVC is not supported.
  using F4 = __m128;
-Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+Index: chromium-124.0.6367.118/third_party/skia/src/core/SkBlitter_ARGB32.cpp
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
-+++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitter_ARGB32.cpp
-@@ -372,7 +372,11 @@ static inline SkPMColor blend_lcd16_opaq
-                 // Load four destination pixels into dst_sse.
-                 __m128i dst_sse = _mm_load_si128(d);
-                 // Load four 16-bit masks into lower half of mask_sse.
-+#if defined(SK_CPU_PPC64)
-+                __m128i mask_sse = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(mask));
-+#else
-                 __m128i mask_sse = _mm_loadu_si64(mask);
-+#endif
+--- chromium-124.0.6367.118.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
++++ chromium-124.0.6367.118/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+@@ -126,6 +126,16 @@ static inline SkPMColor blend_lcd16_opaq
+ #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
+     #include <emmintrin.h>
  
-                 // Check whether masks are equal to 0 and get the highest bit
-                 // of each byte of result, if masks are all zero, we will get
-@@ -438,7 +442,12 @@ static inline SkPMColor blend_lcd16_opaq
-                 // Load four destination pixels into dst_sse.
-                 __m128i dst_sse = _mm_load_si128(d);
-                 // Load four 16-bit masks into lower half of mask_sse.
 +#if defined(SK_CPU_PPC64)
-+                __m128i mask_sse = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(mask));
-+#else
-                 __m128i mask_sse = _mm_loadu_si64(mask);
++    /* Load signed 64-bit integer from P into vector element 0.  The address need not be 16-byte aligned.  */
++    extern __inline __m128i
++        __attribute__((__gnu_inline__, __always_inline__, __artificial__))
++        _mm_loadu_si64 (void const *__P)
++    {
++      return _mm_set_epi64((__m64)0LL, *(__m64 *)__P);
++    }
 +#endif
 +
- 
-                 // Check whether masks are equal to 0 and get the highest bit
-                 // of each byte of result, if masks are all zero, we will get
+     // The following (left) shifts cause the top 5 bits of the mask components to
+     // line up with the corresponding components in an SkPMColor.
+     // Note that the mask's RGB16 order may differ from the SkPMColor order.

diff --git a/sources b/sources
index b7afd66..ecdb736 100644
--- a/sources
+++ b/sources
@@ -2,4 +2,4 @@ SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea
 SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd
 SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6
 SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d
-SHA512 (chromium-124.0.6367.118-clean.tar.xz) = 770060a81051cdace4c60ae4fc32c1dcb233bfac61b1ec149d640736c0db4bfb6d50692033d6b927ca6fa4a0437fc432537cc0bd6d3468254168239f3836a06e
+SHA512 (chromium-124.0.6367.155-clean.tar.xz) = ded8da8bbef3479ced51e5e84436cd4772c9c3513d643c258d7af52fe55e201f192c960961bd601a1668a12c2c5e3351452fff3fb389d95855fe091cc506dba6

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

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

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

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