diff --git a/.chromium.metadata b/.chromium.metadata index 8d3ea2d7..62b34afc 100644 --- a/.chromium.metadata +++ b/.chromium.metadata @@ -1,3 +1,3 @@ -bd2f4ca77e26dc46897577cc3293c32fa689496a SOURCES/chromium-124.0.6367.118-clean.tar.xz +6059aa905ef290916716f47ca091a9f4e29940db SOURCES/chromium-124.0.6367.155-clean.tar.xz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz diff --git a/.gitignore b/.gitignore index 94c8510a..59ae8ba7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -SOURCES/chromium-124.0.6367.118-clean.tar.xz +SOURCES/chromium-124.0.6367.155-clean.tar.xz SOURCES/linux-arm64-0.19.2.tgz SOURCES/linux-x64-0.19.2.tgz 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-el8-support-64kpage.patch b/SOURCES/chromium-124-el8-support-64kpage.patch index 97e4c76e..ed4a4e69 100644 --- a/SOURCES/chromium-124-el8-support-64kpage.patch +++ b/SOURCES/chromium-124-el8-support-64kpage.patch @@ -90,7 +90,7 @@ diff -up chromium-124.0.6367.49/base/allocator/partition_allocator/src/partition - : kMaxEmptyCacheIndexBits; // < kMaxFreeableSpans. - uint16_t unused2_ : (16 - 1 - kMaxEmptyCacheIndexBits); + bool in_empty_cache_ : 1; -+ uint8_t empty_cache_index_ : kEmptyCacheIndexBits; // < kMaxFreeableSpans. ++ uint8_t empty_cache_index_ : kMaxEmptyCacheIndexBits; // < kMaxFreeableSpans. // Can use only 48 bits (6B) in this bitfield, as this structure is embedded // in PartitionPage which has 2B worth of fields and must fit in 32B. diff --git a/SOURCES/chromium-123-no_matching_constructor.patch b/SOURCES/chromium-124-no_matching_constructor.patch similarity index 82% rename from SOURCES/chromium-123-no_matching_constructor.patch rename to SOURCES/chromium-124-no_matching_constructor.patch index 4b29170b..0c60858a 100644 --- a/SOURCES/chromium-123-no_matching_constructor.patch +++ b/SOURCES/chromium-124-no_matching_constructor.patch @@ -988,47 +988,6 @@ diff -up chromium-122.0.6261.69/chrome/browser/file_system_access/chrome_file_sy } base::ThreadPool::PostTaskAndReplyWithResult( -diff -up chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc.me chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc ---- chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc.me 2024-02-25 19:14:16.227843148 +0100 -+++ chromium-122.0.6261.69/chrome/browser/performance_manager/mechanisms/page_discarder.cc 2024-02-25 19:15:04.589307468 +0100 -@@ -53,7 +53,7 @@ std::vector - if (lifecycle_unit->DiscardTab( - discard_reason, - /*memory_footprint_estimate=*/proxy.second)) { -- discard_events.emplace_back(base::TimeTicks::Now(), proxy.second); -+ discard_events.emplace_back() = {base::TimeTicks::Now(), proxy.second}; - } - } - return discard_events; -diff -up chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h.me chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h ---- chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h.me 2024-02-25 17:26:25.623572458 +0100 -+++ chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h 2024-02-25 17:29:52.983345280 +0100 -@@ -204,6 +204,7 @@ class ServiceWorkerTaskQueue : public Ke - raw_ptr browser_context; - base::UnguessableToken token; - -+ SequencedContextId(auto e, auto b, auto t) : extension_id(e), browser_context(b), token(t) { } - bool operator<(const SequencedContextId& rhs) const { - return std::tie(extension_id, browser_context, token) < - std::tie(rhs.extension_id, rhs.browser_context, rhs.token); -diff -up chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc.me chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc ---- chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc.me 2024-02-25 20:05:40.567891077 +0100 -+++ chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-02-25 20:05:46.407001997 +0100 -@@ -3993,10 +3993,10 @@ void RenderViewContextMenu::ExecOpenComp - autofill::LocalFrameToken frame_token = driver->GetFrameToken(); - client->GetManager().OpenCompose( - *driver, -- autofill::FormGlobalId( -- frame_token, autofill::FormRendererId(params_.form_renderer_id)), -- autofill::FieldGlobalId( -- frame_token, autofill::FieldRendererId(params_.field_renderer_id)), -+ autofill::FormGlobalId{ -+ frame_token, autofill::FormRendererId(params_.form_renderer_id)}, -+ autofill::FieldGlobalId{ -+ frame_token, autofill::FieldRendererId(params_.field_renderer_id)}, - compose::ComposeManagerImpl::UiEntryPoint::kContextMenu); - new_badge_tracker_.ActionPerformed("compose_menu_item_activated"); - } else { --- chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me 2024-03-15 15:16:46.980123806 +0100 +++ chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2024-03-15 15:18:39.024042560 +0100 @@ -474,10 +474,10 @@ @@ -1068,26 +1027,6 @@ diff -up chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view AutofillSuggestionTriggerSource::kManualFallbackPayments); LogManualFallbackContextMenuEntryAccepted( static_cast(manager), ---- chromium-123.0.6312.46/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor 2024-03-13 20:35:40.000000000 +0100 -+++ chromium-123.0.6312.46/chrome/browser/ui/web_applications/sub_apps_service_impl.cc 2024-03-15 16:20:45.846919820 +0100 -@@ -107,7 +107,7 @@ - ConvertPathToUrl(sub_app->manifest_id_path, origin)); - ASSIGN_OR_RETURN(GURL install_url, - ConvertPathToUrl(sub_app->install_url_path, origin)); -- sub_apps.emplace_back(std::move(manifest_id), std::move(install_url)); -+ sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)}; - } - return sub_apps; - } -@@ -439,7 +439,7 @@ - base::BindOnce( - [](webapps::ManifestId manifest_id, const webapps::AppId& app_id, - webapps::InstallResultCode result_code) { -- return SubAppInstallResult(manifest_id, app_id, result_code); -+ return SubAppInstallResult{manifest_id, app_id, result_code}; - }, - manifest_id) - .Then(concurrent.CreateCallback())); --- chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2024-03-13 20:35:57.000000000 +0100 +++ chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h 2024-03-15 16:24:57.899540941 +0100 @@ -96,7 +96,7 @@ @@ -1108,257 +1047,346 @@ diff -up chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view } double GetAlphaMultiplier() const { -diff -up chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.me chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc ---- chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.me 2024-03-15 19:01:07.765832801 +0100 -+++ chromium-123.0.6312.46/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc 2024-03-15 19:01:52.918687742 +0100 -@@ -62,7 +62,7 @@ bool LightweightQuarantineBranch::Quaran - branch_size_in_bytes_ += usable_size; - PA_DCHECK(branch_size_in_bytes_ <= capacity_in_bytes); +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-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc.me chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc ---- chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc.me 2024-03-16 18:43:17.863328507 +0100 -+++ chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc 2024-03-16 18:51:00.449277152 +0100 -@@ -106,8 +106,8 @@ scoped_refptr ClientS - AddMailbox(proxy_->CreateSharedImage(format, size, color_space, - surface_origin, alpha_type, usage, - debug_label)), -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); - } +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 -@@ -137,8 +137,8 @@ scoped_refptr ClientS + ASSIGN_OR_RETURN(bool report_header_errors, ParseReportHeaderErrors(dict)); - return base::MakeRefCounted( - AddMailbox(mailbox), -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); +- return RegistrationInfo(preferred_platform, report_header_errors); ++ return RegistrationInfo{preferred_platform, report_header_errors}; } -@@ -165,8 +165,8 @@ scoped_refptr ClientS - CHECK(!buffer_handle.is_null()); - return base::MakeRefCounted( - AddMailbox(mailbox), -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), - GpuMemoryBufferHandleInfo(std::move(buffer_handle), format, size, - buffer_usage), -@@ -192,8 +192,8 @@ scoped_refptr ClientS + } // 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, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), - GpuMemoryBufferHandleInfo(std::move(client_buffer_handle), format, size, - buffer_usage), -@@ -219,8 +219,8 @@ scoped_refptr ClientS - AddMailbox(proxy_->CreateSharedImage( - format, size, color_space, surface_origin, alpha_type, usage, - debug_label, std::move(buffer_handle))), -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, +- 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_); } -@@ -273,8 +273,8 @@ ClientSharedImageInterface::CreateShared - AddMailbox(proxy_->CreateSharedImage(format, size, color_space, - surface_origin, alpha_type, usage, - debug_label, std::move(handle))), -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); - return shared_image_mapping; - } -@@ -296,10 +296,10 @@ scoped_refptr ClientS - buffer_format, plane, gpu_memory_buffer->GetSize(), color_space, - surface_origin, alpha_type, usage, debug_label, +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())), -- ClientSharedImage::Metadata( -+ ClientSharedImage::Metadata{ - viz::GetSinglePlaneSharedImageFormat(buffer_format), - gpu_memory_buffer->GetSize(), color_space, surface_origin, alpha_type, -- usage), -+ usage}, - GenUnverifiedSyncToken(), holder_); +- 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()); } -@@ -334,13 +334,13 @@ ClientSharedImageInterface::CreateSwapCh +@@ -277,13 +277,13 @@ ClientSharedImageInterface::CreateSwapCh return ClientSharedImageInterface::SwapChainSharedImages( base::MakeRefCounted( mailboxes.front_buffer, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, +- 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, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, +- SharedImageMetadata(format, size, color_space, surface_origin, +- alpha_type, usage), ++ SharedImageMetadata{format, size, color_space, surface_origin, ++ alpha_type, usage}, sync_token, holder_)); } -@@ -380,8 +380,8 @@ ClientSharedImageInterface::AddReference - - return base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - sync_token, holder_); - } - -@@ -402,8 +402,8 @@ scoped_refptr ClientS +@@ -339,8 +339,8 @@ scoped_refptr ClientS return base::MakeRefCounted( mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, +- 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-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc.me chromium-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc ---- chromium-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc.me 2024-03-16 18:59:20.175882894 +0100 -+++ chromium-123.0.6312.46/gpu/command_buffer/client/shared_image_interface.cc 2024-03-16 19:03:05.001754609 +0100 -@@ -41,8 +41,8 @@ scoped_refptr SharedI - NOTREACHED(); - return base::MakeRefCounted( - Mailbox(), -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); - } - -diff -up chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc.me chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc ---- chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc.me 2024-03-16 19:06:32.102330155 +0100 -+++ chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc 2024-03-16 19:11:59.627008063 +0100 -@@ -238,8 +238,8 @@ SharedImageInterfaceInProcess::CreateSha - } - return base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); +diff -up chromium-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; } -@@ -301,8 +301,8 @@ SharedImageInterfaceInProcess::CreateSha - } - return base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); - } - -@@ -365,8 +365,8 @@ SharedImageInterfaceInProcess::CreateSha - - return base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), GetGpuMemoryBufferHandleInfo(mailbox), holder_); - } - -@@ -481,8 +481,8 @@ SharedImageInterfaceInProcess::CreateSha - - return base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), - GpuMemoryBufferHandleInfo(std::move(client_buffer_handle), format, size, - buffer_usage), -@@ -524,8 +524,8 @@ SharedImageInterfaceInProcess::CreateSha - - return base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); - } - SharedImageInterface::SharedImageMapping -@@ -589,8 +589,8 @@ SharedImageInterfaceInProcess::CreateSha +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); } - shared_image_mapping.shared_image = base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata(format, size, color_space, surface_origin, -- alpha_type, usage), -+ ClientSharedImage::Metadata{format, size, color_space, surface_origin, -+ alpha_type, usage}, - GenUnverifiedSyncToken(), holder_); - - return shared_image_mapping; -@@ -664,10 +664,10 @@ SharedImageInterfaceInProcess::CreateSha - return base::MakeRefCounted( - mailbox, -- ClientSharedImage::Metadata( -+ ClientSharedImage::Metadata{ - viz::GetSinglePlaneSharedImageFormat(gpu_memory_buffer->GetFormat()), - gpu_memory_buffer->GetSize(), color_space, surface_origin, alpha_type, -- usage), -+ usage}, - GenUnverifiedSyncToken(), holder_); - } - -diff -up chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc ---- chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me 2024-03-17 00:42:31.183226211 +0100 -+++ chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc 2024-03-17 00:55:56.689512430 +0100 -@@ -1507,7 +1507,7 @@ void AttributionManagerImpl::PrepareNext - RenderFrameHost::FromID(event.render_frame_id), - source_origin, destination_origin, &reporting_origin, - &can_bypass_cookie_check)) { -- need_to_check_cookie.emplace_back(url::Origin::Create(item.url), i); -+ need_to_check_cookie.emplace_back() = {url::Origin::Create(item.url), i}; - } else { - allowed.at(i) = can_bypass_cookie_check; +@@ -218,7 +218,7 @@ void AudioRendererMixerManager::ReturnMi } -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}; + } 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-122-rust-clang_lib.patch b/SOURCES/chromium-124-rust-clang_lib.patch similarity index 95% rename from SOURCES/chromium-122-rust-clang_lib.patch rename to SOURCES/chromium-124-rust-clang_lib.patch index 111b5709..cc152ecc 100644 --- a/SOURCES/chromium-122-rust-clang_lib.patch +++ b/SOURCES/chromium-124-rust-clang_lib.patch @@ -36,7 +36,7 @@ diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chrom + # different clang lib dir in fedora/epel + if (clang_version == "17" || clang_version == "18") { + _suffix = "" -+ } else if (clang_version == "16" || clang_version == "14") { ++ } else if (clang_version == "14" || clang_version == "15" || clang_version == "16") { + _libprefix = "64" + _dir = "" + } 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-123-workaround_clang_bug-structured_binding.patch b/SOURCES/chromium-124-workaround_clang_bug-structured_binding.patch similarity index 85% rename from SOURCES/chromium-123-workaround_clang_bug-structured_binding.patch rename to SOURCES/chromium-124-workaround_clang_bug-structured_binding.patch index 998fbad7..727e4f5d 100644 --- a/SOURCES/chromium-123-workaround_clang_bug-structured_binding.patch +++ b/SOURCES/chromium-124-workaround_clang_bug-structured_binding.patch @@ -64,15 +64,15 @@ diff -up chromium-122.0.6261.69/chrome/browser/predictors/lcp_critical_path_pred TRACE_EVENT_WITH_FLOW1( "loading", "PrewarmHttpDiskCacheManager::MaybeProcessNextQueuedJob", TRACE_ID_LOCAL(this), ---- chromium-123.0.6312.46/content/common/service_worker/race_network_request_url_loader_client.cc.orig 2024-03-15 15:37:58.201209354 +0100 -+++ chromium-123.0.6312.46/content/common/service_worker/race_network_request_url_loader_client.cc 2024-03-15 15:40:35.003250723 +0100 -@@ -639,7 +639,8 @@ - return std::nullopt; +--- 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 @@ } -- auto [result, read_buffer] = BeginReadData(); -+ auto [r, read_buffer] = BeginReadData(); -+ auto result = r; - TRACE_EVENT_WITH_FLOW2( - "ServiceWorker", - "ServiceWorkerRaceNetworkRequestURLLoaderClient::ReadAndWrite", + 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/clean_ffmpeg.sh b/SOURCES/clean_ffmpeg.sh index 2f0561c2..417245aa 100755 --- a/SOURCES/clean_ffmpeg.sh +++ b/SOURCES/clean_ffmpeg.sh @@ -1,5 +1,6 @@ #!/bin/bash # Copyright 2013-2015 Tomas Popela +# Copyright 2022-2024 Than Ngo # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the # "Software"), to deal in the Software without restriction, including @@ -42,6 +43,10 @@ function copy_files() { where=$(pwd) +pushd $1 +patch -p0 < ../ffmpeg-clean.patch +popd + if ! generated_files=$(./get_free_ffmpeg_source_files.py "$1" "$2"); then exit 1 fi @@ -175,6 +180,9 @@ header_files=" libavcodec/x86/inline_asm.h \ libavformat/version.h \ libavformat/version_major.h \ libavformat/w64.h \ + libavformat/iamf_parse.h \ + libavformat/iamf_reader.h \ + libavformat/iamf.h \ libavutil/aarch64/cpu.h \ libavutil/x86/asm.h \ libavutil/x86/bswap.h \ @@ -215,6 +223,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavutil/timestamp.h \ libavutil/tx_priv.h \ libavutil/version.h \ + libavutil/sfc64.h \ libswresample/swresample.h \ libswresample/version.h \ libswresample/version_major.h \ diff --git a/SOURCES/ffmpeg-clean.patch b/SOURCES/ffmpeg-clean.patch new file mode 100644 index 00000000..31ceba8a --- /dev/null +++ b/SOURCES/ffmpeg-clean.patch @@ -0,0 +1,14 @@ +diff -up third_party/ffmpeg/ffmpeg_generated.gni.me third_party/ffmpeg/ffmpeg_generated.gni +--- third_party/ffmpeg/ffmpeg_generated.gni.me 2024-05-05 00:45:53.017100841 +0200 ++++ third_party/ffmpeg/ffmpeg_generated.gni 2024-05-05 00:46:20.244559951 +0200 +@@ -17,8 +17,8 @@ use_linux_config = is_linux || is_chrome + if ((is_android && current_cpu == "arm" && arm_use_neon) || + (is_android && current_cpu == "arm64") || + (is_android && current_cpu == "x64") || +- (is_android && current_cpu == "x86") || is_apple || is_win || +- use_linux_config) { ++ (is_android && current_cpu == "x86") || (is_apple) || (is_win) || ++ (use_linux_config)) { + ffmpeg_c_sources += [ + "libavcodec/ac3_channel_layout_tab.c", + "libavcodec/ac3_parser.c", 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 8c29785b..e94a2eb4 100644 --- a/SPECS/chromium.spec +++ b/SPECS/chromium.spec @@ -71,7 +71,7 @@ %endif %if 0%{?rhel} == 7 -%global chromium_pybin /usr/bin/python3 +%global chromium_pybin /opt/rh/rh-python38/root/usr/bin/python %else %if 0%{?rhel} == 8 %global chromium_pybin /usr/bin/python3.9 @@ -184,13 +184,17 @@ %endif # enable qt backend -%if 0%{?rhel} > 9 || 0%{?fedora} %global use_qt6 0 +%global use_qt 0 + +%if 0%{?rhel} > 9 || 0%{?fedora} +%global use_qt6 1 %global use_qt 1 %else -%global use_qt6 0 +%if 0%{?rhel} == 8 %global use_qt 1 %endif +%endif # Chromium's fork of ICU is now something we can't unbundle. # This is left here to ease the change if that ever switches. @@ -239,6 +243,8 @@ %global bundlelibXNVCtrl 1 %global bundlelibxml 1 %global bundlelibevent 1 +%global bundlehighway 1 +%global bundledav1d 1 %else %if 0%{?fedora} > 38 || 0%{?rhel} > 9 %global bundlebrotli 0 @@ -307,7 +313,7 @@ %endif Name: chromium%{chromium_channel} -Version: 124.0.6367.118 +Version: 124.0.6367.155 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Url: http://www.chromium.org/Home @@ -399,50 +405,51 @@ Patch108: chromium-118-el7_v4l2_quantization.patch Patch109: chromium-114-wireless-el7.patch Patch110: chromium-115-buildflag-el7.patch Patch111: chromium-122-el7-inline-function.patch +Patch112: chromium-124-el7-powf.patch Patch113: chromium-121-el7-clang-version-warning.patch Patch114: chromium-123-el7-clang-build-failure.patch +Patch115: chromium-124-el7-size_t.patch + +# fixes for old clang version in el7 (clang <= 15) +# compiler build errors, no matching constructor for initialization +Patch116: chromium-124-no_matching_constructor.patch +Patch117: chromium-115-compiler-SkColor4f.patch + +# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826 +Patch118: chromium-124-workaround_clang_bug-structured_binding.patch + +# missing typename +Patch119: chromium-124-typename.patch + +# error: invalid operands to binary expression +Patch120: chromium-117-string-convert.patch +Patch121: chromium-119-assert.patch +Patch122: chromium-124-el7-constexpr.patch # system ffmpeg # need for old ffmpeg 5.x on epel9 -Patch115: chromium-107-ffmpeg-5.x-duration.patch +Patch130: chromium-107-ffmpeg-5.x-duration.patch # disable the check -Patch116: chromium-107-proprietary-codecs.patch +Patch131: chromium-107-proprietary-codecs.patch # fix tab crash with SIGTRAP error when using system ffmpeg -Patch117: chromium-118-sigtrap_system_ffmpeg.patch +Patch132: chromium-118-sigtrap_system_ffmpeg.patch # need for old ffmpeg 6.0/5.x on epel9 and fedora < 40 -Patch118: chromium-121-system-old-ffmpeg.patch +Patch133: chromium-121-system-old-ffmpeg.patch -# revert AV1 VAAPI video encode due to old libva on el9 -Patch130: chromium-122-revert-av1enc-el9.patch +# revert AV1 VAAPI video encode due to old libva on el9 (rhel9.3) +Patch140: chromium-122-revert-av1enc-el9.patch # file conflict with old kernel on el8/el9 -Patch140: chromium-118-dma_buf_export_sync_file-conflict.patch - -# fixes for old clang version in fedora < 38 end epel < 8 (old clang <= 15) -# compiler build errors, no matching constructor for initialization -Patch300: chromium-123-no_matching_constructor.patch -Patch301: chromium-115-compiler-SkColor4f.patch - -# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826 -Patch302: chromium-123-workaround_clang_bug-structured_binding.patch - -# missing typename -Patch303: chromium-123-typename.patch - -# error: invalid operands to binary expression -Patch304: chromium-117-string-convert.patch +Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch # disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver # not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found Patch305: chromium-124-arm64-memory_tagging.patch -Patch306: chromium-119-assert.patch - # compiler errors on epel # revert it for old clang on rhel and f38 Patch307: chromium-121-v8-c++20-p1.patch Patch308: chromium-123-v8-c++20.patch -Patch309: chromium-123-constexpr.patch # missing include header files Patch310: chromium-123-missing-header-files.patch @@ -455,9 +462,6 @@ Patch313: chromium-123-rust-clap_lex.patch Patch314: chromium-124-clang16-buildflags.patch -# assignment-expressions not suport in python < 3.8 on el 7/8 -Patch315: chromium-124-python3-assignment-expressions.patch - # add -ftrivial-auto-var-init=zero and -fwrapv Patch316: chromium-122-clang-build-flags.patch @@ -472,9 +476,6 @@ Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch # remove flag split-threshold-for-reg-with-hint, it' not supported in clang <= 17 Patch354: chromium-120-split-threshold-for-reg-with-hint.patch -# error: unknown type name 'nullptr_t' -Patch355: chromium-121-nullptr_t-without-namespace-std.patch - # disable FFmpegAllowLists by default to allow external ffmpeg patch356: chromium-122-disable-FFmpegAllowLists.patch @@ -482,7 +483,7 @@ patch356: chromium-122-disable-FFmpegAllowLists.patch Patch357: chromium-122-clang16-disable-auto-upgrade-debug-info.patch # set clang_lib path -Patch358: chromium-122-rust-clang_lib.patch +Patch358: chromium-124-rust-clang_lib.patch # ERROR Unresolved dependencies Patch359: chromium-124-libavif-deps.patch @@ -598,6 +599,10 @@ Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuil BuildRequires: golang-github-evanw-esbuild %endif +%if 0%{?rhel} == 7 +BuildRequires: rh-python38 +%endif + %if %{clang} %if 0%{?rhel} == 7 BuildRequires: llvm-toolset-%{llvm_toolset_version} @@ -1167,11 +1172,11 @@ udev. %if ! %{bundleffmpegfree} %if 0%{?rhel} == 9 -%patch -P115 -p1 -b .ffmpeg-5.x-duration +%patch -P130 -p1 -b .ffmpeg-5.x-duration %endif -%patch -P116 -p1 -b .prop-codecs -%patch -P117 -p1 -b .sigtrap_system_ffmpeg -%patch -P118 -p1 -b .system-old-ffmpeg +%patch -P131 -p1 -b .prop-codecs +%patch -P132 -p1 -b .sigtrap_system_ffmpeg +%patch -P133 -p1 -b .system-old-ffmpeg %endif # EPEL specific patches @@ -1188,26 +1193,28 @@ udev. %patch -P109 -p1 -b .wireless %patch -P110 -p1 -b .buildflag-el7 %patch -P111 -p1 -b .inline-function-el7 +%patch -P112 -p1 -b .el7-powf %patch -P113 -p1 -b .el7-clang-version-warning %patch -P114 -p1 -b .clang-build-failure -%patch -P300 -p1 -b .no_matching_constructor -%patch -P301 -p1 -b .workaround_clang-SkColor4f -%patch -P302 -p1 -b .workaround_clang_bug-structured_binding -%patch -P303 -p1 -b .typename -%patch -P304 -p1 -b .string-convert -%patch -P306 -p1 -b .assert +%patch -P115 -p1 -b .el7-size_t +%patch -P116 -p1 -b .no_matching_constructor +%patch -P117 -p1 -b .workaround_clang-SkColor4f +%patch -P118 -p1 -b .workaround_clang_bug-structured_binding +%patch -P119 -p1 -b .typename +%patch -P120 -p1 -b .string-convert +%patch -P121 -p1 -b .assert +%patch -P122 -p1 -b .constexpr %endif -%if 0%{?rhel} == 8 || 0%{?rhel} == 9 -%patch -P140 -p1 -b .dma_buf_export_sync_file-conflict +%if 0%{?rhel} == 9 +%patch -P140 -p1 -b .revert-av1enc %endif -%if 0%{?rhel} == 9 -%patch -P130 -p1 -b .revert-av1enc +%if 0%{?rhel} == 8 || 0%{?rhel} == 9 +%patch -P141 -p1 -b .dma_buf_export_sync_file-conflict %endif %if 0%{?rhel} && 0%{?rhel} <= 8 -%patch -P315 -p1 -b .assignment-expressions %ifarch aarch64 %patch -P305 -p1 -b .memory_tagging %patch -P317 -p1 -b .libdav1d-aarch64 @@ -1236,9 +1243,6 @@ udev. %endif %patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint -%if ! %{use_custom_libcxx} -%patch -P355 -p1 -b .nullptr_t-without-namespace-std -%endif %patch -P356 -p1 -b .disable-FFmpegAllowLists %patch -P357 -p1 -b .clang16-disable-auto-upgrade-debug-info %patch -P358 -p1 -b .rust-clang_lib @@ -1379,11 +1383,6 @@ cp -a third_party/dav1d/version/version.h third_party/dav1d/libdav1d/include/dav %endif %build -# utf8 issue on epel7, Internal parsing error 'ascii' codec can't -# decode byte 0xe2 in position 474: ordinal not in range(128) -%if 0%{?rhel} == 7 -export LANG=en_US.UTF-8 -%endif # reduce warnings %if %{clang} @@ -1436,6 +1435,7 @@ export RUSTFLAGS # enable toolset on el7 %if 0%{?rhel} == 7 +. /opt/rh/rh-python38/enable %if %{clang} . /opt/rh/llvm-toolset-%{llvm_toolset_version}/enable %else @@ -2113,6 +2113,16 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %endif %changelog +* Wed May 08 2024 Than Ngo - 124.0.6367.155-1 +- update to 124.0.6367.155 + * High CVE-2024-4558: Use after free in ANGLE + * High CVE-2024-4559: Heap buffer overflow in WebAudio + +* Sun May 05 2024 Than Ngo - 124.0.6367.118-2 +- fixed build errors on el8 +- refreshed clean_ffmpeg.sh +- added missing files for bundle ffmpeg + * Wed May 01 2024 Than Ngo - 124.0.6367.118-1 - update to 124.0.6367.118 * High CVE-2024-4331: Use after free in Picture In Picture