update to 121.0.6167.71

epel9
Than Ngo 10 months ago
parent e2786032fe
commit 1bc897ee19

@ -1,13 +0,0 @@
diff -up chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc.me chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc
--- chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc.me 2023-09-16 09:43:41.717545215 +0200
+++ chromium-117.0.5938.62/content/browser/interest_group/header_direct_from_seller_signals.cc 2023-09-16 09:48:07.319539585 +0200
@@ -187,7 +187,8 @@ void OnJsonDecoded(std::unique_ptr<const
} // namespace
-HeaderDirectFromSellerSignals::HeaderDirectFromSellerSignals() = default;
+HeaderDirectFromSellerSignals::HeaderDirectFromSellerSignals() :
+ seller_signals_(absl::nullopt), auction_signals_(absl::nullopt) { }
HeaderDirectFromSellerSignals::~HeaderDirectFromSellerSignals() = default;

@ -1,12 +0,0 @@
diff -up chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn.me chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn
--- chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn.me 2023-09-10 16:54:00.804385139 +0200
+++ chromium-117.0.5938.48/third_party/blink/renderer/core/BUILD.gn 2023-09-10 16:54:13.540625077 +0200
@@ -1694,8 +1694,6 @@ action_foreach("element_locator_test_pro
python_path_root = "${root_out_dir}/pyproto"
python_path_proto = "${python_path_root}/third_party/blink/renderer/core/lcp_critical_path_predictor"
- mnemonic = "ELOC_PROTO"
-
source_dir = "lcp_critical_path_predictor/test_proto"
sources = rebase_path([ "lcp_image_id.asciipb" ], "", source_dir)

@ -1,14 +0,0 @@
--- chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.than 2023-11-26 13:50:07.005519877 +0100
+++ chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h 2023-11-26 13:50:49.727267240 +0100
@@ -152,10 +152,7 @@
(!BUILDFLAG(PUT_REF_COUNT_IN_PREVIOUS_SLOT) && \
defined(ARCH_CPU_LITTLE_ENDIAN))
-#define PA_CONFIG_HAS_MEMORY_TAGGING() \
- (defined(ARCH_CPU_ARM64) && defined(__clang__) && \
- !defined(ADDRESS_SANITIZER) && \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)))
+#define PA_CONFIG_HAS_MEMORY_TAGGING() 0
#if PA_CONFIG(HAS_MEMORY_TAGGING)
static_assert(sizeof(void*) == 8);

@ -1,16 +0,0 @@
diff -up chromium-120.0.6099.56/third_party/libc++/src/include/__config.me chromium-120.0.6099.56/third_party/libc++/src/include/__config
--- chromium-120.0.6099.56/third_party/libc++/src/include/__config.me 2023-12-03 00:05:51.254483474 +0100
+++ chromium-120.0.6099.56/third_party/libc++/src/include/__config 2023-12-03 00:06:05.872863168 +0100
@@ -32,11 +32,7 @@
// Warn if a compiler version is used that is not supported anymore
// LLVM RELEASE Update the minimum compiler versions
-# if defined(_LIBCPP_CLANG_VER)
-# if _LIBCPP_CLANG_VER < 1500
-# warning "Libc++ only supports Clang 15 and later"
-# endif
-# elif defined(_LIBCPP_APPLE_CLANG_VER)
+# if defined(_LIBCPP_APPLE_CLANG_VER)
# if _LIBCPP_APPLE_CLANG_VER < 1500
# warning "Libc++ only supports AppleClang 15 and later"
# endif

