Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nodejs-electron for openSUSE:Factory
checked in at 2024-09-17 18:18:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
and /work/SRC/openSUSE:Factory/.nodejs-electron.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron"
Tue Sep 17 18:18:07 2024 rev:132 rq:1201467 version:31.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes
2024-09-15 12:41:23.365019306 +0200
+++
/work/SRC/openSUSE:Factory/.nodejs-electron.new.29891/nodejs-electron.changes
2024-09-17 18:18:53.400721976 +0200
@@ -1,0 +2,52 @@
+Mon Sep 16 17:40:09 UTC 2024 - Bruno Pitrus <[email protected]>
+
+- Update to 31.6.0
+ * ABI break: NODE_MODULE_VERSION is now 125
+ * Chromium 126.0.6478.234
+ * Node 20.17.0
+ * V8 12.6
+ * Breaking change: Remove WebSQL support
+ * Breaking change: nativeImage.toDataURL will preserve PNG colorspace
+ * Added options parameter to Session.clearData API.
+ * Extended webContents.setWindowOpenHandler to support manual creation of
BrowserWindow.
+ * clearData method added to Session
+ * Extended WebContentsView to accept pre-existing webContents object.
+ * see https://www.electronjs.org/blog/electron-31-0 and
https://github.com/electron/electron/releases/tag/v31.0.0 for more
+- Drop no longer needed patches
+ * electron-13-fix-use-thin-lto.patch
+ * remove-openscreen.patch
+ * system-yuv.patch
+ * chromium-122-abseil-shims.patch
+ * electron-16-std-vector-non-const.patch
+ * fake_ssl_socket_client-Wlto-type-mismatch.patch
+ * angle-FramebufferVk-powf.patch
+ * span_reader-missing-optional.patch
+ * bitset-missing-uint8_t-memcpy.patch
+ * temporal_scalability_id_extractor-missing-bitset.patch
+ * gpu_adapter_info-missing-optional.patch
+ * first_party_sets_handler_database_helper-missing-optional.patch
+ * async_iterable-forwarding.patch
+ * script_streamer-atomic-include.patch
+- Add patches to fix build
+ * fix-build-without-safebrowsing.patch
+ * fix-build-without-supervised-users.patch
+ * Cr126-abseil-shims.patch
+ * absl-base-dynamic_annotations.patch
+ * webp-no-sharpyuv.patch
+ * http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch
+ * angle-State-constexpr.patch
+ * color_provider-incomplete-ColorProviderInternal.patch
+ * run_segmenter-missing-optional.patch
+ * page_popup_controller-missing-optional.patch
+ * native_css_paint_definition-expected-unqualified-id.patch
+ * text_decoder-missing-optional.patch
+ * real_time_reporting_bindings-forward-declaration.patch
+ * blink-platform-INSIDE_BLINK-Wodr.patch
+ * quiche-QuicIntervalDeque-no-match-for-operator-mm.patch
+ * ConsumeRadii-linker-error.patch
+- Conditionally revert upstreamed
ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch on old ffmpeg
+- Revert upstream changes to build with system abseil
(quiche-absl-HexStringToBytes.patch)
+- Refresh bad-font-gc patches from Debian
+- aarch64: disable LTO also on Fedora 39 due to OOM
+
+-------------------------------------------------------------------
Old:
----
angle-FramebufferVk-powf.patch
async_iterable-forwarding.patch
bitset-missing-uint8_t-memcpy.patch
chromium-122-abseil-shims.patch
electron-13-fix-use-thin-lto.patch
electron-16-std-vector-non-const.patch
electron-30.5.1.tar.zst
fake_ssl_socket_client-Wlto-type-mismatch.patch
first_party_sets_handler_database_helper-missing-optional.patch
gpu_adapter_info-missing-optional.patch
remove-openscreen.patch
script_streamer-atomic-include.patch
span_reader-missing-optional.patch
system-yuv.patch
temporal_scalability_id_extractor-missing-bitset.patch
New:
----
ConsumeRadii-linker-error.patch
Cr126-abseil-shims.patch
absl-base-dynamic_annotations.patch
angle-State-constexpr.patch
blink-platform-INSIDE_BLINK-Wodr.patch
color_provider-incomplete-ColorProviderInternal.patch
electron-31.6.0.tar.zst
fix-build-without-safebrowsing.patch
fix-build-without-supervised-users.patch
http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch
native_css_paint_definition-expected-unqualified-id.patch
page_popup_controller-missing-optional.patch
quiche-QuicIntervalDeque-no-match-for-operator-mm.patch
quiche-absl-HexStringToBytes.patch
real_time_reporting_bindings-forward-declaration.patch
run_segmenter-missing-optional.patch
text_decoder-missing-optional.patch
webp-no-sharpyuv.patch
BETA DEBUG BEGIN:
Old: * fake_ssl_socket_client-Wlto-type-mismatch.patch
* angle-FramebufferVk-powf.patch
* span_reader-missing-optional.patch
Old: * first_party_sets_handler_database_helper-missing-optional.patch
* async_iterable-forwarding.patch
* script_streamer-atomic-include.patch
Old: * span_reader-missing-optional.patch
* bitset-missing-uint8_t-memcpy.patch
* temporal_scalability_id_extractor-missing-bitset.patch
Old: * system-yuv.patch
* chromium-122-abseil-shims.patch
* electron-16-std-vector-non-const.patch
Old:- Drop no longer needed patches
* electron-13-fix-use-thin-lto.patch
* remove-openscreen.patch
Old: * chromium-122-abseil-shims.patch
* electron-16-std-vector-non-const.patch
* fake_ssl_socket_client-Wlto-type-mismatch.patch
Old: * electron-16-std-vector-non-const.patch
* fake_ssl_socket_client-Wlto-type-mismatch.patch
* angle-FramebufferVk-powf.patch
Old: * gpu_adapter_info-missing-optional.patch
* first_party_sets_handler_database_helper-missing-optional.patch
* async_iterable-forwarding.patch
Old: * temporal_scalability_id_extractor-missing-bitset.patch
* gpu_adapter_info-missing-optional.patch
* first_party_sets_handler_database_helper-missing-optional.patch
Old: * electron-13-fix-use-thin-lto.patch
* remove-openscreen.patch
* system-yuv.patch
Old: * async_iterable-forwarding.patch
* script_streamer-atomic-include.patch
- Add patches to fix build
Old: * angle-FramebufferVk-powf.patch
* span_reader-missing-optional.patch
* bitset-missing-uint8_t-memcpy.patch
Old: * remove-openscreen.patch
* system-yuv.patch
* chromium-122-abseil-shims.patch
Old: * bitset-missing-uint8_t-memcpy.patch
* temporal_scalability_id_extractor-missing-bitset.patch
* gpu_adapter_info-missing-optional.patch
BETA DEBUG END:
BETA DEBUG BEGIN:
New: * quiche-QuicIntervalDeque-no-match-for-operator-mm.patch
* ConsumeRadii-linker-error.patch
- Conditionally revert upstreamed
ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch on old ffmpeg
New: * fix-build-without-supervised-users.patch
* Cr126-abseil-shims.patch
* absl-base-dynamic_annotations.patch
New: * Cr126-abseil-shims.patch
* absl-base-dynamic_annotations.patch
* webp-no-sharpyuv.patch
New: * http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch
* angle-State-constexpr.patch
* color_provider-incomplete-ColorProviderInternal.patch
New: * real_time_reporting_bindings-forward-declaration.patch
* blink-platform-INSIDE_BLINK-Wodr.patch
* quiche-QuicIntervalDeque-no-match-for-operator-mm.patch
New: * angle-State-constexpr.patch
* color_provider-incomplete-ColorProviderInternal.patch
* run_segmenter-missing-optional.patch
New:- Add patches to fix build
* fix-build-without-safebrowsing.patch
* fix-build-without-supervised-users.patch
New: * fix-build-without-safebrowsing.patch
* fix-build-without-supervised-users.patch
* Cr126-abseil-shims.patch
New: * webp-no-sharpyuv.patch
* http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch
* angle-State-constexpr.patch
New: * page_popup_controller-missing-optional.patch
* native_css_paint_definition-expected-unqualified-id.patch
* text_decoder-missing-optional.patch
New: * run_segmenter-missing-optional.patch
* page_popup_controller-missing-optional.patch
* native_css_paint_definition-expected-unqualified-id.patch
New: * blink-platform-INSIDE_BLINK-Wodr.patch
* quiche-QuicIntervalDeque-no-match-for-operator-mm.patch
* ConsumeRadii-linker-error.patch
New:- Conditionally revert upstreamed
ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch on old ffmpeg
- Revert upstream changes to build with system abseil
(quiche-absl-HexStringToBytes.patch)
- Refresh bad-font-gc patches from Debian
New: * text_decoder-missing-optional.patch
* real_time_reporting_bindings-forward-declaration.patch
* blink-platform-INSIDE_BLINK-Wodr.patch
New: * color_provider-incomplete-ColorProviderInternal.patch
* run_segmenter-missing-optional.patch
* page_popup_controller-missing-optional.patch
New: * native_css_paint_definition-expected-unqualified-id.patch
* text_decoder-missing-optional.patch
* real_time_reporting_bindings-forward-declaration.patch
New: * absl-base-dynamic_annotations.patch
* webp-no-sharpyuv.patch
* http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.589272334 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.593272501 +0200
@@ -22,7 +22,7 @@
%define mod_name electron
# https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
-%define abi_version 123
+%define abi_version 125
# Do not provide libEGL.so, etcâ¦
%define __provides_exclude ^lib.*\\.so.*$
@@ -95,11 +95,7 @@
%endif
%ifarch aarch64
-%if 0%{?suse_version} || 0%{?fedora} >= 40
%bcond_with lto
-%else
-%bcond_without lto
-%endif
%endif
%ifarch aarch64
@@ -233,7 +229,7 @@
Name: nodejs-electron
-Version: 30.5.1
+Version: 31.6.0
%global tag_version %version
Release: 0
Summary: Build cross platform desktop apps with JavaScript, HTML, and
CSS
@@ -250,11 +246,15 @@
Source400: ffmpeg-new-channel-layout.patch
Source401: audio_file_reader-ffmpeg-AVFrame-duration.patch
Source402: Cr122-ffmpeg-new-channel-layout.patch
+Source403: ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch
# and against harfbuzz 4
Source415: harfbuzz-replace-chromium-scoped-type.patch
Source416: harfbuzz-replace-HbScopedPointer.patch
# and wayland 1.31
Source450: wayland-proto-31-cursor-shape.patch
+# and abseil 2401
+Source460: quiche-absl-HexStringToBytes.patch
+
# PATCHES for openSUSE-specific things (compiler flags, paths, etc.)
@@ -263,8 +263,6 @@
Patch2: common.gypi-compiler.patch
Patch3: gcc-enable-lto.patch
Patch7: chromium-91-java-only-allowed-in-android-builds.patch
-# Always disable use_thin_lto which is an lld feature
-Patch21: electron-13-fix-use-thin-lto.patch
# Fix common.gypi to include /usr/include/electron
Patch25: electron-16-system-node-headers.patch
#
https://sources.debian.org/patches/chromium/102.0.5005.115-1/debianization/support-i386.patch/
@@ -295,10 +293,11 @@
Patch583: remove-rust.patch
Patch585: remove-dawn.patch
Patch586: aom-vpx-no-thread-wrapper.patch
-Patch587: remove-openscreen.patch
Patch588: remove-password-manager-and-policy.patch
Patch589: remove-puffin.patch
Patch590: remove-sync.patch
+Patch591: fix-build-without-safebrowsing.patch
+Patch592: fix-build-without-supervised-users.patch
@@ -328,9 +327,10 @@
Patch1077: system-wayland.patch
Patch1078: system-simdutf.patch
Patch1079: system-libm.patch
-Patch1080: system-yuv.patch
-Patch1081: chromium-122-abseil-shims.patch
Patch1082: chromium-124-shims.patch
+Patch1083: Cr126-abseil-shims.patch
+Patch1084: absl-base-dynamic_annotations.patch
+Patch1085: webp-no-sharpyuv.patch
# PATCHES to fix interaction with third-party software
@@ -348,7 +348,7 @@
# See https://reviews.llvm.org/D92800
Patch2022: electron-13-fix-base-check-nomerge.patch
# Fix electron patched code
-Patch2024: electron-16-std-vector-non-const.patch
+#Patch2024: electron-16-std-vector-non-const.patch
Patch2029: electron-16-webpack-fix-openssl-3.patch
Patch2031: partition_alloc-no-lto.patch
Patch2032: seccomp_bpf-no-lto.patch
@@ -402,19 +402,20 @@
Patch3144: mt21_util-flax-vector-conversions.patch
Patch3149: boringssl-internal-addc-cxx.patch
Patch3151: distributed_point_functions-evaluate_prg_hwy-signature.patch
-Patch3152: fake_ssl_socket_client-Wlto-type-mismatch.patch
-Patch3153: angle-FramebufferVk-powf.patch
Patch3154: licenses.py-FileNotFoundError.patch
-Patch3155: span_reader-missing-optional.patch
-Patch3156: bitset-missing-uint8_t-memcpy.patch
-Patch3157: temporal_scalability_id_extractor-missing-bitset.patch
-Patch3158: gpu_adapter_info-missing-optional.patch
-Patch3159: first_party_sets_handler_database_helper-missing-optional.patch
-Patch3160: async_iterable-forwarding.patch
Patch3161: preview_cancel_reason-missing-string.patch
-Patch3162: script_streamer-atomic-include.patch
Patch3163: DesktopNativeWidgetAura-HandleActivationChanged-crash.patch
-Patch3164: ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch
+Patch3165: http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch
+Patch3166: angle-State-constexpr.patch
+Patch3167: color_provider-incomplete-ColorProviderInternal.patch
+Patch3168: run_segmenter-missing-optional.patch
+Patch3169: page_popup_controller-missing-optional.patch
+Patch3170: native_css_paint_definition-expected-unqualified-id.patch
+Patch3171: text_decoder-missing-optional.patch
+Patch3172: real_time_reporting_bindings-forward-declaration.patch
+Patch3173: blink-platform-INSIDE_BLINK-Wodr.patch
+Patch3174: quiche-QuicIntervalDeque-no-match-for-operator-mm.patch
+Patch3175: ConsumeRadii-linker-error.patch
# Patches to re-enable upstream force disabled features.
# There's no sense in submitting them but they may be reused as-is by other
packagers.
@@ -762,7 +763,6 @@
-
# Sanity check if macro corresponds to the actual ABI
test $(grep ^node_module_version electron/build/args/all.gn | sed 's/.* = //')
= %abi_version
@@ -774,7 +774,7 @@
%if %{with ffmpeg_6}
patch -R -p1 < %PATCH2012
%else
-patch -R -p1 < %PATCH3164
+patch -R -p1 < %SOURCE403
patch -R -p1 < %SOURCE402
patch -R -p1 < %SOURCE400
patch -R -p1 < %SOURCE401
@@ -795,6 +795,9 @@
+# This one depends on an abseil nightly, reverting unconditionally.
+patch -R -p1 < %SOURCE460
+
# Link system wayland-protocols-devel into where chrome expects them
mkdir -p third_party/wayland/src
mkdir -p third_party/wayland-protocols/kde/src
@@ -1039,7 +1042,7 @@
%ifarch %ix86 %arm
#try to reduce memory
-export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif #ifarch ix86 arm
@@ -1174,9 +1177,7 @@
myconf_gn+=" enable_pdf_viewer=false"
myconf_gn+=" enable_print_preview=false"
myconf_gn+=" enable_printing=false"
-myconf_gn+=" enable_basic_printing=false"
myconf_gn+=' use_cups=false'
-myconf_gn+=' enable_print_content_analysis=false'
#we don't build PDF support, so disabling the below:
#myconf_gn+=" use_system_lcms2=true"
#myconf_gn+=" use_system_libopenjpeg2=true"
@@ -1269,21 +1270,23 @@
myconf_gn+=' enable_compose=false'
myconf_gn+=' enterprise_cloud_content_analysis=false'
myconf_gn+=' enterprise_local_content_analysis=false'
-myconf_gn+=' enterprise_data_controls=false'
myconf_gn+=' enterprise_watermark=false'
-myconf_gn+=' enterprise_content_analysis=false'
+myconf_gn+=' enterprise_content_analysis=true'
myconf_gn+=' enable_video_effects=false'
myconf_gn+=' use_fake_screen_ai=true'
myconf_gn+=' webnn_use_tflite=false'
+myconf_gn+=' structured_metrics_enabled=false'
+myconf_gn+=' structured_metrics_debug_enabled=false'
#FIXME: possibly enable this when skia gets built with rust code by default.
#Need to patch in optflags and possibly FFI LTO hacks (see signal-desktop
package for how it's done)
myconf_gn+=' enable_rust=false'
myconf_gn+=' enable_chromium_prelude=false'
-
+myconf_gn+=' enable_cxx=false'
myconf_gn+=' chrome_certificate_policies_supported=false'
+myconf_gn+=' chrome_root_store_cert_management_ui=false'
myconf_gn+=' use_kerberos=false'
myconf_gn+=' disable_histogram_support=true'
++++++ ConsumeRadii-linker-error.patch ++++++
--- src/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc.orig
+++ src/third_party/blink/renderer/core/css/properties/css_parsing_utils.cc
@@ -7654,6 +7654,12 @@ template bool ConsumeRadii(CSSValue* hor
const CSSParserContext& context,
bool use_legacy_parsing);
+template bool ConsumeRadii(CSSValue* horizontal_radii[4],
+ CSSValue* vertical_radii[4],
+ CSSParserTokenRange& stream,
+ const CSSParserContext& context,
+ bool use_legacy_parsing);
+
template <class T = CSSParserTokenRange>
requires std::is_same_v<T, CSSParserTokenStream> ||
std::is_same_v<T, CSSParserTokenRange>
++++++ Cr122-ffmpeg-new-channel-layout.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.685276340 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.689276507 +0200
@@ -178,7 +178,7 @@
- smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
- }
-
-- // TODO(https://crbug.com/1446302): Consider rejecting metadata that
+- // TODO(crbug.com/40268540): Consider rejecting metadata that
- // does not specify all values.
- if (mdcv->has_primaries || mdcv->has_luminance) {
- hdr_metadata.smpte_st_2086 = smpte_st_2086;
@@ -221,7 +221,7 @@
+ smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
+ }
+
-+ // TODO(https://crbug.com/1446302): Consider rejecting metadata that
++ // TODO(crbug.com/40268540): Consider rejecting metadata that
+ // does not specify all values.
+ if (mdcv->has_primaries || mdcv->has_luminance) {
+ hdr_metadata.smpte_st_2086 = smpte_st_2086;
++++++ Cr126-abseil-shims.patch ++++++
>From b90d7410221d30c40a0d5ac1ff0041667fd8db0e Mon Sep 17 00:00:00 2001
From: "lauren n. liberda" <[email protected]>
Date: Wed, 26 Jun 2024 00:56:57 +0000
Subject: [PATCH] unbundle: update absl shims
Change-Id: I6fca3a8fd333c027fe48d8871073c79e7d8c3cd6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5657110
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Thomas Anderson <[email protected]>
Commit-Queue: Thomas Anderson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1319524}
---
build/linux/unbundle/absl_debugging.gn | 2 ++
build/linux/unbundle/absl_random.gn | 5 +++++
build/linux/unbundle/absl_status.gn | 2 ++
build/linux/unbundle/absl_types.gn | 2 ++
4 files changed, 11 insertions(+)
diff --git a/build/linux/unbundle/absl_debugging.gn
b/build/linux/unbundle/absl_debugging.gn
index 5fbd34abbc96ae..b59a45b0913116 100644
--- a/build/linux/unbundle/absl_debugging.gn
+++ b/build/linux/unbundle/absl_debugging.gn
@@ -46,5 +46,7 @@ source_set("symbolize") {
public_configs = [ ":system_absl_symbolize" ]
}
+source_set("demangle_rust_test") {
+}
source_set("stacktrace_test") {
}
diff --git a/build/linux/unbundle/absl_random.gn
b/build/linux/unbundle/absl_random.gn
index 7bb70241ad1f8d..eae95345e491d1 100644
--- a/build/linux/unbundle/absl_random.gn
+++ b/build/linux/unbundle/absl_random.gn
@@ -57,3 +57,8 @@ source_set("random") {
deps = [ ":random_shim" ]
public_configs = [ ":system_absl_random_random" ]
}
+
+group("distributions_test") {
+}
+group("mock_distributions_test") {
+}
diff --git a/build/linux/unbundle/absl_status.gn
b/build/linux/unbundle/absl_status.gn
index 5f1e73a6d4d133..1905485814986e 100644
--- a/build/linux/unbundle/absl_status.gn
+++ b/build/linux/unbundle/absl_status.gn
@@ -38,3 +38,5 @@ source_set("status_test") {
}
source_set("statusor_test") {
}
+source_set("status_matchers_test") {
+}
diff --git a/build/linux/unbundle/absl_types.gn
b/build/linux/unbundle/absl_types.gn
index 4bb77f1b631cbd..8d2b1314558f2c 100644
--- a/build/linux/unbundle/absl_types.gn
+++ b/build/linux/unbundle/absl_types.gn
@@ -93,5 +93,7 @@ source_set("variant") {
source_set("optional_test") {
}
+source_set("span_test") {
+}
source_set("variant_test") {
}
++++++ RenderFrameHostImpl-use-after-free.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.733278343 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.737278510 +0200
@@ -6,8 +6,8 @@
#include <memory>
+#include <new>
#include <optional>
+ #include <string_view>
#include <tuple>
- #include <unordered_map>
@@ -1818,7 +1819,12 @@ RenderFrameHostImpl::~RenderFrameHostImp
// `DocumentService` and `RenderFrameHostUserData` subclasses are still
valid
// when their destructors run.
++++++ absl-base-dynamic_annotations.patch ++++++
>From 91a8dd6bff0c3965ab324b5c2a3c19c0a2931831 Mon Sep 17 00:00:00 2001
From: "lauren n. liberda" <[email protected]>
Date: Sat, 29 Jun 2024 00:26:40 +0000
Subject: [PATCH] unbundle: add missing absl_base header
Change-Id: Ie4edda0ec8661437652b2c4c324ac82137bfcfed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5659519
Reviewed-by: Thomas Anderson <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Commit-Queue: Thomas Anderson <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1321266}
---
build/linux/unbundle/absl_base.gn | 1 +
1 file changed, 1 insertion(+)
diff --git a/build/linux/unbundle/absl_base.gn
b/build/linux/unbundle/absl_base.gn
index 7da86e46147bdd..b5ce0863e6fde7 100644
--- a/build/linux/unbundle/absl_base.gn
+++ b/build/linux/unbundle/absl_base.gn
@@ -27,6 +27,7 @@ shim_headers("base_shim") {
headers = [
"call_once.h",
"casts.h",
+ "dynamic_annotations.h",
]
}
++++++ angle-State-constexpr.patch ++++++
>From 0508fc9b920b001115f80790e4942ff69d3f5de1 Mon Sep 17 00:00:00 2001
From: Roman Lavrov <[email protected]>
Date: Tue, 23 Apr 2024 15:32:52 -0400
Subject: [PATCH] Reland "Cleanup: replace DirtyObjectType check with constexpr
generator"
Avoid using lambdas with member function pointers which caused issues
on MSVC C++17.
This is a reland of commit 89caa0e1d99e45f3d6f355f6e14c147f8de3e0e5
Original change's description:
> Cleanup: replace DirtyObjectType check with constexpr generator
>
> Static assert was meant to avoid kDirtyObjectHandlers getting out of
> sync, but it doesn't achieve that goal as it's just comparing values
> with ints which is confusing.
>
> Replacing with constexpr generated std::array. C++20 allows to easily
> validate that all values are set by _not_ default-initializing
> `handlers`. C++17 makes it trickier, addeded static_assert on an
> additional static constexpr bool (silly but I can't find a more concise
> way)
>
> Bug: angleproject:8666
> Bug: b/335295728
> Change-Id: Idf9bbd087d09d5ba253a7587ce0503cae3fcf3a7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5478231
> Reviewed-by: Shahbaz Youssefi <[email protected]>
> Commit-Queue: Roman Lavrov <[email protected]>
Bug: angleproject:8666
Bug: b/335295728
Change-Id: I62e66b700512e072ef10cc57a17e8837a534c0d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5589285
Commit-Queue: Roman Lavrov <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
---
src/libANGLE/State.cpp | 2 --
src/libANGLE/State.h | 67 +++++++++++++++++++++++++-----------------
2 files changed, 40 insertions(+), 29 deletions(-)
diff --git a/src/libANGLE/State.h b/src/libANGLE/State.h
index b2aa6749060..38a219f489d 100644
--- src/third_party/angle/src/libANGLE/State.h.orig 2024-07-24
12:51:20.205804675 +0200
+++ src/third_party/angle/src/libANGLE/State.h 2024-07-26 14:11:54.188991370
+0200
@@ -1447,41 +1447,46 @@ class State : angle::NonCopyable
angle::Result syncProgramPipelineObject(const Context *context, Command
command);
using DirtyObjectHandler = angle::Result (State::*)(const Context
*context, Command command);
+ using DirtyObjectHandlerArray = std::array<DirtyObjectHandler,
state::DIRTY_OBJECT_MAX>;
- static constexpr std::array<DirtyObjectHandler, state::DIRTY_OBJECT_MAX>
kDirtyObjectHandlers =
- []() {
- // Work around C++'s lack of array element support in designated
initializers
- std::array<DirtyObjectHandler, state::DIRTY_OBJECT_MAX> handlers{};
-
- handlers[state::DIRTY_OBJECT_ACTIVE_TEXTURES] =
&State::syncActiveTextures;
- handlers[state::DIRTY_OBJECT_TEXTURES_INIT] =
&State::syncTexturesInit;
- handlers[state::DIRTY_OBJECT_IMAGES_INIT] =
&State::syncImagesInit;
- handlers[state::DIRTY_OBJECT_READ_ATTACHMENTS] =
&State::syncReadAttachments;
- handlers[state::DIRTY_OBJECT_DRAW_ATTACHMENTS] =
&State::syncDrawAttachments;
- handlers[state::DIRTY_OBJECT_READ_FRAMEBUFFER] =
&State::syncReadFramebuffer;
- handlers[state::DIRTY_OBJECT_DRAW_FRAMEBUFFER] =
&State::syncDrawFramebuffer;
- handlers[state::DIRTY_OBJECT_VERTEX_ARRAY] =
&State::syncVertexArray;
- handlers[state::DIRTY_OBJECT_TEXTURES] =
&State::syncTextures;
- handlers[state::DIRTY_OBJECT_IMAGES] =
&State::syncImages;
- handlers[state::DIRTY_OBJECT_SAMPLERS] =
&State::syncSamplers;
- handlers[state::DIRTY_OBJECT_PROGRAM_PIPELINE_OBJECT] =
- &State::syncProgramPipelineObject;
-
- return handlers;
- }();
-
- static_assert(
- []() {
- for (auto handler : kDirtyObjectHandlers)
+ static constexpr DirtyObjectHandlerArray MakeDirtyObjectHandlers()
+ {
+ // Work around C++'s lack of array element support in designated
initializers
+ // This function cannot be a lambda due to MSVC C++17 limitations
b/330910097#comment5
+ DirtyObjectHandlerArray handlers{};
+
+ handlers[state::DIRTY_OBJECT_ACTIVE_TEXTURES] =
&State::syncActiveTextures;
+ handlers[state::DIRTY_OBJECT_TEXTURES_INIT] =
&State::syncTexturesInit;
+ handlers[state::DIRTY_OBJECT_IMAGES_INIT] =
&State::syncImagesInit;
+ handlers[state::DIRTY_OBJECT_READ_ATTACHMENTS] =
&State::syncReadAttachments;
+ handlers[state::DIRTY_OBJECT_DRAW_ATTACHMENTS] =
&State::syncDrawAttachments;
+ handlers[state::DIRTY_OBJECT_READ_FRAMEBUFFER] =
&State::syncReadFramebuffer;
+ handlers[state::DIRTY_OBJECT_DRAW_FRAMEBUFFER] =
&State::syncDrawFramebuffer;
+ handlers[state::DIRTY_OBJECT_VERTEX_ARRAY] =
&State::syncVertexArray;
+ handlers[state::DIRTY_OBJECT_TEXTURES] =
&State::syncTextures;
+ handlers[state::DIRTY_OBJECT_IMAGES] =
&State::syncImages;
+ handlers[state::DIRTY_OBJECT_SAMPLERS] =
&State::syncSamplers;
+ handlers[state::DIRTY_OBJECT_PROGRAM_PIPELINE_OBJECT] =
&State::syncProgramPipelineObject;
+
+ // If a handler is missing, reset everything for ease of static_assert
+ for (auto handler : handlers)
+ {
+ if (handler == nullptr)
{
- if (handler == nullptr)
- {
- return false;
- }
+ return DirtyObjectHandlerArray();
}
- return true;
- }(),
- "kDirtyObjectHandlers missing a handler");
+ }
+
+ return handlers;
+ }
+
+ angle::Result dirtyObjectHandler(size_t dirtyObject, const Context
*context, Command command)
+ {
+ static constexpr DirtyObjectHandlerArray handlers =
MakeDirtyObjectHandlers();
+ static_assert(handlers[0] != nullptr, "MakeDirtyObjectHandlers missing
a handler");
+
+ return (this->*handlers[dirtyObject])(context, command);
+ }
// Robust init must happen before Framebuffer init for the Vulkan back-end.
static_assert(state::DIRTY_OBJECT_ACTIVE_TEXTURES <
state::DIRTY_OBJECT_TEXTURES_INIT,
@@ -1606,7 +1611,7 @@ ANGLE_INLINE angle::Result State::syncDi
for (size_t dirtyObject : dirtyObjects)
{
- ANGLE_TRY((this->*kDirtyObjectHandlers[dirtyObject])(context,
command));
+ ANGLE_TRY(dirtyObjectHandler(dirtyObject, context, command));
}
mDirtyObjects &= ~dirtyObjects;
++++++ angle-system-xxhash.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.785280513 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.789280680 +0200
@@ -11,8 +11,8 @@
"src/common/base",
- "src/common/third_party/xxhash",
]
+ libs = []
if (is_android) {
- libs = [ "log" ]
@@ -431,18 +432,12 @@
}
}
++++++ bad-font-gc00.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.817281849 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.821282016 +0200
@@ -92,17 +92,17 @@
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
-@@ -167,7 +167,8 @@ static hb_bool_t HarfBuzzGetGlyphVertica
+@@ -202,7 +202,8 @@
void* user_data) {
HarfBuzzFontData* hb_font_data =
reinterpret_cast<HarfBuzzFontData*>(font_data);
- OpenTypeVerticalData* vertical_data = hb_font_data->VerticalData();
+ scoped_refptr<OpenTypeVerticalData> vertical_data =
-+ hb_font_data->VerticalData();
- if (!vertical_data)
++ hb_font_data->VerticalData();
+ if (!vertical_data) {
return false;
-
-@@ -186,7 +187,8 @@ static hb_position_t HarfBuzzGetGlyphVer
+ }
+@@ -223,7 +223,8 @@ static hb_position_t HarfBuzzGetGlyphVer
void* user_data) {
HarfBuzzFontData* hb_font_data =
reinterpret_cast<HarfBuzzFontData*>(font_data);
++++++ bad-font-gc11.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.845283017 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.849283184 +0200
@@ -21,8 +21,10 @@
Commit-Queue: Ian Kilpatrick <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1262752}
---- a/third_party/blink/renderer/platform/fonts/font_global_context.cc
-+++ b/third_party/blink/renderer/platform/fonts/font_global_context.cc
+Index:
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/font_global_context.cc
+===================================================================
+---
chromium-126.0.6478.8.orig/third_party/blink/renderer/platform/fonts/font_global_context.cc
++++
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/font_global_context.cc
@@ -8,6 +8,7 @@
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
#include "third_party/blink/renderer/platform/fonts/font_unique_name_lookup.h"
@@ -47,8 +49,10 @@
IdentifiableToken FontGlobalContext::GetOrComputeTypefaceDigest(
const FontPlatformData& source) {
SkTypeface* typeface = source.Typeface();
---- a/third_party/blink/renderer/platform/fonts/font_global_context.h
-+++ b/third_party/blink/renderer/platform/fonts/font_global_context.h
+Index:
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/font_global_context.h
+===================================================================
+---
chromium-126.0.6478.8.orig/third_party/blink/renderer/platform/fonts/font_global_context.h
++++
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/font_global_context.h
@@ -9,7 +9,6 @@
#include "base/types/pass_key.h"
#include "third_party/blink/public/common/privacy_budget/identifiable_token.h"
@@ -88,9 +92,11 @@
std::unique_ptr<FontUniqueNameLookup> font_unique_name_lookup_;
base::HashingLRUCache<SkTypefaceID, IdentifiableToken>
typeface_digest_cache_;
base::HashingLRUCache<SkTypefaceID, IdentifiableToken>
---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
-+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
-@@ -64,14 +64,20 @@ namespace blink {
+Index:
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
+===================================================================
+---
chromium-126.0.6478.8.orig/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
++++
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
+@@ -67,14 +67,20 @@ namespace blink {
HarfBuzzFace::HarfBuzzFace(const FontPlatformData* platform_data,
uint64_t unique_id)
@@ -115,8 +121,8 @@
- visitor->Trace(harfbuzz_font_data_);
}
- static hb_bool_t HarfBuzzGetGlyph(hb_font_t* hb_font,
-@@ -234,17 +240,14 @@ bool HarfBuzzFace::HasSpaceInLigaturesOr
+ bool& GetIgnoreVariationSelectors() {
+@@ -287,17 +293,14 @@ bool HarfBuzzFace::HasSpaceInLigaturesOr
hb::unique_ptr<hb_set_t> glyphs(hb_set_create());
@@ -136,7 +142,7 @@
DCHECK(face);
harfbuzz_font_data_->space_in_gpos_ =
hb_ot_layout_has_positioning(face) &&
-@@ -258,11 +261,10 @@ bool HarfBuzzFace::HasSpaceInLigaturesOr
+@@ -311,11 +314,10 @@ bool HarfBuzzFace::HasSpaceInLigaturesOr
if (features & kLigatures &&
harfbuzz_font_data_->space_in_gsub_ ==
HarfBuzzFontData::SpaceGlyphInOpenTypeTables::kUnknown) {
@@ -150,7 +156,7 @@
DCHECK(face);
harfbuzz_font_data_->space_in_gsub_ =
hb_ot_layout_has_substitution(face) &&
-@@ -280,14 +282,14 @@ bool HarfBuzzFace::HasSpaceInLigaturesOr
+@@ -333,14 +335,14 @@ bool HarfBuzzFace::HasSpaceInLigaturesOr
}
unsigned HarfBuzzFace::UnitsPerEmFromHeadTable() {
@@ -168,7 +174,16 @@
return glyph;
}
-@@ -444,10 +446,9 @@ static hb::unique_ptr<hb_face_t> CreateF
+@@ -349,7 +351,7 @@ hb_codepoint_t HarfBuzzFace::HarfBuzzGet
+ UChar32 variation_selector) {
+ DCHECK(RuntimeEnabledFeatures::FontVariationSequencesEnabled());
+ hb_codepoint_t glyph = 0;
+- HarfBuzzGetGlyph(harfbuzz_font_data_->unscaled_font_.get(),
++ HarfBuzzGetGlyph(unscaled_font_,
+ harfbuzz_font_data_, character, variation_selector, &glyph,
+ nullptr);
+ return glyph;
+@@ -511,10 +513,9 @@ static hb::unique_ptr<hb_face_t> CreateF
return face;
}
@@ -182,7 +197,7 @@
hb::unique_ptr<hb_font_t> ot_font(hb_font_create(face));
hb_ot_font_set_funcs(ot_font.get());
-@@ -466,26 +467,25 @@ HarfBuzzFontData* CreateHarfBuzzFontData
+@@ -533,26 +534,25 @@ HarfBuzzFontData* CreateHarfBuzzFontData
// Creating a sub font means that non-available functions
// are found from the parent.
hb_font_t* const unscaled_font = hb_font_create_sub_font(ot_font.get());
@@ -218,7 +233,7 @@
}
static_assert(
-@@ -516,18 +516,17 @@ hb_font_t* HarfBuzzFace::GetScaledFont(s
+@@ -583,18 +583,17 @@ hb_font_t* HarfBuzzFace::GetScaledFont(s
vertical_layout);
int scale = SkiaScalarToHarfBuzzPosition(platform_data_->size());
@@ -241,9 +256,11 @@
}
hb_font_t* HarfBuzzFace::GetScaledFont() const {
---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
-+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
-@@ -55,6 +55,7 @@ class HarfBuzzFace final : public Garbag
+Index:
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
+===================================================================
+---
chromium-126.0.6478.8.orig/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
++++
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
+@@ -58,6 +58,7 @@ class PLATFORM_EXPORT HarfBuzzFace final
HarfBuzzFace(const FontPlatformData* platform_data, uint64_t);
HarfBuzzFace(const HarfBuzzFace&) = delete;
HarfBuzzFace& operator=(const HarfBuzzFace&) = delete;
@@ -251,7 +268,7 @@
void Trace(Visitor*) const;
-@@ -90,7 +91,11 @@ class HarfBuzzFace final : public Garbag
+@@ -100,7 +101,11 @@ class PLATFORM_EXPORT HarfBuzzFace final
void PrepareHarfBuzzFontData();
Member<const FontPlatformData> platform_data_;
@@ -263,9 +280,11 @@
+ HarfBuzzFontData* harfbuzz_font_data_;
};
- } // namespace blink
---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
-+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
+ inline constexpr hb_codepoint_t kUnmatchedVSGlyphId =
+Index:
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
+===================================================================
+---
chromium-126.0.6478.8.orig/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
++++
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
@@ -8,8 +8,38 @@
namespace blink {
@@ -307,8 +326,10 @@
}
} // namespace blink
---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
-+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
+Index:
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
+===================================================================
+---
chromium-126.0.6478.8.orig/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
++++
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
@@ -6,9 +6,12 @@
#define
THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_SHAPING_HARFBUZZ_FONT_CACHE_H_
@@ -376,8 +397,10 @@
};
} // namespace blink
---- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
-+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
+Index:
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
+===================================================================
+---
chromium-126.0.6478.8.orig/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
++++
chromium-126.0.6478.8/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
@@ -22,18 +22,15 @@ const unsigned kInvalidFallbackMetricsVa
// The HarfBuzzFontData struct carries user-pointer data for
// |hb_font_t| callback functions/operations. It contains metrics and OpenType
++++++ bad-font-gc2.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.865283852 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.869284019 +0200
@@ -1061,7 +1061,7 @@
namespace blink {
-@@ -169,8 +168,7 @@ void InlineBoxState::EnsureTextMetrics(c
+@@ -174,8 +173,7 @@ void InlineBoxState::EnsureTextMetrics(c
void InlineBoxState::AccumulateUsedFonts(const ShapeResultView* shape_result)
{
const auto baseline_type = style->GetFontBaseline();
@@ -1073,7 +1073,7 @@
FontHeight fallback_metrics =
--- a/third_party/blink/renderer/core/layout/inline/ruby_utils.cc
+++ b/third_party/blink/renderer/core/layout/inline/ruby_utils.cc
-@@ -12,7 +12,6 @@
+@@ -17,7 +17,6 @@
#include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/platform/fonts/font_height.h"
@@ -1081,7 +1081,7 @@
namespace blink {
-@@ -33,10 +32,11 @@ std::tuple<LayoutUnit, LayoutUnit> Adjus
+@@ -38,10 +37,11 @@ std::tuple<LayoutUnit, LayoutUnit> Adjus
primary_font_data->GetFontMetrics().FixedAscent(font_baseline);
const LayoutUnit primary_descent = line_height - primary_ascent;
@@ -1095,7 +1095,7 @@
shape_view.GetRunFontData(&run_fonts);
const LayoutUnit kNoDiff = LayoutUnit::Max();
LayoutUnit over_diff = kNoDiff;
-@@ -60,6 +60,7 @@ std::tuple<LayoutUnit, LayoutUnit> Adjus
+@@ -65,6 +65,7 @@ std::tuple<LayoutUnit, LayoutUnit> Adjus
over_diff = std::min(over_diff, current_over_diff);
under_diff = std::min(under_diff, current_under_diff);
}
@@ -1103,6 +1103,16 @@
if (over_diff == kNoDiff)
over_diff = LayoutUnit();
if (under_diff == kNoDiff)
+@@ -85,8 +86,7 @@ FontHeight ComputeEmHeight(const Logical
+ FontHeight result_height;
+ // We don't use ShapeResultView::FallbackFonts() because we can't know if
+ // the primary font is actually used with FallbackFonts().
+- HeapVector<ShapeResult::RunFontData> run_fonts;
+- ClearCollectionScope clear_scope(&run_fonts);
++ Vector<ShapeResult::RunFontData> run_fonts;
+ shape_result_view->GetRunFontData(&run_fonts);
+ for (const auto& run_font : run_fonts) {
+ const SimpleFontData* font_data = run_font.font_data_;
--- a/third_party/blink/renderer/core/layout/layout_font_accessor_win.cc
+++ b/third_party/blink/renderer/core/layout/layout_font_accessor_win.cc
@@ -16,7 +16,6 @@
@@ -1125,7 +1135,7 @@
result.font_names.insert(font_data->PlatformData().FontFamilyName());
--- a/third_party/blink/renderer/modules/font_access/font_metadata.cc
+++ b/third_party/blink/renderer/modules/font_access/font_metadata.cc
-@@ -77,7 +77,7 @@ void FontMetadata::BlobImpl(ScriptPromis
+@@ -75,7 +75,7 @@ void FontMetadata::BlobImpl(ScriptPromis
SetUpFontUniqueLookupIfNecessary();
FontDescription description;
@@ -1136,7 +1146,7 @@
if (!font_data) {
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -621,6 +621,7 @@ component("platform") {
+@@ -634,6 +634,7 @@ component("platform") {
"fonts/font_cache_memory_dump_provider.h",
"fonts/font_custom_platform_data.cc",
"fonts/font_custom_platform_data.h",
@@ -1964,7 +1974,7 @@
#endif //
THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_FONT_DATA_FOR_RANGE_SET_H_
--- a/third_party/blink/renderer/platform/fonts/font_fallback_iterator.cc
+++ b/third_party/blink/renderer/platform/fonts/font_fallback_iterator.cc
-@@ -60,8 +60,8 @@ void FontFallbackIterator::WillUseRange(
+@@ -73,8 +73,8 @@ void FontFallbackIterator::WillUseRange(
selector->WillUseRange(font_description_, family, range_set);
}
@@ -1972,16 +1982,15 @@
- FontDataForRangeSet* candidate,
+scoped_refptr<FontDataForRangeSet> FontFallbackIterator::UniqueOrNext(
+ scoped_refptr<FontDataForRangeSet> candidate,
- const Vector<UChar32>& hint_list) {
+ const HintCharList& hint_list) {
if (!candidate->HasFontData())
return Next(hint_list);
-@@ -104,18 +104,18 @@ bool FontFallbackIterator::NeedsHintList
+@@ -117,17 +117,17 @@ bool FontFallbackIterator::NeedsHintList
return font_data->IsSegmented();
}
--FontDataForRangeSet* FontFallbackIterator::Next(
-+scoped_refptr<FontDataForRangeSet> FontFallbackIterator::Next(
- const Vector<UChar32>& hint_list) {
+-FontDataForRangeSet* FontFallbackIterator::Next(const HintCharList&
hint_list) {
++scoped_refptr<FontDataForRangeSet> FontFallbackIterator::Next(const
HintCharList& hint_list) {
if (fallback_stage_ == kOutOfLuck)
- return MakeGarbageCollected<FontDataForRangeSet>();
+ return base::AdoptRef(new FontDataForRangeSet());
@@ -1999,7 +2008,7 @@
if (fallback_priority_font_range->HasFontData())
return UniqueOrNext(std::move(fallback_priority_font_range), hint_list);
return Next(hint_list);
-@@ -123,11 +123,11 @@ FontDataForRangeSet* FontFallbackIterato
+@@ -135,11 +135,11 @@ FontDataForRangeSet* FontFallbackIterato
if (fallback_stage_ == kSystemFonts) {
// We've reached pref + system fallback.
@@ -2014,7 +2023,7 @@
}
// If we don't have options from the system fallback anymore or had
-@@ -137,16 +137,18 @@ FontDataForRangeSet* FontFallbackIterato
+@@ -149,16 +149,18 @@ FontDataForRangeSet* FontFallbackIterato
// LastResort font, not just Times or Arial.
FontCache& font_cache = FontCache::Get();
fallback_stage_ = kFirstCandidateForNotdefGlyph;
@@ -2039,7 +2048,7 @@
}
if (fallback_stage_ == kFirstCandidateForNotdefGlyph) {
-@@ -177,13 +179,13 @@ FontDataForRangeSet* FontFallbackIterato
+@@ -189,13 +191,13 @@ FontDataForRangeSet* FontFallbackIterato
// Skip forward to the next font family for the next call to next().
current_font_data_index_++;
if (!font_data->IsLoading()) {
@@ -2055,7 +2064,7 @@
}
return Next(hint_list);
}
-@@ -197,7 +199,7 @@ FontDataForRangeSet* FontFallbackIterato
+@@ -209,7 +211,7 @@ FontDataForRangeSet* FontFallbackIterato
}
DCHECK_LT(segmented_face_index_, segmented->NumFaces());
@@ -2064,7 +2073,7 @@
segmented->FaceAt(segmented_face_index_);
segmented_face_index_++;
-@@ -208,7 +210,7 @@ FontDataForRangeSet* FontFallbackIterato
+@@ -220,7 +222,7 @@ FontDataForRangeSet* FontFallbackIterato
current_font_data_index_++;
}
@@ -2073,7 +2082,7 @@
const SimpleFontData* current_segmented_face_font_data =
current_segmented_face->FontData();
if (const CustomFontData* current_segmented_face_custom_font_data =
-@@ -222,15 +224,17 @@ FontDataForRangeSet* FontFallbackIterato
+@@ -234,15 +236,17 @@ FontDataForRangeSet* FontFallbackIterato
return Next(hint_list);
}
@@ -2097,16 +2106,16 @@
}
return font_data;
}
-@@ -255,7 +259,7 @@ static inline unsigned ChooseHintIndex(c
+@@ -268,7 +272,7 @@ static inline unsigned ChooseHintIndex(
return 0;
}
-const SimpleFontData* FontFallbackIterator::UniqueSystemFontForHintList(
+scoped_refptr<SimpleFontData>
FontFallbackIterator::UniqueSystemFontForHintList(
- const Vector<UChar32>& hint_list) {
+ const HintCharList& hint_list) {
// When we're asked for a fallback for the same characters again, we give up
// because the shaper must have previously tried shaping with the font
-@@ -270,13 +274,13 @@ const SimpleFontData* FontFallbackIterat
+@@ -283,13 +287,13 @@ const SimpleFontData* FontFallbackIterat
return nullptr;
previously_asked_for_hint_.insert(hint);
@@ -2140,33 +2149,33 @@
namespace blink {
-@@ -42,7 +43,7 @@ class FontFallbackIterator {
+@@ -49,7 +50,7 @@ class PLATFORM_EXPORT FontFallbackIterat
// Some system fallback APIs (Windows, Android) require a character, or a
// portion of the string to be passed. On Mac and Linux, we get a list of
// fonts without passing in characters.
-- FontDataForRangeSet* Next(const Vector<UChar32>& hint_list);
-+ scoped_refptr<FontDataForRangeSet> Next(const Vector<UChar32>& hint_list);
+- FontDataForRangeSet* Next(const HintCharList& hint_list);
++ scoped_refptr<FontDataForRangeSet> Next(const HintCharList& hint_list);
- private:
- bool RangeSetContributesForHint(const Vector<UChar32>& hint_list,
-@@ -50,11 +51,12 @@ class FontFallbackIterator {
+ void Reset();
+
+@@ -59,11 +60,12 @@ class PLATFORM_EXPORT FontFallbackIterat
bool AlreadyLoadingRangeForHintChar(UChar32 hint_char);
void WillUseRange(const AtomicString& family, const FontDataForRangeSet&);
- FontDataForRangeSet* UniqueOrNext(FontDataForRangeSet* candidate,
-- const Vector<UChar32>& hint_list);
+- const HintCharList& hint_list);
+ scoped_refptr<FontDataForRangeSet> UniqueOrNext(
+ scoped_refptr<FontDataForRangeSet> candidate,
-+ const Vector<UChar32>& hint_list);
++ const HintCharList& hint_list);
- const SimpleFontData* FallbackPriorityFont(UChar32 hint);
- const SimpleFontData* UniqueSystemFontForHintList(
+ scoped_refptr<SimpleFontData> FallbackPriorityFont(UChar32 hint);
+ scoped_refptr<SimpleFontData> UniqueSystemFontForHintList(
- const Vector<UChar32>& hint_list);
+ const HintCharList& hint_list);
const FontDescription& font_description_;
-@@ -82,8 +84,8 @@ class FontFallbackIterator {
+@@ -91,8 +93,8 @@ class PLATFORM_EXPORT FontFallbackIterat
// candidate to be used for rendering the .notdef glyph, and set HasNext()
to
// false.
HashSet<uint32_t> unique_font_data_for_range_sets_returned_;
@@ -2327,7 +2336,7 @@
const uint16_t generation_;
--- a/third_party/blink/renderer/platform/fonts/font_platform_data.cc
+++ b/third_party/blink/renderer/platform/fonts/font_platform_data.cc
-@@ -158,10 +158,6 @@ FontPlatformData::FontPlatformData(sk_sp
+@@ -159,10 +159,6 @@ FontPlatformData::FontPlatformData(sk_sp
FontPlatformData::~FontPlatformData() = default;
@@ -2338,7 +2347,7 @@
#if BUILDFLAG(IS_MAC)
CTFontRef FontPlatformData::CtFont() const {
return SkTypeface_GetCTFontRef(typeface_.get());
-@@ -213,10 +209,11 @@ SkTypeface* FontPlatformData::Typeface()
+@@ -214,10 +210,11 @@ SkTypeface* FontPlatformData::Typeface()
HarfBuzzFace* FontPlatformData::GetHarfBuzzFace() const {
if (!harfbuzz_face_) {
@@ -2352,7 +2361,7 @@
}
bool FontPlatformData::HasSpaceInLigaturesOrKerning(
-@@ -246,7 +243,7 @@ unsigned FontPlatformData::GetHash() con
+@@ -247,7 +244,7 @@ unsigned FontPlatformData::GetHash() con
}
#if !BUILDFLAG(IS_MAC)
@@ -2393,7 +2402,7 @@
#if BUILDFLAG(IS_MAC)
// Returns nullptr for FreeType backed SkTypefaces, compare
// FontCustomPlatformData, which are used for variable fonts on Mac OS
-@@ -129,7 +126,7 @@ class PLATFORM_EXPORT FontPlatformData
+@@ -130,7 +127,7 @@ class PLATFORM_EXPORT FontPlatformData
bool IsHashTableDeletedValue() const { return is_hash_table_deleted_value_;
}
#if !BUILDFLAG(IS_MAC)
@@ -2402,7 +2411,7 @@
#endif
#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_MAC)
-@@ -185,7 +182,7 @@ class PLATFORM_EXPORT FontPlatformData
+@@ -186,7 +183,7 @@ class PLATFORM_EXPORT FontPlatformData
WebFontRenderStyle style_;
#endif
@@ -2756,7 +2765,7 @@
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
-@@ -62,8 +62,7 @@
+@@ -65,8 +65,7 @@
namespace blink {
@@ -2766,18 +2775,17 @@
: platform_data_(platform_data), unique_id_(unique_id) {
HbFontCacheEntry* const cache_entry =
FontGlobalContext::GetHarfBuzzFontCache().RefOrNew(unique_id_,
-@@ -76,10 +75,6 @@ HarfBuzzFace::~HarfBuzzFace() {
+@@ -79,9 +78,6 @@ HarfBuzzFace::~HarfBuzzFace() {
FontGlobalContext::GetHarfBuzzFontCache().Remove(unique_id_);
}
-void HarfBuzzFace::Trace(Visitor* visitor) const {
- visitor->Trace(platform_data_);
-}
--
- static hb_bool_t HarfBuzzGetGlyph(hb_font_t* hb_font,
- void* font_data,
- hb_codepoint_t unicode,
-@@ -426,8 +421,7 @@ static hb_blob_t* HarfBuzzSkiaGetTable(h
+
+ bool& GetIgnoreVariationSelectors() {
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(WTF::ThreadSpecific<bool>,
+@@ -486,8 +482,7 @@ static hb_blob_t* HarfBuzzSkiaGetTable(h
}
// TODO(yosin): We should move |CreateFace()| to "harfbuzz_font_cache.cc".
@@ -2787,7 +2795,7 @@
hb::unique_ptr<hb_face_t> face;
sk_sp<SkTypeface> typeface = sk_ref_sp(platform_data->Typeface());
-@@ -475,9 +469,8 @@ static scoped_refptr<HbFontCacheEntry> C
+@@ -535,9 +530,8 @@ static scoped_refptr<HbFontCacheEntry> C
return cache_entry;
}
@@ -2801,25 +2809,27 @@
hb::unique_ptr<hb_face_t> face = CreateFace(platform_data);
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
-@@ -34,9 +34,8 @@
+@@ -34,11 +34,10 @@
#include "third_party/blink/renderer/platform/fonts/glyph.h"
#include "third_party/blink/renderer/platform/fonts/typesetting_features.h"
#include "third_party/blink/renderer/platform/fonts/unicode_range_set.h"
-#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
-#include "third_party/blink/renderer/platform/heap/member.h"
+ #include "third_party/blink/renderer/platform/platform_export.h"
+ #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
+#include "third_party/blink/renderer/platform/wtf/ref_counted.h"
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
#include <hb.h>
-@@ -50,15 +49,19 @@ struct HarfBuzzFontData;
+@@ -52,16 +51,18 @@ struct HarfBuzzFontData;
// |HarfBuzzFace| is a thread specific data associated to |FontPlatformData|,
// hold by |HarfBuzzFontCache|.
--class HarfBuzzFace final : public GarbageCollected<HarfBuzzFace> {
-+class HarfBuzzFace final : public RefCounted<HarfBuzzFace> {
+-class PLATFORM_EXPORT HarfBuzzFace final
+- : public GarbageCollected<HarfBuzzFace> {
++class PLATFORM_EXPORT HarfBuzzFace final : public RefCounted<HarfBuzzFace> {
+ USING_FAST_MALLOC(HarfBuzzFace);
-+
public:
- HarfBuzzFace(const FontPlatformData* platform_data, uint64_t);
+ static scoped_refptr<HarfBuzzFace> Create(FontPlatformData* platform_data,
@@ -2836,8 +2846,8 @@
enum VerticalLayoutCallbacks { kPrepareForVerticalLayout, kNoVerticalLayout
};
// In order to support the restricting effect of unicode-range optionally a
-@@ -87,10 +90,11 @@ class HarfBuzzFace final : public Garbag
- static void Init();
+@@ -97,10 +98,11 @@ class PLATFORM_EXPORT HarfBuzzFace final
+ static void SetIgnoreVariationSelectors(bool value);
private:
+ HarfBuzzFace(FontPlatformData* platform_data, uint64_t);
@@ -2862,24 +2872,24 @@
private:
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_shaper.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_shaper.cc
-@@ -784,7 +784,7 @@ void HarfBuzzShaper::ShapeSegment(
+@@ -853,7 +853,7 @@ void HarfBuzzShaper::ShapeSegment(
fallback_chars_hint.ReserveInitialCapacity(range_data->end -
range_data->start);
}
- FontDataForRangeSet* current_font_data_for_range_set = nullptr;
+ scoped_refptr<FontDataForRangeSet> current_font_data_for_range_set;
+ FallbackFontStage fallback_stage = kIntermediate;
while (!range_data->reshape_queue.empty()) {
ReshapeQueueItem current_queue_item =
range_data->reshape_queue.TakeFirst();
-
-@@ -847,7 +847,7 @@ void HarfBuzzShaper::ShapeSegment(
+@@ -934,7 +934,7 @@ void HarfBuzzShaper::ShapeSegment(
if (needs_caps_handling) {
case_map_intend = caps_support.NeedsCaseChange(small_caps_behavior);
- if (caps_support.NeedsSyntheticFont(small_caps_behavior))
+ if (caps_support.NeedsSyntheticFont(small_caps_behavior)) {
- adjusted_font = font_data->SmallCapsFontData(font_description);
+ adjusted_font = font_data->SmallCapsFontData(font_description).get();
+ }
}
- CaseMappingHarfBuzzBufferFiller(
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
@@ -79,10 +79,9 @@ ASSERT_SIZE(ShapeResult::RunInfo, SameSi
@@ -2905,7 +2915,7 @@
unsigned start_index,
unsigned num_characters,
TextDirection direction)
-@@ -436,7 +435,6 @@ void ShapeResult::Trace(Visitor* visitor
+@@ -432,7 +431,6 @@ void ShapeResult::Trace(Visitor* visitor
visitor->Trace(deprecated_ink_bounds_);
visitor->Trace(runs_);
visitor->Trace(character_position_);
@@ -2913,7 +2923,7 @@
}
size_t ShapeResult::ByteSize() const {
-@@ -736,10 +734,10 @@ bool ShapeResult::HasFallbackFonts(const
+@@ -732,10 +730,10 @@ bool ShapeResult::HasFallbackFonts(const
return false;
}
@@ -2926,7 +2936,7 @@
}
}
-@@ -754,7 +752,7 @@ float ShapeResult::ForEachGlyphImpl(floa
+@@ -750,7 +748,7 @@ float ShapeResult::ForEachGlyphImpl(floa
for (const auto& glyph_data : run.glyph_data_) {
glyph_callback(context, run.start_index_ + glyph_data.character_index,
glyph_data.glyph, *glyph_offsets, total_advance,
@@ -2935,7 +2945,7 @@
total_advance += glyph_data.advance;
++glyph_offsets;
}
-@@ -789,7 +787,7 @@ float ShapeResult::ForEachGlyphImpl(floa
+@@ -785,7 +783,7 @@ float ShapeResult::ForEachGlyphImpl(floa
auto total_advance = initial_advance;
unsigned run_start = run.start_index_ + index_offset;
bool is_horizontal = HB_DIRECTION_IS_HORIZONTAL(run.direction_);
@@ -2944,7 +2954,7 @@
if (run.IsLtr()) { // Left-to-right
for (const auto& glyph_data : run.glyph_data_) {
-@@ -1679,7 +1677,7 @@ unsigned ShapeResult::CopyRangeInternal(
+@@ -1738,7 +1736,7 @@ unsigned ShapeResult::CopyRangeInternal(
ShapeResult* ShapeResult::SubRange(unsigned start_offset,
unsigned end_offset) const {
ShapeResult* sub_range =
@@ -2955,7 +2965,7 @@
}
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.h
-@@ -139,7 +139,7 @@ typedef void (*GraphemeClusterCallback)(
+@@ -136,7 +136,7 @@ typedef void (*GraphemeClusterCallback)(
class PLATFORM_EXPORT ShapeResult : public GarbageCollected<ShapeResult> {
public:
@@ -2964,7 +2974,7 @@
unsigned start_index,
unsigned num_characters,
TextDirection);
-@@ -152,7 +152,7 @@ class PLATFORM_EXPORT ShapeResult : publ
+@@ -149,7 +149,7 @@ class PLATFORM_EXPORT ShapeResult : publ
void Trace(Visitor*) const;
static ShapeResult* CreateEmpty(const ShapeResult& other) {
@@ -2973,7 +2983,7 @@
other.Direction());
}
static const ShapeResult* CreateForTabulationCharacters(
-@@ -184,7 +184,7 @@ class PLATFORM_EXPORT ShapeResult : publ
+@@ -181,7 +181,7 @@ class PLATFORM_EXPORT ShapeResult : publ
LayoutUnit SnappedWidth() const { return LayoutUnit::FromFloatCeil(width_);
}
unsigned NumCharacters() const { return num_characters_; }
unsigned NumGlyphs() const { return num_glyphs_; }
@@ -2982,7 +2992,7 @@
bool HasFallbackFonts(const SimpleFontData* primary_font) const;
// TODO(eae): Remove start_x and return value once ShapeResultBuffer has
been
-@@ -350,12 +350,10 @@ class PLATFORM_EXPORT ShapeResult : publ
+@@ -352,12 +352,10 @@ class PLATFORM_EXPORT ShapeResult : publ
// Computes the list of fonts along with the number of glyphs for each font.
struct RunFontData {
@@ -2997,16 +3007,16 @@
// Iterates over, and calls the specified callback function, for all the
// glyphs. Also tracks (and returns) a seeded total advance.
-@@ -515,7 +513,7 @@ class PLATFORM_EXPORT ShapeResult : publ
+@@ -517,7 +515,7 @@ class PLATFORM_EXPORT ShapeResult : publ
// index to x-position and O(log n) time, using binary search, from
// x-position to character index.
mutable HeapVector<ShapeResultCharacterData> character_position_;
- Member<const SimpleFontData> primary_font_;
+ scoped_refptr<const SimpleFontData> primary_font_;
- unsigned start_index_;
- unsigned num_characters_;
-@@ -570,6 +568,5 @@ PLATFORM_EXPORT std::ostream& operator<<
+ unsigned start_index_ = 0;
+ unsigned num_characters_ = 0;
+@@ -572,6 +570,5 @@ PLATFORM_EXPORT std::ostream& operator<<
} // namespace blink
WTF_ALLOW_CLEAR_UNUSED_SLOTS_WITH_MEM_FUNCTIONS(blink::ShapeResult::ShapeRange)
@@ -3359,7 +3369,7 @@
}
// Internal leadings can be distributed to ascent and descent.
-@@ -346,7 +352,7 @@ static std::pair<int16_t, int16_t> TypoA
+@@ -347,7 +353,7 @@ static std::pair<int16_t, int16_t> TypoA
void SimpleFontData::ComputeNormalizedTypoAscentAndDescent() const {
// Compute em height metrics from OS/2 sTypoAscender and sTypoDescender.
@@ -3368,7 +3378,7 @@
auto [typo_ascender, typo_descender] = TypoAscenderAndDescender(typeface);
if (typo_ascender > 0 &&
TrySetNormalizedTypoAscentAndDescent(typo_ascender, typo_descender)) {
-@@ -433,7 +439,7 @@ const std::optional<float>& SimpleFontDa
+@@ -434,7 +440,7 @@ const std::optional<float>& SimpleFontDa
}
// Compute vertical advance if the orientation is `kVerticalUpright`.
@@ -3377,7 +3387,7 @@
const OpenTypeVerticalData& vertical_data = hb_face->VerticalData();
ideographic_inline_size_ = vertical_data.AdvanceHeight(cjk_water_glyph);
});
-@@ -461,9 +467,8 @@ const HanKerning::FontData& SimpleFontDa
+@@ -462,9 +468,8 @@ const HanKerning::FontData& SimpleFontDa
}
gfx::RectF SimpleFontData::PlatformBoundsForGlyph(Glyph glyph) const {
@@ -3388,7 +3398,7 @@
static_assert(sizeof(glyph) == 2, "Glyph id should not be truncated.");
-@@ -476,18 +481,16 @@ void SimpleFontData::BoundsForGlyphs(con
+@@ -477,18 +482,16 @@ void SimpleFontData::BoundsForGlyphs(con
Vector<SkRect, 256>* bounds) const {
DCHECK_EQ(glyphs.size(), bounds->size());
++++++ blink-platform-INSIDE_BLINK-Wodr.patch ++++++
--- src/third_party/blink/public/platform/web_crypto_algorithm.h.orig
2024-07-24 12:50:54.735798500 +0200
+++ src/third_party/blink/public/platform/web_crypto_algorithm.h
2024-08-04 16:11:13.938867200 +0200
@@ -74,18 +74,14 @@ enum WebCryptoAlgorithmId {
kWebCryptoAlgorithmIdPbkdf2,
kWebCryptoAlgorithmIdEd25519,
kWebCryptoAlgorithmIdX25519,
-#if INSIDE_BLINK
kWebCryptoAlgorithmIdLast = kWebCryptoAlgorithmIdX25519,
-#endif
};
enum WebCryptoNamedCurve {
kWebCryptoNamedCurveP256,
kWebCryptoNamedCurveP384,
kWebCryptoNamedCurveP521,
-#if INSIDE_BLINK
kWebCryptoNamedCurveLast = kWebCryptoNamedCurveP521,
-#endif
};
enum WebCryptoAlgorithmParamsType {
@@ -153,11 +149,9 @@ class WebCryptoAlgorithmPrivate;
// methods on it (other than destruction, assignment, or IsNull()).
class BLINK_PLATFORM_EXPORT WebCryptoAlgorithm {
public:
-#if INSIDE_BLINK
WebCryptoAlgorithm() = default;
WebCryptoAlgorithm(WebCryptoAlgorithmId,
std::unique_ptr<WebCryptoAlgorithmParams>);
-#endif
static WebCryptoAlgorithm CreateNull();
static WebCryptoAlgorithm AdoptParamsAndCreate(WebCryptoAlgorithmId,
--- src/third_party/blink/public/platform/web_crypto_key.h.orig 2024-07-24
12:50:54.735798500 +0200
+++ src/third_party/blink/public/platform/web_crypto_key.h 2024-08-04
16:11:34.638017900 +0200
@@ -51,9 +51,7 @@ enum WebCryptoKeyUsage {
kWebCryptoKeyUsageWrapKey = 1 << 5,
kWebCryptoKeyUsageUnwrapKey = 1 << 6,
kWebCryptoKeyUsageDeriveBits = 1 << 7,
-#if INSIDE_BLINK
kEndOfWebCryptoKeyUsage,
-#endif
};
// A bitfield of WebCryptoKeyUsage
++++++ brotli-remove-shared-dictionary.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.901285354 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.905285521 +0200
@@ -2,9 +2,9 @@
and disable dependent code. This removes `brs` from Accept-Encoding list.
This feature does not build with brotli < 1.1
---- src/net/filter/brotli_source_stream.cc.orig 2023-10-12
17:25:42.094020700 +0200
-+++ src/net/filter/brotli_source_stream.cc 2023-10-12 22:43:53.790708700
+0200
-@@ -13,7 +11,6 @@
+--- src/net/filter/brotli_source_stream.cc.orig 2024-07-24
12:50:53.542464800 +0200
++++ src/net/filter/brotli_source_stream.cc 2024-08-04 21:07:52.674333900
+0200
+@@ -12,7 +12,6 @@
#include "base/metrics/histogram_macros.h"
#include "net/base/io_buffer.h"
#include "third_party/brotli/include/brotli/decode.h"
@@ -12,7 +12,7 @@
namespace net {
-@@ -25,21 +22,11 @@ const char kBrotli[] = "BROTLI";
+@@ -24,21 +23,11 @@ const char kBrotli[] = "BROTLI";
// Brotli format specification:
http://www.ietf.org/id/draft-alakuijala-brotli.
class BrotliSourceStream : public FilterSourceStream {
public:
@@ -36,17 +36,17 @@
}
BrotliSourceStream(const BrotliSourceStream&) = delete;
-@@ -176,9 +163,6 @@ class BrotliSourceStream : public Filter
+@@ -174,9 +163,6 @@ class BrotliSourceStream : public Filter
free(&array[-1]);
}
- const scoped_refptr<IOBuffer> dictionary_;
- const size_t dictionary_size_;
-
- raw_ptr<BrotliDecoderState, DanglingUntriaged> brotli_state_;
+ raw_ptr<BrotliDecoderState> brotli_state_;
DecodingStatus decoding_status_ = DecodingStatus::DECODING_IN_PROGRESS;
-@@ -200,8 +184,7 @@ std::unique_ptr<FilterSourceStream> Crea
+@@ -198,8 +184,7 @@ std::unique_ptr<FilterSourceStream> Crea
std::unique_ptr<SourceStream> previous,
scoped_refptr<IOBuffer> dictionary,
size_t dictionary_size) {
++++++ chromium-102-compiler.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.929286523 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.933286689 +0200
@@ -25,7 +25,7 @@
index d40843b..b92f03b 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
-@@ -322,9 +322,7 @@ config("compiler") {
+@@ -305,9 +305,7 @@ config("compiler") {
configs += [
# See the definitions below.
@@ -35,7 +35,7 @@
":compiler_codegen",
":compiler_deterministic",
]
-@@ -353,7 +351,12 @@ config("compiler") {
+@@ -337,7 +335,12 @@ config("compiler") {
if (!is_win) {
# Common POSIX compiler flags setup.
# --------------------------------
@@ -49,7 +49,7 @@
# Stack protection. ShadowCallStack and Stack protector address the same
# problems. Therefore, we only enable one or the other. Clang advertises
SCS as
-@@ -494,10 +497,6 @@ config("compiler") {
+@@ -478,10 +481,6 @@ config("compiler") {
# Linux/Android/Fuchsia common flags setup.
# ---------------------------------
if (is_linux || is_chromeos || is_android || is_fuchsia) {
@@ -60,7 +60,7 @@
if (!is_clang) {
# Use pipes for communicating between sub-processes. Faster.
-@@ -590,55 +589,6 @@ config("compiler") {
+@@ -545,55 +544,6 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
@@ -87,9 +87,9 @@
- }
- }
-
-- # TODO(crbug.com/1488374): This causes binary size growth and potentially
+- # TODO(crbug.com/40283598): This causes binary size growth and potentially
- # other problems.
-- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm
version.
+- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline
llvm version.
- if (default_toolchain != "//build/toolchain/cros:target" &&
- !llvm_android_mainline) {
- cflags += [
@@ -105,7 +105,7 @@
- }
- }
-
-- # TODO(crbug.com/1235145): Investigate why/if this should be needed.
+- # TODO(crbug.com/40192287): Investigate why/if this should be needed.
- if (is_win) {
- cflags += [ "/clang:-ffp-contract=off" ]
- } else {
@@ -116,7 +116,7 @@
# C11/C++11 compiler flags setup.
# ---------------------------
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1070,11 +1020,6 @@ config("compiler") {
+@@ -1063,11 +1013,6 @@ config("compiler") {
defines += [ "_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE" ]
}
@@ -128,7 +128,7 @@
}
# The BUILDCONFIG file sets this config on targets by default, which means
when
-@@ -1140,7 +1085,8 @@ config("thinlto_optimize_max") {
+@@ -1133,7 +1078,8 @@ config("thinlto_optimize_max") {
# without using everything that "compiler" brings in. Options that
# tweak code generation for a particular CPU do not belong here!
# See "compiler_codegen", below.
@@ -138,7 +138,7 @@
cflags = []
ldflags = []
defines = []
-@@ -1523,46 +1469,6 @@ config("compiler_deterministic") {
+@@ -1516,46 +1462,6 @@ config("compiler_deterministic") {
}
}
@@ -184,8 +184,8 @@
-
# Tells the compiler not to use absolute paths when passing the default
# paths to the tools it invokes. We don't want this because we don't
- # really need it and it can mess up the goma cache entries.
-@@ -1739,7 +1645,8 @@ config("treat_warnings_as_errors") {
+ # really need it and it can mess up the RBE cache entries.
+@@ -1732,7 +1638,8 @@ config("treat_warnings_as_errors") {
# Collects all warning flags that are used by default. This is used as a
# subconfig of both chromium_code and no_chromium_code. This way these
# flags are guaranteed to appear on the compile command line after -Wall.
@@ -195,7 +195,7 @@
cflags = []
cflags_c = []
cflags_cc = []
-@@ -1983,11 +1890,7 @@ config("chromium_code") {
+@@ -1982,11 +1889,7 @@ config("chromium_code") {
defines = [ "_HAS_NODISCARD" ]
}
} else {
@@ -208,7 +208,7 @@
# In Chromium code, we define __STDC_foo_MACROS in order to get the
# C99 macros on Mac and Linux.
-@@ -1996,24 +1899,6 @@ config("chromium_code") {
+@@ -1995,24 +1898,6 @@ config("chromium_code") {
"__STDC_FORMAT_MACROS",
]
@@ -233,15 +233,15 @@
if (is_apple) {
cflags_objc = [ "-Wimplicit-retain-self" ]
cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2159,7 +2044,6 @@ config("no_rtti") {
+@@ -2158,7 +2043,6 @@ config("no_rtti") {
config("export_dynamic") {
- # TODO(crbug.com/1052397): Revisit after target_os flip is completed.
+ # TODO(crbug.com/40118868): Revisit after target_os flip is completed.
if (is_linux || is_chromeos_lacros || export_libcxxabi_from_executables) {
- ldflags = [ "-rdynamic" ]
}
}
-@@ -2247,7 +2131,8 @@ config("wexit_time_destructors") {
+@@ -2246,7 +2130,8 @@ config("wexit_time_destructors") {
# gcc 4.9 and earlier had no way of suppressing this warning without
# suppressing the rest of them. Here we centralize the identification of
# the gcc 4.9 toolchains.
@@ -251,7 +251,7 @@
cflags = []
if (is_clang) {
cflags += [ "-Wno-incompatible-pointer-types" ]
-@@ -2362,7 +2247,8 @@ if (is_win) {
+@@ -2364,7 +2249,8 @@ if (is_win) {
common_optimize_on_cflags += [ "-fno-math-errno" ]
}
@@ -261,17 +261,17 @@
if (!is_win) {
if (enable_frame_pointers) {
cflags = [ "-fno-omit-frame-pointer" ]
-@@ -2389,7 +2275,8 @@ config("default_stack_frames") {
- }
-
- # Default "optimization on" config.
+@@ -2405,7 +2291,8 @@ config("default_stack_frames") {
+ # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
+ # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
+ # [2]: https://crrev.com/c/5447532
-config("optimize") {
+config("optimize") { }
+config("xoptimize") {
if (is_win) {
cflags = [ "/O2" ] + common_optimize_on_cflags
-@@ -2430,7 +2317,8 @@ config("optimize") {
+@@ -2446,7 +2333,8 @@ config("optimize") {
}
# Turn off optimizations.
@@ -281,19 +281,19 @@
if (is_win) {
cflags = [
"/Od", # Disable optimization.
-@@ -2470,7 +2358,8 @@ config("no_optimize") {
- # Turns up the optimization level. On Windows, this implies whole program
- # optimization and link-time code generation which is very expensive and
should
- # be used sparingly.
+@@ -2486,7 +2374,8 @@ config("no_optimize") {
+ # Turns up the optimization level. Used to explicitly enable -O2 instead of
+ # -Os for select targets on platforms that use optimize_for_size. No-op
+ # elsewhere.
-config("optimize_max") {
+config("optimize_max") { }
+config("xoptimize_max") {
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2503,7 +2392,8 @@ config("optimize_max") {
+@@ -2519,7 +2408,8 @@ config("optimize_max") {
#
- # TODO(crbug.com/621335) - rework how all of these configs are related
+ # TODO(crbug.com/41259697) - rework how all of these configs are related
# so that we don't need this disclaimer.
-config("optimize_speed") {
+config("optimize_speed") { }
@@ -301,7 +301,7 @@
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2529,7 +2419,8 @@ config("optimize_speed") {
+@@ -2548,7 +2438,8 @@ config("optimize_speed") {
}
}
@@ -311,7 +311,7 @@
cflags = [ "-O1" ] + common_optimize_on_cflags
rustflags = [ "-Copt-level=1" ]
ldflags = common_optimize_on_ldflags
-@@ -2662,7 +2553,8 @@ config("win_pdbaltpath") {
+@@ -2681,7 +2572,8 @@ config("win_pdbaltpath") {
}
# Full symbols.
@@ -321,7 +321,7 @@
rustflags = []
if (is_win) {
if (is_clang) {
-@@ -2811,7 +2703,8 @@ config("symbols") {
+@@ -2831,7 +2723,8 @@ config("symbols") {
# Minimal symbols.
# This config guarantees to hold symbol for stack trace which are shown to
user
# when crash happens in unittests running on buildbot.
@@ -331,7 +331,7 @@
rustflags = []
if (is_win) {
# Functions, files, and line tables only.
-@@ -2896,7 +2789,8 @@ config("minimal_symbols") {
+@@ -2916,7 +2809,8 @@ config("minimal_symbols") {
# This configuration contains function names only. That is, the compiler is
# told to not generate debug information and the linker then just puts
function
# names in the final debug information.
++++++ chromium-124-shims.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.949287357 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.953287524 +0200
@@ -125,17 +125,6 @@
shim_headers("log_shim") {
root_path = "."
prefix = "absl/log/"
-diff '--color=auto' -urp src/build/linux/unbundle.orig/libwebp.gn
src/build/linux/unbundle/libwebp.gn
---- src/build/linux/unbundle.orig/libwebp.gn
-+++ src/build/linux/unbundle/libwebp.gn
-@@ -33,3 +33,7 @@ source_set("libwebp_webp") {
- group("libwebp") {
- deps = [ ":libwebp_webp" ]
- }
-+
-+source_set("libwebp_sharpyuv") {
-+ # Unused in Chromium. Empty to enable building with old webp which does not
have sharpyuv
-+}
diff '--color=auto' -urp src/build/linux/unbundle.orig/re2.gn
src/build/linux/unbundle/re2.gn
--- src/build/linux/unbundle.orig/re2.gn
+++ src/build/linux/unbundle/re2.gn
@@ -188,7 +177,7 @@
--- /dev/null
+++ src/build/linux/unbundle/zstd.gn
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,28 @@
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
@@ -204,6 +193,10 @@
+ ]
+}
+
++source_set("compress") {
++ deps = [ ":zstd_shim" ]
++ public_configs = [ ":system_zstd" ]
++}
+source_set("decompress") {
+ deps = [ ":zstd_shim" ]
+ public_configs = [ ":system_zstd" ]
++++++ chromium-93-ffmpeg-4.4.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:06.965288025 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:06.969288192 +0200
@@ -54,7 +54,7 @@
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
@@ -461,7 +465,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
- packet->size - data_offset);
+ side_data +
side_data_size);
}
+#if LIBAVUTIL_VERSION_MAJOR < 57
++++++ color_provider-incomplete-ColorProviderInternal.patch ++++++
>From ef8e6beaebcfc3e143b249ba76c177fbabd3b4ea Mon Sep 17 00:00:00 2001
From: Yichen <[email protected]>
Date: Thu, 23 May 2024 23:44:41 +0000
Subject: [PATCH] ui: fix gcc/libstdc++ build break
Bug: 340815321
Change-Id: Ibf443f9f16dfff164e1f4d49a58582fb7a6aca1d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5565320
Reviewed-by: Xiyuan Xia <[email protected]>
Commit-Queue: Yichen Zhou <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1305426}
---
ui/color/color_provider.cc | 3 ++-
ui/color/color_provider.h | 3 +--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/ui/color/color_provider.cc b/ui/color/color_provider.cc
index 1597715de1f63c..3e0ffed9f4d4c4 100644
--- a/ui/color/color_provider.cc
+++ b/ui/color/color_provider.cc
@@ -118,7 +118,8 @@ class ColorProvider::ColorProviderInternal {
////////////////////////////////////////////////////////////////////////////////
// ColorProvider:
-ColorProvider::ColorProvider() = default;
+ColorProvider::ColorProvider()
+ : internal_(std::make_unique<ColorProviderInternal>()) {}
ColorProvider::ColorProvider(ColorProvider&&) = default;
diff --git a/ui/color/color_provider.h b/ui/color/color_provider.h
index 50fff33ae6ab6d..6ac6ed6938cf24 100644
--- a/ui/color/color_provider.h
+++ b/ui/color/color_provider.h
@@ -65,8 +65,7 @@ class COMPONENT_EXPORT(COLOR) ColorProvider {
// bind to it.
class ColorProviderInternal;
- std::unique_ptr<ColorProviderInternal> internal_ =
- std::make_unique<ColorProviderInternal>();
+ std::unique_ptr<ColorProviderInternal> internal_;
};
} // namespace ui
++++++ create_tarball.sh ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.029290696 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.033290863 +0200
@@ -166,7 +166,6 @@
keeplibs=(
base/third_party/cityhash #Derived code, not vendored dependency.
base/third_party/cityhash_v103 #Derived code, not vendored dep
- base/third_party/dynamic_annotations #Derived code, not vendored
dependency.
base/third_party/icu #Derived code, not vendored dependency.
base/third_party/superfasthash #Not a shared library.
base/third_party/symbolize #Derived code, not vendored dependency.
@@ -336,6 +335,8 @@
ln -srv v8/tools -t third_party/electron_node/deps/v8/
find third_party/electron_node/deps/zlib -type f ! -name "*.gn" -a ! -name
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
+# vendored system headers
+rm -rf build/linux/debian*sysroot
#Some more chonkers
rm -rf components/test/data #21MB
++++++ disable-catapult.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.049291530 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.053291697 +0200
@@ -166,9 +166,9 @@
"//components/vector_icons",
"//components/webauthn/json",
- "//content/browser/tracing:resources",
+ "//media/mojo/mojom:speech_recognition",
+ "//ui/base",
]
- }
-
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
@@ -190,8 +190,6 @@ template("chrome_extra_paks") {
@@ -181,7 +181,7 @@
deps += [
"//chrome/browser/resources:component_extension_resources",
@@ -199,7 +197,6 @@ template("chrome_extra_paks") {
- "//chrome/browser/resources/lens/overlay:resources",
+ "//chrome/browser/resources/lens/overlay/search_bubble:resources",
"//chrome/browser/resources/search_engine_choice:resources",
"//content/browser/devtools:devtools_resources",
- "//content/browser/tracing:resources",
++++++ disable-webspeech.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.081292866 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.081292866 +0200
@@ -26,7 +26,7 @@
index 19b45dc1268..67dcd7752d0 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
-@@ -1909,11 +1909,6 @@ source_set("browser") {
+@@ -1909,13 +1909,6 @@ source_set("browser") {
"sms/user_consent_handler.h",
"sms/webotp_service.cc",
"sms/webotp_service.h",
@@ -34,6 +34,8 @@
- "speech/speech_recognition_dispatcher_host.h",
- "speech/speech_recognition_manager_impl.cc",
- "speech/speech_recognition_manager_impl.h",
+- "speech/speech_recognition_session.cc",
+- "speech/speech_recognition_session.h",
- "speech/speech_recognizer.h",
"speech/speech_synthesis_impl.cc",
"speech/speech_synthesis_impl.h",
@@ -58,14 +60,17 @@
"tracing/tracing_ui.cc",
"tracing/tracing_ui.h",
-@@ -2995,7 +2975,6 @@ source_set("browser") {
- ]
-
- deps += [
+@@ -2995,10 +2975,8 @@ source_set("browser") {
+ "//components/soda:constants",
+ "//components/soda:soda",
+ "//components/soda:utils",
- "//components/speech:speech",
"//components/vector_icons",
"//components/webauthn/json",
+- "//media/mojo/mojom:speech_recognition",
+ "//ui/base",
]
+ }
@@ -3108,6 +3083,37 @@ source_set("browser") {
deps += [ "//ui/compositor" ]
}
++++++ electron-30.5.1.tar.zst -> electron-31.6.0.tar.zst ++++++
/work/SRC/openSUSE:Factory/nodejs-electron/electron-30.5.1.tar.zst
/work/SRC/openSUSE:Factory/.nodejs-electron.new.29891/electron-31.6.0.tar.zst
differ: char 7, line 1
++++++ ffmpeg-new-channel-layout.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.165296371 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.165296371 +0200
@@ -176,33 +176,6 @@
if (frame->sample_rate != sample_rate_ || channels != channels_ ||
frame->format != av_sample_format_) {
DLOG(ERROR) << "Unsupported midstream configuration change!"
-diff --git a/media/filters/audio_file_reader_unittest.cc
b/media/filters/audio_file_reader_unittest.cc
-index 2aba7927a31..1f45a50cace 100644
---- a/media/filters/audio_file_reader_unittest.cc
-+++ b/media/filters/audio_file_reader_unittest.cc
-@@ -121,11 +121,11 @@ class AudioFileReaderTest : public testing::Test {
- EXPECT_FALSE(reader_->Open());
- }
-
-- void RunTestFailingDecode(const char* fn) {
-+ void RunTestFailingDecode(const char* fn, int expect_read = 0) {
- Initialize(fn);
- EXPECT_TRUE(reader_->Open());
- std::vector<std::unique_ptr<AudioBus>> decoded_audio_packets;
-- EXPECT_EQ(reader_->Read(&decoded_audio_packets), 0);
-+ EXPECT_EQ(reader_->Read(&decoded_audio_packets), expect_read);
- }
-
- void RunTestPartialDecode(const char* fn) {
-@@ -219,7 +219,7 @@ TEST_F(AudioFileReaderTest, AAC_ADTS) {
- }
-
- TEST_F(AudioFileReaderTest, MidStreamConfigChangesFail) {
-- RunTestFailingDecode("midstream_config_change.mp3");
-+ RunTestFailingDecode("midstream_config_change.mp3", 42624);
- }
- #endif
-
diff --git a/media/filters/audio_video_metadata_extractor.cc
b/media/filters/audio_video_metadata_extractor.cc
index 185819eb936..69ff508c221 100644
--- a/media/filters/audio_video_metadata_extractor.cc
++++++ fix-build-without-safebrowsing.patch ++++++
--- src/chrome/browser/ui/exclusive_access/fullscreen_controller.cc.orig
2024-07-24 13:00:13.565994500 +0200
+++ src/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
2024-08-03 23:06:56.231653700 +0200
@@ -19,7 +19,6 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#if 0
#include "chrome/browser/ui/blocked_content/popunder_preventer.h"
#endif
@@ -116,20 +115,6 @@ void RecordWebsiteStateAtApiRequest(hist
void CheckUrlForAllowlistAndRecordMetric(
const GURL& url,
history::HistoryLastVisitResult result) {
- if (!g_browser_process->safe_browsing_service() ||
- !g_browser_process->safe_browsing_service()->database_manager()) {
- RecordWebsiteStateAtApiRequest(result, std::nullopt);
- return;
- }
- g_browser_process->safe_browsing_service()
- ->database_manager()
- ->CheckUrlForHighConfidenceAllowlist(
- url, "RT" /*realtime*/,
- base::BindOnce(
- [](history::HistoryLastVisitResult result, bool on_allowlist) {
- RecordWebsiteStateAtApiRequest(result, on_allowlist);
- },
- result));
}
} // namespace
++++++ fix-build-without-supervised-users.patch ++++++
--- src/chrome/test/BUILD.gn.orig 2024-09-12 13:54:44.642624995 +0200
+++ src/chrome/test/BUILD.gn 2024-09-12 15:25:29.792388388 +0200
@@ -56,7 +56,6 @@ import("//v8/gni/v8.gni")
assert(!is_ios, "Chromium/iOS shouldn't use anything in //chrome")
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
-assert(enable_supervised_users)
if (is_android) {
import("//build/config/android/rules.gni")
--- src/chrome/common/BUILD.gn.orig 2024-09-12 13:46:51.785984196 +0200
+++ src/chrome/common/BUILD.gn 2024-09-12 15:27:58.398867501 +0200
@@ -22,7 +22,6 @@ import("//testing/libfuzzer/fuzzer_test.
import("//third_party/widevine/cdm/widevine.gni")
import("//tools/grit/grit_rule.gni")
-assert(enable_supervised_users)
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
fuzzer_test("ini_parser_fuzzer") {
--- src/chrome/renderer/BUILD.gn.orig 2024-09-12 13:46:51.849317526 +0200
+++ src/chrome/renderer/BUILD.gn 2024-09-12 15:29:17.915843739 +0200
@@ -18,7 +18,6 @@ import("//testing/libfuzzer/fuzzer_test.
import("//third_party/widevine/cdm/widevine.gni")
import("//tools/grit/grit_rule.gni")
-assert(enable_supervised_users)
grit("resources") {
source = "resources/renderer_resources.grd"
--- src/chrome/browser/BUILD.gn.orig 2024-09-12 13:54:44.639291662 +0200
+++ src/chrome/browser/BUILD.gn 2024-09-12 15:30:42.759505691 +0200
@@ -45,7 +45,6 @@ import("//third_party/widevine/cdm/widev
import("//tools/grit/grit_rule.gni")
import("//ui/base/ui_features.gni")
-assert(enable_supervised_users)
# //build/config/android/rules.gni imports //tools/grit/grit_rule.gni, which
# produces a conflict for the "grit" template so we have to only include one.
--- src/chrome/browser/ui/BUILD.gn.orig 2024-09-12 13:46:51.212650894 +0200
+++ src/chrome/browser/ui/BUILD.gn 2024-09-12 15:32:36.489733448 +0200
@@ -32,7 +32,6 @@ import("//third_party/protobuf/proto_lib
import("//ui/base/ui_features.gni")
import("//ui/views/features.gni")
-assert(enable_supervised_users)
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
generate_histograms_variants_allowlist("webui_name_variants") {
--- src/chrome/browser/extensions/BUILD.gn.orig 2024-09-12 13:46:50.369317607
+0200
+++ src/chrome/browser/extensions/BUILD.gn 2024-09-12 15:33:39.046452725
+0200
@@ -20,7 +20,6 @@ import("//testing/libfuzzer/fuzzer_test.
import("//third_party/protobuf/proto_library.gni")
assert(enable_extensions)
-assert(enable_supervised_users)
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
static_library("extensions") {
++++++ harfbuzz-replace-chromium-scoped-type.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.217298541 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.221298708 +0200
@@ -110,13 +110,14 @@
index 7c7057b..d43668f1 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
-@@ -7,10 +7,10 @@
- // Include HarfBuzz to have a cross-platform way to retrieve table tags
without
+@@ -7,11 +7,11 @@
// having to rely on the platform being able to instantiate this font format.
#include <hb.h>
+
+#include <hb-cplusplus.hh>
- #include "base/sys_byteorder.h"
+ #include "base/containers/span.h"
+ #include "base/numerics/byte_conversions.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
#include "third_party/skia/include/core/SkTypeface.h"
@@ -254,9 +255,9 @@
// clang-format on
@@ -52,7 +53,6 @@
- #include "third_party/blink/renderer/platform/wtf/hash_map.h"
- #include "third_party/blink/renderer/platform/wtf/math_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
+ #include "third_party/blink/renderer/platform/wtf/thread_specific.h"
+ #include "third_party/blink/renderer/platform/wtf/wtf.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
#include "third_party/skia/include/core/SkPaint.h"
#include "third_party/skia/include/core/SkPath.h"
++++++ http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch ++++++
>From d8985805ba3c963d9aabbd2c77d15dbd8d7290c5 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Wed, 15 May 2024 18:46:03 +0000
Subject: [PATCH] GCC: explicitly use base::span constructor in
HttpAuthNtlmMechanism
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
base::span requires explicit construction for several of the
constructors. Theoretically the constructor used here should not
require that but GCC complains.
Bug: 40565911
Change-Id: I452f31ee0862c3e986e15207f89baa043b016da8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5540995
Reviewed-by: Maks Orlovich <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1301466}
---
net/http/http_auth_ntlm_mechanism.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/http/http_auth_ntlm_mechanism.cc
b/net/http/http_auth_ntlm_mechanism.cc
index ddab00151cda9c..0b103303df56f7 100644
--- a/net/http/http_auth_ntlm_mechanism.cc
+++ b/net/http/http_auth_ntlm_mechanism.cc
@@ -149,7 +149,7 @@ int HttpAuthNtlmMechanism::GenerateAuthToken(
return ERR_UNEXPECTED;
uint8_t client_challenge[8];
- g_generate_random_proc(client_challenge);
+ g_generate_random_proc(base::span<uint8_t>(client_challenge));
auto next_token = ntlm_client_.GenerateAuthenticateMessage(
domain, user, credentials->password(), hostname, channel_bindings, spn,
++++++ native_css_paint_definition-expected-unqualified-id.patch ++++++
>From bf5355ac24399cd37a7d210b1ce9586d70829ed5 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Fri, 17 May 2024 09:39:14 +0000
Subject: [PATCH] GCC: do not add template parameter in constructor of
BaseKeyframe
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC rejects adding redundantly the template parameter in the
constructor.
Bug: 40565911
Change-Id: Ie827f1dba5488893cb76e0e52e9c26866dff701c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5539114
Reviewed-by: Jean-Philippe Gravel <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1302481}
---
.../csspaint/nativepaint/native_css_paint_definition.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git
a/third_party/blink/renderer/modules/csspaint/nativepaint/native_css_paint_definition.h
b/third_party/blink/renderer/modules/csspaint/nativepaint/native_css_paint_definition.h
index 34d37ea466c632..24a676543895ac 100644
---
a/third_party/blink/renderer/modules/csspaint/nativepaint/native_css_paint_definition.h
+++
b/third_party/blink/renderer/modules/csspaint/nativepaint/native_css_paint_definition.h
@@ -51,9 +51,7 @@ class MODULES_EXPORT NativeCssPaintDefinition : public
NativePaintDefinition {
template <typename T>
struct TypedKeyframe : public BaseKeyframe {
- TypedKeyframe<T>(double offset,
- std::unique_ptr<gfx::TimingFunction>& tf,
- T v)
+ TypedKeyframe(double offset, std::unique_ptr<gfx::TimingFunction>& tf, T v)
: BaseKeyframe(offset, tf), value(v) {}
T value;
};
++++++ page_popup_controller-missing-optional.patch ++++++
>From f3fce92b27296068b4c304321b53bd1c7c4beb61 Mon Sep 17 00:00:00 2001
From: "lauren n. liberda" <[email protected]>
Date: Tue, 28 May 2024 17:54:26 +0000
Subject: [PATCH] iwyu: missing <optional> in page_popup_controller.h
Bug: 41455655
Change-Id: I6483b9ec9d3c4acc08fb2bce8cac409c32a06dc4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5569043
Reviewed-by: Lei Zhang <[email protected]>
Commit-Queue: Lei Zhang <[email protected]>
Reviewed-by: Khushal Sagar <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1306871}
---
AUTHORS | 1 +
third_party/blink/renderer/core/page/page_popup_controller.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/AUTHORS b/AUTHORS
index eba1dc976d8fa0..715e108aca1c3d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -818,6 +818,7 @@ Lalit Chandivade <[email protected]>
Lam Lu <[email protected]>
Laszlo Gombos <[email protected]>
Laszlo Radanyi <[email protected]>
+lauren n. liberda <[email protected]>
Lauren Yeun Kim <[email protected]>
Lauri Oherd <[email protected]>
Lavar Askew <[email protected]>
diff --git a/third_party/blink/renderer/core/page/page_popup_controller.h
b/third_party/blink/renderer/core/page/page_popup_controller.h
index 5da38d0b9ab26f..c4e8e865fa96d3 100644
--- a/third_party/blink/renderer/core/page/page_popup_controller.h
+++ b/third_party/blink/renderer/core/page/page_popup_controller.h
@@ -31,6 +31,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_PAGE_POPUP_CONTROLLER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_PAGE_POPUP_CONTROLLER_H_
+#include <optional>
+
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
#include
"third_party/blink/renderer/platform/heap/collection_support/heap_vector.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
++++++ partition_alloc-no-lto.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.309302381 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.313302548 +0200
@@ -1,73 +1,70 @@
Compile files which declare functions in inline assembly without LTO due to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57703
---- src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.old
2022-10-01 13:53:03.367797474 +0200
-+++ src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
2022-10-05 14:23:53.999860356 +0200
-@@ -90,6 +90,33 @@ if (!is_debug || partition_alloc_optimiz
- _add_configs += [ "//build/config/compiler:no_optimize" ]
+--- src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig
2024-07-24 12:50:43.409128966 +0200
++++ src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
2024-07-26 13:37:20.891041131 +0200
+@@ -107,6 +107,31 @@ source_set("build_config") {
+ ]
}
-+if (use_starscan) {
-+ static_library("partition_alloc_asm") {
-+ if (gcc_lto) {
-+ configs -= [ "//build/config/compiler:gcc_lto" ]
-+ }
-+ if (current_cpu == "x64") {
-+ assert(pcscan_stack_supported)
-+ sources = [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
-+ } else if (current_cpu == "x86") {
-+ assert(pcscan_stack_supported)
-+ sources = [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
-+ } else if (current_cpu == "arm") {
-+ assert(pcscan_stack_supported)
-+ sources = [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
-+ } else if (current_cpu == "arm64") {
-+ assert(pcscan_stack_supported)
-+ sources = [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
-+ } else if (current_cpu == "riscv64") {
-+ assert(pcscan_stack_supported)
-+ sources = [ "starscan/stack/asm/riscv64/push_registers_asm.cc" ]
-+ } else {
-+ assert(!pcscan_stack_supported)
-+ # To support a trampoline for another arch, please refer to
v8/src/heap/base.
-+ }
-+ }
++static_library("allocator_core_asm") {
++ if (gcc_lto) {
++ configs -= [ "//build/config/compiler:gcc_lto" ]
++ }
++ if (current_cpu == "x64") {
++ assert(stack_scan_supported)
++ sources = [ "stack/asm/x64/push_registers_asm.cc" ]
++ } else if (current_cpu == "x86") {
++ assert(stack_scan_supported)
++ sources = [ "stack/asm/x86/push_registers_asm.cc" ]
++ } else if (current_cpu == "arm") {
++ assert(stack_scan_supported)
++ sources = [ "stack/asm/arm/push_registers_asm.cc" ]
++ } else if (current_cpu == "arm64") {
++ assert(stack_scan_supported)
++ sources = [ "stack/asm/arm64/push_registers_asm.cc" ]
++ } else if (current_cpu == "riscv64") {
++ assert(stack_scan_supported)
++ sources = [ "stack/asm/riscv64/push_registers_asm.cc" ]
++ } else {
++ # To support a trampoline for another arch, please refer to
v8/src/heap/base.
++ assert(!stack_scan_supported)
++ }
+}
+
component("raw_ptr") {
# `gn check` is unhappy with most `#includes` when PA isn't
# actually built.
-@@ -497,25 +524,10 @@ if (is_clang_or_gcc) {
+@@ -522,24 +547,9 @@ if (is_clang_or_gcc) {
# The Android NDK supports PR_MTE_* macros as of NDK r23.
defines += [ "HAS_PR_MTE_MACROS" ]
}
+- if (current_cpu == "x64") {
+- assert(stack_scan_supported)
+- sources += [ "stack/asm/x64/push_registers_asm.cc" ]
+- } else if (current_cpu == "x86") {
+- assert(stack_scan_supported)
+- sources += [ "stack/asm/x86/push_registers_asm.cc" ]
+- } else if (current_cpu == "arm") {
+- assert(stack_scan_supported)
+- sources += [ "stack/asm/arm/push_registers_asm.cc" ]
+- } else if (current_cpu == "arm64") {
+- assert(stack_scan_supported)
+- sources += [ "stack/asm/arm64/push_registers_asm.cc" ]
+- } else if (current_cpu == "riscv64") {
+- assert(stack_scan_supported)
+- sources += [ "stack/asm/riscv64/push_registers_asm.cc" ]
+- } else {
+- # To support a trampoline for another arch, please refer to
v8/src/heap/base.
+- assert(!stack_scan_supported)
+ deps = [ ":allocator_base" ]
- if (use_starscan) {
-- if (current_cpu == "x64") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
-- } else if (current_cpu == "x86") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
-- } else if (current_cpu == "arm") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
-- } else if (current_cpu == "arm64") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
-- } else if (current_cpu == "riscv64") {
-- assert(pcscan_stack_supported)
-- sources += [ "starscan/stack/asm/riscv64/push_registers_asm.cc" ]
-- } else {
-- # To support a trampoline for another arch, please refer to
v8/src/heap/base.
-- assert(!pcscan_stack_supported)
-+ if (current_cpu == "x64" || current_cpu == "x86" || current_cpu ==
"arm" || current_cpu == "arm64" || current_cpu == "riscv64") {
-+ deps += [ ":partition_alloc_asm" ]
- }
++ if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm"
|| current_cpu == "arm64" || current_cpu == "riscv64") {
++ deps += [ ":allocator_core_asm" ]
}
- if (use_freelist_pool_offsets) {
-@@ -536,7 +548,6 @@ if (is_clang_or_gcc) {
+
+ # TODO(crbug.com/40274683): once we evaluate pool offset freelists,
+@@ -563,7 +573,6 @@ if (is_clang_or_gcc) {
":memory_tagging",
- "//build/config/compiler:wexit_time_destructors",
+ ":wexit_time_destructors",
]
- deps = [ ":allocator_base" ]
public_configs = []
++++++ quiche-QuicIntervalDeque-no-match-for-operator-mm.patch ++++++
>From d3bc5ffc929b0895ae9e16774069a04ae6fe3c58 Mon Sep 17 00:00:00 2001
From: bnc <[email protected]>
Date: Mon, 13 May 2024 12:28:35 -0700
Subject: [PATCH] Add some QuicIntervalDeque::Iterator methods.
GCC requires operator-=() and operator--() to be defined for std::advance for
random access iterators.
Also, `QUICHE_DCHECK_LE(0u, index_)` is always true as `index_` is unsigned,
causing a warning that is promoted to an error in some environments. This CL
verifies that the addition does not result in underflow before the it is
performed, not after.
PiperOrigin-RevId: 633296228
---
quiche/quic/core/quic_interval_deque.h | 19 +++++++++--
quiche/quic/core/quic_interval_deque_test.cc | 33 ++++++++++++++++++++
2 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/quiche/quic/core/quic_interval_deque.h
b/quiche/quic/core/quic_interval_deque.h
index db7b2b0ac..1c6cd71a5 100644
--- a/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h
+++ b/net/third_party/quiche/src/quiche/quic/core/quic_interval_deque.h
@@ -158,7 +158,7 @@ class QUICHE_NO_EXPORT QuicIntervalDeque {
Iterator(std::size_t index, QuicIntervalDeque* deque)
: index_(index), deque_(deque) {}
// Only the ++ operator attempts to update the cached index. Other
operators
- // are used by |lower_bound| to binary search and are thus private.
+ // are used by |lower_bound| to binary search.
Iterator& operator++() {
// Don't increment when we are at the end.
const std::size_t container_size = deque_->container_.size();
@@ -186,6 +186,19 @@ class QUICHE_NO_EXPORT QuicIntervalDeque {
++(*this);
return copy;
}
+ Iterator& operator--() {
+ if (index_ == 0) {
+ QUIC_BUG(quic_bug_10862_4) << "Iterator out of bounds.";
+ return *this;
+ }
+ index_--;
+ return *this;
+ }
+ Iterator operator--(int) {
+ Iterator copy = *this;
+ --(*this);
+ return copy;
+ }
reference operator*() { return deque_->container_[index_]; }
reference operator*() const { return deque_->container_[index_]; }
pointer operator->() { return &deque_->container_[index_]; }
@@ -194,11 +207,13 @@ class QUICHE_NO_EXPORT QuicIntervalDeque {
}
bool operator!=(const Iterator& rhs) const { return !(*this == rhs); }
Iterator& operator+=(difference_type amount) {
+ // `amount` might be negative, check for underflow.
+ QUICHE_DCHECK_GE(static_cast<difference_type>(index_), -amount);
index_ += amount;
- QUICHE_DCHECK_LE(0u, index_);
QUICHE_DCHECK_LT(index_, deque_->Size());
return *this;
}
+ Iterator& operator-=(difference_type amount) { return operator+=(-amount);
}
difference_type operator-(const Iterator& rhs) const {
return static_cast<difference_type>(index_) -
static_cast<difference_type>(rhs.index_);
++++++ quiche-absl-HexStringToBytes.patch ++++++
>From a484a561d3d36beca0d4dc9f5d4a2c083be03e1f Mon Sep 17 00:00:00 2001
From: awillia <[email protected]>
Date: Tue, 19 Mar 2024 17:22:54 -0700
Subject: [PATCH] Replace deprecated version of absl::HexStringToBytes in test
programs and remaining quic/ tests
Replaces the deprecated version of absl::HexStringToBytes that returns
std::string with the version that returns bool and populates a passed in
std::string. This CL isn't expected to change the behavior of any code used in
production.
This allows the Chrome build of QUICHE to build without the
`-Wno-deprecated-declarations` clang flag.
PiperOrigin-RevId: 617342915
---
.../web_transport_fingerprint_proof_verifier.cc | 12 ++++++++++--
quiche/quic/masque/masque_client_bin.cc | 7 ++++++-
quiche/quic/masque/masque_server_backend.cc | 5 ++++-
quiche/quic/tools/crypto_message_printer_bin.cc | 6 +++++-
quiche/quic/tools/quic_packet_printer_bin.cc | 6 +++++-
quiche/quic/tools/quic_toy_client.cc | 17 +++++++++--------
6 files changed, 39 insertions(+), 14 deletions(-)
diff --git
a/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
b/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
index 167e4efc4..fc8cffd40 100644
---
a/net/third_party/quiche/src/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
+++
b/net/third_party/quiche/src/quiche/quic/core/crypto/web_transport_fingerprint_proof_verifier.cc
@@ -6,6 +6,8 @@
#include <cstdint>
#include <memory>
+#include <string>
+#include <utility>
#include "absl/strings/escaping.h"
#include "absl/strings/match.h"
@@ -18,6 +20,7 @@
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
+#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/common/quiche_text_utils.h"
namespace quic {
@@ -83,8 +86,13 @@ bool WebTransportFingerprintProofVerifier::AddFingerprint(
std::string normalized =
absl::StrReplaceAll(fingerprint.fingerprint, {{":", ""}});
- hashes_.push_back(WebTransportHash{fingerprint.algorithm,
- absl::HexStringToBytes(normalized)});
+ std::string normalized_bytes;
+ if (!absl::HexStringToBytes(normalized, &normalized_bytes)) {
+ QUIC_DLOG(WARNING) << "Fingerprint hexadecimal is invalid";
+ return false;
+ }
+ hashes_.push_back(
+ WebTransportHash{fingerprint.algorithm, std::move(normalized_bytes)});
return true;
}
diff --git a/quiche/quic/masque/masque_client_bin.cc
b/quiche/quic/masque/masque_client_bin.cc
index eefd002dc..06e6ed2b7 100644
--- a/net/third_party/quiche/src/quiche/quic/masque/masque_client_bin.cc
+++ b/net/third_party/quiche/src/quiche/quic/masque/masque_client_bin.cc
@@ -281,7 +281,12 @@ int RunMasqueClient(int argc, char* argv[]) {
QUIC_LOG(ERROR) << "Signature authentication key ID cannot be empty";
return 1;
}
- private_key_seed = absl::HexStringToBytes(signature_auth_param_split[1]);
+ if (!absl::HexStringToBytes(signature_auth_param_split[1],
+ &private_key_seed)) {
+ QUIC_LOG(ERROR) << "Signature authentication key hex value is invalid";
+ return 1;
+ }
+
if (private_key_seed.size() != kEd25519Rfc8032PrivateKeySize) {
QUIC_LOG(ERROR)
<< "Invalid signature authentication private key length "
diff --git a/quiche/quic/masque/masque_server_backend.cc
b/quiche/quic/masque/masque_server_backend.cc
index f4ff2e0ed..66ca13c96 100644
--- a/net/third_party/quiche/src/quiche/quic/masque/masque_server_backend.cc
+++ b/net/third_party/quiche/src/quiche/quic/masque/masque_server_backend.cc
@@ -193,7 +193,10 @@ void
MasqueServerBackend::SetSignatureAuth(absl::string_view signature_auth) {
quiche::QuicheTextUtils::RemoveLeadingAndTrailingWhitespace(&kv[1]);
SignatureAuthCredential credential;
credential.key_id = std::string(kv[0]);
- std::string public_key = absl::HexStringToBytes(kv[1]);
+ std::string public_key;
+ if (!absl::HexStringToBytes(kv[1], &public_key)) {
+ QUIC_LOG(FATAL) << "Invalid signature auth public key hex " << kv[1];
+ }
if (public_key.size() != sizeof(credential.public_key)) {
QUIC_LOG(FATAL) << "Invalid signature auth public key length "
<< public_key.size();
diff --git a/quiche/quic/tools/crypto_message_printer_bin.cc
b/quiche/quic/tools/crypto_message_printer_bin.cc
index eb7393d54..82850d94a 100644
--- a/net/third_party/quiche/src/quiche/quic/tools/crypto_message_printer_bin.cc
+++ b/net/third_party/quiche/src/quiche/quic/tools/crypto_message_printer_bin.cc
@@ -48,7 +48,11 @@ int main(int argc, char* argv[]) {
quic::CryptoFramer framer;
framer.set_visitor(&printer);
framer.set_process_truncated_messages(true);
- std::string input = absl::HexStringToBytes(messages[0]);
+ std::string input;
+ if (!absl::HexStringToBytes(messages[0], &input)) {
+ cerr << "Invalid hex string provided" << endl;
+ return 1;
+ }
if (!framer.ProcessInput(input)) {
return 1;
}
diff --git a/quiche/quic/tools/quic_packet_printer_bin.cc
b/quiche/quic/tools/quic_packet_printer_bin.cc
index 5ed77010a..314cc20ea 100644
--- a/net/third_party/quiche/src/quiche/quic/tools/quic_packet_printer_bin.cc
+++ b/net/third_party/quiche/src/quiche/quic/tools/quic_packet_printer_bin.cc
@@ -270,7 +270,11 @@ int main(int argc, char* argv[]) {
quiche::QuichePrintCommandLineFlagHelp(usage);
return 1;
}
- std::string hex = absl::HexStringToBytes(args[1]);
+ std::string hex;
+ if (!absl::HexStringToBytes(args[1], &hex)) {
+ std::cerr << "Invalid hex string" << std::endl;
+ return 1;
+ }
quic::ParsedQuicVersionVector versions = quic::AllSupportedVersions();
// Fake a time since we're not actually generating acks.
quic::QuicTime start(quic::QuicTime::Zero());
++++++ real_time_reporting_bindings-forward-declaration.patch ++++++
>From fb3678b0d1084b49c5ca795200131a7c0ac01ffe Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Wed, 15 May 2024 13:59:56 +0000
Subject: [PATCH] libstdc++: real time reporting bindings vector requires full
declaration
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
libstdc++ implementation of std::vector requires the full declaration
of the type and not a forward declaration. This breaks compilation of
RealTimeReportingBindings, as it has an std::vector of
RealTimeReportingContributionPtr.
Bug: 41455655
Change-Id: I9ee70fbb58af36f4cfc43a5d4b1e99799f4c760c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5541055
Reviewed-by: Russ Hamilton <[email protected]>
Commit-Queue: José Dapena Paz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1301266}
---
content/services/auction_worklet/real_time_reporting_bindings.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/content/services/auction_worklet/real_time_reporting_bindings.h
b/content/services/auction_worklet/real_time_reporting_bindings.h
index c755d5cab041ec..da4d05e96f788c 100644
--- a/content/services/auction_worklet/real_time_reporting_bindings.h
+++ b/content/services/auction_worklet/real_time_reporting_bindings.h
@@ -12,7 +12,7 @@
#include "content/common/content_export.h"
#include "content/services/auction_worklet/auction_v8_helper.h"
#include "content/services/auction_worklet/context_recycler.h"
-#include
"content/services/auction_worklet/public/mojom/real_time_reporting.mojom-forward.h"
+#include
"content/services/auction_worklet/public/mojom/real_time_reporting.mojom.h"
#include "v8/include/v8-forward.h"
namespace auction_worklet {
++++++ remove-dawn.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.377305218 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.381305385 +0200
@@ -46,8 +46,8 @@
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_CHROMEOS)
services.Add(RunShapeDetectionService);
---- src/content/utility/utility_main.cc.old 2024-04-02 09:53:16.050958400
+0000
-+++ src/content/utility/utility_main.cc 2024-04-07 17:41:04.823696600
+0000
+--- src/content/utility/utility_main.cc.orig 2024-07-24 12:50:51.439131000
+0200
++++ src/content/utility/utility_main.cc 2024-08-03 00:11:18.255682100
+0200
@@ -32,7 +32,6 @@
#include "sandbox/policy/mojom/sandbox.mojom.h"
#include "sandbox/policy/sandbox.h"
@@ -56,18 +56,17 @@
#include "services/screen_ai/buildflags/buildflags.h"
#include "services/tracing/public/cpp/trace_startup.h"
#include "third_party/icu/source/common/unicode/unistr.h"
-@@ -202,10 +201,6 @@ int UtilityMain(MainFunctionParams param
- ? base::MessagePumpType::UI
- : base::MessagePumpType::DEFAULT;
+@@ -246,9 +245,6 @@ int UtilityMain(MainFunctionParams param
+ }
+ }
-- if (parameters.command_line->GetSwitchValueASCII(switches::kUtilitySubType)
==
-- on_device_model::mojom::OnDeviceModelService::Name_) {
+- if (utility_sub_type ==
on_device_model::mojom::OnDeviceModelService::Name_) {
- CHECK(on_device_model::OnDeviceModelService::PreSandboxInit());
- }
- #if BUILDFLAG(IS_MAC)
- auto sandbox_type =
-@@ -283,11 +278,6 @@ int UtilityMain(MainFunctionParams param
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ // Thread type delegate of the process should be registered before first
+@@ -283,11 +279,6 @@ int UtilityMain(MainFunctionParams param
case sandbox::mojom::Sandbox::kAudio:
pre_sandbox_hook = base::BindOnce(&audio::AudioPreSandboxHook);
break;
@@ -79,4 +78,14 @@
case sandbox::mojom::Sandbox::kSpeechRecognition:
pre_sandbox_hook =
base::BindOnce(&speech::SpeechRecognitionPreSandboxHook);
+@@ -437,9 +428,6 @@ int UtilityMain(MainFunctionParams param
+
+ run_loop.Run();
+
+- if (utility_sub_type ==
on_device_model::mojom::OnDeviceModelService::Name_) {
+- CHECK(on_device_model::OnDeviceModelService::Shutdown());
+- }
+
+ #if defined(LEAK_SANITIZER)
+ // Invoke LeakSanitizer before shutting down the utility thread, to avoid
++++++ remove-password-manager-and-policy.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.397306053 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.401306220 +0200
@@ -22,9 +22,9 @@
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -446,12 +446,14 @@ blink::UserAgentMetadata GetUserAgentMetadata(const
PrefService* pref_service,
- blink::UserAgentMetadata metadata;
-
bool enable_updated_grease_by_policy = true;
+ // TODO(crbug.com/40838057): Remove this after M126 which deprecates the
+ // policy.
+#if 0
if (pref_service) {
if (pref_service->HasPrefPath(
@@ -78,13 +78,14 @@
if (build_with_tflite_lib) {
--- src/components/embedder_support/BUILD.gn.old
+++ src/components/embedder_support/BUILD.gn
-@@ -24,11 +24,8 @@ static_library("browser_util") {
+@@ -24,12 +24,8 @@ static_library("browser_util") {
deps = [
":embedder_support",
"//build:branding_buildflags",
- "//components/background_sync",
- "//components/content_settings/browser",
"//components/content_settings/core/browser",
+- "//components/content_settings/core/browser:cookie_settings",
"//components/permissions",
- "//components/policy/core/common",
"//components/prefs",
@@ -92,15 +93,17 @@
"//content/public/browser",
--- src/components/permissions/BUILD.gn.old
+++ src/components/permissions/BUILD.gn
-@@ -109,8 +109,6 @@ source_set("permissions") {
+@@ -109,10 +109,7 @@ source_set("permissions") {
deps = [
"//base",
"//build:chromeos_buildflags",
- "//components/back_forward_cache",
- "//components/content_settings/browser",
"//components/content_settings/core/browser",
+- "//components/content_settings/core/browser:cookie_settings",
"//components/favicon/core:core",
"//components/keyed_service/content",
+ "//components/permissions/prediction_service",
--- src/components/proxy_config/BUILD.gn.old
+++ src/components/proxy_config/BUILD.gn
@@ -23,9 +23,6 @@ component("proxy_config") {
@@ -122,26 +125,35 @@
sources += [
"proxy_policy_handler.cc",
"proxy_policy_handler.h",
---- src/components/content_settings/core/browser/BUILD.gn.old
+--- src/components/content_settings/core/browser/BUILD.gn.orig
+++ src/components/content_settings/core/browser/BUILD.gn
-@@ -70,7 +70,7 @@ static_library("browser") {
+@@ -69,7 +69,7 @@ static_library("browser") {
"//url",
]
- if (!is_ios) {
+ if (false) {
sources += [
- "cookie_settings_policy_handler.cc",
- "cookie_settings_policy_handler.h",
-@@ -82,8 +82,6 @@ static_library("browser") {
+ "insecure_private_network_policy_handler.cc",
+ "insecure_private_network_policy_handler.h",
+@@ -78,8 +78,6 @@ static_library("browser") {
+
if (use_blink) {
deps += [
- "//components/permissions:permissions_common",
- "//components/policy:generated",
- "//components/policy/core/browser",
"//components/privacy_sandbox:privacy_sandbox_prefs",
]
}
+@@ -93,7 +91,7 @@ source_set("cookie_settings") {
+ "cookie_settings.h",
+ ]
+
+- if (!is_ios) {
++ if (false) {
+ sources += [
+ "cookie_settings_policy_handler.cc",
+ "cookie_settings_policy_handler.h",
--- src/electron/chromium_src/BUILD.gn.orig
+++ src/electron/chromium_src/BUILD.gn
@@ -466,7 +466,7 @@ source_set("chrome_spellchecker") {
@@ -179,7 +191,7 @@
"//device/vr/buildflags",
]
}
---- src/components/search_engines/BUILD.gn.old
+--- src/components/search_engines/BUILD.gn.orig
+++ src/components/search_engines/BUILD.gn
@@ -15,45 +15,23 @@ static_library("search_engines") {
"choice_made_location.h",
@@ -196,8 +208,8 @@
"keyword_web_data_service.h",
- "search_engine_choice/search_engine_choice_service.cc",
- "search_engine_choice/search_engine_choice_service.h",
-- "search_engine_choice_utils.cc",
-- "search_engine_choice_utils.h",
+- "search_engine_choice/search_engine_choice_utils.cc",
+- "search_engine_choice/search_engine_choice_utils.h",
"search_engines_pref_names.h",
- "search_host_to_urls_map.cc",
- "search_host_to_urls_map.h",
@@ -227,7 +239,7 @@
]
public_deps = [
-@@ -69,20 +47,14 @@ static_library("search_engines") {
+@@ -68,21 +46,14 @@ static_library("search_engines") {
"//components/sync",
"//components/webdata/common",
"//third_party/metrics_proto",
@@ -240,6 +252,7 @@
"//components/database_utils",
- "//components/infobars/core",
- "//components/lens:lens",
+- "//components/lens/proto/server:proto",
"//components/omnibox/common",
- "//components/policy:generated",
- "//components/policy/core/browser",
@@ -248,7 +261,7 @@
"//components/signin/public/base",
"//components/strings",
"//components/url_formatter",
-@@ -94,7 +66,6 @@ static_library("search_engines") {
+@@ -94,7 +65,6 @@ static_library("search_engines") {
"//services/network/public/mojom",
"//sql",
"//third_party/metrics_proto",
@@ -256,7 +269,16 @@
"//ui/base",
"//ui/gfx",
"//ui/gfx/geometry",
-@@ -120,7 +91,7 @@ static_library("search_engines") {
+@@ -112,7 +82,7 @@ static_library("search_engines") {
+ deps += [ "//components/search_engines/android:jni_headers" ]
+ }
+
+- if (!is_android) {
++ if (false) {
+ sources += [ "search_engine_choice/generated_marketing_snippets.cc" ]
+ deps += [
+ ":generate_search_engine_icons",
+@@ -121,7 +91,7 @@ static_library("search_engines") {
]
}
@@ -278,4 +300,51 @@
]
deps = [
+--- src/extensions/common/BUILD.gn.orig
++++ src/extensions/common/BUILD.gn
+@@ -301,8 +301,6 @@ static_library("common") {
+ "extension_set.cc",
+ "extension_set.h",
+ "extension_updater_uma.h",
+- "extension_urls.cc",
+- "extension_urls.h",
+ "extension_utility_types.h",
+ "extensions_client.cc",
+ "extensions_client.h",
+@@ -498,8 +496,6 @@ static_library("common") {
+ "//components/crash/core/common",
+ "//components/crx_file",
+ "//components/nacl/common:buildflags",
+- "//components/safe_browsing/core/common",
+-
"//components/safe_browsing/core/common/hashprefix_realtime:hash_realtime_utils",
+ "//components/url_formatter",
+ "//components/url_matcher",
+ "//components/version_info",
+---
src/components/password_manager/core/browser/password_manager_switches.cc.orig
2024-07-24 12:50:49.362463800 +0200
++++ src/components/password_manager/core/browser/password_manager_switches.cc
2024-08-04 16:04:17.829459300 +0200
+@@ -10,11 +10,9 @@ namespace password_manager {
+ // Specifies which encryption storage backend to use. Possible values are
+ // kwallet, kwallet5, kwallet6, gnome-libsecret, basic.
+ // Any other value will lead to Chrome detecting the best backend
automatically.
+-const char kPasswordStore[] = "password-store";
+
+ // Enables the feature of allowing the user to disable the backend via a
+ // setting.
+-const char kEnableEncryptionSelection[] = "enable-encryption-selection";
+ #endif // BUILDFLAG(IS_LINUX)
+
+ } // namespace password_manager
+---
src/components/password_manager/core/browser/password_manager_switches.h.orig
2024-07-24 12:50:49.362463800 +0200
++++ src/components/password_manager/core/browser/password_manager_switches.h
2024-08-04 16:03:48.687376900 +0200
+@@ -11,8 +11,8 @@
+ namespace password_manager {
+
+ #if BUILDFLAG(IS_LINUX)
+-extern const char kPasswordStore[];
+-extern const char kEnableEncryptionSelection[];
++inline constexpr const char kPasswordStore[] = "password-store";
++inline constexpr const char kEnableEncryptionSelection[] =
"enable-encryption-selection";
+ #endif
+
+ } // namespace password_manager
++++++ remove-rust.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.417306888 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.421307055 +0200
@@ -15,7 +15,7 @@
@@ -1972,7 +1972,6 @@ static_library("browser") {
"//chrome/browser/profiling_host",
- # TODO(crbug.com/1335199): break this dep when favicon is in its own
target
+ # TODO(crbug.com/40228447): break this dep when favicon is in its own
target
- "//chrome/browser/share",
"//chrome/browser/ui",
"//chrome/browser/storage_access_api",
@@ -35,7 +35,7 @@
- "//chrome/browser/share/proto:proto",
"//chrome/browser/smart_card",
"//chrome/browser/support_tool:support_tool_proto",
- "//chrome/browser/ui/actions:actions_headers",
+ "//chrome/browser/themes",
@@ -8407,7 +8404,6 @@ static_library("test_support") {
"//build:chromeos_buildflags",
"//chrome/app/theme:theme_resources",
@@ -52,8 +52,8 @@
"//chrome/browser/safe_browsing",
- "//chrome/browser/share",
"//chrome/browser/storage_access_api",
+ "//chrome/browser/themes",
"//chrome/browser/ui/side_panel:side_panel_enums",
- "//chrome/browser/ui/webui/location_internals:mojo_bindings",
@@ -591,7 +590,6 @@ static_library("ui") {
"//components/privacy_sandbox:tracking_protection_settings",
"//components/profile_metrics",
@@ -62,9 +62,20 @@
"//components/query_parser",
"//components/reading_list/core",
"//components/reading_list/features:flags",
+--- src/build/rust/rust_target.gni.orig
++++ src/build/rust/rust_target.gni
+@@ -7,7 +7,7 @@ import("//build/rust/rust_unit_test.gni"
+
+ # The //build directory is re-used for non-Chromium products. We do not
support
+ # cxx bindings in such contexts, because //third_party may be missing.
+-if (build_with_chromium) {
++if (false) {
+ import("//third_party/rust/cxx/chromium_integration/rust_cxx.gni")
+ }
+
--- src/chrome/test/BUILD.gn.orig
+++ src/chrome/test/BUILD.gn
-@@ -1923,7 +1923,6 @@ if (!is_android) {
+@@ -1942,7 +1942,6 @@ if (!is_android) {
"//components/privacy_sandbox/privacy_sandbox_attestations:test_support",
"//components/privacy_sandbox/privacy_sandbox_attestations/proto:proto",
"//components/proxy_config",
@@ -72,15 +83,23 @@
"//components/reading_list/core",
"//components/reading_list/features:flags",
"//components/resources",
-@@ -6774,7 +6773,6 @@ test("unit_tests") {
+@@ -5593,7 +5592,6 @@ if (!is_android) {
+ if (!is_chromeos) {
+ sources += [ "../browser/webauthn/enclave_authenticator_browsertest.cc"
]
+ deps += [
+- "//chrome/browser/webauthn:test_support",
+ "//components/os_crypt/sync:test_support",
+ ]
+ }
+@@ -6867,7 +6865,6 @@ test("unit_tests") {
"//chrome/browser/safe_browsing:metrics_collector",
"//chrome/browser/safe_browsing:verdict_cache_manager_factory",
"//chrome/browser/segmentation_platform:test_utils",
- "//chrome/browser/share",
"//chrome/browser/sharing/proto",
"//chrome/browser/storage_access_api",
-
"//chrome/browser/sync_file_system/drive_backend:sync_file_system_drive_proto",
-@@ -6927,7 +6925,6 @@ test("unit_tests") {
+ "//chrome/browser/supervised_user:test_support",
+@@ -7028,7 +7025,6 @@ test("unit_tests") {
"//components/privacy_sandbox/privacy_sandbox_attestations:test_support",
"//components/privacy_sandbox/privacy_sandbox_attestations/proto:proto",
"//components/proxy_config",
@@ -88,16 +107,21 @@
"//components/query_parser",
"//components/query_tiles:unit_tests",
"//components/reading_list/core",
-@@ -8360,11 +8357,6 @@ test("unit_tests") {
-
- data += [ "//ash/components/arc/test/data/icons/" ]
-
-- data_deps += [
-- # enclave_manager_unittest.cc runs this binary as part of its testing
-- # process.
--
"//third_party/cloud_authenticator/test/local_service:cloud_authenticator_test_service",
-- ]
-
- if (include_js2gtest_tests && is_chromeos_ash) {
- data += js2gtest_js_libraries
+@@ -7193,7 +7189,6 @@ test("unit_tests") {
+ "//third_party/metrics_proto",
+ "//third_party/microsoft_webauthn",
+ "//third_party/re2",
+- "//third_party/rust/fend_core/v1/wrapper:unit_tests",
+ "//third_party/webrtc_overrides:webrtc_component",
+ "//third_party/widevine/cdm:headers",
+ "//third_party/zlib/google:compression_utils",
+@@ -8443,8 +8438,6 @@ test("unit_tests") {
+
"//chrome/browser/ui/webui/side_panel/performance_controls:mojo_bindings",
+ "//chrome/browser/ui/webui/side_panel/user_notes:mojo_bindings",
+ "//chrome/browser/web_applications:web_applications_test_support",
+- "//chrome/browser/webauthn:test_support",
+- "//chrome/browser/webauthn/proto",
+ "//chrome/common/accessibility:mojo_bindings",
+ "//components/app_constants",
+ "//components/color",
++++++ remove-sync.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.437307722 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.441307889 +0200
@@ -180,38 +180,51 @@
bool is_loaded_;
--- src/device/fido/BUILD.gn.orig
+++ src/device/fido/BUILD.gn
-@@ -148,20 +148,6 @@ component("fido") {
- "device_operation.h",
- "device_response_converter.cc",
- "device_response_converter.h",
-- "enclave/constants.cc",
-- "enclave/constants.h",
-- "enclave/enclave_authenticator.cc",
-- "enclave/enclave_authenticator.h",
-- "enclave/enclave_discovery.cc",
-- "enclave/enclave_discovery.h",
-- "enclave/enclave_protocol_utils.cc",
-- "enclave/enclave_protocol_utils.h",
-- "enclave/enclave_websocket_client.cc",
-- "enclave/enclave_websocket_client.h",
-- "enclave/transact.cc",
-- "enclave/transact.h",
-- "enclave/types.cc",
-- "enclave/types.h",
- "fido_authenticator.cc",
- "fido_authenticator.h",
- "fido_device.cc",
-@@ -229,7 +215,6 @@ component("fido") {
- ]
-
- deps += [
-- "//components/sync/protocol:protocol",
- "//services/device/public/cpp/hid",
- "//services/device/public/cpp/usb",
- "//services/device/public/mojom",
+@@ -163,33 +163,6 @@ component("fido") {
+ "device_operation.h",
+ "device_response_converter.cc",
+ "device_response_converter.h",
+- "enclave/constants.cc",
+- "enclave/constants.h",
+- "enclave/enclave_authenticator.cc",
+- "enclave/enclave_authenticator.h",
+- "enclave/enclave_discovery.cc",
+- "enclave/enclave_discovery.h",
+- "enclave/enclave_protocol_utils.cc",
+- "enclave/enclave_protocol_utils.h",
+- "enclave/enclave_websocket_client.cc",
+- "enclave/enclave_websocket_client.h",
+- "enclave/metrics.cc",
+- "enclave/metrics.h",
+- "enclave/transact.cc",
+- "enclave/transact.h",
+- "enclave/types.cc",
+- "enclave/types.h",
+- "enclave/verify/claim.cc",
+- "enclave/verify/claim.h",
+- "enclave/verify/endorsement.cc",
+- "enclave/verify/endorsement.h",
+- "enclave/verify/hash.cc",
+- "enclave/verify/hash.h",
+- "enclave/verify/rekor.cc",
+- "enclave/verify/rekor.h",
+- "enclave/verify/utils.cc",
+- "enclave/verify/utils.h",
+- "enclave/verify/verify.h",
+ "fido_authenticator.cc",
+ "fido_authenticator.h",
+ "fido_device.cc",
+@@ -256,7 +229,6 @@ component("fido") {
+ ]
+
+ deps += [
+- "//components/sync/protocol:protocol",
+ "//services/device/public/cpp/hid",
+ "//services/device/public/cpp/usb",
+ "//services/device/public/mojom",
--- src/device/fido/fido_discovery_factory.cc.orig
+++ src/device/fido/fido_discovery_factory.cc
-@@ -37,7 +37,7 @@
+@@ -38,7 +38,7 @@
#include "device/fido/cros/discovery.h"
#endif // BUILDFLAG(IS_CHROMEOS)
@@ -220,38 +233,15 @@
#include "device/fido/enclave/enclave_discovery.h"
#endif
-@@ -108,7 +108,7 @@ std::vector<std::unique_ptr<FidoDiscover
- #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
- discoveries = MaybeCreatePlatformDiscovery();
- #endif
--#if !BUILDFLAG(IS_CHROMEOS)
-+#if 0
- MaybeCreateEnclaveDiscovery(discoveries);
- #endif
- return discoveries;
-@@ -183,11 +183,13 @@ void FidoDiscoveryFactory::set_hid_ignor
- hid_ignore_list_ = std::move(hid_ignore_list);
- }
+@@ -127,7 +127,7 @@ std::vector<std::unique_ptr<FidoDiscover
+ std::optional<std::unique_ptr<FidoDiscoveryBase>>
+ FidoDiscoveryFactory::MaybeCreateEnclaveDiscovery() {
+-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if 0
- void FidoDiscoveryFactory::set_enclave_passkey_creation_callback(
- base::RepeatingCallback<void(sync_pb::WebauthnCredentialSpecifics)>
- callback) {
- enclave_passkey_creation_callback_ = callback;
- }
-+#endif
-
- void FidoDiscoveryFactory::set_enclave_ui_request_stream(
- std::unique_ptr<FidoDiscoveryBase::EventStream<
-@@ -266,7 +268,7 @@ void FidoDiscoveryFactory::
- }
- #endif
-
--#if !BUILDFLAG(IS_CHROMEOS)
-+#if 0
- void FidoDiscoveryFactory::MaybeCreateEnclaveDiscovery(
- std::vector<std::unique_ptr<FidoDiscoveryBase>>& discoveries) {
if (!base::FeatureList::IsEnabled(kWebAuthnEnclaveAuthenticator) ||
+ !enclave_ui_request_stream_ || !network_context_factory_) {
+ return std::nullopt;
--- src/device/fido/fido_discovery_factory.h.orig
+++ src/device/fido/fido_discovery_factory.h
@@ -15,7 +15,6 @@
@@ -262,23 +252,4 @@
#include "device/fido/cable/cable_discovery_data.h"
#include "device/fido/cable/v2_constants.h"
#include "device/fido/ctap_get_assertion_request.h"
-@@ -99,9 +98,6 @@ class COMPONENT_EXPORT(DEVICE_FIDO) Fido
-
- // Provides a callback that will be called when a passkey is created with
- // the enclave authenticator in order to save the new passkey to sync data.
-- void set_enclave_passkey_creation_callback(
-- base::RepeatingCallback<void(sync_pb::WebauthnCredentialSpecifics)>
-- callback);
-
- void set_enclave_ui_request_stream(
- std::unique_ptr<FidoDiscoveryBase::EventStream<
-@@ -192,8 +188,6 @@ class COMPONENT_EXPORT(DEVICE_FIDO) Fido
- get_assertion_request_for_legacy_credential_check_;
- #endif // BUILDFLAG(IS_CHROMEOS)
- base::flat_set<VidPid> hid_ignore_list_;
-- base::RepeatingCallback<void(sync_pb::WebauthnCredentialSpecifics)>
-- enclave_passkey_creation_callback_;
- std::unique_ptr<FidoDiscoveryBase::EventStream<
- std::unique_ptr<enclave::CredentialRequest>>>
- enclave_ui_request_stream_;
++++++ run_segmenter-missing-optional.patch ++++++
>From 42fc562599d784a8a646703ce3b7c158ce1a8466 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Wed, 15 May 2024 14:01:03 +0000
Subject: [PATCH] IWYU: missing include for usage of std::optional in
run_segmenter.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bug: 41455655
Change-Id: If28c13730926447b1d362ecfe08ae0bc44112876
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5539811
Commit-Queue: José Dapena Paz <[email protected]>
Reviewed-by: Florin Malita <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1301267}
---
.../blink/renderer/platform/fonts/shaping/run_segmenter.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h
b/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h
index 406c4070e91489..116f17dae944a7 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/run_segmenter.h
@@ -6,7 +6,10 @@
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_SHAPING_RUN_SEGMENTER_H_
#include <unicode/uscript.h>
+
#include <memory>
+#include <optional>
+
#include "third_party/blink/renderer/platform/fonts/font_orientation.h"
#include "third_party/blink/renderer/platform/fonts/orientation_iterator.h"
#include "third_party/blink/renderer/platform/fonts/script_run_iterator.h"
++++++ system-six.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.513310894 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.517311061 +0200
@@ -8,7 +8,7 @@
@@ -156,7 +156,8 @@
def Run(self):
parser = optparse.OptionParser()
- # TODO(crbug.com/614082): Remove this once the bug is fixed.
+ # TODO(crbug.com/41255210): Remove this once the bug is fixed.
- parser.add_option('-w', '--wrap', action="store_true", default=False,
+ parser.add_option('-w', '--fake-option', action="store_true",
default=False)
+ parser.add_option('--wrap', action="store_true", default=False,
++++++ text_decoder-missing-optional.patch ++++++
>From d852bf71654ae63d5e8e6624652584a9adf1df6f Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <[email protected]>
Date: Wed, 15 May 2024 17:35:08 +0000
Subject: [PATCH] IWYU: missing include for usage of std::optional in
text_decoder.h
Bug: 41455655
Change-Id: I8902831e823760d455ca274bfe45b44be9e947f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5541275
Reviewed-by: Joshua Bell <[email protected]>
Commit-Queue: Joshua Bell <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1301397}
---
third_party/blink/renderer/modules/encoding/text_decoder.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/third_party/blink/renderer/modules/encoding/text_decoder.h
b/third_party/blink/renderer/modules/encoding/text_decoder.h
index 02452acb7306b6..9a947aab21b255 100644
--- a/third_party/blink/renderer/modules/encoding/text_decoder.h
+++ b/third_party/blink/renderer/modules/encoding/text_decoder.h
@@ -32,6 +32,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_ENCODING_TEXT_DECODER_H_
#include <memory>
+#include <optional>
#include "third_party/blink/renderer/bindings/core/v8/v8_typedefs.h"
#include
"third_party/blink/renderer/bindings/modules/v8/v8_text_decode_options.h"
++++++ wayland-proto-31-cursor-shape.patch ++++++
--- /var/tmp/diff_new_pack.ToR7Q6/_old 2024-09-17 18:19:07.553312563 +0200
+++ /var/tmp/diff_new_pack.ToR7Q6/_new 2024-09-17 18:19:07.557312730 +0200
@@ -431,121 +431,6 @@
// Translate physical pixels to DIPs.
gfx::Point hotspot_in_dips = gfx::ScaleToRoundedPoint(
cursor->hotspot(), 1.0f / cursor->cursor_image_scale_factor());
-diff --git a/ui/ozone/platform/wayland/host/wayland_window_unittest.cc
b/ui/ozone/platform/wayland/host/wayland_window_unittest.cc
-index 49dcdfed360fe..7a1640bc6f045 100644
---- a/ui/ozone/platform/wayland/host/wayland_window_unittest.cc
-+++ b/ui/ozone/platform/wayland/host/wayland_window_unittest.cc
-@@ -11,6 +11,7 @@
- #include <utility>
- #include <vector>
-
-+#include <cursor-shape-v1-client-protocol.h>
- #include <cursor-shapes-unstable-v1-client-protocol.h>
- #include <linux/input.h>
- #include <wayland-server-core.h>
-@@ -51,6 +52,7 @@
- #include "ui/ozone/platform/wayland/common/wayland_util.h"
- #include "ui/ozone/platform/wayland/host/wayland_buffer_manager_host.h"
- #include "ui/ozone/platform/wayland/host/wayland_connection_test_api.h"
-+#include "ui/ozone/platform/wayland/host/wayland_cursor_shape.h"
- #include "ui/ozone/platform/wayland/host/wayland_event_source.h"
- #include "ui/ozone/platform/wayland/host/wayland_output.h"
- #include "ui/ozone/platform/wayland/host/wayland_output_manager.h"
-@@ -146,6 +148,16 @@ wl::ScopedWlArray MakeStateArray(const
std::vector<int32_t> states) {
- return wl::ScopedWlArray(states);
- }
-
-+class MockCursorShape : public WaylandCursorShape {
-+ public:
-+ MockCursorShape() : WaylandCursorShape(nullptr, nullptr) {}
-+ MockCursorShape(const MockCursorShape&) = delete;
-+ MockCursorShape& operator=(const MockCursorShape&) = delete;
-+ ~MockCursorShape() override = default;
-+
-+ MOCK_METHOD(void, SetCursorShape, (uint32_t), (override));
-+};
-+
- class MockZcrCursorShapes : public WaylandZcrCursorShapes {
- public:
- MockZcrCursorShapes() : WaylandZcrCursorShapes(nullptr, nullptr) {}
-@@ -264,6 +276,14 @@ class WaylandWindowTest : public WaylandTest {
- hit_tests->push_back(static_cast<int>(HTTOPRIGHT));
- }
-
-+ MockCursorShape* InstallMockCursorShape() {
-+ auto zcr_cursor_shapes = std::make_unique<MockCursorShape>();
-+ MockCursorShape* mock_cursor_shapes = zcr_cursor_shapes.get();
-+ WaylandConnectionTestApi test_api(connection_.get());
-+ test_api.SetCursorShape(std::move(zcr_cursor_shapes));
-+ return mock_cursor_shapes;
-+ }
-+
- MockZcrCursorShapes* InstallMockZcrCursorShapes() {
- auto zcr_cursor_shapes = std::make_unique<MockZcrCursorShapes>();
- MockZcrCursorShapes* mock_cursor_shapes = zcr_cursor_shapes.get();
-@@ -1692,6 +1712,62 @@ TEST_P(WaylandWindowTest, CanDispatchMouseEventFocus) {
- EXPECT_TRUE(window_->CanDispatchEvent(&test_mouse_event_));
- }
-
-+TEST_P(WaylandWindowTest, SetCursorUsesCursorShapeForCommonTypes) {
-+ SetPointerFocusedWindow(window_.get());
-+ MockCursorShape* mock_cursor_shape = InstallMockCursorShape();
-+
-+ // Verify some commonly-used cursors.
-+ EXPECT_CALL(*mock_cursor_shape,
-+ SetCursorShape(WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_DEFAULT));
-+ auto pointer_cursor = AsPlatformCursor(
-+ base::MakeRefCounted<BitmapCursor>(mojom::CursorType::kPointer));
-+ window_->SetCursor(pointer_cursor.get());
-+
-+ EXPECT_CALL(*mock_cursor_shape,
-+ SetCursorShape(WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_POINTER));
-+ auto hand_cursor = AsPlatformCursor(
-+ base::MakeRefCounted<BitmapCursor>(mojom::CursorType::kHand));
-+ window_->SetCursor(hand_cursor.get());
-+
-+ EXPECT_CALL(*mock_cursor_shape,
-+ SetCursorShape(WP_CURSOR_SHAPE_DEVICE_V1_SHAPE_TEXT));
-+ auto ibeam_cursor = AsPlatformCursor(
-+ base::MakeRefCounted<BitmapCursor>(mojom::CursorType::kIBeam));
-+ window_->SetCursor(ibeam_cursor.get());
-+}
-+
-+TEST_P(WaylandWindowTest, SetCursorCallsCursorShapeOncePerCursor) {
-+ SetPointerFocusedWindow(window_.get());
-+ MockCursorShape* mock_cursor_shape = InstallMockCursorShape();
-+ auto hand_cursor = AsPlatformCursor(
-+ base::MakeRefCounted<BitmapCursor>(mojom::CursorType::kHand));
-+ // Setting the same cursor twice on the client only calls the server once.
-+ EXPECT_CALL(*mock_cursor_shape, SetCursorShape(_)).Times(1);
-+ window_->SetCursor(hand_cursor.get());
-+ window_->SetCursor(hand_cursor.get());
-+}
-+
-+TEST_P(WaylandWindowTest, SetCursorDoesNotUseCursorShapeForNoneCursor) {
-+ SetPointerFocusedWindow(window_.get());
-+ MockCursorShape* mock_cursor_shape = InstallMockCursorShape();
-+ EXPECT_CALL(*mock_cursor_shape, SetCursorShape(_)).Times(0);
-+ auto none_cursor = AsPlatformCursor(
-+ base::MakeRefCounted<BitmapCursor>(mojom::CursorType::kNone));
-+ window_->SetCursor(none_cursor.get());
-+}
-+
-+TEST_P(WaylandWindowTest, SetCursorDoesNotUseCursorShapeForCustomCursors) {
-+ SetPointerFocusedWindow(window_.get());
-+ MockCursorShape* mock_cursor_shape = InstallMockCursorShape();
-+
-+ // Custom cursors require bitmaps, so they do not use server-side cursors.
-+ EXPECT_CALL(*mock_cursor_shape, SetCursorShape(_)).Times(0);
-+ auto custom_cursor = AsPlatformCursor(
-+ base::MakeRefCounted<BitmapCursor>(mojom::CursorType::kCustom,
SkBitmap(),
-+ gfx::Point(), kDefaultCursorScale));
-+ window_->SetCursor(custom_cursor.get());
-+}
-+
- TEST_P(WaylandWindowTest, SetCursorUsesZcrCursorShapesForCommonTypes) {
- SetPointerFocusedWindow(window_.get());
- MockZcrCursorShapes* mock_cursor_shapes = InstallMockZcrCursorShapes();
diff --git a/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc
b/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc
index 9e3243dceea20..297c48e614087 100644
--- a/ui/ozone/platform/wayland/host/wayland_zcr_cursor_shapes.cc
++++++ webp-no-sharpyuv.patch ++++++
Electron does not actually use sharpyuv. This enables buillding it on Leap
which has old webp
--- src/build/linux/unbundle/libwebp.gn.orig 2024-07-24 12:50:43.685795800
+0200
+++ src/build/linux/unbundle/libwebp.gn 2024-08-04 21:34:09.357750400 +0200
@@ -13,10 +13,6 @@ pkg_config("system_libwebp") {
]
}
-pkg_config("system_libsharpyuv") {
- packages = [ "libsharpyuv" ]
-}
-
shim_headers("libwebp_shim") {
root_path = "src/src"
headers = [
@@ -44,7 +40,6 @@ source_set("libwebp_webp") {
source_set("libwebp_sharpyuv") {
deps = [ ":libsharpyuv_shim" ]
- public_configs = [ ":system_libsharpyuv" ]
}
group("libwebp") {