- update to 124.0.6367.155

* High CVE-2024-4558: Use after free in ANGLE
  * High CVE-2024-4559: Heap buffer overflow in WebAudio
- refreshed patches
epel8 imports/epel9/chromium-124.0.6367.155-1.el9
Than Ngo 8 months ago
parent 72c9eceb63
commit a85a4df5dc

@ -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;

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

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

@ -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);

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

@ -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<PageDiscarder::DiscardEvent>
if (lifecycle_unit->DiscardTab(
discard_reason,
/*memory_footprint_estimate=*/proxy.second)) {
- discard_events.emplace_back(base::TimeTicks::Now(), proxy.second);
+ discard_events.emplace_back() = {base::TimeTicks::Now(), proxy.second};
}
}
return discard_events;
diff -up chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h.me chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h
--- chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h.me 2024-02-25 17:26:25.623572458 +0100
+++ chromium-122.0.6261.69/extensions/browser/service_worker_task_queue.h 2024-02-25 17:29:52.983345280 +0100
@@ -204,6 +204,7 @@ class ServiceWorkerTaskQueue : public Ke
raw_ptr<content::BrowserContext> browser_context;
base::UnguessableToken token;
+ SequencedContextId(auto e, auto b, auto t) : extension_id(e), browser_context(b), token(t) { }
bool operator<(const SequencedContextId& rhs) const {
return std::tie(extension_id, browser_context, token) <
std::tie(rhs.extension_id, rhs.browser_context, rhs.token);
diff -up chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc.me chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc
--- chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc.me 2024-02-25 20:05:40.567891077 +0100
+++ chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-02-25 20:05:46.407001997 +0100
@@ -3993,10 +3993,10 @@ void RenderViewContextMenu::ExecOpenComp
autofill::LocalFrameToken frame_token = driver->GetFrameToken();
client->GetManager().OpenCompose(
*driver,
- autofill::FormGlobalId(
- frame_token, autofill::FormRendererId(params_.form_renderer_id)),
- autofill::FieldGlobalId(
- frame_token, autofill::FieldRendererId(params_.field_renderer_id)),
+ autofill::FormGlobalId{
+ frame_token, autofill::FormRendererId(params_.form_renderer_id)},
+ autofill::FieldGlobalId{
+ frame_token, autofill::FieldRendererId(params_.field_renderer_id)},
compose::ComposeManagerImpl::UiEntryPoint::kContextMenu);
new_badge_tracker_.ActionPerformed("compose_menu_item_activated");
} else {
--- chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc.me 2024-03-15 15:16:46.980123806 +0100
+++ chromium-123.0.6312.46/chrome/browser/ui/omnibox/chrome_omnibox_client.cc 2024-03-15 15:18:39.024042560 +0100
@@ -474,10 +474,10 @@
@ -1068,26 +1027,6 @@ diff -up chromium-122.0.6261.69/chrome/browser/renderer_context_menu/render_view
AutofillSuggestionTriggerSource::kManualFallbackPayments);
LogManualFallbackContextMenuEntryAccepted(
static_cast<BrowserAutofillManager&>(manager),
--- chromium-123.0.6312.46/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor 2024-03-13 20:35:40.000000000 +0100
+++ chromium-123.0.6312.46/chrome/browser/ui/web_applications/sub_apps_service_impl.cc 2024-03-15 16:20:45.846919820 +0100
@@ -107,7 +107,7 @@
ConvertPathToUrl(sub_app->manifest_id_path, origin));
ASSIGN_OR_RETURN(GURL install_url,
ConvertPathToUrl(sub_app->install_url_path, origin));
- sub_apps.emplace_back(std::move(manifest_id), std::move(install_url));
+ sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)};
}
return sub_apps;
}
@@ -439,7 +439,7 @@
base::BindOnce(
[](webapps::ManifestId manifest_id, const webapps::AppId& app_id,
webapps::InstallResultCode result_code) {
- return SubAppInstallResult(manifest_id, app_id, result_code);
+ return SubAppInstallResult{manifest_id, app_id, result_code};
},
manifest_id)
.Then(concurrent.CreateCallback()));
--- chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h.no_matching_constructor 2024-03-13 20:35:57.000000000 +0100
+++ chromium-123.0.6312.46/third_party/blink/renderer/platform/fonts/font_palette.h 2024-03-15 16:24:57.899540941 +0100
@@ -96,7 +96,7 @@
@ -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<BiddingAndAuctionServerKey> keys;
keys.reserve(key_protos.keys_size());
for (auto& key_proto : *key_protos.mutable_keys()) {
- keys.emplace_back(std::move(*key_proto.mutable_key()), key_proto.id());
+ keys.emplace_back() = {std::move(*key_proto.mutable_key()), key_proto.id()};
}
return {expiration, keys};
}
--- chromium-124.0.6367.118/chrome/browser/renderer_context_menu/render_view_context_menu.cc.no_matching_constructor 2024-05-05 11:21:25.869307434 +0200
+++ chromium-124.0.6367.118/chrome/browser/renderer_context_menu/render_view_context_menu.cc 2024-05-05 12:11:07.575690784 +0200
@@ -4043,10 +4043,10 @@
autofill::LocalFrameToken frame_token = driver->GetFrameToken();
client->GetManager().OpenCompose(
*driver,
- autofill::FormGlobalId(
- frame_token, autofill::FormRendererId(params_.form_renderer_id)),
- autofill::FieldGlobalId(
- frame_token, autofill::FieldRendererId(params_.field_renderer_id)),
+ autofill::FormGlobalId{
+ frame_token, autofill::FormRendererId(params_.form_renderer_id)},
+ autofill::FieldGlobalId{
+ frame_token, autofill::FieldRendererId(params_.field_renderer_id)},
compose::ComposeManagerImpl::UiEntryPoint::kContextMenu);
GetBrowser()->window()->NotifyPromoFeatureUsed(
compose::features::kEnableCompose);
--- chromium-124.0.6367.118/chrome/browser/ui/web_applications/sub_apps_service_impl.cc.no_matching_constructor 2024-05-01 01:46:48.000000000 +0200
+++ chromium-124.0.6367.118/chrome/browser/ui/web_applications/sub_apps_service_impl.cc 2024-05-05 12:13:22.814839779 +0200
@@ -108,7 +108,7 @@
ConvertPathToUrl(sub_app->manifest_id_path, origin));
ASSIGN_OR_RETURN(GURL install_url,
ConvertPathToUrl(sub_app->install_url_path, origin));
- sub_apps.emplace_back(std::move(manifest_id), std::move(install_url));
+ sub_apps.emplace_back() = {std::move(manifest_id), std::move(install_url)};
}
return sub_apps;
}
@@ -440,7 +440,7 @@
base::BindOnce(
[](webapps::ManifestId manifest_id, const webapps::AppId& app_id,
webapps::InstallResultCode result_code) {
- return SubAppInstallResult(manifest_id, app_id, result_code);
+ return SubAppInstallResult{manifest_id, app_id, result_code};
},
manifest_id)
.Then(concurrent.CreateCallback()),
--- chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc.no_matching_constructor 2024-05-05 11:21:25.888307743 +0200
+++ chromium-124.0.6367.118/base/allocator/partition_allocator/src/partition_alloc/lightweight_quarantine.cc 2024-05-05 12:17:07.658087100 +0200
@@ -73,7 +73,7 @@
// synchronization between the root and branch, so `branch_size_in_bytes_`
// may be larger than `root_.capacity_in_bytes_` at this point.
- slots_.emplace_back(slot_start, usable_size);
+ slots_.emplace_back() = {slot_start, usable_size};
// Swap randomly so that the quarantine list remain shuffled.
// This is not uniformly random, but sufficiently random.
diff -up chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc.me chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc
--- chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc.me 2024-03-16 18:43:17.863328507 +0100
+++ chromium-123.0.6312.46/gpu/ipc/client/client_shared_image_interface.cc 2024-03-16 18:51:00.449277152 +0100
@@ -106,8 +106,8 @@ scoped_refptr<ClientSharedImage> ClientS
AddMailbox(proxy_->CreateSharedImage(format, size, color_space,
surface_origin, alpha_type, usage,
debug_label)),
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), holder_);
}
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<ClientSharedImage> ClientS
ASSIGN_OR_RETURN(bool report_header_errors, ParseReportHeaderErrors(dict));
return base::MakeRefCounted<ClientSharedImage>(
AddMailbox(mailbox),
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), holder_);
- return RegistrationInfo(preferred_platform, report_header_errors);
+ return RegistrationInfo{preferred_platform, report_header_errors};
}
@@ -165,8 +165,8 @@ scoped_refptr<ClientSharedImage> ClientS
CHECK(!buffer_handle.is_null());
return base::MakeRefCounted<ClientSharedImage>(
AddMailbox(mailbox),
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(),
GpuMemoryBufferHandleInfo(std::move(buffer_handle), format, size,
buffer_usage),
@@ -192,8 +192,8 @@ scoped_refptr<ClientSharedImage> ClientS
} // namespace attribution_reporting
diff -up chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h.me chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h
--- chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h.me 2024-05-06 09:53:10.755781392 +0200
+++ chromium-124.0.6367.118/gpu/command_buffer/client/shared_image_interface.h 2024-05-06 09:54:42.280586275 +0200
@@ -64,19 +64,19 @@ struct SharedImageInfo {
SkAlphaType alpha_type,
uint32_t usage,
std::string_view debug_label)
- : meta(format, size, color_space, surface_origin, alpha_type, usage),
+ : meta{format, size, color_space, surface_origin, alpha_type, usage},
debug_label(debug_label) {}
SharedImageInfo(const viz::SharedImageFormat& format,
gfx::Size size,
const gfx::ColorSpace& color_space,
uint32_t usage,
std::string_view debug_label)
- : meta(format,
+ : meta{format,
size,
color_space,
kTopLeft_GrSurfaceOrigin,
kPremul_SkAlphaType,
- usage),
+ usage},
debug_label(debug_label) {}
// This constructor exists only to support the DEPRECATED CreareSharedImage
// call below that accepts a GpuMemoryBuffer. This should be removed when that
diff -up chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc.me chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc
--- chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc.me 2024-05-06 11:05:36.974350061 +0200
+++ chromium-124.0.6367.118/gpu/command_buffer/service/shared_image_interface_in_process.cc 2024-05-06 11:06:05.848045697 +0200
@@ -579,11 +579,11 @@ SharedImageInterfaceInProcess::CreateSha
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(),
GpuMemoryBufferHandleInfo(std::move(client_buffer_handle), format, size,
buffer_usage),
@@ -219,8 +219,8 @@ scoped_refptr<ClientSharedImage> ClientS
AddMailbox(proxy_->CreateSharedImage(
format, size, color_space, surface_origin, alpha_type, usage,
debug_label, std::move(buffer_handle))),
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
- 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<ClientSharedImage> 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<ClientSharedImage> 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<ClientSharedImage>(
mailboxes.front_buffer,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
- SharedImageMetadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ SharedImageMetadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
sync_token, holder_),
base::MakeRefCounted<ClientSharedImage>(
mailboxes.back_buffer,
- 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<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
sync_token, holder_);
}
@@ -402,8 +402,8 @@ scoped_refptr<ClientSharedImage> ClientS
@@ -339,8 +339,8 @@ scoped_refptr<ClientSharedImage> ClientS
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
- 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<ClientSharedImage> SharedI
NOTREACHED();
return base::MakeRefCounted<ClientSharedImage>(
Mailbox(),
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), holder_);
}
diff -up chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc.me chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc
--- chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc.me 2024-03-16 19:06:32.102330155 +0100
+++ chromium-123.0.6312.46/gpu/command_buffer/service/shared_image_interface_in_process.cc 2024-03-16 19:11:59.627008063 +0100
@@ -238,8 +238,8 @@ SharedImageInterfaceInProcess::CreateSha
}
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), holder_);
diff -up chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc.me chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc
--- chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc.me 2024-05-07 13:34:30.384580905 +0200
+++ chromium-124.0.6367.118/content/browser/gpu/compositor_util.cc 2024-05-07 13:39:24.219132733 +0200
@@ -108,7 +108,7 @@ std::vector<GpuFeatureData> GetGpuFeatur
*base::CommandLine::ForCurrentProcess();
std::vector<GpuFeatureData> features;
- features.emplace_back(
+ features.emplace_back() = {
"2d_canvas",
SafeGetFeatureStatus(
gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_2D_CANVAS,
@@ -116,13 +116,13 @@ std::vector<GpuFeatureData> GetGpuFeatur
DisableInfo::Problem(
"Accelerated 2D canvas is unavailable: either disabled "
"via blocklist or the command line."),
- true);
- features.emplace_back(
+ true};
+ features.emplace_back() = {
"canvas_oop_rasterization",
SafeGetFeatureStatus(
gpu_feature_info, gpu::GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION,
- command_line.HasSwitch(switches::kDisableAccelerated2dCanvas)));
- features.emplace_back(
+ command_line.HasSwitch(switches::kDisableAccelerated2dCanvas))};
+ features.emplace_back() = {
"gpu_compositing",
// TODO(rivr): Replace with a check to see which backend is used for
// compositing; do the same for GPU rasterization if it's enabled. For
@@ -136,16 +136,16 @@ std::vector<GpuFeatureData> GetGpuFeatur
"about:flags "
"or the command line. The browser will fall back to software "
"compositing and hardware acceleration will be unavailable."),
- true);
- features.emplace_back(
+ true};
+ features.emplace_back() = {
"webgl",
SafeGetFeatureStatus(gpu_feature_info,
gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL,
command_line.HasSwitch(switches::kDisableWebGL)),
DisableInfo::Problem(
"WebGL has been disabled via blocklist or the command line."),
- false);
- features.emplace_back(
+ false};
+ features.emplace_back() = {
"video_decode",
SafeGetFeatureStatus(
gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE,
@@ -156,8 +156,8 @@ std::vector<GpuFeatureData> GetGpuFeatur
DisableInfo::Problem(
"Accelerated video decode has been disabled, either via blocklist, "
"about:flags or the command line."),
- true);
- features.emplace_back(
+ true};
+ features.emplace_back() = {
"video_encode",
SafeGetFeatureStatus(
gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE,
@@ -169,33 +169,33 @@ std::vector<GpuFeatureData> GetGpuFeatur
DisableInfo::Problem(
"Accelerated video encode has been disabled, either via blocklist, "
"about:flags or the command line."),
- true);
- features.emplace_back(
+ true};
+ features.emplace_back() = {
"rasterization",
SafeGetFeatureStatus(gpu_feature_info,
gpu::GPU_FEATURE_TYPE_GPU_TILE_RASTERIZATION),
DisableInfo::Problem(
"Accelerated rasterization has been disabled, either via blocklist, "
"about:flags or the command line."),
- true);
- features.emplace_back(
+ true};
+ features.emplace_back() = {
"opengl", SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_ACCELERATED_GL));
+ gpu::GPU_FEATURE_TYPE_ACCELERATED_GL)};
#if BUILDFLAG(ENABLE_VULKAN)
- features.emplace_back(
+ features.emplace_back() = {
"vulkan",
- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN));
+ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_VULKAN)};
#endif
- features.emplace_back(
+ features.emplace_back() = {
"multiple_raster_threads",
- GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1));
+ GetFakeFeatureStatus(NumberOfRendererRasterThreads() > 1)};
#if BUILDFLAG(IS_ANDROID)
- features.emplace_back(
+ features.emplace_back() = {
"surface_control",
SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL));
+ gpu::GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL)};
#endif
- features.emplace_back(
+ features.emplace_back() = {
"webgl2",
SafeGetFeatureStatus(
gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGL2,
@@ -203,12 +203,12 @@ std::vector<GpuFeatureData> GetGpuFeatur
command_line.HasSwitch(switches::kDisableWebGL2)),
DisableInfo::Problem(
"WebGL2 has been disabled via blocklist or the command line."),
- false);
- features.emplace_back("raw_draw",
- GetFakeFeatureStatus(features::IsUsingRawDraw()));
- features.emplace_back("direct_rendering_display_compositor",
- GetFakeFeatureStatus(features::IsDrDcEnabled()));
- features.emplace_back(
+ false};
+ features.emplace_back() = {"raw_draw",
+ GetFakeFeatureStatus(features::IsUsingRawDraw())};
+ features.emplace_back() = {"direct_rendering_display_compositor",
+ GetFakeFeatureStatus(features::IsDrDcEnabled())};
+ features.emplace_back() = {
"webgpu",
SafeGetFeatureStatus(
gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_WEBGPU,
@@ -216,14 +216,14 @@ std::vector<GpuFeatureData> GetGpuFeatur
!base::FeatureList::IsEnabled(::features::kWebGPUService)),
DisableInfo::Problem(
"WebGPU has been disabled via blocklist or the command line."),
- false);
- features.emplace_back(
+ false};
+ features.emplace_back() = {
"skia_graphite",
SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE));
- features.emplace_back(
+ gpu::GPU_FEATURE_TYPE_SKIA_GRAPHITE)};
+ features.emplace_back() = {
"webnn",
- SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN));
+ SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_WEBNN)};
return features;
}
@@ -301,8 +301,8 @@ SharedImageInterfaceInProcess::CreateSha
}
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), holder_);
}
@@ -365,8 +365,8 @@ SharedImageInterfaceInProcess::CreateSha
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), GetGpuMemoryBufferHandleInfo(mailbox), holder_);
}
@@ -481,8 +481,8 @@ SharedImageInterfaceInProcess::CreateSha
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(),
GpuMemoryBufferHandleInfo(std::move(client_buffer_handle), format, size,
buffer_usage),
@@ -524,8 +524,8 @@ SharedImageInterfaceInProcess::CreateSha
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), holder_);
}
SharedImageInterface::SharedImageMapping
@@ -589,8 +589,8 @@ SharedImageInterfaceInProcess::CreateSha
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<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(format, size, color_space, surface_origin,
- alpha_type, usage),
+ ClientSharedImage::Metadata{format, size, color_space, surface_origin,
+ alpha_type, usage},
GenUnverifiedSyncToken(), holder_);
return shared_image_mapping;
@@ -664,10 +664,10 @@ SharedImageInterfaceInProcess::CreateSha
return base::MakeRefCounted<ClientSharedImage>(
mailbox,
- ClientSharedImage::Metadata(
+ ClientSharedImage::Metadata{
viz::GetSinglePlaneSharedImageFormat(gpu_memory_buffer->GetFormat()),
gpu_memory_buffer->GetSize(), color_space, surface_origin, alpha_type,
- usage),
+ usage},
GenUnverifiedSyncToken(), holder_);
}
diff -up chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc
--- chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc.me 2024-03-17 00:42:31.183226211 +0100
+++ chromium-123.0.6312.46/content/browser/attribution_reporting/attribution_manager_impl.cc 2024-03-17 00:55:56.689512430 +0100
@@ -1507,7 +1507,7 @@ void AttributionManagerImpl::PrepareNext
RenderFrameHost::FromID(event.render_frame_id),
source_origin, destination_origin, &reporting_origin,
&can_bypass_cookie_check)) {
- need_to_check_cookie.emplace_back(url::Origin::Create(item.url), i);
+ need_to_check_cookie.emplace_back() = {url::Origin::Create(item.url), i};
} else {
allowed.at(i) = can_bypass_cookie_check;
@@ -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<BiddingAndAuctionServerKey> keys;
keys.reserve(key_protos.keys_size());
for (auto& key_proto : *key_protos.mutable_keys()) {
- keys.emplace_back(std::move(*key_proto.mutable_key()), key_proto.id());
+ keys.emplace_back() = {std::move(*key_proto.mutable_key()), key_proto.id()};
}
return {expiration, keys};
} 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);
}
}