@ -1,13 +0,0 @@
diff -up chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn.me chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn
--- chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn.me 2023-11-26 16:14:15.364064126 +0100
+++ chromium-120.0.6099.35/build/config/linux/atspi2/BUILD.gn 2023-11-26 16:41:16.877321990 +0100
@@ -21,6 +21,9 @@ if (use_atk) {
minor = atspi_version[1]
micro = atspi_version[2]
+ # gn workaround for the error: Assignment had no effect
+ print("ATSPI Version: $major.$minor.$micro")
+
# ATSPI 2.49.90 now defines these for us and it's an error for us to
# redefine them on the compiler command line.
# See ATSPI 927344a34cd5bf81fc64da4968241735ecb4f03b

@ -1,24 +0,0 @@
diff -up chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h.than chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h
--- chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h.than 2023-11-26 18:19:11.355117176 +0100
+++ chromium-120.0.6099.35/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/strings/safe_sprintf.h 2023-11-26 18:20:21.090366036 +0100
@@ -184,7 +184,7 @@ struct Arg {
//
// Warning: don't just do Arg(NULL) here because in some libcs, NULL is an
// alias for nullptr!
- Arg(nullptr_t p) : type(INT) {
+ Arg(std::nullptr_t p) : type(INT) {
integer.i = 0;
// Internally, SafeSprintf expects to represent nulls as integers whose
// width is equal to sizeof(NULL), which is not necessarily equal to
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;

@ -0,0 +1,13 @@
diff -up chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.me chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h
--- chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.me 2024-01-16 14:20:52.401890657 +0100
+++ chromium-121.0.6167.57/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h 2024-01-16 15:08:04.070156474 +0100
@@ -162,7 +162,8 @@ static_assert(sizeof(void*) != 8, "");
#if defined(ARCH_CPU_ARM64) && defined(__clang__) && \
!defined(ADDRESS_SANITIZER) && \
- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID))
+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) && \
+ __GLIBC_PREREQ(2, 29)
#define PA_CONFIG_HAS_MEMORY_TAGGING() 1
#else
#define PA_CONFIG_HAS_MEMORY_TAGGING() 0

@ -0,0 +1,12 @@
diff -up chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h.me chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h
--- chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h.me 2024-01-18 17:00:24.791582422 +0100
+++ chromium-121.0.6167.57/components/performance_manager/resource_attribution/query_params.h 2024-01-18 17:22:21.521682845 +0100
@@ -27,7 +27,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;
// Individual resource contexts to measure.

@ -0,0 +1,15 @@
--- chromium-121.0.6167.57/third_party/libc++/src/include/__config.orig 2024-01-16 18:38:00.995930774 +0100
+++ chromium-121.0.6167.57/third_party/libc++/src/include/__config 2024-01-16 18:43:47.056517289 +0100
@@ -32,11 +32,7 @@
// Warn if a compiler version is used that is not supported anymore
// LLVM RELEASE Update the minimum compiler versions
-# if defined(_LIBCPP_CLANG_VER)
-# if _LIBCPP_CLANG_VER < 1600
-# warning "Libc++ only supports Clang 16 and later"
-# endif
-# elif defined(_LIBCPP_APPLE_CLANG_VER)
+# if defined(_LIBCPP_APPLE_CLANG_VER)
# if _LIBCPP_APPLE_CLANG_VER < 1500
# warning "Libc++ only supports AppleClang 15 and later"
# endif

@ -457,14 +457,3 @@ diff -up chromium-119.0.6045.105/ui/gfx/linux/drm_util_linux.h.missing-header-fi
namespace ui {
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
diff -up chromium-120.0.6099.109/chrome/test/chromedriver/chrome/chrome_finder.h.than chromium-120.0.6099.109/chrome/test/chromedriver/chrome/chrome_finder.h
--- chromium-120.0.6099.109/chrome/test/chromedriver/chrome/chrome_finder.h.than 2023-12-20 23:09:10.395334723 +0100
+++ chromium-120.0.6099.109/chrome/test/chromedriver/chrome/chrome_finder.h 2023-12-20 23:09:35.436910261 +0100
@@ -6,6 +6,7 @@
#define CHROME_TEST_CHROMEDRIVER_CHROME_CHROME_FINDER_H_
#include <vector>
+#include <string>
#include "base/functional/callback_forward.h"

@ -0,0 +1,12 @@
diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn.mnemonic-error chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn
--- chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn.mnemonic-error 2023-12-19 18:14:43.027723832 +0100
+++ chromium-121.0.6167.16/third_party/blink/renderer/core/BUILD.gn 2023-12-19 18:39:47.492384620 +0100
@@ -1731,8 +1731,6 @@ action_foreach("element_locator_test_pro
python_path_root = "${root_out_dir}/pyproto"
python_path_proto = "${python_path_root}/third_party/blink/renderer/core/lcp_critical_path_predictor"
- mnemonic = "ELOC_PROTO"
-
source_dir = "lcp_critical_path_predictor/test_proto"
sources = rebase_path([ "lcp_image_id.asciipb" ], "", source_dir)
sources += rebase_path([ "lcp_image_id_b.asciipb" ], "", source_dir)

@ -114,9 +114,9 @@ diff -up chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_per
+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
}
- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
- ButtonType::kAllow, ui::ButtonStyle::kTonal);
- ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId);
+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+ ButtonType::kAllow, ui::ButtonStyle::kTonal};
+ ButtonType::kAllow, ui::ButtonStyle::kTonal, kAllowId};
return buttons;
}
@ -145,55 +145,6 @@ diff -up chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_per
return buttons;
}
diff -up chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc
--- chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.no_matching_constructor 2023-11-29 22:39:53.000000000 +0100
+++ chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc 2023-12-03 17:31:25.756420342 +0100
@@ -63,18 +63,18 @@ EmbeddedPermissionPromptPreviouslyDenied
std::vector<EmbeddedPermissionPromptPreviouslyDeniedView::ButtonConfiguration>
EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const {
std::vector<ButtonConfiguration> buttons;
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING),
- ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal);
+ ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal};
if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal);
+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal};
} else {
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
- ButtonType::kAllow, ui::ButtonStyle::kTonal);
+ ButtonType::kAllow, ui::ButtonStyle::kTonal};
}
return buttons;
}
diff -up chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
--- chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.no_matching_constructor 2023-11-29 22:39:53.000000000 +0100
+++ chromium-120.0.6099.56/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2023-12-03 17:31:25.750420227 +0100
@@ -57,13 +57,13 @@ EmbeddedPermissionPromptPreviouslyGrante
std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const {
std::vector<ButtonConfiguration> buttons;
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
+ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal);
+ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal};
return buttons;
}
diff -up chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc.no_matching_constructor chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc
--- chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc.no_matching_constructor 2023-11-29 22:39:54.000000000 +0100
+++ chromium-120.0.6099.56/chrome/test/chromedriver/capabilities.cc 2023-12-03 17:31:25.750420227 +0100
@ -246,18 +197,6 @@ diff -up chromium-120.0.6099.56/components/autofill/core/browser/webdata/autofil
if (type == ADDRESS_HOME_COUNTRY) {
country_code = base::UTF16ToUTF8(s.ColumnString16(1));
diff -up chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc.no_matching_constructor chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc
--- chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc.no_matching_constructor 2023-11-29 22:39:58.000000000 +0100
+++ chromium-120.0.6099.56/components/password_manager/core/browser/password_manager.cc 2023-12-03 17:31:25.751420246 +0100
@@ -630,7 +630,7 @@ void PasswordManager::OnUserModifiedNonP
// |driver| might be empty on iOS or in tests.
int driver_id = driver ? driver->GetId() : 0;
possible_usernames_.Put(
- PossibleUsernameFieldIdentifier(driver_id, renderer_id),
+ PossibleUsernameFieldIdentifier{driver_id, renderer_id},
PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
renderer_id, value, base::Time::Now(), driver_id,
autocomplete_attribute_has_username, is_likely_otp));
diff -up chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
--- chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc.no_matching_constructor 2023-11-29 22:40:01.000000000 +0100
+++ chromium-120.0.6099.56/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc 2023-12-03 17:31:25.751420246 +0100
@ -300,45 +239,6 @@ diff -up chromium-120.0.6099.56/content/browser/interest_group/interest_group_st
}
if (!interest_group_kanon_query.Succeeded()) {
return absl::nullopt;
diff -up chromium-120.0.6099.56/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor chromium-120.0.6099.56/content/browser/renderer_host/render_frame_host_impl.cc
--- chromium-120.0.6099.56/content/browser/renderer_host/render_frame_host_impl.cc.no_matching_constructor 2023-11-29 22:40:01.000000000 +0100
+++ chromium-120.0.6099.56/content/browser/renderer_host/render_frame_host_impl.cc 2023-12-03 20:49:28.059042672 +0100
@@ -8685,7 +8685,7 @@ void RenderFrameHostImpl::SendFencedFram
for (const blink::FencedFrame::ReportingDestination& destination :
destinations) {
SendFencedFrameReportingBeaconInternal(
- DestinationEnumEvent(event_type, event_data), destination,
+ DestinationEnumEvent{event_type, event_data}, destination,
/*from_renderer=*/true, attribution_reporting_runtime_features);
}
}
@@ -8720,7 +8720,7 @@ void RenderFrameHostImpl::SendFencedFram
}
SendFencedFrameReportingBeaconInternal(
- DestinationURLEvent(destination_url),
+ DestinationURLEvent{destination_url},
blink::FencedFrame::ReportingDestination::kBuyer,
/*from_renderer=*/true, attribution_reporting_runtime_features);
}
@@ -8820,7 +8820,7 @@ void RenderFrameHostImpl::MaybeSendFence
data = info->data;
}
initiator_rfh->SendFencedFrameReportingBeaconInternal(
- AutomaticBeaconEvent(event_type, data), destination,
+ AutomaticBeaconEvent{event_type, data}, destination,
/*from_renderer=*/false, attribution_reporting_features,
navigation_request.GetNavigationId());
}
@@ -8832,7 +8832,7 @@ void RenderFrameHostImpl::MaybeSendFence
for (blink::FencedFrame::ReportingDestination destination :
info->destinations) {
initiator_rfh->SendFencedFrameReportingBeaconInternal(
- AutomaticBeaconEvent(event_type, info->data), destination,
+ AutomaticBeaconEvent{event_type, info->data}, destination,
/*from_renderer=*/false, info->attribution_reporting_runtime_features,
navigation_request.GetNavigationId());
}
diff -up chromium-120.0.6099.56/net/dns/host_resolver_cache.cc.no_matching_constructor chromium-120.0.6099.56/net/dns/host_resolver_cache.cc
--- chromium-120.0.6099.56/net/dns/host_resolver_cache.cc.no_matching_constructor 2023-11-29 22:40:07.000000000 +0100
+++ chromium-120.0.6099.56/net/dns/host_resolver_cache.cc 2023-12-03 17:31:25.754420303 +0100
@ -740,3 +640,306 @@ diff -up chromium-120.0.6099.56/ui/gtk/gtk_ui.cc.no_matching_constructor chromiu
}
return config;
}
diff -up chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc
--- chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc.than 2023-12-19 17:13:15.116949814 +0100
+++ chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_denied_view.cc 2023-12-19 17:27:18.807102716 +0100
@@ -66,17 +66,17 @@ EmbeddedPermissionPromptPreviouslyDenied
std::vector<EmbeddedPermissionPromptPreviouslyDeniedView::ButtonConfiguration>
EmbeddedPermissionPromptPreviouslyDeniedView::GetButtonsConfiguration() const {
std::vector<ButtonConfiguration> buttons;
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_NOT_ALLOWING),
- ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal);
+ ButtonType::kContinueNotAllowing, ui::ButtonStyle::kTonal};
if (base::FeatureList::IsEnabled(permissions::features::kOneTimePermission)) {
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME),
- ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId);
+ ButtonType::kAllowThisTime, ui::ButtonStyle::kTonal, kAllowThisTimeId};
} else {
- buttons.emplace_back(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
- ButtonType::kAllow, ui::ButtonStyle::kTonal);
+ buttons.emplace_back() = {l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW),
+ ButtonType::kAllow, ui::ButtonStyle::kTonal};
}
return buttons;
}
diff -up chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc
--- chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc.than 2023-12-19 17:39:17.818834020 +0100
+++ chromium-121.0.6167.16/chrome/browser/ui/views/permissions/embedded_permission_prompt_previously_granted_view.cc 2023-12-19 17:44:15.346337876 +0100
@@ -61,13 +61,13 @@ EmbeddedPermissionPromptPreviouslyGrante
std::vector<EmbeddedPermissionPromptPreviouslyGrantedView::ButtonConfiguration>
EmbeddedPermissionPromptPreviouslyGrantedView::GetButtonsConfiguration() const {
std::vector<ButtonConfiguration> buttons;
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_CONTINUE_ALLOWING),
- ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal);
+ ButtonType::kContinueAllowing, ui::ButtonStyle::kTonal};
- buttons.emplace_back(
+ buttons.emplace_back() = {
l10n_util::GetStringUTF16(IDS_EMBEDDED_PROMPT_STOP_ALLOWING),
- ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId);
+ ButtonType::kStopAllowing, ui::ButtonStyle::kTonal, kStopAllowingId};
return buttons;
}
diff -up chromium-121.0.6167.16/components/password_manager/core/browser/password_manager.cc.than chromium-121.0.6167.16/components/password_manager/core/browser/password_manager.cc
--- chromium-121.0.6167.16/components/password_manager/core/browser/password_manager.cc.than 2023-12-19 17:39:17.819834039 +0100
+++ chromium-121.0.6167.16/components/password_manager/core/browser/password_manager.cc 2023-12-19 17:48:33.144389081 +0100
@@ -666,7 +666,7 @@ void PasswordManager::OnUserModifiedNonP
it->second.last_change = base::Time::Now();
} else {
possible_usernames_.Put(
- PossibleUsernameFieldIdentifier(driver_id, renderer_id),
+ PossibleUsernameFieldIdentifier{driver_id, renderer_id},
PossibleUsernameData(GetSignonRealm(driver->GetLastCommittedURL()),
renderer_id, value, base::Time::Now(), driver_id,
autocomplete_attribute_has_username,
diff -up chromium-121.0.6167.16/content/browser/renderer_host/render_frame_host_impl.cc.than chromium-121.0.6167.16/content/browser/renderer_host/render_frame_host_impl.cc
--- chromium-121.0.6167.16/content/browser/renderer_host/render_frame_host_impl.cc.than 2023-12-19 17:39:17.825834156 +0100
+++ chromium-121.0.6167.16/content/browser/renderer_host/render_frame_host_impl.cc 2023-12-19 17:53:43.153283847 +0100
@@ -8561,7 +8561,7 @@ void RenderFrameHostImpl::SendFencedFram
for (const blink::FencedFrame::ReportingDestination& destination :
destinations) {
SendFencedFrameReportingBeaconInternal(
- DestinationEnumEvent(event_type, event_data), destination,
+ DestinationEnumEvent{event_type, event_data}, destination,
attribution_reporting_runtime_features);
}
}
@@ -8593,7 +8593,7 @@ void RenderFrameHostImpl::SendFencedFram
}
SendFencedFrameReportingBeaconInternal(
- DestinationURLEvent(destination_url),
+ DestinationURLEvent{destination_url},
blink::FencedFrame::ReportingDestination::kBuyer,
attribution_reporting_runtime_features);
}
@@ -8730,7 +8730,7 @@ void RenderFrameHostImpl::MaybeSendFence
data = info->data;
}
initiator_rfh->SendFencedFrameReportingBeaconInternal(
- AutomaticBeaconEvent(event_type, data), destination,
+ AutomaticBeaconEvent{event_type, data}, destination,
attribution_reporting_features, navigation_request.GetNavigationId());
}
} else {
@@ -8741,7 +8741,7 @@ void RenderFrameHostImpl::MaybeSendFence
for (blink::FencedFrame::ReportingDestination destination :
info->destinations) {
initiator_rfh->SendFencedFrameReportingBeaconInternal(
- AutomaticBeaconEvent(event_type, info->data), destination,
+ AutomaticBeaconEvent{event_type, info->data}, destination,
info->attribution_reporting_runtime_features,
navigation_request.GetNavigationId());
}
diff -up chromium-121.0.6167.57/base/nix/mime_util_xdg.cc.me chromium-121.0.6167.57/base/nix/mime_util_xdg.cc
--- chromium-121.0.6167.57/base/nix/mime_util_xdg.cc.me 2024-01-21 16:54:15.261844448 +0100
+++ chromium-121.0.6167.57/base/nix/mime_util_xdg.cc 2024-01-21 16:55:48.705577424 +0100
@@ -56,7 +56,7 @@ void LoadAllMimeCacheFiles(MimeTypeMap&
for (const auto& path : GetXDGDataSearchLocations(env.get())) {
FilePath mime_cache = path.Append("mime/mime.cache");
if (GetFileInfo(mime_cache, &info) && ParseMimeTypes(mime_cache, map)) {
- files.emplace_back(mime_cache, info.last_modified);
+ files.emplace_back() = {mime_cache, info.last_modified};
}
}
}
diff -up chromium-121.0.6167.57/components/performance_manager/worker_watcher.cc.me chromium-121.0.6167.57/components/performance_manager/worker_watcher.cc
--- chromium-121.0.6167.57/components/performance_manager/worker_watcher.cc.me 2024-01-21 18:11:31.397859608 +0100
+++ chromium-121.0.6167.57/components/performance_manager/worker_watcher.cc 2024-01-21 18:20:07.715415037 +0100
@@ -239,7 +239,7 @@ void WorkerWatcher::OnWorkerCreated(
DCHECK(insertion_result.second);
absl::visit(
- base::Overloaded(
+ base::Overloaded{
[&,
this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
AddFrameClientConnection(insertion_result.first->second.get(),
@@ -248,7 +248,7 @@ void WorkerWatcher::OnWorkerCreated(
[&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
ConnectDedicatedWorkerClient(insertion_result.first->second.get(),
dedicated_worker_token);
- }),
+ }},
creator);
}
@@ -265,7 +265,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
// First disconnect the creator's node from this worker node.
absl::visit(
- base::Overloaded(
+ base::Overloaded{
[&,
this](const content::GlobalRenderFrameHostId& render_frame_host_id) {
RemoveFrameClientConnection(worker_node.get(),
@@ -274,7 +274,7 @@ void WorkerWatcher::OnBeforeWorkerDestro
[&, this](blink::DedicatedWorkerToken dedicated_worker_token) {
DisconnectDedicatedWorkerClient(worker_node.get(),
dedicated_worker_token);
- }),
+ }},
creator);
// Disconnect all child workers before destroying the node.
@@ -446,7 +446,7 @@ void WorkerWatcher::OnControlleeAdded(
const std::string& client_uuid,
const content::ServiceWorkerClientInfo& client_info) {
absl::visit(
- base::Overloaded(
+ base::Overloaded{
[&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
// For window clients, it is necessary to wait until the navigation
// has committed to a RenderFrameHost.
@@ -484,7 +484,7 @@ void WorkerWatcher::OnControlleeAdded(
ConnectSharedWorkerClient(service_worker_node,
shared_worker_token);
}
- }),
+ }},
client_info);
}
@@ -524,7 +524,7 @@ void WorkerWatcher::OnControlleeRemoved(
return;
absl::visit(
- base::Overloaded(
+ base::Overloaded{
[&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
RemoveFrameClientConnection(worker_node, render_frame_host_id);
},
@@ -534,7 +534,7 @@ void WorkerWatcher::OnControlleeRemoved(
},
[&, this](blink::SharedWorkerToken shared_worker_token) {
DisconnectSharedWorkerClient(worker_node, shared_worker_token);
- }),
+ }},
client);
}
@@ -810,7 +810,7 @@ void WorkerWatcher::ConnectAllServiceWor
for (const auto& kv : it->second) {
absl::visit(
- base::Overloaded(
+ base::Overloaded{
[&, this](content::GlobalRenderFrameHostId render_frame_host_id) {
AddFrameClientConnection(service_worker_node,
render_frame_host_id);
@@ -822,7 +822,7 @@ void WorkerWatcher::ConnectAllServiceWor
[&, this](blink::SharedWorkerToken shared_worker_token) {
ConnectSharedWorkerClient(service_worker_node,
shared_worker_token);
- }),
+ }},
kv.second);
}
}
@@ -837,7 +837,7 @@ void WorkerWatcher::DisconnectAllService
for (const auto& kv : it->second) {
absl::visit(
- base::Overloaded(
+ base::Overloaded{
[&, this](
const content::GlobalRenderFrameHostId& render_frame_host_id) {
RemoveFrameClientConnection(service_worker_node,
@@ -851,7 +851,7 @@ void WorkerWatcher::DisconnectAllService
[&, this](const blink::SharedWorkerToken& shared_worker_token) {
DisconnectSharedWorkerClient(service_worker_node,
shared_worker_token);
- }),
+ }},
kv.second);
}
}
diff -up chromium-121.0.6167.57/content/browser/first_party_sets/first_party_set_parser.cc.me chromium-121.0.6167.57/content/browser/first_party_sets/first_party_set_parser.cc
--- chromium-121.0.6167.57/content/browser/first_party_sets/first_party_set_parser.cc.me 2024-01-21 18:40:52.284389286 +0100
+++ chromium-121.0.6167.57/content/browser/first_party_sets/first_party_set_parser.cc 2024-01-21 18:41:17.276840222 +0100
@@ -764,7 +764,7 @@ FirstPartySetParser::ParseSetsFromEnterp
context.GetPolicySetsFromList(
policy.FindList(kFirstPartySetPolicyAdditionsField),
PolicySetType::kAddition));
- return ParsedPolicySetLists(std::move(replacements), std::move(additions));
+ return ParsedPolicySetLists{std::move(replacements), std::move(additions)};
}();
context.PostProcessSetLists(set_lists);
diff -up chromium-121.0.6167.57/content/browser/interest_group/header_direct_from_seller_signals.h.me chromium-121.0.6167.57/content/browser/interest_group/header_direct_from_seller_signals.h
--- chromium-121.0.6167.57/content/browser/interest_group/header_direct_from_seller_signals.h.me 2024-01-21 19:30:00.536387844 +0100
+++ chromium-121.0.6167.57/content/browser/interest_group/header_direct_from_seller_signals.h 2024-01-21 20:29:50.236287514 +0100
@@ -133,6 +133,7 @@ class CONTENT_EXPORT HeaderDirectFromSel
// The Ad-Auction-Signals response served by `origin`.
std::string response_json;
+ UnprocessedResponse(auto u, auto s) : origin(u), response_json(s) { }
};
// Information from ParseAndFind() calls used by ParseAndFindCompleted.
diff -up chromium-121.0.6167.57/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.me chromium-121.0.6167.57/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc
--- chromium-121.0.6167.57/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc.me 2024-01-21 21:58:48.773366301 +0100
+++ chromium-121.0.6167.57/content/browser/service_worker/service_worker_main_resource_loader_interceptor.cc 2024-01-21 22:02:17.956086167 +0100
@@ -360,10 +360,10 @@ ServiceWorkerMainResourceLoaderIntercept
}
auto* storage_partition = process->GetStoragePartition();
- return absl::visit(base::Overloaded([&, this](auto token) {
+ return absl::visit(base::Overloaded{[&, this](auto token) {
return GetStorageKeyFromWorkerHost(storage_partition,
token, origin);
- }),
+ }},
*worker_token_);
}
diff -up chromium-121.0.6167.57/content/browser/service_worker/service_worker_container_host.cc.me chromium-121.0.6167.57/content/browser/service_worker/service_worker_container_host.cc
--- chromium-121.0.6167.57/content/browser/service_worker/service_worker_container_host.cc.me 2024-01-21 22:04:30.446454697 +0100
+++ chromium-121.0.6167.57/content/browser/service_worker/service_worker_container_host.cc 2024-01-21 22:05:22.847391481 +0100
@@ -870,7 +870,7 @@ ServiceWorkerContainerHost::GetClientTyp
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(client_info_);
return absl::visit(
- base::Overloaded(
+ base::Overloaded{
[](GlobalRenderFrameHostId render_frame_host_id) {
return blink::mojom::ServiceWorkerClientType::kWindow;
},
@@ -879,7 +879,7 @@ ServiceWorkerContainerHost::GetClientTyp
},
[](blink::SharedWorkerToken shared_worker_token) {
return blink::mojom::ServiceWorkerClientType::kSharedWorker;
- }),
+ }},
*client_info_);
}
diff -up chromium-121.0.6167.57/content/browser/worker_host/dedicated_worker_host.cc.me chromium-121.0.6167.57/content/browser/worker_host/dedicated_worker_host.cc
--- chromium-121.0.6167.57/content/browser/worker_host/dedicated_worker_host.cc.me 2024-01-21 22:37:00.969416148 +0100
+++ chromium-121.0.6167.57/content/browser/worker_host/dedicated_worker_host.cc 2024-01-21 22:38:07.754528335 +0100
@@ -251,7 +251,7 @@ void DedicatedWorkerHost::StartScriptLoa
RenderFrameHostImpl* creator_render_frame_host = nullptr;
DedicatedWorkerHost* creator_worker = nullptr;
- absl::visit(base::Overloaded(
+ absl::visit(base::Overloaded{
[&](const GlobalRenderFrameHostId& render_frame_host_id) {
creator_render_frame_host =
RenderFrameHostImpl::FromID(render_frame_host_id);
@@ -259,7 +259,7 @@ void DedicatedWorkerHost::StartScriptLoa
[&](blink::DedicatedWorkerToken dedicated_worker_token) {
creator_worker = service_->GetDedicatedWorkerHostFromToken(
dedicated_worker_token);
- }),
+ }},
creator_);
if (!creator_render_frame_host && !creator_worker) {

@ -0,0 +1,12 @@
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;

@ -0,0 +1,77 @@
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py.me 2024-01-15 20:48:28.177397102 +0100
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/html_generation_controller.py 2024-01-15 20:48:46.427768328 +0100
@@ -18,7 +18,7 @@ class HTMLGenerationController(object):
def GetHTMLForInlineStylesheet(self, contents):
if self.current_module is None:
- if re.search('url\(.+\)', contents):
+ if re.search(r'url\(.+\)', contents):
raise Exception(
'Default HTMLGenerationController cannot handle inline style urls')
return contents
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py.me 2024-01-15 20:49:39.363845083 +0100
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/js_utils.py 2024-01-15 20:49:57.407212098 +0100
@@ -4,4 +4,4 @@
def EscapeJSIfNeeded(js):
- return js.replace('</script>', '<\/script>')
+ return js.replace(r'</script>', r'<\/script>')
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py.me 2024-01-15 20:50:11.819505254 +0100
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/parse_html_deps.py 2024-01-15 20:50:38.611050213 +0100
@@ -293,6 +293,6 @@ class HTMLModuleParser():
html = ''
else:
if html.find('< /script>') != -1:
- raise Exception('Escape script tags with <\/script>')
+ raise Exception(r'Escape script tags with <\/script>')
return HTMLModuleParserResults(html)
diff -up chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py
--- chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py.me 2024-01-15 20:48:59.917042709 +0100
+++ chromium-121.0.6167.57/third_party/catapult/common/py_vulcanize/py_vulcanize/style_sheet.py 2024-01-15 20:49:24.402540761 +0100
@@ -60,7 +60,7 @@ class ParsedStyleSheet(object):
return 'url(data:image/%s;base64,%s)' % (ext[1:], data.decode('utf-8'))
# I'm assuming we only have url()'s associated with images
- return re.sub('url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
+ return re.sub(r'url\((?P<quote>"|\'|)(?P<url>[^"\'()]*)(?P=quote)\)',
InlineUrl, self.contents)
def AppendDirectlyDependentFilenamesTo(self, dependent_filenames):
@@ -72,7 +72,7 @@ class ParsedStyleSheet(object):
raise Exception('@imports are not supported')
matches = re.findall(
- 'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
+ r'url\((?:["|\']?)([^"\'()]*)(?:["|\']?)\)',
self.contents)
def resolve_url(url):
diff -up chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py.me chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py
--- chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py.me 2024-01-15 20:50:56.810420400 +0100
+++ chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-tools/src/scripts/gn/generate_vulkan_icd_json.py 2024-01-15 20:52:33.506387261 +0100
@@ -28,7 +28,7 @@ import platform
import sys
def glob_slash(dirname):
- """Like regular glob but replaces \ with / in returned paths."""
+ """Like regular glob but replaces \\ with / in returned paths."""
return [s.replace('\\', '/') for s in glob.glob(dirname)]
def main():
diff -up chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py.me chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py
--- chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py.me 2024-01-15 20:52:38.016479000 +0100
+++ chromium-121.0.6167.57/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py 2024-01-15 20:52:48.863699640 +0100
@@ -28,7 +28,7 @@ import platform
import sys
def glob_slash(dirname):
- """Like regular glob but replaces \ with / in returned paths."""
+ """Like regular glob but replaces \\ with / in returned paths."""
return [s.replace('\\', '/') for s in glob.glob(dirname)]
def main():

@ -50,21 +50,6 @@ diff -up chromium-114.0.5735.35/media/gpu/vaapi/vaapi_video_encode_accelerator.c
default:
return nullptr;
}
diff -up chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/BUILD.gn
--- chromium-114.0.5735.35/media/gpu/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200
+++ chromium-114.0.5735.35/media/gpu/BUILD.gn 2023-05-20 13:14:10.755183630 +0200
@@ -373,10 +373,7 @@ source_set("common") {
"vp9_svc_layers.h",
]
configs += [ "//third_party/libvpx:libvpx_config" ]
- deps += [
- "//third_party/libaom:libaomrc",
- "//third_party/libvpx:libvpxrc",
- ]
+ deps += [ "//third_party/libvpx:libvpxrc" ]
}
if (use_libgav1_parser) {
sources += [
diff -up chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn
--- chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn.revert-av1enc 2023-05-18 00:37:57.000000000 +0200
+++ chromium-114.0.5735.35/media/gpu/vaapi/BUILD.gn 2023-05-20 13:14:10.756183626 +0200
@ -119,3 +104,18 @@ diff -up chromium-119.0.6045.105/media/gpu/vaapi/vaapi_wrapper.h.me chromium-119
// Blits a VASurface |va_surface_src| into another VASurface
// |va_surface_dest| applying pixel format conversion, cropping
diff -up chromium-121.0.6167.57/media/gpu/BUILD.gn.than chromium-121.0.6167.57/media/gpu/BUILD.gn
--- chromium-121.0.6167.57/media/gpu/BUILD.gn.than 2024-01-15 22:09:21.010029147 +0100
+++ chromium-121.0.6167.57/media/gpu/BUILD.gn 2024-01-15 22:10:05.192259340 +0100
@@ -391,10 +391,7 @@ source_set("common") {
"vp9_svc_layers_stateful.h",
]
configs += [ "//third_party/libvpx:libvpx_config" ]
- deps += [
- "//third_party/libaom:libaomrc",
- "//third_party/libvpx:libvpxrc",
- ]
+ deps += [ "//third_party/libvpx:libvpxrc" ]
}
if (use_libgav1_parser) {
sources += [

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

@ -0,0 +1,34 @@
diff -up chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc
--- chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me 2024-01-16 10:54:38.994173911 +0100
+++ chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc 2024-01-16 11:06:20.974160612 +0100
@@ -710,8 +710,13 @@ bool AVStreamToVideoDecoderConfig(const
}
VideoTransformation video_transformation = VideoTransformation();
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (int i = 0; i < stream->nb_side_data; i++) {
+ const auto& side_data = stream->side_data[i];
+#else
for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
const auto& side_data = stream->codecpar->coded_side_data[i];
+#endif
switch (side_data.type) {
case AV_PKT_DATA_DISPLAYMATRIX: {
CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
diff -up chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc
--- chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me 2024-01-16 11:12:27.521534151 +0100
+++ chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc 2024-01-16 11:15:08.717337026 +0100
@@ -113,8 +113,13 @@ bool AudioVideoMetadataExtractor::Extrac
if (!stream)
continue;
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (int j = 0; j < stream->nb_side_data; j++) {
+ const AVPacketSideData& sd = stream->side_data[j];
+#else
for (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) {
const AVPacketSideData& sd = stream->codecpar->coded_side_data[j];
+#endif
if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(

@ -203,3 +203,57 @@ diff -up chromium-120.0.6099.56/third_party/blink/renderer/bindings/core/v8/asyn
ExceptionState& exception_state) = 0;
};
diff -up chromium-121.0.6167.57/base/functional/bind_internal.h.me chromium-121.0.6167.57/base/functional/bind_internal.h
--- chromium-121.0.6167.57/base/functional/bind_internal.h.me 2024-01-21 16:10:09.809037581 +0100
+++ chromium-121.0.6167.57/base/functional/bind_internal.h 2024-01-21 16:46:33.759397303 +0100
@@ -1533,11 +1533,11 @@ template <int i,
typename Param>
struct ParamCanBeBound {
private:
- using UnwrappedParam = BindArgument<i>::template ForwardedAs<
+ using UnwrappedParam = typename BindArgument<i>::template ForwardedAs<
Unwrapped>::template ToParamWithType<Param>;
- using ParamStorage = BindArgument<i>::template ToParamWithType<
+ using ParamStorage = typename BindArgument<i>::template ToParamWithType<
Param>::template StoredAs<Storage>;
- using BoundStorage =
+ using BoundStorage = typename
BindArgument<i>::template BoundAs<Arg>::template StoredAs<Storage>;
// We forbid callbacks from using raw_ptr as a parameter. However, we allow
diff -up chromium-121.0.6167.57/mojo/public/cpp/bindings/array_traits.h.me chromium-121.0.6167.57/mojo/public/cpp/bindings/array_traits.h
--- chromium-121.0.6167.57/mojo/public/cpp/bindings/array_traits.h.me 2024-01-21 17:23:37.786606428 +0100
+++ chromium-121.0.6167.57/mojo/public/cpp/bindings/array_traits.h 2024-01-21 17:23:58.582127103 +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-121.0.6167.57/components/optimization_guide/core/model_execution/model_execution_util.h.me chromium-121.0.6167.57/components/optimization_guide/core/model_execution/model_execution_util.h
--- chromium-121.0.6167.57/components/optimization_guide/core/model_execution/model_execution_util.h.me 2024-01-21 17:33:40.030897838 +0100
+++ chromium-121.0.6167.57/components/optimization_guide/core/model_execution/model_execution_util.h 2024-01-21 17:34:11.518705266 +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-121.0.6167.57/components/optimization_guide/core/model_quality/model_quality_log_entry.h.me chromium-121.0.6167.57/components/optimization_guide/core/model_quality/model_quality_log_entry.h
--- chromium-121.0.6167.57/components/optimization_guide/core/model_quality/model_quality_log_entry.h.me 2024-01-21 17:32:42.367417619 +0100
+++ chromium-121.0.6167.57/components/optimization_guide/core/model_quality/model_quality_log_entry.h 2024-01-21 17:33:25.732531198 +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();
}

@ -0,0 +1,743 @@
commit 940af9f2c87b436559b97c53763aa9eaaf1254eb
Author: Jeremy Roman <jbroman@chromium.org>
Date: Wed Nov 15 16:24:54 2023 +0000
Use C++20 features to simplify blink::NativeValueTraitsBase.
These allow some of the metaprogramming bits to be simplified a little.
Change-Id: I052b4397586d21348401616e1792afdb9662f975
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5030335
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1224978}
diff --git a/third_party/blink/renderer/bindings/core/v8/native_value_traits.h b/third_party/blink/renderer/bindings/core/v8/native_value_traits.h
index 7fc91d14acc71..1e5a0790df6da 100644
--- a/third_party/blink/renderer/bindings/core/v8/native_value_traits.h
+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits.h
@@ -5,6 +5,7 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_H_
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_H_
+#include <concepts>
#include <type_traits>
#include "third_party/blink/renderer/bindings/core/v8/idl_types_base.h"
@@ -30,7 +31,7 @@ class ExceptionState;
// return toInt32(isolate, value, exceptionState, NormalConversion);
// }
// }
-template <typename T, typename SFINAEHelper = void>
+template <typename T>
struct NativeValueTraits;
// This declaration serves only as a blueprint for specializations: the
@@ -45,22 +46,15 @@ struct NativeValueTraits;
namespace bindings {
-template <typename T, typename = void>
-struct NativeValueTraitsHasIsNull : std::false_type {};
-
template <typename T>
-struct NativeValueTraitsHasIsNull<
- T,
- std::void_t<decltype(std::declval<T>().IsNull())>> : std::true_type {};
+struct ImplTypeFor {
+ using type = T;
+};
template <typename T>
-struct NativeValueTraitsHasNullValue {
- // true if |T| supports IDL null value.
- static constexpr bool value =
- // ScriptValue, String, and union types have IsNull member function.
- bindings::NativeValueTraitsHasIsNull<T>::value ||
- // Pointer types have nullptr as IDL null value.
- std::is_pointer<T>::value;
+ requires std::derived_from<T, IDLBase>
+struct ImplTypeFor<T> {
+ using type = typename T::ImplType;
};
} // namespace bindings
@@ -78,37 +72,17 @@ struct NativeValueTraitsHasNullValue {
// If present, |NullValue()| will be used when converting from the nullable type
// T?, and should be used if the impl type has an existing "null" state. If not
// present, WTF::Optional will be used to wrap the type.
-template <typename T, typename SFINAEHelper = void>
-struct NativeValueTraitsBase {
- STATIC_ONLY(NativeValueTraitsBase);
-
- using ImplType = T;
-
- static constexpr bool has_null_value =
- bindings::NativeValueTraitsHasNullValue<ImplType>::value;
-
- template <typename... ExtraArgs>
- static decltype(auto) ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state,
- ExtraArgs... extra_args) {
- return NativeValueTraits<std::remove_pointer_t<T>>::NativeValue(
- isolate, value, exception_state,
- std::forward<ExtraArgs>(extra_args)...);
- }
-};
-
template <typename T>
-struct NativeValueTraitsBase<
- T,
- std::enable_if_t<std::is_base_of<IDLBase, T>::value>> {
+struct NativeValueTraitsBase {
STATIC_ONLY(NativeValueTraitsBase);
- using ImplType = typename T::ImplType;
+ using ImplType = bindings::ImplTypeFor<T>::type;
+ // Pointer types have nullptr as IDL null value.
+ // ScriptValue, String, and union types have IsNull member function.
static constexpr bool has_null_value =
- bindings::NativeValueTraitsHasNullValue<ImplType>::value;
+ std::is_pointer_v<ImplType> ||
+ requires(ImplType value) { value.IsNull(); };
template <typename... ExtraArgs>
static decltype(auto) ArgumentValue(v8::Isolate* isolate,
diff --git a/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc b/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc
index 508ea6d8eea48..18de71d84023f 100644
--- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc
+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_buffer_sources.cc
@@ -7,6 +7,7 @@
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
+#include "third_party/blink/renderer/core/typed_arrays/flexible_array_buffer_view.h"
#include "third_party/blink/renderer/core/typed_arrays/typed_flexible_array_buffer_view.h"
namespace blink {
@@ -698,12 +699,11 @@ DOMArrayBufferBase* NativeValueTraits<
// ArrayBufferView
template <typename T>
-NotShared<T> NativeValueTraits<
- NotShared<T>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- NativeValue(v8::Isolate* isolate,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+NotShared<T> NativeValueTraits<NotShared<T>>::NativeValue(
+ v8::Isolate* isolate,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return NativeValueImpl<
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
@@ -712,13 +712,12 @@ NotShared<T> NativeValueTraits<
}
template <typename T>
-NotShared<T> NativeValueTraits<
- NotShared<T>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+NotShared<T> NativeValueTraits<NotShared<T>>::ArgumentValue(
+ v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
@@ -729,12 +728,11 @@ NotShared<T> NativeValueTraits<
// [AllowShared] ArrayBufferView
template <typename T>
-MaybeShared<T> NativeValueTraits<
- MaybeShared<T>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- NativeValue(v8::Isolate* isolate,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+MaybeShared<T> NativeValueTraits<MaybeShared<T>>::NativeValue(
+ v8::Isolate* isolate,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return NativeValueImpl<RecipeTrait<MaybeShared<T>>,
ToDOMViewType<T, kMaybeShared>,
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
@@ -743,13 +741,12 @@ MaybeShared<T> NativeValueTraits<
}
template <typename T>
-MaybeShared<T> NativeValueTraits<
- MaybeShared<T>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+MaybeShared<T> NativeValueTraits<MaybeShared<T>>::ArgumentValue(
+ v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<RecipeTrait<MaybeShared<T>>,
ToDOMViewType<T, kMaybeShared>,
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
@@ -760,12 +757,12 @@ MaybeShared<T> NativeValueTraits<
// [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView
template <typename T>
-MaybeShared<T> NativeValueTraits<
- IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- NativeValue(v8::Isolate* isolate,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+MaybeShared<T>
+NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>::NativeValue(
+ v8::Isolate* isolate,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return NativeValueImpl<
RecipeTrait<MaybeShared<T>>, ToDOMViewType<T, kMaybeShared>,
Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck,
@@ -774,13 +771,12 @@ MaybeShared<T> NativeValueTraits<
}
template <typename T>
-MaybeShared<T> NativeValueTraits<
- IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+MaybeShared<T> NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<
+ MaybeShared<T>>>::ArgumentValue(v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<
RecipeTrait<MaybeShared<T>>, ToDOMViewType<T, kMaybeShared>,
Nullablity::kIsNotNullable, BufferSizeCheck::kDoNotCheck,
@@ -791,12 +787,11 @@ MaybeShared<T> NativeValueTraits<
// Nullable ArrayBufferView
template <typename T>
-NotShared<T> NativeValueTraits<
- IDLNullable<NotShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- NativeValue(v8::Isolate* isolate,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+NotShared<T> NativeValueTraits<IDLNullable<NotShared<T>>>::NativeValue(
+ v8::Isolate* isolate,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return NativeValueImpl<
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
@@ -805,13 +800,12 @@ NotShared<T> NativeValueTraits<
}
template <typename T>
-NotShared<T> NativeValueTraits<
- IDLNullable<NotShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+NotShared<T> NativeValueTraits<IDLNullable<NotShared<T>>>::ArgumentValue(
+ v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<
RecipeTrait<NotShared<T>>, ToDOMViewType<T, kNotShared>,
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
@@ -822,12 +816,11 @@ NotShared<T> NativeValueTraits<
// Nullable [AllowShared] ArrayBufferView
template <typename T>
-MaybeShared<T> NativeValueTraits<
- IDLNullable<MaybeShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- NativeValue(v8::Isolate* isolate,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+MaybeShared<T> NativeValueTraits<IDLNullable<MaybeShared<T>>>::NativeValue(
+ v8::Isolate* isolate,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return NativeValueImpl<RecipeTrait<MaybeShared<T>>,
ToDOMViewType<T, kMaybeShared>,
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
@@ -836,13 +829,12 @@ MaybeShared<T> NativeValueTraits<
}
template <typename T>
-MaybeShared<T> NativeValueTraits<
- IDLNullable<MaybeShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, DOMArrayBufferView>
+MaybeShared<T> NativeValueTraits<IDLNullable<MaybeShared<T>>>::ArgumentValue(
+ v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<RecipeTrait<MaybeShared<T>>,
ToDOMViewType<T, kMaybeShared>,
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
@@ -853,9 +845,9 @@ MaybeShared<T> NativeValueTraits<
// Nullable [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView
template <typename T>
-MaybeShared<T> NativeValueTraits<
- IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>::
+ requires std::derived_from<T, DOMArrayBufferView>
+MaybeShared<T>
+NativeValueTraits<IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>>::
ArgumentValue(v8::Isolate* isolate,
int argument_index,
v8::Local<v8::Value> value,
@@ -870,13 +862,11 @@ MaybeShared<T> NativeValueTraits<
// [AllowShared, FlexibleArrayBufferView] ArrayBufferView
template <typename T>
-T NativeValueTraits<T,
- typename std::enable_if_t<
- std::is_base_of<FlexibleArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, FlexibleArrayBufferView>
+T NativeValueTraits<T>::ArgumentValue(v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<RecipeTrait<T>, ToFlexibleArrayBufferView,
Nullablity::kIsNotNullable, BufferSizeCheck::kCheck,
ResizableAllowance::kDisallowResizable,
@@ -888,13 +878,12 @@ T NativeValueTraits<T,
// ArrayBufferView
template <typename T>
-T NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>,
- typename std::enable_if_t<
- std::is_base_of<FlexibleArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, FlexibleArrayBufferView>
+T NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>>::ArgumentValue(
+ v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<
RecipeTrait<T>, ToFlexibleArrayBufferView, Nullablity::kIsNotNullable,
BufferSizeCheck::kDoNotCheck, ResizableAllowance::kDisallowResizable,
@@ -905,13 +894,12 @@ T NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>,
// Nullable [AllowShared, FlexibleArrayBufferView] ArrayBufferView
template <typename T>
-T NativeValueTraits<IDLNullable<T>,
- typename std::enable_if_t<
- std::is_base_of<FlexibleArrayBufferView, T>::value>>::
- ArgumentValue(v8::Isolate* isolate,
- int argument_index,
- v8::Local<v8::Value> value,
- ExceptionState& exception_state) {
+ requires std::derived_from<T, FlexibleArrayBufferView>
+T NativeValueTraits<IDLNullable<T>>::ArgumentValue(
+ v8::Isolate* isolate,
+ int argument_index,
+ v8::Local<v8::Value> value,
+ ExceptionState& exception_state) {
return ArgumentValueImpl<RecipeTrait<T>, ToFlexibleArrayBufferView,
Nullablity::kIsNullable, BufferSizeCheck::kCheck,
ResizableAllowance::kDisallowResizable,
diff --git a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
index 899929dcf49f9..5011503dcf1c0 100644
--- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
@@ -5,6 +5,9 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_IMPL_H_
#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_NATIVE_VALUE_TRAITS_IMPL_H_
+#include <concepts>
+#include <type_traits>
+
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/blink/renderer/bindings/core/v8/idl_types.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits.h"
@@ -715,9 +718,8 @@ struct CORE_EXPORT NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>> {
+ requires std::derived_from<T, DOMArrayBufferView>
+struct NativeValueTraits<T> {
// NotShared<T> or MaybeShared<T> should be used instead.
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -729,9 +731,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<T>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>> {
+ requires std::derived_from<T, DOMArrayBufferView>
+struct NativeValueTraits<IDLNullable<T>> {
// NotShared<T> or MaybeShared<T> should be used instead.
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -743,9 +744,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- NotShared<T>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
+ requires std::derived_from<T, DOMArrayBufferView>
+struct NativeValueTraits<NotShared<T>>
: public NativeValueTraitsBase<NotShared<T>> {
static NotShared<T> NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -758,9 +758,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<NotShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
+ requires std::derived_from<T, DOMArrayBufferView>
+struct NativeValueTraits<IDLNullable<NotShared<T>>>
: public NativeValueTraitsBase<NotShared<T>> {
static NotShared<T> NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -773,9 +772,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- MaybeShared<T>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
+ requires std::derived_from<T, DOMArrayBufferView>
+struct NativeValueTraits<MaybeShared<T>>
: public NativeValueTraitsBase<MaybeShared<T>> {
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -788,9 +786,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
+ requires std::derived_from<T, DOMArrayBufferView>
+struct NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>
: public NativeValueTraitsBase<MaybeShared<T>> {
// FlexibleArrayBufferView uses this in its implementation, so we cannot
// delete it.
@@ -805,9 +802,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<MaybeShared<T>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
+ requires std::derived_from<T, DOMArrayBufferView>
+struct NativeValueTraits<IDLNullable<MaybeShared<T>>>
: public NativeValueTraitsBase<MaybeShared<T>> {
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -820,9 +816,9 @@ struct NativeValueTraits<
};
template <typename T>
+ requires std::derived_from<T, DOMArrayBufferView>
struct NativeValueTraits<
- IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>,
- typename std::enable_if_t<std::is_base_of<DOMArrayBufferView, T>::value>>
+ IDLNullable<IDLBufferSourceTypeNoSizeLimit<MaybeShared<T>>>>
: public NativeValueTraitsBase<MaybeShared<T>> {
// BufferSourceTypeNoSizeLimit must be used only as arguments.
static MaybeShared<T> NativeValue(v8::Isolate* isolate,
@@ -836,11 +832,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<
- std::is_base_of<FlexibleArrayBufferView, T>::value>>
- : public NativeValueTraitsBase<T> {
+ requires std::derived_from<T, FlexibleArrayBufferView>
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T> {
// FlexibleArrayBufferView must be used only as arguments.
static T NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -853,10 +846,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLBufferSourceTypeNoSizeLimit<T>,
- typename std::enable_if_t<
- std::is_base_of<FlexibleArrayBufferView, T>::value>>
+ requires std::derived_from<T, FlexibleArrayBufferView>
+struct NativeValueTraits<IDLBufferSourceTypeNoSizeLimit<T>>
: public NativeValueTraitsBase<T> {
// BufferSourceTypeNoSizeLimit and FlexibleArrayBufferView must be used only
// as arguments.
@@ -871,11 +862,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<T>,
- typename std::enable_if_t<
- std::is_base_of<FlexibleArrayBufferView, T>::value>>
- : public NativeValueTraitsBase<T> {
+ requires std::derived_from<T, FlexibleArrayBufferView>
+struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T> {
// FlexibleArrayBufferView must be used only as arguments.
static T NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -1134,9 +1122,8 @@ NativeValueTraits<IDLSequence<T>>::NativeValue(
}
template <typename T>
-struct NativeValueTraits<IDLNullable<IDLSequence<T>>,
- typename std::enable_if_t<
- NativeValueTraits<IDLSequence<T>>::has_null_value>>
+ requires NativeValueTraits<IDLSequence<T>>::has_null_value
+struct NativeValueTraits<IDLNullable<IDLSequence<T>>>
: public NativeValueTraitsBase<HeapVector<AddMemberIfNeeded<T>>*> {
using ImplType = typename NativeValueTraits<IDLSequence<T>>::ImplType*;
@@ -1203,9 +1190,8 @@ struct NativeValueTraits<IDLArray<T>>
: public NativeValueTraits<IDLSequence<T>> {};
template <typename T>
-struct NativeValueTraits<IDLNullable<IDLArray<T>>,
- typename std::enable_if_t<
- NativeValueTraits<IDLSequence<T>>::has_null_value>>
+ requires NativeValueTraits<IDLSequence<T>>::has_null_value
+struct NativeValueTraits<IDLNullable<IDLArray<T>>>
: public NativeValueTraits<IDLNullable<IDLSequence<T>>> {};
// Record types
@@ -1335,10 +1321,8 @@ struct NativeValueTraits<IDLRecord<K, V>>
// Callback function types
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<std::is_base_of<CallbackFunctionBase, T>::value>>
- : public NativeValueTraitsBase<T*> {
+ requires std::derived_from<T, CallbackFunctionBase>
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1361,9 +1345,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<T>,
- typename std::enable_if_t<std::is_base_of<CallbackFunctionBase, T>::value>>
+ requires std::derived_from<T, CallbackFunctionBase>
+struct NativeValueTraits<IDLNullable<T>>
: public NativeValueTraitsBase<IDLNullable<T>> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -1392,10 +1375,8 @@ struct NativeValueTraits<
// Callback interface types
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<std::is_base_of<CallbackInterfaceBase, T>::value>>
- : public NativeValueTraitsBase<T*> {
+ requires std::derived_from<T, CallbackInterfaceBase>
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1418,9 +1399,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<T>,
- typename std::enable_if_t<std::is_base_of<CallbackInterfaceBase, T>::value>>
+ requires std::derived_from<T, CallbackInterfaceBase>
+struct NativeValueTraits<IDLNullable<T>>
: public NativeValueTraitsBase<IDLNullable<T>> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -1449,11 +1429,8 @@ struct NativeValueTraits<
// Dictionary types
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<
- std::is_base_of<bindings::DictionaryBase, T>::value>>
- : public NativeValueTraitsBase<T*> {
+ requires std::derived_from<T, bindings::DictionaryBase>
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1464,14 +1441,11 @@ struct NativeValueTraits<
// We don't support nullable dictionary types in general since it's quite
// confusing and often misused.
template <typename T>
-struct NativeValueTraits<
- IDLNullable<T>,
- typename std::enable_if_t<
- std::is_base_of<bindings::DictionaryBase, T>::value &&
- (std::is_same<T, GPUColorTargetState>::value ||
- std::is_same<T, GPURenderPassColorAttachment>::value ||
- std::is_same<T, GPUVertexBufferLayout>::value)>>
- : public NativeValueTraitsBase<T*> {
+ requires std::derived_from<T, bindings::DictionaryBase> &&
+ (std::same_as<T, GPUColorTargetState> ||
+ std::same_as<T, GPURenderPassColorAttachment> ||
+ std::same_as<T, GPUVertexBufferLayout>)
+struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T*> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1483,11 +1457,8 @@ struct NativeValueTraits<
// Enumeration types
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<
- std::is_base_of<bindings::EnumerationBase, T>::value>>
- : public NativeValueTraitsBase<T> {
+ requires std::derived_from<T, bindings::EnumerationBase>
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T> {
static T NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1497,10 +1468,8 @@ struct NativeValueTraits<
// Interface types
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<std::is_base_of<ScriptWrappable, T>::value>>
- : public NativeValueTraitsBase<T*> {
+ requires std::derived_from<T, ScriptWrappable>
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
static inline T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1528,9 +1497,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<T>,
- typename std::enable_if_t<std::is_base_of<ScriptWrappable, T>::value>>
+ requires std::derived_from<T, ScriptWrappable>
+struct NativeValueTraits<IDLNullable<T>>
: public NativeValueTraitsBase<IDLNullable<T>> {
static inline T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
@@ -1565,10 +1533,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- T,
- typename std::enable_if_t<std::is_base_of<bindings::UnionBase, T>::value>>
- : public NativeValueTraitsBase<T*> {
+ requires std::derived_from<T, bindings::UnionBase>
+struct NativeValueTraits<T> : public NativeValueTraitsBase<T*> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1584,10 +1550,8 @@ struct NativeValueTraits<
};
template <typename T>
-struct NativeValueTraits<
- IDLNullable<T>,
- typename std::enable_if_t<std::is_base_of<bindings::UnionBase, T>::value>>
- : public NativeValueTraitsBase<T*> {
+ requires std::derived_from<T, bindings::UnionBase>
+struct NativeValueTraits<IDLNullable<T>> : public NativeValueTraitsBase<T*> {
static T* NativeValue(v8::Isolate* isolate,
v8::Local<v8::Value> value,
ExceptionState& exception_state) {
@@ -1608,9 +1572,8 @@ struct NativeValueTraits<
// Nullable types
template <typename InnerType>
-struct NativeValueTraits<
- IDLNullable<InnerType>,
- typename std::enable_if_t<!NativeValueTraits<InnerType>::has_null_value>>
+ requires(!NativeValueTraits<InnerType>::has_null_value)
+struct NativeValueTraits<IDLNullable<InnerType>>
: public NativeValueTraitsBase<IDLNullable<InnerType>> {
// https://webidl.spec.whatwg.org/#es-nullable-type
using ImplType =
@@ -1642,9 +1605,8 @@ struct NativeValueTraits<IDLNullable<IDLNullable<T>>>;
// Optional types
template <typename T>
-struct NativeValueTraits<IDLOptional<T>,
- typename std::enable_if_t<std::is_arithmetic<
- typename NativeValueTraits<T>::ImplType>::value>>
+ requires std::is_arithmetic_v<typename NativeValueTraits<T>::ImplType>
+struct NativeValueTraits<IDLOptional<T>>
: public NativeValueTraitsBase<typename NativeValueTraits<T>::ImplType> {
using ImplType = typename NativeValueTraits<T>::ImplType;
@@ -1666,9 +1628,8 @@ struct NativeValueTraits<IDLOptional<T>,
};
template <typename T>
-struct NativeValueTraits<IDLOptional<T>,
- typename std::enable_if_t<std::is_pointer<
- typename NativeValueTraits<T>::ImplType>::value>>
+ requires std::is_pointer_v<typename NativeValueTraits<T>::ImplType>
+struct NativeValueTraits<IDLOptional<T>>
: public NativeValueTraitsBase<typename NativeValueTraits<T>::ImplType> {
using ImplType = typename NativeValueTraits<T>::ImplType;

@ -25,27 +25,29 @@ diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_co
DCHECK(document_url.is_valid());
TRACE_EVENT1("ServiceWorker",
diff -up chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.me chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
--- chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.me 2023-12-03 22:17:50.922083200 +0100
+++ chromium-120.0.6099.56/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc 2023-12-03 22:22:55.437484343 +0100
@@ -3447,7 +3447,8 @@ void GridLayoutAlgorithm::PlaceGridItems
diff -up chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc
--- chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc.than 2023-12-19 17:57:56.205197246 +0100
+++ chromium-121.0.6167.16/third_party/blink/renderer/core/layout/grid/grid_layout_algorithm.cc 2023-12-19 18:10:13.778634531 +0100
@@ -3527,8 +3527,8 @@ void GridLayoutAlgorithm::PlaceGridItems
DCHECK(out_row_break_between);
const auto& container_space = ConstraintSpace();
const auto& container_space = GetConstraintSpace();
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
-
+ const auto& [grid_items, l_d, tree_size] = sizing_tree.TreeRootData();
+ const auto& layout_data = l_d;
const auto* cached_layout_subtree = container_space.GetGridLayoutSubtree();
const auto container_writing_direction =
@@ -3611,7 +3612,9 @@ void GridLayoutAlgorithm::PlaceGridItems
container_space.GetWritingDirection();
@@ -3691,8 +3691,9 @@ void GridLayoutAlgorithm::PlaceGridItems
// TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
const auto& constraint_space = ConstraintSpace();
const auto& constraint_space = GetConstraintSpace();
- const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
-
+ const auto& [g_i, l_d, tree_size] = sizing_tree.TreeRootData();
+ const auto& grid_items = g_i;
+ const auto& layout_data = l_d;
const auto* cached_layout_subtree = constraint_space.GetGridLayoutSubtree();
const auto container_writing_direction =
constraint_space.GetWritingDirection();

@ -186,6 +186,12 @@
%global use_qt6 0
%endif
# disable due to gcc-14 bug
%if 0%{?fedora} > 39
%global use_qt6 0
%global use_qt 0
%endif
# enable gtk3 by default
%global gtk3 1
@ -285,8 +291,8 @@
%endif
Name: chromium%{chromium_channel}
Version: 120.0.6099.224
Release: 2%{?dist}
Version: 121.0.6167.71
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)
@ -378,36 +384,37 @@ Patch108: chromium-118-el7_v4l2_quantization.patch
Patch109: chromium-114-wireless-el7.patch
Patch110: chromium-115-buildflag-el7.patch
Patch111: chromium-116-constexpr.patch
Patch112: chromium-117-el7-default_constructor.patch
# old clang on el7
Patch113: chromium-120-el7-clang-version-warning.patch
Patch113: chromium-121-el7-clang-version-warning.patch
Patch114: chromium-120-el7-clang-build-failure.patch
# system ffmpeg
# need for old ffmpeg 5.x on epel9 and fedora 37
# need for old ffmpeg 5.x on epel9
Patch115: chromium-107-ffmpeg-5.x-duration.patch
# disable the check
Patch116: chromium-107-proprietary-codecs.patch
# fix tab crash with SIGTRAP error when using system ffmpeg
Patch117: 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
# revert AV1 VAAPI video encode due to old libva on el9
Patch130: chromium-119-revert-av1enc-el9.patch
Patch130: chromium-121-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-120-no_matching_constructor.patch
Patch300: chromium-121-no_matching_constructor.patch
Patch301: chromium-115-compiler-SkColor4f.patch
# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
Patch302: chromium-120-workaround_clang_bug-structured_binding.patch
Patch302: chromium-121-workaround_clang_bug-structured_binding.patch
# missing typename
Patch303: chromium-120-typename.patch
Patch303: chromium-121-typename.patch
# error: invalid operands to binary expression
Patch304: chromium-117-string-convert.patch
@ -416,10 +423,14 @@ Patch306: chromium-119-assert.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
Patch307: chromium-120-arm64-memory_tagging.patch
Patch307: chromium-121-arm64-memory_tagging.patch
# compiler errors on epel
Patch308: chromium-121-v8-c++20.patch
Patch309: chromium-121-constexpr.patch
# missing include header files
Patch310: chromium-120-missing-header-files.patch
Patch310: chromium-121-missing-header-files.patch
# clang warnings
Patch311: chromium-115-clang-warnings.patch
@ -428,24 +439,31 @@ Patch311: chromium-115-clang-warnings.patch
Patch312: chromium-119-fstack-protector-strong.patch
# build error
Patch351: chromium-117-mnemonic-error.patch
Patch351: chromium-121-mnemonic-error.patch
# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2239523
# https://bugs.chromium.org/p/chromium/issues/detail?id=1145581#c60
# Disable BTI until this is fixed upstream.
Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch
# gn workaround for the error: Assignment had no effect
Patch353: chromium-120-gn-workaround-atspi.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-120-nullptr_t-without-namespace-std.patch
Patch355: chromium-121-nullptr_t-without-namespace-std.patch
# disable FFmpegAllowLists by default to allow external ffmpeg
patch356: chromium-120-disable-FFmpegAllowLists.patch
# remove ldflags -Wl,-mllvm,-disable-auto-upgrade-debug-info which is not supported
Patch357: chromium-120-clang16-disable-auto-upgrade-debug-info.patch
# set clang_lib path
Patch358: chromium-121-rust-clang_lib.patch
# python3-invalid-escape-sequence
Patch359: chromium-121-python3-invalid-escape-sequence.patch
# upstream patches
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
@ -510,6 +528,8 @@ BuildRequires: binutils
%endif
%endif
BuildRequires: rustc
# build with system ffmpeg-free
%if ! %{bundleffmpegfree}
BuildRequires: pkgconfig(libavcodec)
@ -999,6 +1019,7 @@ udev.
%endif
%patch -P116 -p1 -b .prop-codecs
%patch -P117 -p1 -b .sigtrap_system_ffmpeg
%patch -P118 -p1 -b .system-old-ffmpeg
%endif
# EPEL specific patches
@ -1014,9 +1035,14 @@ udev.
%patch -P109 -p1 -b .wireless
%patch -P110 -p1 -b .buildflag-el7
%patch -P111 -p1 -b .constexpr
%patch -P112 -p1 -b .default_constructor
%patch -P113 -p1 -b .el7-clang-version-warning
%patch -P114 -p1 -R -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
%endif
%if 0%{?rhel} == 8 || 0%{?rhel} == 9
@ -1027,23 +1053,17 @@ udev.
%patch -P130 -p1 -b .revert-av1enc
%endif
%if %{clang}
%if 0%{?rhel} < 8 || 0%{?fedora} < 38
%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
%endif
%endif
%ifarch aarch64
%if 0%{?rhel} <= 8
%patch -P307 -p1 -b .memory_tagging
%endif
%endif
%if 0%{?rhel} || 0%{?fedora} < 39
%patch -P308 -p1 -R -b .v8-c++20
%patch -P309 -p1 -b .constexpr
%endif
%patch -P310 -p1 -b .missing-header-files
%patch -P311 -p1 -b .clang-warnings
%patch -P312 -p1 -b .fstack-protector-strong
@ -1054,13 +1074,14 @@ udev.
%patch -P352 -p1 -b .workaround_for_crash_on_BTI_capable_system
%endif
%patch -P353 -p1 -b .gn-workaround-atspi
%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
%patch -P359 -p1 -b .python3-invalid-escape-sequence
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@ -1177,6 +1198,16 @@ export CXXFLAGS
. /opt/rh/%{toolset}-%{dts_version}/enable
%endif
# need for error: the option `Z` is only accepted on the nightly compiler
export RUSTC_BOOTSTRAP=1
# set rustc version
rustc_version="$(rustc --version)"
# set clang version
clang_version="$(clang --version | sed -n 's/clang version //p' | cut -d. -f1)"
clang_base_path="$(clang --version | grep InstalledDir | cut -d' ' -f2 | sed 's#/bin##')"
# Core defines are flags that are true for both the browser and headless.
CHROMIUM_CORE_GN_DEFINES=""
# using system toolchain
@ -1192,9 +1223,7 @@ CHROMIUM_CORE_GN_DEFINES+=' is_official_build=true'
sed -i 's|OFFICIAL_BUILD|GOOGLE_CHROME_BUILD|g' tools/generate_shim_headers/generate_shim_headers.py
%endif
%if 0%{?rhel} || 0%{?fedora} < 39
CHROMIUM_CORE_GN_DEFINES+=' chrome_pgo_phase=0'
%endif
%if %{cfi}
CHROMIUM_CORE_GN_DEFINES+=' is_cfi=true'
@ -1213,7 +1242,8 @@ CHROMIUM_CORE_GN_DEFINES+=' google_default_client_secret="%{default_client_secre
%if %{clang}
CHROMIUM_CORE_GN_DEFINES+=' is_clang=true'
CHROMIUM_CORE_GN_DEFINES+=' clang_base_path="%{_prefix}"'
CHROMIUM_CORE_GN_DEFINES+=" clang_base_path=\"$clang_base_path\""
CHROMIUM_CORE_GN_DEFINES+=" clang_version=\"$clang_version\""
CHROMIUM_CORE_GN_DEFINES+=' clang_use_chrome_plugins=false'
CHROMIUM_CORE_GN_DEFINES+=' use_lld=true'
%else
@ -1221,8 +1251,9 @@ CHROMIUM_CORE_GN_DEFINES+=' is_clang=false'
CHROMIUM_CORE_GN_DEFINES+=' use_lld=false'
%endif
# disable rust, it's only using for testing
CHROMIUM_CORE_GN_DEFINES+=' enable_rust=false'
# enable system rust
CHROMIUM_CORE_GN_DEFINES+=' rust_sysroot_absolute="%{_prefix}"'
CHROMIUM_CORE_GN_DEFINES+=" rustc_version=\"$rustc_version\""
CHROMIUM_CORE_GN_DEFINES+=' use_sysroot=false disable_fieldtrial_testing_config=true'
@ -1766,6 +1797,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{chromium_path}/chromedriver
%changelog
* Tue Jan 23 2024 Than Ngo <than@redhat.com> - 121.0.6167.71-1
- update to 121.0.6167.71
* Tue Jan 23 2024 Fedora Release Engineering <releng@fedoraproject.org> - 120.0.6099.224-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

@ -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-120.0.6099.224-clean.tar.xz) = 0140125632c0a629f7aa9217aad078656e4e2e26c1849e9cf287d1fbaecbb1dc2e3baf1cdbdb3a473f8a27339e8e7f853fa1bdb30d4faae8fcfdde8fc2370874
SHA512 (chromium-121.0.6167.71-clean.tar.xz) = be9ef1298b6f45f0b9d04fa2315b7f2bb0af40708143602da46a898426994e03e32ef52135e7ac1dd234fa13a3976baccdf268fb7d5f8134693922f73e5681aa

Loading…
Cancel
Save