From ca77c5cce89f68a266160f0f0cfd1a02c59b5ce9 Mon Sep 17 00:00:00 2001 From: tigro Date: Thu, 9 May 2024 14:17:09 +0300 Subject: [PATCH] - update to 124.0.6367.155 * High CVE-2024-4558: Use after free in ANGLE * High CVE-2024-4559: Heap buffer overflow in WebAudio --- .chromium.metadata | 2 +- .gitignore | 2 +- ...-121-nullptr_t-without-namespace-std.patch | 12 - SOURCES/chromium-123-constexpr.patch | 60 - SOURCES/chromium-124-el7-constexpr.patch | 74 + SOURCES/chromium-124-el7-powf.patch | 18 + SOURCES/chromium-124-el7-size_t.patch | 16 + ...chromium-124-no_matching_constructor.patch | 1392 +++++++++++++++++ ...m-124-python3-assignment-expressions.patch | 13 - SOURCES/chromium-124-qt6.patch | 11 + SOURCES/chromium-124-rust-clang_lib.patch | 55 + ...name.patch => chromium-124-typename.patch} | 551 +++---- ...karound_clang_bug-structured_binding.patch | 78 + SOURCES/skia-vsx-instructions.patch | 144 +- SPECS/chromium.spec | 128 +- 15 files changed, 2067 insertions(+), 489 deletions(-) delete mode 100644 SOURCES/chromium-121-nullptr_t-without-namespace-std.patch delete mode 100644 SOURCES/chromium-123-constexpr.patch create mode 100644 SOURCES/chromium-124-el7-constexpr.patch create mode 100644 SOURCES/chromium-124-el7-powf.patch create mode 100644 SOURCES/chromium-124-el7-size_t.patch create mode 100644 SOURCES/chromium-124-no_matching_constructor.patch delete mode 100644 SOURCES/chromium-124-python3-assignment-expressions.patch create mode 100644 SOURCES/chromium-124-qt6.patch create mode 100644 SOURCES/chromium-124-rust-clang_lib.patch rename SOURCES/{chromium-123-typename.patch => chromium-124-typename.patch} (52%) create mode 100644 SOURCES/chromium-124-workaround_clang_bug-structured_binding.patch diff --git a/.chromium.metadata b/.chromium.metadata index 30e4f86e..869a46b9 100644 --- a/.chromium.metadata +++ b/.chromium.metadata @@ -1,4 +1,4 @@ -a6b3e27c9154df1cc31f39122eaef5f1167cbe9d SOURCES/chromium-124.0.6367.118.tar.xz +234d14a6eabc696b6ac8aa226e5eb5b1984e46ad SOURCES/chromium-124.0.6367.155.tar.xz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz 769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz diff --git a/.gitignore b/.gitignore index 1a0224b2..7914d108 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -SOURCES/chromium-124.0.6367.118.tar.xz +SOURCES/chromium-124.0.6367.155.tar.xz SOURCES/linux-x64-0.19.2.tgz SOURCES/linux-arm64-0.19.2.tgz SOURCES/node-v20.6.1-linux-x64.tar.xz diff --git a/SOURCES/chromium-121-nullptr_t-without-namespace-std.patch b/SOURCES/chromium-121-nullptr_t-without-namespace-std.patch deleted file mode 100644 index 3defc393..00000000 --- a/SOURCES/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/SOURCES/chromium-123-constexpr.patch b/SOURCES/chromium-123-constexpr.patch deleted file mode 100644 index aa59c3e5..00000000 --- a/SOURCES/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& lhs, - const GlobalId& rhs) = default; -- friend constexpr bool operator==(const GlobalId& lhs, -+ friend bool operator==(const GlobalId& lhs, - const GlobalId& 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`. - 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 -- consteval operator T(); // NOLINT -+ operator T(); // NOLINT - }; - - } // namespace internal diff --git a/SOURCES/chromium-124-el7-constexpr.patch b/SOURCES/chromium-124-el7-constexpr.patch new file mode 100644 index 00000000..735d343e --- /dev/null +++ b/SOURCES/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 +- consteval operator T(); // NOLINT ++ operator T(); // NOLINT + }; + + } // namespace internal +diff -up chromium-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h +--- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me 2024-05-06 18:01:28.606845554 +0200 ++++ chromium-124.0.6367.118/components/history/core/browser/history_types.h 2024-05-06 18:06:15.492751252 +0200 +@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL + typedef std::map VisitSourceMap; + + // Constant used to represent that no app_id is used for matching. +-inline constexpr std::optional kNoAppIdFilter = std::nullopt; ++inline const std::optional kNoAppIdFilter = std::nullopt; + + // VisitRow ------------------------------------------------------------------- + +diff -up chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc +--- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me 2024-05-07 00:07:15.720573794 +0200 ++++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-05-07 00:08:07.633519604 +0200 +@@ -28,17 +28,17 @@ namespace network { + namespace { + + // https://urlpattern.spec.whatwg.org/#default-options +-constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "", ++const liburlpattern::Options kDefaultOptions = {.delimiter_list = "", + .prefix_list = "", + .sensitive = true, + .strict = true}; + // https://urlpattern.spec.whatwg.org/#hostname-options +-constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".", ++const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".", + .prefix_list = "", + .sensitive = true, + .strict = true}; + // https://urlpattern.spec.whatwg.org/#pathname-options +-constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/", ++const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/", + .prefix_list = "/", + .sensitive = true, + .strict = true}; +diff -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py +--- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 2024-05-07 10:58:13.316756926 +0200 ++++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-05-07 10:58:30.821083061 +0200 +@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam + yield '// Checks if all the matching patterns for the given PatternSources' + yield '// and language are the same - meaning that computing predictions for' + yield '// both is unnecessary, since it will yield the same result.' +- yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,' ++ yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,' + yield ' PatternSource b,' + yield ' LanguageCode lang_code) {' + yield ' if (a == b) {' diff --git a/SOURCES/chromium-124-el7-powf.patch b/SOURCES/chromium-124-el7-powf.patch new file mode 100644 index 00000000..7b8762b5 --- /dev/null +++ b/SOURCES/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/SOURCES/chromium-124-el7-size_t.patch b/SOURCES/chromium-124-el7-size_t.patch new file mode 100644 index 00000000..3ca84eef --- /dev/null +++ b/SOURCES/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 AllocateMultiple(size_t n) { ++ std::vector AllocateMultiple(std::size_t n) { + std::vector 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/SOURCES/chromium-124-no_matching_constructor.patch b/SOURCES/chromium-124-no_matching_constructor.patch new file mode 100644 index 00000000..0c60858a --- /dev/null +++ b/SOURCES/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* 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_mapinsert(std::make_pair( + "supported.test", +- SAMLProfileAttributes("placeholderName", "placeholderDomain", +- "placeholderToken"))); ++ SAMLProfileAttributes{"placeholderName", "placeholderDomain", ++ "placeholderToken"})); + + // Extract domains and attributes from the command line switch. + const base::CommandLine& command_line = +diff -up chromium-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 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 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::GetButtonsConfiguration() const { + std::vector buttons; +- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), +- ButtonType::kPolicyOK, ui::ButtonStyle::kTonal); ++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_OK_LABEL), ++ ButtonType::kPolicyOK, ui::ButtonStyle::kTonal}; + return buttons; + } + +diff -up chromium-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::GetButtonsConfiguration() const { + std::vector buttons; +- buttons.emplace_back( ++ buttons.emplace_back() = { + l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING), +- ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal); ++ ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal}; + + if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) { +- buttons.emplace_back( ++ buttons.emplace_back() = { + l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME), +- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId); ++ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId}; + } else { +- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW), +- ButtonType::kAllow, ui::ButtonStyle::kTonal); ++ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW), ++ ButtonType::kAllow, ui::ButtonStyle::kTonal}; + } + return buttons; + } +diff -up chromium-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::GetButtonsConfiguration() const { + std::vector buttons; +- buttons.emplace_back( ++ buttons.emplace_back() = { + l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING), +- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal); ++ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal}; + +- buttons.emplace_back( ++ buttons.emplace_back() = { + l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING), +- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId); ++ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId}; + return buttons; + } +diff -up chromium-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 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 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 + color_interpolation_space, hue_interpolation_method, start_color, + end_color, percentage, alpha_multiplier); + +- FontPalette::FontPaletteOverride result_color_record(i, result_color); ++ FontPalette::FontPaletteOverride result_color_record{static_cast(i), result_color}; + result_color_records.push_back(result_color_record); + } + return result_color_records; +diff -up chromium-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_LINEAR, +- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB, +- TransferFnVersion(SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFnExt::kSRGB, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kRec709, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT709_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_BT2087, +- TransferFnVersion(gamma24, kDefaultSinceVersion)}, ++ TransferFnVersion{gamma24, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_ADOBERGB, +- TransferFnVersion(SkNamedTransferFnExt::kA98RGB, +- kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFnExt::kA98RGB, ++ kDefaultSinceVersion}}, + }); + + // A map from the HDR zcr_color_manager_v1 eotf_names enum values +@@ -197,70 +197,70 @@ constexpr auto kTransferMap = + constexpr auto kHDRTransferMap = + base::MakeFixedFlatMap( + {{ZCR_COLOR_MANAGER_V1_EOTF_NAMES_LINEAR, +- TransferFnVersion(SkNamedTransferFn::kLinear, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kLinear, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kSRGB, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_SRGB_HDR_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_PQ, +- TransferFnVersion(SkNamedTransferFn::kPQ, kDefaultSinceVersion)}, ++ TransferFnVersion{SkNamedTransferFn::kPQ, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG, +- TransferFnVersion(SkNamedTransferFn::kHLG, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION)}, ++ TransferFnVersion{SkNamedTransferFn::kHLG, ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_HLG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10, +- TransferFnVersion( ++ TransferFnVersion{ + SkNamedTransferFnExt::kSRGBExtended1023Over510, +- ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION)}}); ++ ZCR_COLOR_MANAGER_V1_EOTF_NAMES_EXTENDEDSRGB10_SINCE_VERSION}}}); + + // A map from zcr_color_manager_v1 matrix_names enum values to + // gfx::ColorSpace::MatrixIDs. + constexpr auto kMatrixMap = + base::MakeFixedFlatMap( + {{ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_RGB, +- MatrixVersion(gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::RGB, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT709, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT709, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT709, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG, +- MatrixVersion( ++ MatrixVersion{ + gfx::ColorSpace::MatrixID::BT470BG, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION)}, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT470BG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_NCL, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_NCL, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_NCL, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_BT2020_CL, +- MatrixVersion(gfx::ColorSpace::MatrixID::BT2020_CL, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::BT2020_CL, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_FCC, +- MatrixVersion(gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::FCC, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG, +- MatrixVersion(gfx::ColorSpace::MatrixID::YCOCG, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::YCOCG, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YCOCG_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX, +- MatrixVersion(gfx::ColorSpace::MatrixID::YDZDX, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::YDZDX, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_YDZDX_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR, +- MatrixVersion(gfx::ColorSpace::MatrixID::GBR, +- ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::GBR, ++ ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_GBR_SINCE_VERSION}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE170M, +- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE170M, +- kDefaultSinceVersion)}, ++ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE170M, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_MATRIX_NAMES_SMPTE240M, +- MatrixVersion(gfx::ColorSpace::MatrixID::SMPTE240M, +- kDefaultSinceVersion)}}); ++ MatrixVersion{gfx::ColorSpace::MatrixID::SMPTE240M, ++ kDefaultSinceVersion}}}); + + // A map from zcr_color_manager_v1 range_names enum values to + // gfx::ColorSpace::RangeIDs. + constexpr auto kRangeMap = + base::MakeFixedFlatMap( + {{ZCR_COLOR_MANAGER_V1_RANGE_NAMES_LIMITED, +- RangeVersion(gfx::ColorSpace::RangeID::LIMITED, +- kDefaultSinceVersion)}, ++ RangeVersion{gfx::ColorSpace::RangeID::LIMITED, ++ kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_FULL, +- RangeVersion(gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion)}, ++ RangeVersion{gfx::ColorSpace::RangeID::FULL, kDefaultSinceVersion}}, + {ZCR_COLOR_MANAGER_V1_RANGE_NAMES_DERIVED, +- RangeVersion(gfx::ColorSpace::RangeID::DERIVED, +- kDefaultSinceVersion)}}); ++ RangeVersion{gfx::ColorSpace::RangeID::DERIVED, ++ kDefaultSinceVersion}}}); + + zcr_color_manager_v1_chromaticity_names ToColorManagerChromaticity( + gfx::ColorSpace::PrimaryID primaryID, +@@ -283,4 +283,4 @@ zcr_color_manager_v1_eotf_names ToColorM + + } // namespace ui::wayland + +-#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ +\ Kein Zeilenumbruch am Dateiende. ++#endif // UI_BASE_WAYLAND_COLOR_MANAGER_UTIL_H_ +diff -up chromium-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(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 Address + } + + base::span observations_data = s.ColumnBlob(3); +- field_type_values.emplace_back( ++ field_type_values.emplace_back() = { + type, s.ColumnString16(1), s.ColumnInt(2), + std::vector(observations_data.begin(), +- observations_data.end())); ++ observations_data.end())}; + + if (type == ADDRESS_HOME_COUNTRY) { + country_code = base::UTF16ToUTF8(s.ColumnString16(1)); +diff -up chromium-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 DoGet + return std::nullopt; + } + +- return DebugReportCooldown(cooldown_debugging_only_report.ColumnTime(0), ++ return DebugReportCooldown{cooldown_debugging_only_report.ColumnTime(0), + static_cast( +- cooldown_debugging_only_report.ColumnInt(1))); ++ cooldown_debugging_only_report.ColumnInt(1))}; + } + + void DoGetDebugReportCooldowns( +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 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(manager.driver()); + driver.browser_events().RendererShouldTriggerSuggestions( +- FieldGlobalId(driver.GetFrameToken(), +- FieldRendererId(params_.field_renderer_id)), ++ FieldGlobalId{driver.GetFrameToken(), ++ FieldRendererId(params_.field_renderer_id)}, + AutofillSuggestionTriggerSource::kManualFallbackPayments); + LogManualFallbackContextMenuEntryAccepted( + static_cast(manager), +--- 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 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 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( + 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 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( + 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( + 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 ClientS + + return base::MakeRefCounted( + mailbox, +- SharedImageMetadata(format, size, color_space, surface_origin, alpha_type, +- usage), ++ SharedImageMetadata{format, size, color_space, surface_origin, alpha_type, ++ usage}, + GenUnverifiedSyncToken(), holder_); + } + +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 GetGpuFeatur + *base::CommandLine::ForCurrentProcess(); + + std::vector features; +- features.emplace_back( ++ features.emplace_back() = { + "2d_canvas", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS, +@@ -116,13 +116,13 @@ std::vector GetGpuFeatur + DisableInfo::Problem( + "Accelerated 2D canvas is unavailable: either disabled " + "via blocklist or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "canvas_oop_rasterization", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION, +- command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))); +- features.emplace_back( ++ command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))}; ++ features.emplace_back() = { + "gpu_compositing", + // TODO(rivr): Replace with a check to see which backend is used for + // compositing; do the same for GPU rasterization if it's enabled. For +@@ -136,16 +136,16 @@ std::vector GetGpuFeatur + "about:flags " + "or the command line. The browser will fall back to software " + "compositing and hardware acceleration will be unavailable."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "webgl", + SafeGetFeatureStatus(gpu_feature_info, + gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL, + command_line.HasSwitch(switches::kDisableWebGL)), + DisableInfo::Problem( + "WebGL has been disabled via blocklist or the command line."), +- false); +- features.emplace_back( ++ false}; ++ features.emplace_back() = { + "video_decode", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE, +@@ -156,8 +156,8 @@ std::vector GetGpuFeatur + DisableInfo::Problem( + "Accelerated video decode has been disabled, either via blocklist, " + "about:flags or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "video_encode", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE, +@@ -169,33 +169,33 @@ std::vector GetGpuFeatur + DisableInfo::Problem( + "Accelerated video encode has been disabled, either via blocklist, " + "about:flags or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "rasterization", + SafeGetFeatureStatus(gpu_feature_info, + gpu::GPU_FEATURE_TYPE_GPU_TILE_RASTERIZATION), + DisableInfo::Problem( + "Accelerated rasterization has been disabled, either via blocklist, " + "about:flags or the command line."), +- true); +- features.emplace_back( ++ true}; ++ features.emplace_back() = { + "opengl", SafeGetFeatureStatus(gpu_feature_info, +- gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)); ++ gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)}; + #if BUILDFLAG(ENABLE_VULKAN) +- features.emplace_back( ++ features.emplace_back() = { + "vulkan", +- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)); ++ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)}; + #endif +- features.emplace_back( ++ features.emplace_back() = { + "multiple_raster_threads", +- GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)); ++ GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)}; + #if BUILDFLAG(IS_ANDROID) +- features.emplace_back( ++ features.emplace_back() = { + "surface_control", + SafeGetFeatureStatus(gpu_feature_info, +- gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)); ++ gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)}; + #endif +- features.emplace_back( ++ features.emplace_back() = { + "webgl2", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL2, +@@ -203,12 +203,12 @@ std::vector GetGpuFeatur + command_line.HasSwitch(switches::kDisableWebGL2)), + DisableInfo::Problem( + "WebGL2 has been disabled via blocklist or the command line."), +- false); +- features.emplace_back("raw_draw", +- GetFakeFeatureStatus(features::IsUsingRawDraw())); +- features.emplace_back("direct_rendering_display_compositor", +- GetFakeFeatureStatus(features::IsDrDcEnabled())); +- features.emplace_back( ++ false}; ++ features.emplace_back() = {"raw_draw", ++ GetFakeFeatureStatus(features::IsUsingRawDraw())}; ++ features.emplace_back() = {"direct_rendering_display_compositor", ++ GetFakeFeatureStatus(features::IsDrDcEnabled())}; ++ features.emplace_back() = { + "webgpu", + SafeGetFeatureStatus( + gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGPU, +@@ -216,14 +216,14 @@ std::vector GetGpuFeatur + !base::FeatureList::IsEnabled(::features::kWebGPUService)), + DisableInfo::Problem( + "WebGPU has been disabled via blocklist or the command line."), +- false); +- features.emplace_back( ++ false}; ++ features.emplace_back() = { + "skia_graphite", + SafeGetFeatureStatus(gpu_feature_info, +- gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)); +- features.emplace_back( ++ gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)}; ++ features.emplace_back() = { + "webnn", +- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)); ++ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)}; + return features; + } + +diff -up chromium-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/SOURCES/chromium-124-python3-assignment-expressions.patch b/SOURCES/chromium-124-python3-assignment-expressions.patch deleted file mode 100644 index 61ce0378..00000000 --- a/SOURCES/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 \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/SOURCES/chromium-124-qt6.patch b/SOURCES/chromium-124-qt6.patch new file mode 100644 index 00000000..5c600c5b --- /dev/null +++ b/SOURCES/chromium-124-qt6.patch @@ -0,0 +1,11 @@ +diff -up chromium-124.0.6367.155/ui/qt/BUILD.gn.me chromium-124.0.6367.155/ui/qt/BUILD.gn +--- chromium-124.0.6367.155/ui/qt/BUILD.gn.me 2024-05-08 18:15:34.178627040 +0200 ++++ chromium-124.0.6367.155/ui/qt/BUILD.gn 2024-05-08 18:29:31.162513709 +0200 +@@ -61,6 +61,7 @@ template("qt_shim") { + packages = [ + "Qt" + invoker.qt_version + "Core", + "Qt" + invoker.qt_version + "Widgets", ++ "Qt" + invoker.qt_version + "Gui", + ] + } + diff --git a/SOURCES/chromium-124-rust-clang_lib.patch b/SOURCES/chromium-124-rust-clang_lib.patch new file mode 100644 index 00000000..cc152ecc --- /dev/null +++ b/SOURCES/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/SOURCES/chromium-123-typename.patch b/SOURCES/chromium-124-typename.patch similarity index 52% rename from SOURCES/chromium-123-typename.patch rename to SOURCES/chromium-124-typename.patch index aebbd189..a4c73647 100644 --- a/SOURCES/chromium-123-typename.patch +++ b/SOURCES/chromium-124-typename.patch @@ -1,10 +1,33 @@ - -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* Fin +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 +-InternalAllocator::value_type* InternalAllocator::allocate( ++typename InternalAllocator::value_type* InternalAllocator::allocate( + std::size_t count) { + PA_CHECK(count <= + std::numeric_limits::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, + "HeapArray cannot hold reference types"); + +- using iterator = base::span::iterator; +- using const_iterator = base::span::iterator; ++ using iterator = typename base::span::iterator; ++ using const_iterator = typename base::span::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* Fin template >::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 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 struct ParamCanBeBound { private: @@ -40,10 +63,36 @@ diff -up chromium-122.0.6261.69/base/functional/bind_internal.h.typename chromiu BindArgument::template BoundAs::template StoredAs; template + class FunctionRef { + template ::RunType> ++ typename RunType = typename internal::FunctorTraits::RunType> + static constexpr bool kCompatibleFunctor = + std::convertible_to, R> && + std::same_as, internal::TypeList>; +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 { + public: + using absl::FixedArray::FixedArray; +- explicit FixedArray(absl::FixedArray::size_type n, +- const absl::FixedArray::allocator_type& a = ++ explicit FixedArray(typename absl::FixedArray::size_type n, ++ const typename absl::FixedArray::allocator_type& a = + typename absl::FixedArray::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 @@ -52,7 +101,7 @@ diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_u CHECK(!cache.empty()); auto it = cache.end(); return std::prev(it); -@@ -1090,9 +1090,9 @@ bool DownloadBubbleUpdateService::CacheM +@@ -1179,9 +1179,9 @@ bool DownloadBubbleUpdateService::CacheM } template @@ -64,183 +113,9 @@ diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_u SortedItems& cache, IterMap& 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(request_metadata); -+ static_cast(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 -- 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 - { c[i] } -> std::same_as; - } - struct ArrayTraits { -- 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; - using USpan = base::span; - // 32 matches that used by HTMLToken::Attribute. -- typedef std::conditional, -+ typedef typename std::conditional, - UCharLiteralBuffer<32>, - LCharLiteralBuffer<32>>::type LiteralBufferType; - static_assert(std::is_same_v || std::is_same_v); -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 --InternalAllocator::value_type* InternalAllocator::allocate( -+typename InternalAllocator::value_type* InternalAllocator::allocate( - std::size_t count) { - PA_CHECK(count <= - std::numeric_limits::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, - "HeapArray cannot hold reference types"); - -- using iterator = base::span::iterator; -- using const_iterator = base::span::iterator; -+ using iterator = typename base::span::iterator; -+ using const_iterator = typename base::span::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 - using VecPtrLikeUnderlyingValueType = -- std::pointer_traits>::element_type; -+ typename std::pointer_traits>::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::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::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 { - public: - using absl::FixedArray::FixedArray; -- explicit FixedArray(absl::FixedArray::size_type n, -- const absl::FixedArray::allocator_type& a = -+ explicit FixedArray(typename absl::FixedArray::size_type n, -+ const typename absl::FixedArray::allocator_type& a = - typename absl::FixedArray::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 +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 class CommandWithLock : public CommandBase { @@ -250,9 +125,9 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/interna 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 +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 class WebAppCommand : public internal::CommandWithLock { @@ -262,10 +137,10 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app using CallbackType = base::OnceCallback; using ShutdownArgumentsTuple = std::tuple...>; -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 { +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 void ScheduleCallback(const std::string& operation_name, @@ -274,7 +149,7 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_ CallbackCommand callback, base::OnceClosure on_complete, const base::Location& location = FROM_HERE) { -@@ -373,7 +373,7 @@ class WebAppCommandScheduler { +@@ -387,7 +387,7 @@ class WebAppCommandScheduler { typename CallbackReturnValue = std::decay_t> void ScheduleCallbackWithResult( const std::string& operation_name, @@ -283,48 +158,34 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_ CallbackCommand callback, base::OnceCallback 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; +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( -- void Start(ProtoFetcher::Callback callback) override { -+ void Start(typename ProtoFetcher::Callback callback) override { - callback_ = std::move(callback); - Retry(); - } -@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public - } - - // Client callback. -- TypedProtoFetcher::Callback callback_; -+ typename TypedProtoFetcher::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; -- using KeyType = base::IDMap>::KeyType; -+ using KeyType = typename base::IDMap>::KeyType; + // Request is set by the feature and should always be typed. + auto typed_request = +- static_cast(request_metadata); ++ static_cast(request_metadata); + *(logging_data->mutable_request_data()) = typed_request; + } - public: - // Provides fresh instances of a deferred fetcher for each fetch. -@@ -506,7 +506,7 @@ class ParallelFetchManager { +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 { + } - // 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 @@ + template +- 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, @@ -333,7 +194,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe override { DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -264,7 +264,7 @@ +@@ -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> SendForBatchExecutionSync( @@ -342,7 +203,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe override { DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -422,7 +422,7 @@ +@@ -422,7 +422,7 @@ class TFLiteModelExecutor : public Model // executes it on the model execution thread. void LoadModelFileAndBatchExecute( BatchExecutionCallback callback_on_complete, @@ -351,7 +212,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -439,7 +439,7 @@ +@@ -439,7 +439,7 @@ class TFLiteModelExecutor : public Model // Batch executes the loaded model for inputs. void BatchExecuteLoadedModel( @@ -360,7 +221,7 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe std::vector>* outputs) { DCHECK(execution_task_runner_->RunsTasksInCurrentSequence()); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -@@ -499,7 +499,7 @@ +@@ -499,7 +499,7 @@ class TFLiteModelExecutor : public Model // Unloads the model if needed. void BatchExecuteLoadedModelAndRunCallback( BatchExecutionCallback callback_on_complete, @@ -369,20 +230,93 @@ diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fe 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 - class FunctionRef { - template ::RunType> -+ typename RunType = typename internal::FunctorTraits::RunType> - static constexpr bool kCompatibleFunctor = - std::convertible_to, R> && - std::same_as, internal::TypeList>; -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 +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::Callback callback) override { ++ void Start(typename ProtoFetcher::Callback callback) override { + callback_ = std::move(callback); + Retry(); + } +@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public + } + + // Client callback. +- TypedProtoFetcher::Callback callback_; ++ typename TypedProtoFetcher::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; +- using KeyType = base::IDMap>::KeyType; ++ using KeyType = typename base::IDMap>::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 + { c[i] } -> std::same_as; + } + struct ArrayTraits { +- 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 + using VecPtrLikeUnderlyingValueType = +- std::pointer_traits>::element_type; ++ typename std::pointer_traits>::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 requires std::derived_from @@ -392,10 +326,10 @@ diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/scri } 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 +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 = @@ -404,3 +338,92 @@ diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/scri }; } // 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; + using USpan = base::span; + // 32 matches that used by HTMLToken::Attribute. +- typedef std::conditional, ++ typedef typename std::conditional, + UCharLiteralBuffer<32>, + LCharLiteralBuffer<32>>::type LiteralBufferType; + static_assert(std::is_same_v || std::is_same_v); +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::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::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 > + auto ToVector(Range&& range, Proj proj = {}) { + using ProjectedType = +- std::projected, Proj>::value_type; ++ typename std::projected, Proj>::value_type; + std::vector container; + container.reserve(std::size(range)); + ranges::transform(std::forward(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 +-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/SOURCES/chromium-124-workaround_clang_bug-structured_binding.patch b/SOURCES/chromium-124-workaround_clang_bug-structured_binding.patch new file mode 100644 index 00000000..727e4f5d --- /dev/null +++ b/SOURCES/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 origin_and_url; + std::swap(origin_and_url, queued_jobs_.front()); + queued_jobs_.pop(); +- const auto& [origin, url] = origin_and_url; ++ const auto& [origin, u] = origin_and_url; ++ const auto& url = u; + TRACE_EVENT_WITH_FLOW1( + "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob", + TRACE_ID_LOCAL(this), +--- chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc.workaround_clang_bug-structured_binding 2024-05-05 16:22:47.581070868 +0200 ++++ chromium-124.0.6367.118/content/common/service_worker/race_network_request_url_loader_client.cc 2024-05-05 16:27:18.859972481 +0200 +@@ -417,7 +417,8 @@ + } + + SCOPED_CRASH_KEY_STRING256("SWRace", "request_url", request_.url.spec()); +- auto [read_result, read_buffer] = read_buffer_manager_->ReadData(); ++ auto [r, read_buffer] = read_buffer_manager_->ReadData(); ++ auto read_result = r; + TRACE_EVENT_WITH_FLOW2("ServiceWorker", + "ServiceWorkerRaceNetworkRequestURLLoaderClient::Read", + TRACE_ID_LOCAL(this), diff --git a/SOURCES/skia-vsx-instructions.patch b/SOURCES/skia-vsx-instructions.patch index 1cec31ee..fa9d5c73 100644 --- a/SOURCES/skia-vsx-instructions.patch +++ b/SOURCES/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 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 #elif defined(SK_ARM_HAS_NEON) #include -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 #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 #include @@ -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(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 - // 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(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/SPECS/chromium.spec b/SPECS/chromium.spec index bc0aa166..5381759b 100644 --- a/SPECS/chromium.spec +++ b/SPECS/chromium.spec @@ -87,7 +87,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 @@ -204,13 +204,18 @@ %endif # enable qt backend -%if 0%{?rhel} > 9 || 0%{?fedora} %global use_qt6 0 +%global use_qt 0 + +%if 0%{?rhel} > 9 || 0%{?fedora} > 39 +%global use_qt6 1 %global use_qt 1 %else +%if 0%{?rhel} == 8 || 0%{?rhel} == 9 || 0%{?fedora} %global use_qt6 0 %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. @@ -339,7 +344,7 @@ %endif Name: chromium%{chromium_channel} -Version: 124.0.6367.118 +Version: 124.0.6367.155 Release: 1%{?dist}.inferit Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Url: http://www.chromium.org/Home @@ -431,51 +436,53 @@ Patch108: chromium-118-el7_v4l2_quantization.patch Patch109: chromium-114-wireless-el7.patch Patch110: chromium-115-buildflag-el7.patch Patch111: chromium-116-constexpr.patch -# old clang on el7 - +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 +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 +Patch141: chromium-118-dma_buf_export_sync_file-conflict.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 +# add correct path for Qt6Gui header and libs +Patch150: chromium-124-qt6.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 - # 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 @@ -488,9 +495,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 @@ -505,9 +509,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 @@ -515,7 +516,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 @@ -640,6 +641,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 + # Yandex logo Source50: https://upload.wikimedia.org/wikipedia/commons/f/f1/Yandex_logo_2021_Russian.svg @@ -1279,49 +1284,50 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena %patch -P91 -p1 -b .system-opus %endif -#%%if ! %{bundleffmpegfree} -#%%if 0%{?rhel} == 9 -#%%patch -P115 -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 -#%%endif - # EPEL specific patches %if 0%{?rhel} == 7 %patch -P100 -p1 -b .el7-memfd-fcntl-include %patch -P101 -p1 -b .wayland-strndup-error -#patch -P102 -p1 -b .default-constructor-involving-anonymous-union +%patch -P102 -p1 -b .default-constructor-involving-anonymous-union %patch -P103 -p1 -b .epel7-header-workarounds %patch -P104 -p1 -b .el7cups %patch -P105 -p1 -b .el7-old-libdrm %patch -P106 -p1 -b .el7-erase-fix -#patch -P107 -p1 -b .el7-extra-operator-equalequal +%patch -P107 -p1 -b .el7-extra-operator-equalequal %patch -P108 -p1 -b .el7_v4l2_quantization %patch -P109 -p1 -b .wireless %patch -P110 -p1 -b .buildflag-el7 -#patch -P111 -p1 -b .constexpr +%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} == 9 +%patch -P140 -p1 -b .revert-av1enc %endif %if 0%{?rhel} == 8 || 0%{?rhel} == 9 -%patch -P140 -p1 -b .dma_buf_export_sync_file-conflict +%patch -P141 -p1 -b .dma_buf_export_sync_file-conflict %endif %if 0%{?rhel} == 9 %patch -P130 -p1 -b .revert-av1enc %endif +%if 0%{?rhel} > 9 || 0%{?fedora} > 39 +%patch -P150 -p1 -b .qt6 +%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 @@ -1350,9 +1356,6 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena %endif %patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint -%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 @@ -1511,11 +1514,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} @@ -1568,6 +1566,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 @@ -2249,6 +2248,11 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %endif %changelog +* Thu May 09 2024 Arkady L. Shane - 124.0.6367.155-1.inferit +- update to 124.0.6367.155 + * High CVE-2024-4558: Use after free in ANGLE + * High CVE-2024-4559: Heap buffer overflow in WebAudio + * Thu May 02 2024 Arkady L. Shane - 124.0.6367.118-1.inferit - update to 124.0.6367.118 * High CVE-2024-4331: Use after free in Picture In Picture