@ -1,13 +0,0 @@
diff -up chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py
--- chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py.me 2024-02-23 12:04:45.451423995 +0100
+++ chromium-122.0.6261.57/tools/json_to_struct/json_to_struct.py 2024-02-23 12:18:04.099824392 +0100
@@ -124,7 +124,8 @@ def _GenerateH(basepath, fileroot, head,
f.write(u'#include <cstddef>\n')
f.write(u'\n')
- if system_headers := schema.get(u'system-headers', []):
+ system_headers = schema.get(u'system-headers', [])
+ if system_headers:
for header in system_headers:
f.write(u'#include <%s>\n' % header)
f.write(u'\n')

@ -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 = ""
+ }

@ -1,10 +1,33 @@
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();
fixed error: missing 'typename' prior to dependent type name
// A class that meets C++ named requirements, Allocator.
template <typename T>
-InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
+typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
std::size_t count) {
PA_CHECK(count <=
std::numeric_limits<std::size_t>::max() / sizeof(value_type));
diff -up chromium-124.0.6367.118/base/containers/heap_array.h.typename chromium-124.0.6367.118/base/containers/heap_array.h
--- chromium-124.0.6367.118/base/containers/heap_array.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-124.0.6367.118/base/containers/heap_array.h 2024-05-05 16:32:57.377654043 +0200
@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray {
static_assert(!std::is_reference_v<T>,
"HeapArray cannot hold reference types");
diff -up chromium-122.0.6261.69/base/containers/map_util.h.typename chromium-122.0.6261.69/base/containers/map_util.h
--- chromium-122.0.6261.69/base/containers/map_util.h.typename 2024-02-22 22:42:43.000000000 +0100
+++ chromium-122.0.6261.69/base/containers/map_util.h 2024-02-24 15:05:00.882592705 +0100
@@ -42,7 +42,7 @@ constexpr internal::MappedType<Map>* Fin
- using iterator = base::span<T>::iterator;
- using const_iterator = base::span<const T>::iterator;
+ using iterator = typename base::span<T>::iterator;
+ using const_iterator = typename base::span<const T>::iterator;
// Allocates initialized memory capable of holding `size` elements. No memory
// is allocated for zero-sized arrays.
diff -up chromium-124.0.6367.118/base/containers/map_util.h.typename chromium-124.0.6367.118/base/containers/map_util.h
--- chromium-124.0.6367.118/base/containers/map_util.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-124.0.6367.118/base/containers/map_util.h 2024-05-05 16:36:15.062228596 +0200
@@ -44,7 +44,7 @@ constexpr internal::MappedType<Map>* Fin
template <typename Map,
typename Key,
typename MappedElementType =
@ -13,7 +36,7 @@ diff -up chromium-122.0.6261.69/base/containers/map_util.h.typename chromium-122
constexpr const MappedElementType* FindPtrOrNull(const Map& map,
const Key& key) {
auto it = map.find(key);
@@ -58,7 +58,7 @@ constexpr const MappedElementType* FindP
@@ -60,7 +60,7 @@ constexpr const MappedElementType* FindP
template <typename Map,
typename Key,
typename MappedElementType =
@ -21,11 +44,11 @@ diff -up chromium-122.0.6261.69/base/containers/map_util.h.typename chromium-122
+ typename std::pointer_traits<internal::MappedType<Map>>::element_type>
constexpr MappedElementType* FindPtrOrNull(Map& map, const Key& key) {
auto it = map.find(key);
return it != map.end() ? std::to_address(it->second) : nullptr;
diff -up chromium-122.0.6261.69/base/functional/bind_internal.h.typename chromium-122.0.6261.69/base/functional/bind_internal.h
--- chromium-122.0.6261.69/base/functional/bind_internal.h.typename 2024-02-24 15:05:00.883592724 +0100
+++ chromium-122.0.6261.69/base/functional/bind_internal.h 2024-02-24 15:13:49.755223533 +0100
@@ -1400,11 +1400,11 @@ template <int i,
return it != map.end() ? base::to_address(it->second) : nullptr;
diff -up chromium-124.0.6367.118/base/functional/bind_internal.h.typename chromium-124.0.6367.118/base/functional/bind_internal.h
--- chromium-124.0.6367.118/base/functional/bind_internal.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-124.0.6367.118/base/functional/bind_internal.h 2024-05-05 16:32:57.375653992 +0200
@@ -1505,11 +1505,11 @@ template <int i,
typename Param>
struct ParamCanBeBound {
private:
@ -40,10 +63,36 @@ diff -up chromium-122.0.6261.69/base/functional/bind_internal.h.typename chromiu
BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
template <bool v = !UnwrappedParam::kRawPtr ||
diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc
--- chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2024-02-22 22:42:50.000000000 +0100
+++ chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_update_service.cc 2024-02-24 15:05:00.882592705 +0100
@@ -90,7 +90,7 @@ ItemSortKey GetSortKey(const Item& item)
diff -up chromium-124.0.6367.118/base/functional/function_ref.h.typename chromium-124.0.6367.118/base/functional/function_ref.h
--- chromium-124.0.6367.118/base/functional/function_ref.h.typename 2024-05-01 01:46:40.000000000 +0200
+++ chromium-124.0.6367.118/base/functional/function_ref.h 2024-05-05 16:32:57.379654093 +0200
@@ -64,7 +64,7 @@ class FunctionRef;
template <typename R, typename... Args>
class FunctionRef<R(Args...)> {
template <typename Functor,
- typename RunType = internal::FunctorTraits<Functor>::RunType>
+ typename RunType = typename internal::FunctorTraits<Functor>::RunType>
static constexpr bool kCompatibleFunctor =
std::convertible_to<internal::ExtractReturnType<RunType>, R> &&
std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>;
diff -up chromium-124.0.6367.118/base/types/fixed_array.h.typename chromium-124.0.6367.118/base/types/fixed_array.h
--- chromium-124.0.6367.118/base/types/fixed_array.h.typename 2024-05-01 01:46:41.000000000 +0200
+++ chromium-124.0.6367.118/base/types/fixed_array.h 2024-05-05 16:32:57.378654068 +0200
@@ -27,8 +27,8 @@ template <typename T,
class FixedArray : public absl::FixedArray<T, N, A> {
public:
using absl::FixedArray<T, N, A>::FixedArray;
- explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
- const absl::FixedArray<T, N, A>::allocator_type& a =
+ explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
+ const typename absl::FixedArray<T, N, A>::allocator_type& a =
typename absl::FixedArray<T, N, A>::allocator_type())
: FixedArray(n, T(), a) {}
};
diff -up chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc
--- chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc.typename 2024-05-01 01:46:45.000000000 +0200
+++ chromium-124.0.6367.118/chrome/browser/download/bubble/download_bubble_update_service.cc 2024-05-05 16:32:57.375653992 +0200
@@ -95,7 +95,7 @@ ItemSortKey GetSortKey(const Item& item)
// Helper to get an iterator to the last element in the cache. The cache
// must not be empty.
template <typename Item>
@ -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 <typename Id, typename Item>
@ -64,183 +113,9 @@ diff -up chromium-122.0.6261.69/chrome/browser/download/bubble/download_bubble_u
SortedItems<Item>& cache,
IterMap<Id, Item>& iter_map) {
CHECK(iter != cache.end());
diff -up chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h.typename chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h
--- chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h.typename 2024-02-22 22:43:01.000000000 +0100
+++ chromium-122.0.6261.69/components/optimization_guide/core/model_execution/model_execution_util.h 2024-02-24 15:05:00.884592742 +0100
@@ -25,7 +25,7 @@ void SetExecutionRequestTemplate(
// Request is set by the feature and should always be typed.
auto typed_request =
- static_cast<const FeatureType::Request&>(request_metadata);
+ static_cast<const typename FeatureType::Request&>(request_metadata);
*(logging_data->mutable_request_data()) = typed_request;
}
diff -up chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h
--- chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h.typename 2024-02-22 22:43:01.000000000 +0100
+++ chromium-122.0.6261.69/components/optimization_guide/core/model_quality/model_quality_log_entry.h 2024-02-24 15:05:00.884592742 +0100
@@ -29,7 +29,7 @@ class ModelQualityLogEntry {
}
template <typename FeatureType>
- FeatureType::Quality* quality_data() {
+ typename FeatureType::Quality* quality_data() {
return FeatureType::GetLoggingData(*log_ai_data_request_)
->mutable_quality_data();
}
diff -up chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h.typename chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h
--- chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h.typename 2024-02-22 22:43:15.000000000 +0100
+++ chromium-122.0.6261.69/mojo/public/cpp/bindings/array_traits.h 2024-02-24 15:05:00.884592742 +0100
@@ -90,7 +90,7 @@ template <typename Container>
{ c[i] } -> std::same_as<typename Container::reference>;
}
struct ArrayTraits<Container> {
- using Element = Container::value_type;
+ using Element = typename Container::value_type;
// vector-like containers have no built-in null.
static bool IsNull(const Container& c) { return false; }
diff -up chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h
--- chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename 2024-02-22 22:43:20.000000000 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/bindings/core/v8/async_iterable.h 2024-02-24 15:05:00.883592724 +0100
@@ -218,7 +218,7 @@ class PairAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
ExceptionState& exception_state) = 0;
};
@@ -260,7 +260,7 @@ class ValueAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
ExceptionState& exception_state) = 0;
};
diff -up chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
--- chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc.typename 2024-02-24 15:05:00.882592705 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc 2024-02-24 15:12:27.742724849 +0100
@@ -211,7 +211,7 @@ class HTMLFastPathParser {
using Span = base::span<const Char>;
using USpan = base::span<const UChar>;
// 32 matches that used by HTMLToken::Attribute.
- typedef std::conditional<std::is_same_v<Char, UChar>,
+ typedef typename std::conditional<std::is_same_v<Char, UChar>,
UCharLiteralBuffer<32>,
LCharLiteralBuffer<32>>::type LiteralBufferType;
static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
diff -up chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.typename chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h
--- chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h.typename 2024-02-22 22:43:21.000000000 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/core/paint/object_paint_properties_sparse.h 2024-02-24 15:05:00.883592724 +0100
@@ -272,8 +272,8 @@ class CORE_EXPORT ObjectPaintPropertiesS
NodeList& nodes,
NodeId node_id,
const ParentType& parent,
- NodeType::State&& state,
- const NodeType::AnimationState& animation_state =
+ typename NodeType::State&& state,
+ const typename NodeType::AnimationState& animation_state =
NodeType::AnimationState()) {
// First, check if we need to add a new node.
if (!nodes.HasField(node_id)) {
diff -up chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.me chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h
--- chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h.me 2024-02-24 16:51:41.292310554 +0100
+++ chromium-122.0.6261.69/base/allocator/partition_allocator/src/partition_alloc/internal_allocator.h 2024-02-24 16:52:10.022896063 +0100
@@ -26,7 +26,7 @@ PartitionRoot& InternalAllocatorRoot();
// A class that meets C++ named requirements, Allocator.
template <typename T>
-InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
+typename InternalAllocator<T>::value_type* InternalAllocator<T>::allocate(
std::size_t count) {
PA_CHECK(count <=
std::numeric_limits<std::size_t>::max() / sizeof(value_type));
diff -up chromium-122.0.6261.69/base/containers/heap_array.h.me chromium-122.0.6261.69/base/containers/heap_array.h
--- chromium-122.0.6261.69/base/containers/heap_array.h.me 2024-02-24 18:02:34.463921568 +0100
+++ chromium-122.0.6261.69/base/containers/heap_array.h 2024-02-24 18:04:01.922850571 +0100
@@ -32,8 +32,8 @@ class TRIVIAL_ABI GSL_OWNER HeapArray {
static_assert(!std::is_reference_v<T>,
"HeapArray cannot hold reference types");
- using iterator = base::span<T>::iterator;
- using const_iterator = base::span<const T>::iterator;
+ using iterator = typename base::span<T>::iterator;
+ using const_iterator = typename base::span<const T>::iterator;
// Allocates initialized memory capable of holding `size` elements. No memory
// is allocated for zero-sized arrays.
diff -up chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h.me chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h
--- chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h.me 2024-02-24 18:51:06.957087464 +0100
+++ chromium-122.0.6261.69/mojo/public/cpp/bindings/type_converter.h 2024-02-24 18:51:27.778488490 +0100
@@ -125,7 +125,7 @@ using VecValueType = typename Vec::value
template <typename Vec>
using VecPtrLikeUnderlyingValueType =
- std::pointer_traits<VecValueType<Vec>>::element_type;
+ typename std::pointer_traits<VecValueType<Vec>>::element_type;
} // namespace internal
diff -up chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h.me chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h
--- chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h.me 2024-02-24 19:45:13.620934215 +0100
+++ chromium-122.0.6261.69/third_party/blink/renderer/platform/wtf/hash_table.h 2024-02-24 19:46:08.817940962 +0100
@@ -2005,7 +2005,7 @@ struct HashTableConstIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2057,7 +2057,7 @@ struct HashTableConstIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2111,7 +2111,7 @@ struct HashTableIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2159,7 +2159,7 @@ struct HashTableIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
diff -up chromium-122.0.6261.69/base/types/fixed_array.h.me chromium-122.0.6261.69/base/types/fixed_array.h
--- chromium-122.0.6261.69/base/types/fixed_array.h.me 2024-02-25 11:22:59.819590529 +0100
+++ chromium-122.0.6261.69/base/types/fixed_array.h 2024-02-25 11:24:12.424953031 +0100
@@ -27,8 +27,8 @@ template <typename T,
class FixedArray : public absl::FixedArray<T, N, A> {
public:
using absl::FixedArray<T, N, A>::FixedArray;
- explicit FixedArray(absl::FixedArray<T, N, A>::size_type n,
- const absl::FixedArray<T, N, A>::allocator_type& a =
+ explicit FixedArray(typename absl::FixedArray<T, N, A>::size_type n,
+ const typename absl::FixedArray<T, N, A>::allocator_type& a =
typename absl::FixedArray<T, N, A>::allocator_type())
: FixedArray(n, T(), a) {}
};
diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h.me chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h
--- chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h.me 2024-02-25 15:04:56.775897713 +0100
+++ chromium-122.0.6261.69/chrome/browser/web_applications/commands/internal/command_internal.h 2024-02-25 15:05:34.884579279 +0100
diff -up chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h
--- chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h.typename 2024-05-01 01:46:48.000000000 +0200
+++ chromium-124.0.6367.118/chrome/browser/web_applications/commands/internal/command_internal.h 2024-05-05 16:32:57.378654068 +0200
@@ -121,7 +121,7 @@ class CommandBase {
template <typename LockType>
class CommandWithLock : public CommandBase {
@ -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 <typename LockType, typename... CallbackArgs>
class WebAppCommand : public internal::CommandWithLock<LockType> {
@ -262,10 +137,10 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/commands/web_app
using CallbackType = base::OnceCallback<void(CallbackArgs...)>;
using ShutdownArgumentsTuple = std::tuple<std::decay_t<CallbackArgs>...>;
diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h.me chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h
--- chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h.me 2024-02-25 15:06:17.896348149 +0100
+++ chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_scheduler.h 2024-02-25 15:06:58.841076746 +0100
@@ -355,7 +355,7 @@ class WebAppCommandScheduler {
diff -up chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h
--- chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h.typename 2024-05-01 01:46:48.000000000 +0200
+++ chromium-124.0.6367.118/chrome/browser/web_applications/web_app_command_scheduler.h 2024-05-05 16:32:57.379654093 +0200
@@ -369,7 +369,7 @@ class WebAppCommandScheduler {
// command system.
template <typename LockType>
void ScheduleCallback(const std::string& operation_name,
@ -274,7 +149,7 @@ diff -up chromium-122.0.6261.69/chrome/browser/web_applications/web_app_command_
CallbackCommand<LockType, void> 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<CompletionCallbackArg>>
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<LockType, CallbackReturnValue> callback,
base::OnceCallback<void(CompletionCallbackArg)> on_complete,
CallbackReturnValue arg_for_shutdown,
diff -up chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h.me chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h
--- chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h.me 2024-02-25 15:12:53.835409392 +0100
+++ chromium-122.0.6261.69/components/supervised_user/core/browser/proto_fetcher.h 2024-02-25 15:16:03.171931033 +0100
@@ -424,7 +424,7 @@ class RetryingFetcherImpl final : public
RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
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<Response>::Callback callback) override {
+ void Start(typename ProtoFetcher<Response>::Callback callback) override {
callback_ = std::move(callback);
Retry();
}
@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public
}
// Client callback.
- TypedProtoFetcher<Response>::Callback callback_;
+ typename TypedProtoFetcher<Response>::Callback callback_;
// Retry controls.
base::OneShotTimer timer_;
@@ -490,7 +490,7 @@ class ParallelFetchManager {
// Deferred fetcher is required because it should be started after it is
// stored internally.
using Fetcher = ProtoFetcher<Response>;
- using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
+ using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
// Request is set by the feature and should always be typed.
auto typed_request =
- static_cast<const FeatureType::Request&>(request_metadata);
+ static_cast<const typename FeatureType::Request&>(request_metadata);
*(logging_data->mutable_request_data()) = typed_request;
}
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 <typename FeatureType>
- FeatureType::Quality* quality_data() {
+ typename FeatureType::Quality* quality_data() {
return FeatureType::GetLoggingData(*log_ai_data_request_)
->mutable_quality_data();
}
diff -up chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h
--- chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h.typename 2024-05-01 01:46:52.000000000 +0200
+++ chromium-124.0.6367.118/components/optimization_guide/core/tflite_model_executor.h 2024-05-05 16:32:57.379654093 +0200
@@ -242,7 +242,7 @@ class TFLiteModelExecutor : public Model
void SendForBatchExecution(
BatchExecutionCallback callback_on_complete,
base::TimeTicks start_time,
@ -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<std::optional<OutputType>> 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<std::optional<OutputType>>* 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 <typename R, typename... Args>
class FunctionRef<R(Args...)> {
template <typename Functor,
- typename RunType = internal::FunctorTraits<Functor>::RunType>
+ typename RunType = typename internal::FunctorTraits<Functor>::RunType>
static constexpr bool kCompatibleFunctor =
std::convertible_to<internal::ExtractReturnType<RunType>, R> &&
std::same_as<internal::ExtractArgs<RunType>, internal::TypeList<Args...>>;
diff -up chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.me chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
--- chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.me 2024-03-16 22:55:01.387265478 +0100
+++ chromium-123.0.6312.46/third_party/blink/renderer/bindings/core/v8/script_promise_property.h 2024-03-16 22:55:18.752568310 +0100
diff -up chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h
--- chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h.typename 2024-05-01 01:46:54.000000000 +0200
+++ chromium-124.0.6367.118/components/supervised_user/core/browser/proto_fetcher.h 2024-05-05 16:32:57.379654093 +0200
@@ -424,7 +424,7 @@ class RetryingFetcherImpl final : public
RetryingFetcherImpl(const RetryingFetcherImpl&) = delete;
RetryingFetcherImpl& operator=(const RetryingFetcherImpl&) = delete;
- void Start(ProtoFetcher<Response>::Callback callback) override {
+ void Start(typename ProtoFetcher<Response>::Callback callback) override {
callback_ = std::move(callback);
Retry();
}
@@ -469,7 +469,7 @@ class RetryingFetcherImpl final : public
}
// Client callback.
- TypedProtoFetcher<Response>::Callback callback_;
+ typename TypedProtoFetcher<Response>::Callback callback_;
// Retry controls.
base::OneShotTimer timer_;
@@ -490,7 +490,7 @@ class ParallelFetchManager {
// Deferred fetcher is required because it should be started after it is
// stored internally.
using Fetcher = ProtoFetcher<Response>;
- using KeyType = base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
+ using KeyType = typename base::IDMap<std::unique_ptr<Fetcher>>::KeyType;
public:
// Provides fresh instances of a deferred fetcher for each fetch.
@@ -506,7 +506,7 @@ class ParallelFetchManager {
// Starts the fetch. Underlying fetcher is stored internally, and will be
// cleaned up after finish or when this manager is destroyed.
- void Fetch(const Request& request, Fetcher::Callback callback) {
+ void Fetch(const Request& request, typename Fetcher::Callback callback) {
CHECK(callback) << "Use base::DoNothing() instead of empty callback.";
KeyType key = requests_in_flight_.Add(MakeFetcher(request));
requests_in_flight_.Lookup(key)->Start(
diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h
--- chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h.typename 2024-05-01 01:46:59.000000000 +0200
+++ chromium-124.0.6367.118/mojo/public/cpp/bindings/array_traits.h 2024-05-05 16:32:57.376654018 +0200
@@ -90,7 +90,7 @@ template <typename Container>
{ c[i] } -> std::same_as<typename Container::reference>;
}
struct ArrayTraits<Container> {
- using Element = Container::value_type;
+ using Element = typename Container::value_type;
// vector-like containers have no built-in null.
static bool IsNull(const Container& c) { return false; }
diff -up chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h
--- chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h.typename 2024-05-01 01:46:59.000000000 +0200
+++ chromium-124.0.6367.118/mojo/public/cpp/bindings/type_converter.h 2024-05-05 16:32:57.377654043 +0200
@@ -127,7 +127,7 @@ using VecValueType = typename Vec::value
template <typename Vec>
using VecPtrLikeUnderlyingValueType =
- std::pointer_traits<VecValueType<Vec>>::element_type;
+ typename std::pointer_traits<VecValueType<Vec>>::element_type;
} // namespace internal
diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h
--- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h.typename 2024-05-05 16:32:57.376654018 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/async_iterable.h 2024-05-05 16:39:07.015158335 +0200
@@ -245,7 +245,7 @@ class PairAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
InitArgs... args,
ExceptionState& exception_state) = 0;
};
@@ -291,7 +291,7 @@ class ValueAsyncIterable {
private:
virtual IterationSource* CreateIterationSource(
ScriptState* script_state,
- IterationSource::Kind kind,
+ typename IterationSource::Kind kind,
InitArgs... args,
ExceptionState& exception_state) = 0;
};
diff -up chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
--- chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h.typename 2024-05-01 01:47:03.000000000 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/bindings/core/v8/script_promise_property.h 2024-05-05 16:32:57.380654118 +0200
@@ -173,7 +173,7 @@ class ScriptPromiseProperty final
template <typename T>
requires std::derived_from<T, bindings::EnumerationBase>
@ -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<const Char>;
using USpan = base::span<const UChar>;
// 32 matches that used by HTMLToken::Attribute.
- typedef std::conditional<std::is_same_v<Char, UChar>,
+ typedef typename std::conditional<std::is_same_v<Char, UChar>,
UCharLiteralBuffer<32>,
LCharLiteralBuffer<32>>::type LiteralBufferType;
static_assert(std::is_same_v<Char, UChar> || std::is_same_v<Char, LChar>);
diff -up chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h
--- chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h.typename 2024-05-01 01:47:05.000000000 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/platform/wtf/hash_table.h 2024-05-05 16:32:57.378654068 +0200
@@ -2006,7 +2006,7 @@ struct HashTableConstIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2058,7 +2058,7 @@ struct HashTableConstIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2112,7 +2112,7 @@ struct HashTableIteratorAdapter {
static_assert(!IsTraceable<typename Traits::TraitType>::value);
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
@@ -2160,7 +2160,7 @@ struct HashTableIteratorAdapter<
public:
using iterator_category = std::bidirectional_iterator_tag;
- using value_type = HashTableType::ValueType;
+ using value_type = typename HashTableType::ValueType;
using difference_type = ptrdiff_t;
using pointer = value_type*;
using reference = value_type&;
diff -up chromium-124.0.6367.118/base/containers/to_vector.h.me chromium-124.0.6367.118/base/containers/to_vector.h
--- chromium-124.0.6367.118/base/containers/to_vector.h.me 2024-05-06 12:39:58.312899455 +0200
+++ chromium-124.0.6367.118/base/containers/to_vector.h 2024-05-06 12:40:22.014635715 +0200
@@ -30,7 +30,7 @@ template <typename Range, typename Proj
std::indirectly_unary_invocable<Proj, ranges::iterator_t<Range>>
auto ToVector(Range&& range, Proj proj = {}) {
using ProjectedType =
- std::projected<ranges::iterator_t<Range>, Proj>::value_type;
+ typename std::projected<ranges::iterator_t<Range>, Proj>::value_type;
std::vector<ProjectedType> container;
container.reserve(std::size(range));
ranges::transform(std::forward<Range>(range), std::back_inserter(container),
diff -up chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h
--- chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h.me 2024-05-06 20:13:29.067800309 +0200
+++ chromium-124.0.6367.118/components/optimization_guide/core/model_quality/model_quality_util.h 2024-05-06 20:13:44.671084222 +0200
@@ -19,7 +19,7 @@ proto::ModelExecutionFeature GetModelExe
// Helper method to get the quality_data from `log_ai_data_request` for
// different features.
template <typename FeatureType>
-FeatureType::Quality* GetModelQualityData(
+typename FeatureType::Quality* GetModelQualityData(
proto::LogAiDataRequest* log_ai_data_request) {
return FeatureType::GetLoggingData(*log_ai_data_request)
->mutable_quality_data();
diff -up chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h
--- chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h.me 2024-05-07 08:54:42.099316020 +0200
+++ chromium-124.0.6367.118/third_party/blink/renderer/core/paint/object_paint_properties.h 2024-05-07 08:57:18.304022672 +0200
@@ -445,8 +445,8 @@ class CORE_EXPORT ObjectPaintProperties
PaintPropertyChangeType Update(
NodeId node_id,
const ParentType& parent,
- NodeType::State&& state,
- const NodeType::AnimationState& animation_state =
+ typename NodeType::State&& state,
+ const typename NodeType::AnimationState& animation_state =
NodeType::AnimationState()) {
// First, check if we need to add a new node.
if (!nodes_.HasField(node_id)) {

@ -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),

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

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

@ -2,4 +2,4 @@ SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea
SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd
SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6
SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d
SHA512 (chromium-124.0.6367.118-clean.tar.xz) = 770060a81051cdace4c60ae4fc32c1dcb233bfac61b1ec149d640736c0db4bfb6d50692033d6b927ca6fa4a0437fc432537cc0bd6d3468254168239f3836a06e
SHA512 (chromium-124.0.6367.155-clean.tar.xz) = ded8da8bbef3479ced51e5e84436cd4772c9c3513d643c258d7af52fe55e201f192c960961bd601a1668a12c2c5e3351452fff3fb389d95855fe091cc506dba6

Loading…
Cancel
Save