8
0

Accepting request 1301193 from devel:languages:nodejs

electron 37

OBS-URL: https://build.opensuse.org/request/show/1301193
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/nodejs-electron?expand=0&rev=164
This commit is contained in:
2025-08-25 18:37:25 +00:00
committed by Git OBS Bridge
93 changed files with 2449 additions and 2064 deletions

View File

@@ -0,0 +1,229 @@
This collides with an abseil macro causing ODR miscompiles
diff '--color=auto' -urp src.old/third_party/blink/renderer/platform/heap/collection_support/heap_vector_backing.h src/third_party/blink/renderer/platform/heap/collection_support/heap_vector_backing.h
--- src.old/third_party/blink/renderer/platform/heap/collection_support/heap_vector_backing.h 2025-08-15 17:32:29.517405064 +0200
+++ src/third_party/blink/renderer/platform/heap/collection_support/heap_vector_backing.h 2025-08-17 14:47:13.834152160 +0200
@@ -100,9 +100,9 @@ HeapVectorBacking<T, Traits>::~HeapVecto
const size_t length = object_size / sizeof(T);
using ByteBuffer = uint8_t*;
ByteBuffer payload = reinterpret_cast<ByteBuffer>(this);
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
ANNOTATE_CHANGE_SIZE(payload, length * sizeof(T), 0, length * sizeof(T));
-#endif // ANNOTATE_CONTIGUOUS_CONTAINER
+#endif // WTF_ANNOTATE_CONTIGUOUS_CONTAINER
// HeapVectorBacking calls finalizers for unused slots and expects them to be
// no-ops.
if (std::is_polymorphic<T>::value) {
@@ -176,11 +176,11 @@ struct TraceInCollectionTrait<kNoWeakHan
cppgc::subtle::ObjectSizeTrait<const Backing>::GetSize(
*reinterpret_cast<const Backing*>(self)) /
sizeof(T);
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
// As commented above, HeapVectorBacking can trace unused slots (which are
// already zeroed out).
ANNOTATE_CHANGE_SIZE(array, length, 0, length);
-#endif // ANNOTATE_CONTIGUOUS_CONTAINER
+#endif // WTF_ANNOTATE_CONTIGUOUS_CONTAINER
if constexpr (IsTraceable<T>::value) {
for (unsigned i = 0; i < length; ++i) {
if (!std::is_polymorphic_v<T> ||
diff '--color=auto' -urp src.old/third_party/blink/renderer/platform/heap/test/heap_test.cc src/third_party/blink/renderer/platform/heap/test/heap_test.cc
--- src.old/third_party/blink/renderer/platform/heap/test/heap_test.cc 2025-08-15 17:32:29.517405064 +0200
+++ src/third_party/blink/renderer/platform/heap/test/heap_test.cc 2025-08-17 14:47:13.834152160 +0200
@@ -854,7 +854,7 @@ TEST_F(HeapTest, HeapVectorShrinkInlineC
// Vector inline buffers are disabled; that constraint should be attempted
// removed, but until that time, disable testing handling of capacities
// of inline buffers.
-#if !defined(ANNOTATE_CONTIGUOUS_CONTAINER)
+#if !defined(WTF_ANNOTATE_CONTIGUOUS_CONTAINER)
// Shrinking switches the buffer from the external one to the inline one.
vector1.Shrink(kInlineCapacity - 1);
vector1.shrink_to_fit();
@@ -2446,7 +2446,7 @@ class InlinedVectorObjectWithVtableWrapp
// TODO(Oilpan): when Vector.h's contiguous container support no longer disables
// Vector<>s with inline capacity, enable this test.
-#if !defined(ANNOTATE_CONTIGUOUS_CONTAINER)
+#if !defined(WTF_ANNOTATE_CONTIGUOUS_CONTAINER)
TEST_F(HeapTest, VectorDestructorsWithVtable) {
ClearOutOldGarbage();
InlinedVectorObjectWithVtable::destructor_calls_ = 0;
diff '--color=auto' -urp src.old/third_party/blink/renderer/platform/sparse_vector_test.cc src/third_party/blink/renderer/platform/sparse_vector_test.cc
--- src.old/third_party/blink/renderer/platform/sparse_vector_test.cc 2025-08-15 17:32:29.549405057 +0200
+++ src/third_party/blink/renderer/platform/sparse_vector_test.cc 2025-08-17 14:47:13.846152160 +0200
@@ -240,9 +240,9 @@ TEST(SparseVectorPtrTest, SettingToNullp
EXPECT_FALSE(sparse_vector.HasField(FieldId::kFoo));
}
-// WTF::Vector always uses 0 inline capacity when ANNOTATE_CONTIGUOUS_CONTAINER
+// WTF::Vector always uses 0 inline capacity when WTF_ANNOTATE_CONTIGUOUS_CONTAINER
// is defined.
-#ifndef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifndef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
TEST(SparseVectorInlineCapacityTest, Basic) {
SparseVector<FieldId, int, 16> sparse_vector;
EXPECT_EQ(16u, sparse_vector.capacity());
diff '--color=auto' -urp src.old/third_party/blink/renderer/platform/wtf/container_annotations.h src/third_party/blink/renderer/platform/wtf/container_annotations.h
--- src.old/third_party/blink/renderer/platform/wtf/container_annotations.h 2025-08-15 17:32:29.573405052 +0200
+++ src/third_party/blink/renderer/platform/wtf/container_annotations.h 2025-08-17 14:47:13.842152160 +0200
@@ -18,7 +18,7 @@
// documentation:
// https://github.com/llvm-mirror/compiler-rt/blob/master/include/sanitizer/common_interface_defs.h#L154
-#define ANNOTATE_CONTIGUOUS_CONTAINER
+#define WTF_ANNOTATE_CONTIGUOUS_CONTAINER
#define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize) \
if (buffer) { \
diff '--color=auto' -urp src.old/third_party/blink/renderer/platform/wtf/size_assertions.cc src/third_party/blink/renderer/platform/wtf/size_assertions.cc
--- src.old/third_party/blink/renderer/platform/wtf/size_assertions.cc 2025-08-15 17:32:29.577405052 +0200
+++ src/third_party/blink/renderer/platform/wtf/size_assertions.cc 2025-08-17 14:47:13.838152160 +0200
@@ -61,7 +61,7 @@ struct SameSizeAsVectorWithInlineCapacit
template <typename T, unsigned inlineCapacity>
struct SameSizeAsVectorWithInlineCapacity {
SameSizeAsVectorWithInlineCapacity<T, 0> base_capacity;
-#if !defined(ANNOTATE_CONTIGUOUS_CONTAINER)
+#if !defined(WTF_ANNOTATE_CONTIGUOUS_CONTAINER)
T inline_buffer[inlineCapacity];
#endif
};
diff '--color=auto' -urp src.old/third_party/blink/renderer/platform/wtf/vector.h src/third_party/blink/renderer/platform/wtf/vector.h
--- src.old/third_party/blink/renderer/platform/wtf/vector.h 2025-08-15 17:32:29.581405051 +0200
+++ src/third_party/blink/renderer/platform/wtf/vector.h 2025-08-17 14:47:13.842152160 +0200
@@ -59,7 +59,7 @@
// For ASAN builds, disable inline buffers completely as they cause various
// issues.
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
#define INLINE_CAPACITY 0
#else
#define INLINE_CAPACITY InlineCapacity
@@ -471,7 +471,7 @@ class VectorBufferBase {
}
void CheckUnusedSlots(const T* from, const T* to) {
-#if DCHECK_IS_ON() && !defined(ANNOTATE_CONTIGUOUS_CONTAINER)
+#if DCHECK_IS_ON() && !defined(WTF_ANNOTATE_CONTIGUOUS_CONTAINER)
if constexpr (NeedsToClearUnusedSlots()) {
const unsigned char* unused_area =
reinterpret_cast<const unsigned char*>(from);
@@ -606,7 +606,7 @@ class VectorBuffer<T, 0, Allocator> : pr
DCHECK(buffer_);
DCHECK_LT(new_capacity, capacity());
size_t size_to_allocate = AllocationSize(new_capacity);
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
ANNOTATE_DELETE_BUFFER(buffer_, capacity_, size_);
#endif
bool succeeded = false;
@@ -615,7 +615,7 @@ class VectorBuffer<T, 0, Allocator> : pr
capacity_ = static_cast<wtf_size_t>(size_to_allocate / sizeof(T));
succeeded = true;
}
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
MARKING_AWARE_ANNOTATE_NEW_BUFFER(Allocator, buffer_, capacity_, size_);
#endif
return succeeded;
@@ -740,7 +740,7 @@ class VectorBuffer : protected VectorBuf
DCHECK_NE(buffer_, InlineBuffer());
size_t new_size = AllocationSize(new_capacity);
bool succeeded = false;
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
ANNOTATE_DELETE_BUFFER(buffer_, capacity_, size_);
#endif
if (Allocator::ShrinkVectorBacking(buffer_, AllocationSize(capacity()),
@@ -748,7 +748,7 @@ class VectorBuffer : protected VectorBuf
capacity_ = static_cast<wtf_size_t>(new_size / sizeof(T));
succeeded = true;
}
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
MARKING_AWARE_ANNOTATE_NEW_BUFFER(Allocator, buffer_, capacity_, size_);
#endif
return succeeded;
@@ -2145,7 +2145,7 @@ void Vector<T, InlineCapacity, Allocator
Shrink(new_capacity);
T* old_buffer = data();
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
wtf_size_t old_capacity = capacity();
#endif
if (new_capacity > 0) {
@@ -2160,7 +2160,7 @@ void Vector<T, InlineCapacity, Allocator
return;
}
Base::ResetBufferPointer();
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
if (old_buffer != data()) {
MARKING_AWARE_ANNOTATE_NEW_BUFFER(Allocator, data(), capacity(), size_);
ANNOTATE_DELETE_BUFFER(old_buffer, old_capacity, size_);
@@ -2270,7 +2270,7 @@ template <typename T, wtf_size_t InlineC
template <typename U>
ALWAYS_INLINE void Vector<T, InlineCapacity, Allocator>::UncheckedAppend(
U&& val) {
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
// Vectors in ASAN builds don't have InlineCapacity.
push_back(std::forward<U>(val));
#else
@@ -2460,10 +2460,10 @@ void TraceInlinedBuffer(VisitorDispatche
const T* buffer_begin,
size_t capacity) {
const T* buffer_end = buffer_begin + capacity;
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
// Vector can trace unused slots (which are already zeroed out).
ANNOTATE_CHANGE_SIZE(buffer_begin, capacity, 0, capacity);
-#endif // ANNOTATE_CONTIGUOUS_CONTAINER
+#endif // WTF_ANNOTATE_CONTIGUOUS_CONTAINER
for (const T* buffer_entry = buffer_begin; buffer_entry != buffer_end;
buffer_entry++) {
Allocator::template Trace<T, VectorTraits<T>>(visitor, *buffer_entry);
@@ -2542,7 +2542,7 @@ void Vector<T, InlineCapacity, Allocator
}
// Shrinking to inline buffer from out-of-line one.
T *old_begin = data(), *old_end = DataEnd();
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
const wtf_size_t old_capacity = capacity();
#endif
Base::ResetBufferPointer();
diff '--color=auto' -urp src.old/third_party/blink/renderer/platform/wtf/vector_test.cc src/third_party/blink/renderer/platform/wtf/vector_test.cc
--- src.old/third_party/blink/renderer/platform/wtf/vector_test.cc 2025-08-15 17:32:29.581405051 +0200
+++ src/third_party/blink/renderer/platform/wtf/vector_test.cc 2025-08-17 14:47:13.846152160 +0200
@@ -377,7 +377,7 @@ TEST(VectorTest, SwapWithInlineCapacity)
vector_b.swap(vector_a);
}
-#if defined(ANNOTATE_CONTIGUOUS_CONTAINER)
+#if defined(WTF_ANNOTATE_CONTIGUOUS_CONTAINER)
TEST(VectorTest, ContainerAnnotations) {
Vector<int> vector_a;
vector_a.push_back(10);
@@ -415,7 +415,7 @@ TEST(VectorTest, ContainerAnnotations) {
volatile int* int_pointer_b3 = vector_b.data();
EXPECT_DEATH((void)int_pointer_b3[2], "container-overflow");
}
-#endif // defined(ANNOTATE_CONTIGUOUS_CONTAINER)
+#endif // defined(WTF_ANNOTATE_CONTIGUOUS_CONTAINER)
class Comparable {};
bool operator==(const Comparable& a, const Comparable& b) {
--- src/third_party/blink/renderer/core/html/parser/literal_buffer.h.orig 2025-08-15 17:32:29.197405123 +0200
+++ src/third_party/blink/renderer/core/html/parser/literal_buffer.h 2025-08-17 16:56:06.586499195 +0200
@@ -22,7 +22,7 @@
// For ASAN builds, disable inline buffers completely as they cause various
// issues.
-#ifdef ANNOTATE_CONTIGUOUS_CONTAINER
+#ifdef WTF_ANNOTATE_CONTIGUOUS_CONTAINER
#define BUFFER_INLINE_CAPACITY 0
#else
#define BUFFER_INLINE_CAPACITY kInlineSize

View File

@@ -1,16 +0,0 @@
Actually disable the fontations code flag since we don't build that library. Otherwise chromium crashes with a null dereference
--- src/third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2025-04-21 18:29:28.190307211 +0200
+++ src/third_party/blink/renderer/platform/runtime_enabled_features.json5 2025-04-21 23:33:49.257769003 +0200
@@ -2165,11 +2165,9 @@
},
{
name: "FontationsFontBackend",
- status: "stable",
},
{
name: "FontationsForSelectedFormats",
- status: "stable",
},
{
name: "FontFamilyPostscriptMatchingCTMigration",

View File

@@ -0,0 +1,14 @@
--- src/third_party/angle/src/common/vulkan/vk_headers.h.orig 2025-08-15 17:33:15.429396781 +0200
+++ src/third_party/angle/src/common/vulkan/vk_headers.h 2025-08-15 21:50:06.831979165 +0200
@@ -16,6 +16,11 @@
# include <vulkan/vulkan.h>
#endif
+// braindead change https://chromium-review.googlesource.com/c/angle/angle/+/5273491
+#undef Success
+#undef None
+#undef Always
+
#if !defined(ANGLE_SHARED_LIBVULKAN)
namespace rx

View File

@@ -1,44 +0,0 @@
From 0b4b5b0ae81dca83d3d602e905732e2c82bd340d Mon Sep 17 00:00:00 2001
From: Sergey Silkin <ssilkin@webrtc.org>
Date: Fri, 30 Aug 2024 13:37:32 +0200
Subject: [PATCH] Use AV1E_SET_AUTO_TILES
Delegate control over number of times to encoder using AV1E_SET_AUTO_TILES that was added in https://aomedia-review.googlesource.com/c/aom/+/191102.
Bug: webrtc:351644568
Change-Id: I87ed11734e907c7f6c6508ac7389c84ececf5b21
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361140
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42903}
---
.../codecs/av1/libaom_av1_encoder.cc | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/modules/video_coding/codecs/av1/libaom_av1_encoder.cc b/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
index db9238477d..c06792207e 100644
--- a/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
+++ b/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
@@ -307,21 +307,7 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* codec_settings,
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ENABLE_PALETTE, 0);
}
- if (cfg_.g_threads == 8) {
- // Values passed to AV1E_SET_TILE_ROWS and AV1E_SET_TILE_COLUMNS are log2()
- // based.
- // Use 4 tile columns x 2 tile rows for 8 threads.
- SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_TILE_ROWS, 1);
- SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_TILE_COLUMNS, 2);
- } else if (cfg_.g_threads == 4) {
- // Use 2 tile columns x 2 tile rows for 4 threads.
- SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_TILE_ROWS, 1);
- SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_TILE_COLUMNS, 1);
- } else {
- SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_TILE_COLUMNS,
- static_cast<int>(log2(cfg_.g_threads)));
- }
-
+ SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_AUTO_TILES, 1);
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ROW_MT, 1);
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ENABLE_OBMC, 0);
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_NOISE_SENSITIVITY, 0);

View File

@@ -1,66 +0,0 @@
From 84273f56d92953f15269cdb1d95d1851f83a8fe9 Mon Sep 17 00:00:00 2001
From: Sergey Silkin <ssilkin@webrtc.org>
Date: Fri, 30 Aug 2024 12:32:52 +0200
Subject: [PATCH] Specify max number of consecutive drops using time units
AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR was added in https://aomedia-review.googlesource.com/c/aom/+/192402. It allows to configure max number of consecutive frame drops using time units. Use it instead of AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.
Bug: webrtc:351644568
Change-Id: I73265d5258d681926eb5b65e32c2a61b26c310ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/360842
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42995}
---
.../codecs/av1/libaom_av1_encoder.cc | 24 ++++---------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/modules/video_coding/codecs/av1/libaom_av1_encoder.cc b/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
index 6b71874c3f..262cb9d36b 100644
--- a/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
+++ b/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
@@ -166,14 +166,6 @@ int32_t VerifyCodecSettings(const VideoCodec& codec_settings) {
return WEBRTC_VIDEO_CODEC_OK;
}
-int GetMaxConsecDrops(double framerate_fps) {
- // Consecutive frame drops result in a video freeze. We want to minimize the
- // max number of consecutive drops and, at the same time, keep the value high
- // enough to let encoder drain the buffer at overshoot.
- constexpr double kMaxFreezeSeconds = 0.25;
- return std::ceil(kMaxFreezeSeconds * framerate_fps);
-}
-
LibaomAv1Encoder::LibaomAv1Encoder(const Environment& env,
LibaomAv1EncoderSettings settings)
: inited_(false),
@@ -339,6 +331,11 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* codec_settings,
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ENABLE_TX64, 0);
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_MAX_REFERENCE_FRAMES, 3);
+ if (adaptive_max_consec_drops_) {
+ SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR,
+ 250);
+ }
+
return WEBRTC_VIDEO_CODEC_OK;
}
@@ -815,17 +812,6 @@ void LibaomAv1Encoder::SetRates(const RateControlParameters& parameters) {
SetEncoderControlParameters(AV1E_SET_SVC_PARAMS, &*svc_params_);
}
- if (adaptive_max_consec_drops_ &&
- (!rates_configured_ || framerate_fps_ != parameters.framerate_fps)) {
- int max_consec_drops = GetMaxConsecDrops(parameters.framerate_fps);
- if (!SetEncoderControlParameters(AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR,
- max_consec_drops)) {
- RTC_LOG(LS_WARNING)
- << "Failed to set AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR to "
- << max_consec_drops;
- }
- }
-
framerate_fps_ = parameters.framerate_fps;
rates_configured_ = true;

View File

@@ -2,28 +2,28 @@ Partially revert https://github.com/chromium/chromium/commit/c1dc375391403442935
and disable dependent code. This removes `brs` from Accept-Encoding list. and disable dependent code. This removes `brs` from Accept-Encoding list.
This feature does not build with brotli < 1.1 This feature does not build with brotli < 1.1
--- src/net/filter/brotli_source_stream.cc.orig 2024-07-24 12:50:53.542464800 +0200 --- src/net/filter/brotli_source_stream.cc.orig 2025-08-21 17:44:48.616409315 +0200
+++ src/net/filter/brotli_source_stream.cc 2024-08-04 21:07:52.674333900 +0200 +++ src/net/filter/brotli_source_stream.cc 2025-08-22 18:23:03.535047458 +0200
@@ -12,7 +12,6 @@ @@ -18,7 +18,6 @@
#include "base/metrics/histogram_macros.h"
#include "net/base/io_buffer.h" #include "net/base/io_buffer.h"
#include "net/filter/source_stream_type.h"
#include "third_party/brotli/include/brotli/decode.h" #include "third_party/brotli/include/brotli/decode.h"
-#include "third_party/brotli/include/brotli/shared_dictionary.h" -#include "third_party/brotli/include/brotli/shared_dictionary.h"
namespace net { namespace net {
@@ -24,21 +23,11 @@ const char kBrotli[] = "BROTLI"; @@ -30,21 +29,11 @@ const char kBrotli[] = "BROTLI";
// Brotli format specification: http://www.ietf.org/id/draft-alakuijala-brotli. // Brotli format specification: http://www.ietf.org/id/draft-alakuijala-brotli.
class BrotliSourceStream : public FilterSourceStream { class BrotliSourceStream : public FilterSourceStream {
public: public:
- explicit BrotliSourceStream(std::unique_ptr<SourceStream> upstream, - explicit BrotliSourceStream(std::unique_ptr<SourceStream> upstream,
- scoped_refptr<IOBuffer> dictionary = nullptr, - scoped_refptr<IOBuffer> dictionary = nullptr,
- size_t dictionary_size = 0u) - size_t dictionary_size = 0u)
- : FilterSourceStream(SourceStream::TYPE_BROTLI, std::move(upstream)), - : FilterSourceStream(SourceStreamType::kBrotli, std::move(upstream)),
- dictionary_(std::move(dictionary)), - dictionary_(std::move(dictionary)),
- dictionary_size_(dictionary_size) { - dictionary_size_(dictionary_size) {
+ explicit BrotliSourceStream(std::unique_ptr<SourceStream> upstream) + explicit BrotliSourceStream(std::unique_ptr<SourceStream> upstream)
+ : FilterSourceStream(SourceStream::TYPE_BROTLI, std::move(upstream)) { + : FilterSourceStream(SourceStreamType::kBrotli, std::move(upstream)) {
brotli_state_ = brotli_state_ =
BrotliDecoderCreateInstance(AllocateMemory, FreeMemory, this); BrotliDecoderCreateInstance(AllocateMemory, FreeMemory, this);
CHECK(brotli_state_); CHECK(brotli_state_);
@@ -36,7 +36,7 @@ This feature does not build with brotli < 1.1
} }
BrotliSourceStream(const BrotliSourceStream&) = delete; BrotliSourceStream(const BrotliSourceStream&) = delete;
@@ -174,9 +163,6 @@ class BrotliSourceStream : public Filter @@ -180,9 +169,6 @@ class BrotliSourceStream : public Filter
free(&array[-1]); free(&array[-1]);
} }
@@ -46,7 +46,7 @@ This feature does not build with brotli < 1.1
raw_ptr<BrotliDecoderState> brotli_state_; raw_ptr<BrotliDecoderState> brotli_state_;
DecodingStatus decoding_status_ = DecodingStatus::DECODING_IN_PROGRESS; DecodingStatus decoding_status_ = DecodingStatus::DECODING_IN_PROGRESS;
@@ -198,8 +184,7 @@ std::unique_ptr<FilterSourceStream> Crea @@ -204,8 +190,7 @@ std::unique_ptr<FilterSourceStream> Crea
std::unique_ptr<SourceStream> previous, std::unique_ptr<SourceStream> previous,
scoped_refptr<IOBuffer> dictionary, scoped_refptr<IOBuffer> dictionary,
size_t dictionary_size) { size_t dictionary_size) {

View File

@@ -50,7 +50,7 @@
"manifest_handlers/webview_info.h", "manifest_handlers/webview_info.h",
"manifest_url_handlers.cc", "manifest_url_handlers.cc",
@@ -481,8 +467,6 @@ static_library("common") { @@ -481,8 +467,6 @@ static_library("common") {
"user_script.h", "user_scripts_availability.h",
"utils/base_string.cc", "utils/base_string.cc",
"utils/base_string.h", "utils/base_string.h",
- "utils/content_script_utils.cc", - "utils/content_script_utils.cc",

View File

@@ -1,10 +0,0 @@
--- src/chrome/test/BUILD.gn.orig 2024-12-08 18:44:32.671357320 +0100
+++ src/chrome/test/BUILD.gn 2025-01-01 21:35:00.776064485 +0100
@@ -8317,7 +8317,6 @@ test("unit_tests") {
"//chrome/browser/user_annotations",
"//chrome/browser/web_applications:web_applications_test_support",
"//chrome/common/read_anything:mojo_bindings",
- "//chrome/services/speech:unit_tests",
"//components/app_constants",
"//components/color",
"//components/commerce/core:account_checker_test_support",

View File

@@ -21,9 +21,9 @@ Subject: [PATCH] Disable various compiler configs
build/config/compiler/BUILD.gn | 114 +++++---------------------------- build/config/compiler/BUILD.gn | 114 +++++----------------------------
1 file changed, 17 insertions(+), 97 deletions(-) 1 file changed, 17 insertions(+), 97 deletions(-)
--- src/build/config/compiler/BUILD.gn.orig 2025-04-21 18:29:05.106306929 +0200 --- src/build/config/compiler/BUILD.gn.orig 2025-07-19 11:32:29.581980058 +0200
+++ src/build/config/compiler/BUILD.gn 2025-04-22 20:59:45.689108303 +0200 +++ src/build/config/compiler/BUILD.gn 2025-07-19 16:12:37.505818698 +0200
@@ -308,9 +308,7 @@ config("compiler") { @@ -310,9 +310,7 @@ config("compiler") {
configs += [ configs += [
# See the definitions below. # See the definitions below.
@@ -32,8 +32,8 @@ Subject: [PATCH] Disable various compiler configs
- ":compiler_cpu_abi", - ":compiler_cpu_abi",
":compiler_codegen", ":compiler_codegen",
":compiler_deterministic", ":compiler_deterministic",
] ":clang_warning_suppression",
@@ -325,7 +323,6 @@ config("compiler") { @@ -338,7 +336,6 @@ config("compiler") {
# See: https://gcc.gnu.org/PR97913 # See: https://gcc.gnu.org/PR97913
# TODO(mpdenton): remove is_clang once GCC bug is fixed. # TODO(mpdenton): remove is_clang once GCC bug is fixed.
if ((!is_nacl || is_nacl_saigo) && !is_ubsan && is_clang) { if ((!is_nacl || is_nacl_saigo) && !is_ubsan && is_clang) {
@@ -41,15 +41,15 @@ Subject: [PATCH] Disable various compiler configs
} }
# Make signed overflow and pointer overflowdefined to wrap. # Make signed overflow and pointer overflowdefined to wrap.
@@ -335,7 +332,6 @@ config("compiler") { @@ -348,7 +345,6 @@ config("compiler") {
if (is_win) { if (is_win) {
cflags += [ "/clang:-fwrapv" ] cflags += [ "/clang:-fno-strict-overflow" ]
} else { } else {
- cflags += [ "-fwrapv" ] - cflags += [ "-fno-strict-overflow" ]
} }
} }
@@ -351,7 +347,12 @@ config("compiler") { @@ -364,7 +360,12 @@ config("compiler") {
if (!is_win) { if (!is_win) {
# Common POSIX compiler flags setup. # Common POSIX compiler flags setup.
# -------------------------------- # --------------------------------
@@ -63,7 +63,7 @@ Subject: [PATCH] Disable various compiler configs
# Stack protection. ShadowCallStack and Stack protector address the same # Stack protection. ShadowCallStack and Stack protector address the same
# problems. Therefore, we only enable one or the other. Clang advertises SCS as # problems. Therefore, we only enable one or the other. Clang advertises SCS as
@@ -498,10 +499,6 @@ config("compiler") { @@ -500,10 +501,6 @@ config("compiler") {
# Linux/Android/Fuchsia common flags setup. # Linux/Android/Fuchsia common flags setup.
# --------------------------------- # ---------------------------------
if (is_linux || is_chromeos || is_android || is_fuchsia) { if (is_linux || is_chromeos || is_android || is_fuchsia) {
@@ -74,7 +74,7 @@ Subject: [PATCH] Disable various compiler configs
if (!is_clang) { if (!is_clang) {
# Use pipes for communicating between sub-processes. Faster. # Use pipes for communicating between sub-processes. Faster.
@@ -1124,11 +1121,6 @@ config("libcxx_hardening") { @@ -1148,11 +1145,6 @@ config("libcxx_hardening") {
defines = [ "_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE" ] defines = [ "_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE" ]
} }
@@ -86,7 +86,7 @@ Subject: [PATCH] Disable various compiler configs
} }
# The BUILDCONFIG file sets this config on targets by default, which means when # The BUILDCONFIG file sets this config on targets by default, which means when
@@ -1194,7 +1186,8 @@ config("thinlto_optimize_max") { @@ -1218,7 +1210,8 @@ config("thinlto_optimize_max") {
# without using everything that "compiler" brings in. Options that # without using everything that "compiler" brings in. Options that
# tweak code generation for a particular CPU do not belong here! # tweak code generation for a particular CPU do not belong here!
# See "compiler_codegen", below. # See "compiler_codegen", below.
@@ -96,7 +96,7 @@ Subject: [PATCH] Disable various compiler configs
cflags = [] cflags = []
ldflags = [] ldflags = []
defines = [] defines = []
@@ -1824,7 +1817,8 @@ config("treat_warnings_as_errors") { @@ -1994,7 +1987,8 @@ config("tot_warnings") {
# Collects all warning flags that are used by default. This is used as a # 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 # subconfig of both chromium_code and no_chromium_code. This way these
# flags are guaranteed to appear on the compile command line after -Wall. # flags are guaranteed to appear on the compile command line after -Wall.
@@ -104,9 +104,9 @@ Subject: [PATCH] Disable various compiler configs
+config("default_warnings") { } +config("default_warnings") { }
+config("xdefault_warnings") { +config("xdefault_warnings") {
cflags = [] cflags = []
cflags_c = []
cflags_cc = [] cflags_cc = []
@@ -2071,11 +2065,7 @@ config("chromium_code") { ldflags = []
@@ -2262,11 +2256,7 @@ config("chromium_code") {
defines = [ "_HAS_NODISCARD" ] defines = [ "_HAS_NODISCARD" ]
} }
} else { } else {
@@ -119,7 +119,7 @@ Subject: [PATCH] Disable various compiler configs
# In Chromium code, we define __STDC_foo_MACROS in order to get the # In Chromium code, we define __STDC_foo_MACROS in order to get the
# C99 macros on Mac and Linux. # C99 macros on Mac and Linux.
@@ -2084,24 +2074,6 @@ config("chromium_code") { @@ -2275,24 +2265,6 @@ config("chromium_code") {
"__STDC_FORMAT_MACROS", "__STDC_FORMAT_MACROS",
] ]
@@ -144,15 +144,15 @@ Subject: [PATCH] Disable various compiler configs
if (is_apple) { if (is_apple) {
cflags_objc = [ "-Wimplicit-retain-self" ] cflags_objc = [ "-Wimplicit-retain-self" ]
cflags_objcc = [ "-Wimplicit-retain-self" ] cflags_objcc = [ "-Wimplicit-retain-self" ]
@@ -2268,7 +2240,6 @@ config("no_rtti") { @@ -2451,7 +2423,6 @@ config("no_rtti") {
# to heap-allocated memory are passed over shared library boundaries.
config("export_dynamic") { config("export_dynamic") {
# TODO(crbug.com/40118868): Revisit after target_os flip is completed. if (is_linux || export_libcxxabi_from_executables) {
if (is_linux || is_chromeos_lacros || export_libcxxabi_from_executables) {
- ldflags = [ "-rdynamic" ] - ldflags = [ "-rdynamic" ]
} }
} }
@@ -2366,7 +2337,8 @@ config("wexit_time_destructors") { @@ -2550,7 +2521,8 @@ config("wexit_time_destructors") {
# gcc 4.9 and earlier had no way of suppressing this warning without # gcc 4.9 and earlier had no way of suppressing this warning without
# suppressing the rest of them. Here we centralize the identification of # suppressing the rest of them. Here we centralize the identification of
# the gcc 4.9 toolchains. # the gcc 4.9 toolchains.
@@ -162,7 +162,7 @@ Subject: [PATCH] Disable various compiler configs
cflags = [] cflags = []
if (is_clang) { if (is_clang) {
cflags += [ "-Wno-incompatible-pointer-types" ] cflags += [ "-Wno-incompatible-pointer-types" ]
@@ -2483,7 +2455,8 @@ if (is_win) { @@ -2667,7 +2639,8 @@ if (is_win) {
common_optimize_on_cflags += [ "-fno-math-errno" ] common_optimize_on_cflags += [ "-fno-math-errno" ]
} }
@@ -172,7 +172,7 @@ Subject: [PATCH] Disable various compiler configs
if (!is_win) { if (!is_win) {
if (enable_frame_pointers) { if (enable_frame_pointers) {
cflags = [ "-fno-omit-frame-pointer" ] cflags = [ "-fno-omit-frame-pointer" ]
@@ -2524,7 +2497,8 @@ config("default_stack_frames") { @@ -2708,7 +2681,8 @@ config("default_stack_frames") {
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
# [2]: https://crrev.com/c/5447532 # [2]: https://crrev.com/c/5447532
@@ -182,7 +182,7 @@ Subject: [PATCH] Disable various compiler configs
if (is_win) { if (is_win) {
# clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
# consistency with the other platforms. # consistency with the other platforms.
@@ -2573,7 +2547,8 @@ config("optimize") { @@ -2757,7 +2731,8 @@ config("optimize") {
} }
# Turn off optimizations. # Turn off optimizations.
@@ -192,7 +192,7 @@ Subject: [PATCH] Disable various compiler configs
if (is_win) { if (is_win) {
cflags = [ cflags = [
"/Od", # Disable optimization. "/Od", # Disable optimization.
@@ -2613,7 +2588,8 @@ config("no_optimize") { @@ -2792,7 +2767,8 @@ config("no_optimize") {
# Turns up the optimization level. Used to explicitly enable -O2 instead of # 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 # -Os for select targets on platforms that use optimize_for_size. No-op
# elsewhere. # elsewhere.
@@ -202,7 +202,7 @@ Subject: [PATCH] Disable various compiler configs
if (is_nacl && is_nacl_irt) { if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config. # The NaCl IRT is a special case and always wants its own config.
# Various components do: # Various components do:
@@ -2646,7 +2622,8 @@ config("optimize_max") { @@ -2825,7 +2801,8 @@ config("optimize_max") {
# #
# TODO(crbug.com/41259697) - 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. # so that we don't need this disclaimer.
@@ -212,7 +212,7 @@ Subject: [PATCH] Disable various compiler configs
if (is_nacl && is_nacl_irt) { if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config. # The NaCl IRT is a special case and always wants its own config.
# Various components do: # Various components do:
@@ -2675,7 +2652,8 @@ config("optimize_speed") { @@ -2854,7 +2831,8 @@ config("optimize_speed") {
} }
} }
@@ -222,7 +222,7 @@ Subject: [PATCH] Disable various compiler configs
cflags = [ "-O1" ] + common_optimize_on_cflags cflags = [ "-O1" ] + common_optimize_on_cflags
rustflags = [ "-Copt-level=1" ] rustflags = [ "-Copt-level=1" ]
ldflags = common_optimize_on_ldflags ldflags = common_optimize_on_ldflags
@@ -2806,7 +2784,8 @@ config("win_pdbaltpath") { @@ -2985,7 +2963,8 @@ config("win_pdbaltpath") {
} }
# Full symbols. # Full symbols.
@@ -232,7 +232,7 @@ Subject: [PATCH] Disable various compiler configs
rustflags = [] rustflags = []
configs = [] configs = []
if (is_win) { if (is_win) {
@@ -2968,7 +2947,8 @@ config("symbols") { @@ -3159,7 +3138,8 @@ config("symbols") {
# Minimal symbols. # Minimal symbols.
# This config guarantees to hold symbol for stack trace which are shown to user # This config guarantees to hold symbol for stack trace which are shown to user
# when crash happens in unittests running on buildbot. # when crash happens in unittests running on buildbot.
@@ -242,7 +242,7 @@ Subject: [PATCH] Disable various compiler configs
rustflags = [] rustflags = []
if (is_win) { if (is_win) {
# Functions, files, and line tables only. # Functions, files, and line tables only.
@@ -3053,7 +3033,8 @@ config("minimal_symbols") { @@ -3244,7 +3224,8 @@ config("minimal_symbols") {
# This configuration contains function names only. That is, the compiler is # This configuration contains function names only. That is, the compiler is
# told to not generate debug information and the linker then just puts function # told to not generate debug information and the linker then just puts function
# names in the final debug information. # names in the final debug information.

View File

@@ -1,5 +1,5 @@
--- src/skia/BUILD.gn.orig 2025-04-11 12:05:22.085153891 +0200 --- a/skia/BUILD.gn
+++ src/skia/BUILD.gn 2025-04-11 20:35:59.999827501 +0200 +++ b/skia/BUILD.gn
@@ -8,7 +8,6 @@ import("//build/config/features.gni") @@ -8,7 +8,6 @@ import("//build/config/features.gni")
import("//build/config/freetype/freetype.gni") import("//build/config/freetype/freetype.gni")
import("//build/config/rust.gni") import("//build/config/rust.gni")
@@ -19,13 +19,13 @@
-rust_static_library("bridge_rust_side") { -rust_static_library("bridge_rust_side") {
- allow_unsafe = true - allow_unsafe = true
- crate_root = skia_fontations_bridge_root - crate_root = skia_fontations_bridge_root
- sources = skia_fontations_bridge_sources - sources = skia_ports_fontations_bridge_rust_side_sources
- cxx_bindings = skia_fontations_bridge_sources - cxx_bindings = [ skia_fontations_bridge_root ]
- deps = [ - deps = [
- ":path_bridge", - ":path_bridge",
- "//third_party/rust/font_types/v0_8:lib", - "//third_party/rust/font_types/v0_8:lib",
- "//third_party/rust/read_fonts/v0_25:lib", - "//third_party/rust/read_fonts/v0_27:lib",
- "//third_party/rust/skrifa/v0_26:lib", - "//third_party/rust/skrifa/v0_29:lib",
- ] - ]
- configs -= [ "//build/config/compiler:chromium_code" ] - configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ - configs += [
@@ -36,7 +36,7 @@
# External-facing config for dependent code. # External-facing config for dependent code.
config("skia_config") { config("skia_config") {
@@ -182,7 +160,6 @@ config("skia_library_config") { @@ -190,7 +168,6 @@ config("skia_library_config") {
if (use_blink && enable_freetype) { if (use_blink && enable_freetype) {
defines += [ defines += [
"SK_TYPEFACE_FACTORY_FREETYPE", "SK_TYPEFACE_FACTORY_FREETYPE",
@@ -44,7 +44,7 @@
"SK_FONTMGR_FREETYPE_EMPTY_AVAILABLE", "SK_FONTMGR_FREETYPE_EMPTY_AVAILABLE",
] ]
} }
@@ -417,14 +394,6 @@ component("skia") { @@ -428,14 +405,6 @@ component("skia") {
public += skia_ports_fontmgr_empty_public public += skia_ports_fontmgr_empty_public
} }
sources += skia_ports_typeface_proxy_sources sources += skia_ports_typeface_proxy_sources
@@ -59,7 +59,7 @@
} }
if (is_win) { if (is_win) {
@@ -719,13 +688,7 @@ skia_source_set("skia_core_and_effects") @@ -730,13 +699,7 @@ skia_source_set("skia_core_and_effects")
# skia_core_and_effects rather than the other way around. # skia_core_and_effects rather than the other way around.
public_deps = [ "//third_party/dawn/include/dawn:cpp_headers" ] public_deps = [ "//third_party/dawn/include/dawn:cpp_headers" ]
} }
@@ -74,37 +74,139 @@
visibility = [ ":skia" ] visibility = [ ":skia" ]
} }
--- src/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc.orig 2025-04-11 12:05:22.929220697 +0200 --- a/skia/ext/font_utils.cc
+++ src/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc 2025-04-11 20:35:59.999827501 +0200 +++ b/skia/ext/font_utils.cc
@@ -13,7 +13,6 @@ @@ -69,13 +69,7 @@ static sk_sp<SkFontMgr> fontmgr_factory(
return SkFontMgr_New_CoreText(nullptr);
#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
sk_sp<SkFontConfigInterface> fci(SkFontConfigInterface::RefGlobal());
- if (base::FeatureList::IsEnabled(skia::kFontationsLinuxSystemFonts)) {
- return fci ? SkFontMgr_New_FCI(std::move(fci),
- SkFontScanner_Make_Fontations())
- : nullptr;
- } else {
- return fci ? SkFontMgr_New_FCI(std::move(fci)) : nullptr;
- }
+ return fci ? SkFontMgr_New_FCI(std::move(fci)) : nullptr;
#elif BUILDFLAG(IS_FUCHSIA)
fuchsia::fonts::ProviderSyncPtr provider;
base::ComponentContextForProcess()->svc()->Connect(provider.NewRequest());
--- a/third_party/blink/renderer/platform/fonts/skia/sktypeface_factory.cc
+++ b/third_party/blink/renderer/platform/fonts/skia/sktypeface_factory.cc
@@ -29,11 +29,7 @@ sk_sp<SkTypeface> SkTypeface_Factory::Fr
font_identity.fID = config_id;
font_identity.fTTCIndex = ttc_index;
- if (base::FeatureList::IsEnabled(skia::kFontationsLinuxSystemFonts)) {
- return fci->makeTypeface(font_identity, SkFontMgr_New_Fontations_Empty());
- } else {
return fci->makeTypeface(font_identity, skia::DefaultFontMgr());
- }
#else
NOTREACHED();
#endif
@@ -46,12 +42,7 @@ sk_sp<SkTypeface> SkTypeface_Factory::Fr
#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) && \
!BUILDFLAG(IS_APPLE)
- if (base::FeatureList::IsEnabled(skia::kFontationsLinuxSystemFonts)) {
- return SkFontMgr_New_Fontations_Empty()->makeFromFile(filename.c_str(),
- ttc_index);
- } else {
return skia::DefaultFontMgr()->makeFromFile(filename.c_str(), ttc_index);
- }
#else
NOTREACHED();
#endif
--- a/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc
+++ b/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc
@@ -12,7 +12,6 @@
#include "third_party/blink/renderer/platform/fonts/opentype/font_format_check.h"
#include "third_party/freetype_buildflags.h" #include "third_party/freetype_buildflags.h"
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/core/SkTypeface.h" #include "third_party/skia/include/core/SkTypeface.h"
-#include "third_party/skia/include/ports/SkTypeface_fontations.h" -#include "third_party/skia/include/ports/SkTypeface_fontations.h"
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
#include "third_party/blink/renderer/platform/fonts/win/dwrite_font_format_support.h" #include "third_party/blink/renderer/platform/fonts/win/dwrite_font_format_support.h"
@@ -55,7 +54,7 @@ bool IsFreeTypeSystemRasterizer() { @@ -38,11 +37,7 @@ bool IsWin() {
}
bool IsFreeTypeSystemRasterizer() {
-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_APPLE)
return true;
-#else
- return false;
-#endif
} }
sk_sp<SkTypeface> MakeTypefaceDefaultFontMgr(sk_sp<SkData> data) { sk_sp<SkTypeface> MakeTypefaceDefaultFontMgr(sk_sp<SkData> data) {
@@ -50,13 +45,7 @@ sk_sp<SkTypeface> MakeTypefaceDefaultFon
return FontCache::Get().FontManager()->makeFromData(data, 0);
#endif
-#if BUILDFLAG(IS_APPLE)
return skia::DefaultFontMgr()->makeFromData(data, 0);
-#endif
-
-#if !(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE)) -#if !(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE))
+#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE)) - return SkTypeface_Make_Fontations(data, SkFontArguments());
if (RuntimeEnabledFeatures::FontationsFontBackendEnabled()) { -#endif
std::unique_ptr<SkStreamAsset> stream(new SkMemoryStream(data)); }
return SkTypeface_Make_Fontations(std::move(stream), SkFontArguments());
@@ -83,10 +82,6 @@ sk_sp<SkTypeface> MakeTypefaceFallback(s #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE)
@@ -65,10 +54,6 @@ sk_sp<SkTypeface> MakeTypefaceFallback(s
} }
#endif #endif
-sk_sp<SkTypeface> MakeTypefaceFontations(sk_sp<SkData> data) { -sk_sp<SkTypeface> MakeTypefaceFontations(sk_sp<SkData> data) {
- std::unique_ptr<SkStreamAsset> stream(new SkMemoryStream(data)); - return SkTypeface_Make_Fontations(data, SkFontArguments());
- return SkTypeface_Make_Fontations(std::move(stream), SkFontArguments());
-} -}
-
sk_sp<SkTypeface> MakeVariationsTypeface( sk_sp<SkTypeface> MakeVariationsTypeface(
sk_sp<SkData> data, sk_sp<SkData> data,
@@ -188,7 +183,6 @@ bool WebFontTypefaceFactory::CreateTypef const WebFontTypefaceFactory::FontInstantiator& instantiator) {
@@ -88,9 +73,6 @@ sk_sp<SkTypeface> MakeSbixTypeface(
const WebFontTypefaceFactory::FontInstantiator& instantiator) {
// If we're on a OS with FreeType as backend, or on Windows, where we used to
// use FreeType for SBIX, switch to Fontations for SBIX.
- if (IsFreeTypeSystemRasterizer() || IsWin()) {
- return instantiator.make_fontations(data);
- }
// Remaining case, on Mac, CoreText can handle creating SBIX fonts.
return instantiator.make_system(data);
@@ -99,29 +81,21 @@ sk_sp<SkTypeface> MakeSbixTypeface(
sk_sp<SkTypeface> MakeColrV0Typeface(
sk_sp<SkData> data,
const WebFontTypefaceFactory::FontInstantiator& instantiator) {
- if (IsWin()) {
// On Windows Skia's DirectWrite
// backend handles COLRv0.
return instantiator.make_system(data);
- }
- return instantiator.make_fontations(data);
}
sk_sp<SkTypeface> MakeColrV0VariationsTypeface(
sk_sp<SkData> data,
const WebFontTypefaceFactory::FontInstantiator& instantiator) {
-#if BUILDFLAG(IS_WIN)
- if (DWriteVersionSupportsVariations()) {
return instantiator.make_system(data);
- }
-#endif
- return instantiator.make_fontations(data);
}
sk_sp<SkTypeface> MakeFontationsFallbackPreferred(
sk_sp<SkData> data,
const WebFontTypefaceFactory::FontInstantiator& instantiator) {
- return instantiator.make_fontations(data);
+ return instantiator.make_system(data);
}
} // namespace
@@ -131,7 +105,6 @@ bool WebFontTypefaceFactory::CreateTypef
const FontFormatCheck format_check(data); const FontFormatCheck format_check(data);
const FontInstantiator instantiator = { const FontInstantiator instantiator = {
MakeTypefaceDefaultFontMgr, MakeTypefaceDefaultFontMgr,

View File

@@ -1,15 +1,44 @@
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -27,7 +27,6 @@ import("//extensions/buildflags/buildfla
import("//gpu/vulkan/features.gni")
import("//media/gpu/args.gni")
import("//media/media_options.gni")
-import("//mojo/public/rust/rust.gni")
import("//pdf/features.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
@@ -885,17 +884,10 @@ group("all_rust") {
deps = [
":rust_build_tests",
- "//base:base_unittests", # There is rust stuff in here.
- "//third_party/cloud_authenticator/processor",
]
- # TODO(https://crbug.com/405379314): This fails to build on some iOS ASAN
- # builders.
- if (!is_ios || !is_asan) {
- deps += [ "//testing/rust_gtest_interop:rust_gtest_interop_unittests" ]
- }
- if (enable_rust_mojo) {
+ if (false) {
deps += [
"//mojo/public/rust:mojo_rust",
"//mojo/public/rust:mojo_rust_integration_unittests",
--- a/base/BUILD.gn --- a/base/BUILD.gn
+++ b/base/BUILD.gn +++ b/base/BUILD.gn
@@ -38,8 +38,6 @@ @@ -36,8 +36,6 @@ import("//build/config/sanitizers/saniti
import("//build/config/sysroot.gni") import("//build/config/sysroot.gni")
import("//build/config/ui.gni") import("//build/config/ui.gni")
import("//build/nocompile.gni") import("//build/nocompile.gni")
-import("//build/rust/rust_bindgen.gni") -import("//build/rust/rust_bindgen.gni")
-import("//build/rust/rust_static_library.gni") -import("//build/rust/rust_static_library.gni")
import("//build/timestamp.gni")
import("//build/util/process_version.gni") import("//build/util/process_version.gni")
import("//build_overrides/build.gni") import("//build_overrides/build.gni")
@@ -1022,11 +1020,6 @@ import("//testing/libfuzzer/fuzzer_test.gni")
@@ -1053,11 +1051,6 @@ component("base") {
# Used by metrics/crc32, except on NaCl builds. # Used by metrics/crc32, except on NaCl builds.
deps += [ "//third_party/zlib" ] deps += [ "//third_party/zlib" ]
@@ -21,7 +50,7 @@
} }
# `raw_ptr` cannot be made a component due to CRT symbol issues. # `raw_ptr` cannot be made a component due to CRT symbol issues.
@@ -1063,7 +1056,7 @@ @@ -1093,7 +1086,7 @@ component("base") {
"//third_party/abseil-cpp:absl", "//third_party/abseil-cpp:absl",
] ]
@@ -30,7 +59,7 @@
sources += [ sources += [
"containers/span_rust.h", "containers/span_rust.h",
"strings/string_view_rust.h", "strings/string_view_rust.h",
@@ -1543,8 +1536,6 @@ @@ -1598,8 +1591,6 @@ component("base") {
"files/scoped_temp_file.h", "files/scoped_temp_file.h",
"json/json_file_value_serializer.cc", "json/json_file_value_serializer.cc",
"json/json_file_value_serializer.h", "json/json_file_value_serializer.h",
@@ -39,7 +68,7 @@
"memory/discardable_memory.cc", "memory/discardable_memory.cc",
"memory/discardable_memory.h", "memory/discardable_memory.h",
"memory/discardable_memory_allocator.cc", "memory/discardable_memory_allocator.cc",
@@ -2447,40 +2438,6 @@ @@ -2542,62 +2533,6 @@ component("base") {
} }
} }
@@ -55,21 +84,43 @@
- deps = [ ":debugging_buildflags" ] - deps = [ ":debugging_buildflags" ]
-} -}
- -
-rust_bindgen("logging_rust_log_integration_bindgen") {
- header = "logging/rust_log_integration.h"
- cpp = true
- visibility = [ ":*" ]
-
- # Transitive generated header dependency.
- deps = [ ":debugging_buildflags" ]
-}
-
-rust_static_library("rust_logger") { -rust_static_library("rust_logger") {
- allow_unsafe = true # Unsafe needed for FFI. - allow_unsafe = true # Unsafe needed for FFI.
- deps = [ - deps = [
- ":logging_log_severity_bindgen", - ":logging_log_severity_bindgen",
- ":logging_rust_log_integration_bindgen", - ":tracing_buildflags",
- "//build:chromeos_buildflags",
- "//third_party/rust/log/v0_4:lib", - "//third_party/rust/log/v0_4:lib",
-
- # Needed because of circular dependency: base depends on this target and by
- # extension the cxx-generated C++ code, but the cxx-generated code includes
- # base headers and calls base code. This seems to generally not cause
- # issues, except for partition_alloc which applies configs when depended on.
- #
- # This allows the generated C++ code to transitively include partition alloc
- # headers without issue.
- #
- # TODO(collinbaker): determine how to handle these cxx bindings-induced
- # circular dependencies more robustly.
- "//base/allocator/partition_allocator:raw_ptr",
-
- # Needed because logging/rust_logger.rs contains:
- # include!("base/logging/rust_log_integration.h");
- # rust_log_integration.h ends up transitively #including
- # debug/debugging_buildflags.h, which is a generated header that needs to
- # be written first.
- #
- # Technically it would be more correct to depend on :base, which is the
- # target for rust_log_integration.h, but that's not possible due to circular
- # dependencies.
- #
- # Note if this is removed the build may still work by accident because
- # debug/debugging_buildflags.h still ends up being generated through a
- # dependency chain via :logging_log_severity_bindgen. But we should not
- # rely on that.
- #
- # See also https://crbug.com/406267472.
- ":debugging_buildflags",
- ] - ]
- visibility = [ ":base" ] - visibility = [ ":base" ]
- sources = [ "logging/rust_logger.rs" ] - sources = [ "logging/rust_logger.rs" ]
@@ -80,7 +131,7 @@
if (is_linux || is_chromeos) { if (is_linux || is_chromeos) {
# Split out as a separate target for two reasons: # Split out as a separate target for two reasons:
@@ -3564,7 +3521,7 @@ @@ -3736,7 +3671,7 @@ test("base_unittests") {
sources += [ "location_unittest.cc" ] sources += [ "location_unittest.cc" ]
} }
@@ -89,7 +140,7 @@
sources += [ sources += [
"containers/span_rust_unittest.cc", "containers/span_rust_unittest.cc",
"strings/string_piece_rust_unittest.cc", "strings/string_piece_rust_unittest.cc",
@@ -3617,7 +3574,7 @@ @@ -3791,7 +3726,7 @@ test("base_unittests") {
deps += [ "allocator/partition_allocator/src/partition_alloc:unittests" ] deps += [ "allocator/partition_allocator/src/partition_alloc:unittests" ]
} }
@@ -98,33 +149,67 @@
deps += [ "//build/rust:cxx_cppdeps" ] deps += [ "//build/rust:cxx_cppdeps" ]
} }
--- a/BUILD.gn --- a/base/json/json_reader.cc
+++ b/BUILD.gn +++ b/base/json/json_reader.cc
@@ -28,7 +28,6 @@ @@ -13,7 +13,7 @@
import("//gpu/vulkan/features.gni") #include "base/strings/string_number_conversions.h"
import("//media/gpu/args.gni") #include "build/build_config.h"
import("//media/media_options.gni")
-import("//mojo/public/rust/rust.gni")
import("//pdf/features.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
@@ -888,12 +887,9 @@
deps = [ -#if BUILDFLAG(IS_NACL)
":rust_build_tests", +#if !BUILDFLAG(IS_NACL)
- "//base:base_unittests", # There is rust stuff in here. #include "base/json/json_parser.h"
- "//testing/rust_gtest_interop:rust_gtest_interop_unittests", #else
- "//third_party/cloud_authenticator/processor", #include "base/strings/string_view_rust.h"
] @@ -23,7 +23,7 @@
- if (enable_rust_mojo) { // TODO(crbug.com/40811643): Move the C++ parser into components/nacl to just
+ if (false) { // run in-process there. Don't compile base::JSONReader on NaCL at all.
deps += [ -#if !BUILDFLAG(IS_NACL)
"//mojo/public/rust:mojo_rust", +#if BUILDFLAG(IS_NACL)
"//mojo/public/rust:mojo_rust_integration_unittests",
namespace {
const char kSecurityJsonParsingTime[] = "Security.JSONParser.ParsingTime";
@@ -144,7 +144,7 @@ std::string JSONReader::Error::ToString(
std::optional<Value> JSONReader::Read(std::string_view json,
int options,
size_t max_depth) {
-#if BUILDFLAG(IS_NACL)
+#if !BUILDFLAG(IS_NACL)
internal::JSONParser parser(options, max_depth);
return parser.Parse(json);
#else // BUILDFLAG(IS_NACL)
@@ -185,7 +185,7 @@ std::optional<Value::List> JSONReader::R
JSONReader::Result JSONReader::ReadAndReturnValueWithError(
std::string_view json,
int options) {
-#if BUILDFLAG(IS_NACL)
+#if !BUILDFLAG(IS_NACL)
internal::JSONParser parser(options);
auto value = parser.Parse(json);
if (!value) {
--- a/base/logging.cc
+++ b/base/logging.cc
@@ -117,7 +117,7 @@ typedef FILE* FileHandle;
#include "base/fuchsia/scoped_fx_logger.h"
#endif
-#if !BUILDFLAG(IS_NACL)
+#if BUILDFLAG(IS_NACL)
#include "base/logging/rust_logger.rs.h"
#endif
@@ -529,7 +529,7 @@ bool BaseInitLoggingImpl(const LoggingSe
}
#endif
-#if !BUILDFLAG(IS_NACL)
+#if BUILDFLAG(IS_NACL)
// Connects Rust logging with the //base logging functionality.
internal::init_rust_log_crate();
#endif
--- a/base/test/BUILD.gn --- a/base/test/BUILD.gn
+++ b/base/test/BUILD.gn +++ b/base/test/BUILD.gn
@@ -7,7 +7,6 @@ @@ -6,7 +6,6 @@ import("//build/compiled_action.gni")
import("//build/config/features.gni") import("//build/config/features.gni")
import("//build/config/nacl/config.gni") import("//build/config/nacl/config.gni")
import("//build/config/ui.gni") import("//build/config/ui.gni")
@@ -132,7 +217,7 @@
import("//build_overrides/build.gni") import("//build_overrides/build.gni")
import("//third_party/protobuf/proto_library.gni") import("//third_party/protobuf/proto_library.gni")
@@ -39,16 +38,6 @@ @@ -38,16 +37,6 @@ static_library("test_config") {
] ]
} }
@@ -149,7 +234,7 @@
static_library("test_support") { static_library("test_support") {
testonly = true testonly = true
@@ -189,7 +178,6 @@ @@ -192,7 +181,6 @@ static_library("test_support") {
public_deps = [ public_deps = [
":test_config", ":test_config",
@@ -157,109 +242,36 @@
"//base", "//base",
"//base:base_static", "//base:base_static",
"//base:i18n", "//base:i18n",
--- a/services/on_device_model/ml/BUILD.gn
+++ b/services/on_device_model/ml/BUILD.gn
@@ -71,7 +71,6 @@ if (use_blink || (is_ios && build_with_i
]
if (enable_constraints) {
defines += [ "ENABLE_ON_DEVICE_CONSTRAINTS" ]
- deps += [ "//third_party/rust/llguidance/v0_7:lib" ]
}
if (use_blink) {
deps += [ "//gpu/config" ]
--- a/services/on_device_model/ml/chrome_ml.cc
+++ b/services/on_device_model/ml/chrome_ml.cc
@@ -24,7 +24,6 @@
#include "third_party/dawn/include/dawn/dawn_proc.h"
#include "third_party/dawn/include/dawn/native/DawnNative.h"
#include "third_party/dawn/include/dawn/webgpu_cpp.h"
-#include "third_party/rust/chromium_crates_io/vendor/llguidance-v0_7/llguidance.h"
#if !BUILDFLAG(IS_IOS)
#include "gpu/config/gpu_info_collector.h"
--- a/third_party/blink/common/BUILD.gn --- a/third_party/blink/common/BUILD.gn
+++ b/third_party/blink/common/BUILD.gn +++ b/third_party/blink/common/BUILD.gn
@@ -341,7 +341,6 @@ @@ -311,7 +311,6 @@ source_set("common") {
"//services/metrics/public/cpp:ukm_builders",
"//services/metrics/public/mojom:mojom", "//services/metrics/public/mojom:mojom",
"//services/network/public/cpp:cpp", "//services/network/public/cpp:cpp",
"//services/network/public/mojom:mojom_permissions_policy",
- "//third_party/blink/common/rust_crash", - "//third_party/blink/common/rust_crash",
"//third_party/blink/public/common:buildflags", "//third_party/blink/public/common:buildflags",
"//third_party/re2", "//third_party/re2",
"//ui/base:base", "//ui/base:base",
--- a/third_party/breakpad/BUILD.gn
+++ b/third_party/breakpad/BUILD.gn
@@ -494,11 +494,6 @@
# For breakpad/src/common/stabs_reader.h.
defines = [ "HAVE_MACH_O_NLIST_H" ]
- # Rust demangle support.
- deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ]
- defines += [ "HAVE_RUSTC_DEMANGLE" ]
- include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-0.1.0/include" ]
- sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-0.1.0/include/rustc_demangle.h" ]
}
test("breakpad_unittests") {
sources = [ "breakpad/src/common/module_unittest.cc" ]
@@ -742,11 +737,6 @@
include_dirs = [ "breakpad/src" ]
- # Rust demangle support.
- deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ]
- defines += [ "HAVE_RUSTC_DEMANGLE" ]
- include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-0.1.0/include" ]
- sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-0.1.0/include/rustc_demangle.h" ]
libs = [ "z" ]
}
--- a/base/json/json_reader.cc
+++ b/base/json/json_reader.cc
@@ -13,7 +13,7 @@
#include "base/metrics/histogram_macros.h"
#include "build/build_config.h"
-#if !BUILDFLAG(IS_NACL)
+#if BUILDFLAG(IS_NACL)
#include "base/strings/string_view_rust.h"
#include "third_party/rust/serde_json_lenient/v0_2/wrapper/functions.h"
#include "third_party/rust/serde_json_lenient/v0_2/wrapper/lib.rs.h"
@@ -23,7 +23,7 @@
// TODO(crbug.com/40811643): Move the C++ parser into components/nacl to just
// run in-process there. Don't compile base::JSONReader on NaCL at all.
-#if !BUILDFLAG(IS_NACL)
+#if BUILDFLAG(IS_NACL)
namespace {
using serde_json_lenient::ContextPointer;
@@ -140,7 +140,7 @@
std::optional<Value> JSONReader::Read(std::string_view json,
int options,
size_t max_depth) {
-#if BUILDFLAG(IS_NACL)
+#if !BUILDFLAG(IS_NACL)
internal::JSONParser parser(options, max_depth);
return parser.Parse(json);
#else // BUILDFLAG(IS_NACL)
@@ -173,7 +173,7 @@
JSONReader::Result JSONReader::ReadAndReturnValueWithError(
std::string_view json,
int options) {
-#if BUILDFLAG(IS_NACL)
+#if !BUILDFLAG(IS_NACL)
internal::JSONParser parser(options);
auto value = parser.Parse(json);
if (!value) {
@@ -213,7 +213,7 @@
if (!base::FeatureList::GetInstance()) {
return false;
}
-#if BUILDFLAG(IS_NACL)
+#if !BUILDFLAG(IS_NACL)
return false;
#else
return base::FeatureList::IsEnabled(base::features::kUseRustJsonParser);
--- a/base/logging.cc
+++ b/base/logging.cc
@@ -126,7 +126,7 @@
#include "base/fuchsia/scoped_fx_logger.h"
#endif
-#if !BUILDFLAG(IS_NACL)
+#if BUILDFLAG(IS_NACL)
#include "base/logging/rust_logger.rs.h"
#endif
@@ -526,7 +526,7 @@
}
#endif
-#if !BUILDFLAG(IS_NACL)
+#if BUILDFLAG(IS_NACL)
// Connects Rust logging with the //base logging functionality.
internal::init_rust_log_crate();
#endif
--- a/third_party/blink/common/chrome_debug_urls.cc --- a/third_party/blink/common/chrome_debug_urls.cc
+++ b/third_party/blink/common/chrome_debug_urls.cc +++ b/third_party/blink/common/chrome_debug_urls.cc
@@ -11,7 +11,6 @@ @@ -11,7 +11,6 @@
@@ -270,7 +282,7 @@
#include "url/gurl.h" #include "url/gurl.h"
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
@@ -117,7 +116,7 @@ @@ -117,7 +116,7 @@ NOINLINE void MaybeTriggerAsanError(cons
// Ensure that ASAN works even in Rust code. // Ensure that ASAN works even in Rust code.
LOG(ERROR) << "Intentionally causing ASAN heap overflow in Rust" LOG(ERROR) << "Intentionally causing ASAN heap overflow in Rust"
<< " because user navigated to " << url.spec(); << " because user navigated to " << url.spec();
@@ -279,7 +291,7 @@
} }
} }
#endif // ADDRESS_SANITIZER #endif // ADDRESS_SANITIZER
@@ -137,7 +136,7 @@ @@ -137,7 +136,7 @@ void HandleChromeDebugURL(const GURL& ur
} else if (url == kChromeUICrashRustURL) { } else if (url == kChromeUICrashRustURL) {
// Cause a typical crash in Rust code, so we can test that call stack // Cause a typical crash in Rust code, so we can test that call stack
// collection and symbol mangling work across the language boundary. // collection and symbol mangling work across the language boundary.
@@ -288,3 +300,32 @@
} else if (url == kChromeUIDumpURL) { } else if (url == kChromeUIDumpURL) {
// This URL will only correctly create a crash dump file if content is // This URL will only correctly create a crash dump file if content is
// hosted in a process that has correctly called // hosted in a process that has correctly called
--- a/third_party/breakpad/BUILD.gn
+++ b/third_party/breakpad/BUILD.gn
@@ -494,12 +494,7 @@ if (is_mac) {
# For breakpad/src/common/stabs_reader.h.
defines = [ "HAVE_MACH_O_NLIST_H" ]
- # Rust demangle support.
- deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ]
- defines += [ "HAVE_RUSTC_DEMANGLE" ]
- include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include" ]
- sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include/rustc_demangle.h" ]
- }
+ }
test("breakpad_unittests") {
sources = [ "breakpad/src/common/module_unittest.cc" ]
deps = [
@@ -742,12 +737,6 @@ if (is_linux || is_chromeos || is_androi
include_dirs = [ "breakpad/src" ]
- # Rust demangle support.
- deps = [ "//third_party/rust/rustc_demangle_capi/v0_1:lib" ]
- defines += [ "HAVE_RUSTC_DEMANGLE" ]
- include_dirs += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include" ]
- sources += [ "//third_party/rust/chromium_crates_io/vendor/rustc-demangle-capi-v0_1/include/rustc_demangle.h" ]
-
libs = [ "z" ]
}
} else if (current_toolchain == default_toolchain) {

View File

@@ -1,9 +1,9 @@
--- src/third_party/electron_node/common.gypi.orig 2025-04-10 20:07:02.154742467 +0200 --- src/third_party/electron_node/common.gypi.orig 2025-07-19 11:44:59.181882205 +0200
+++ src/third_party/electron_node/common.gypi 2025-04-11 11:45:57.996110023 +0200 +++ src/third_party/electron_node/common.gypi 2025-07-19 16:21:44.297731896 +0200
@@ -514,15 +514,19 @@ @@ -534,15 +534,19 @@
'ldflags': [ '-pthread' ], 'ldflags': [ '-pthread' ],
}], }],
[ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi"', { [ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi openharmony"', {
- 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], - 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
+ # Add some useful flags which need to be specified on all modules anyway. + # Add some useful flags which need to be specified on all modules anyway.
+ # `-fpic -fno-semantic-interposition` is the best relocation model for code that will live in a dlopened library + # `-fpic -fno-semantic-interposition` is the best relocation model for code that will live in a dlopened library
@@ -23,7 +23,7 @@
'target_conditions': [ 'target_conditions': [
# The 1990s toolchain on SmartOS can't handle thin archives. # The 1990s toolchain on SmartOS can't handle thin archives.
['_type=="static_library" and OS=="solaris"', { ['_type=="static_library" and OS=="solaris"', {
@@ -700,29 +704,7 @@ @@ -720,29 +724,7 @@
'-Wl,--export-dynamic', '-Wl,--export-dynamic',
], ],
}], }],

View File

@@ -14,6 +14,6 @@ since we compile everything with -fasynchronous-unwind-tables anyway.
- # frames otherwise, even with --call-graph dwarf. - # frames otherwise, even with --call-graph dwarf.
- 'cflags': [ '-fno-omit-frame-pointer' ], - 'cflags': [ '-fno-omit-frame-pointer' ],
- }], - }],
['OS=="linux"', { ['OS=="linux" or OS=="openharmony"', {
'conditions': [ 'conditions': [
['enable_pgo_generate=="true"', { ['enable_pgo_generate=="true"', {

View File

@@ -1,10 +0,0 @@
--- src/content/public/browser/content_browser_client.cc.orig 2025-04-16 14:45:09.657704679 +0200
+++ src/content/public/browser/content_browser_client.cc 2025-04-17 16:18:19.395831947 +0200
@@ -53,6 +53,7 @@
#include "content/public/browser/vpn_service_proxy.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view_delegate.h"
+#include "content/public/browser/web_ui_controller.h"
#include "content/public/common/alternative_error_page_override_info.mojom.h"
#include "content/public/common/content_features.h"
#include "content/public/common/url_utils.h"

View File

@@ -1,6 +1,14 @@
--- src/third_party/abseil-cpp/BUILD.gn.orig 2025-04-11 12:05:22.125274194 +0200 --- src/third_party/abseil-cpp/BUILD.gn.orig 2025-07-19 11:32:36.617980004 +0200
+++ src/third_party/abseil-cpp/BUILD.gn 2025-04-12 14:23:17.763743696 +0200 +++ src/third_party/abseil-cpp/BUILD.gn 2025-08-15 17:20:46.305540851 +0200
@@ -84,13 +84,9 @@ group("absl_component_deps") { @@ -62,7 +62,6 @@ group("absl_component_deps") {
"//third_party/abseil-cpp/absl/base",
"//third_party/abseil-cpp/absl/base:config",
"//third_party/abseil-cpp/absl/base:core_headers",
- "//third_party/abseil-cpp/absl/base:fast_type_id",
"//third_party/abseil-cpp/absl/base:log_severity",
"//third_party/abseil-cpp/absl/base:no_destructor",
"//third_party/abseil-cpp/absl/base:nullability",
@@ -85,13 +84,9 @@ group("absl_component_deps") {
"//third_party/abseil-cpp/absl/hash", "//third_party/abseil-cpp/absl/hash",
"//third_party/abseil-cpp/absl/log:absl_check", "//third_party/abseil-cpp/absl/log:absl_check",
"//third_party/abseil-cpp/absl/log:absl_log", "//third_party/abseil-cpp/absl/log:absl_log",
@@ -14,7 +22,23 @@
"//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/memory",
"//third_party/abseil-cpp/absl/meta:type_traits", "//third_party/abseil-cpp/absl/meta:type_traits",
"//third_party/abseil-cpp/absl/numeric:bits", "//third_party/abseil-cpp/absl/numeric:bits",
@@ -290,8 +286,6 @@ if (absl_build_tests) { @@ -102,7 +97,6 @@ group("absl_component_deps") {
"//third_party/abseil-cpp/absl/status",
"//third_party/abseil-cpp/absl/status:statusor",
"//third_party/abseil-cpp/absl/strings",
- "//third_party/abseil-cpp/absl/strings:charset",
"//third_party/abseil-cpp/absl/strings:cord",
"//third_party/abseil-cpp/absl/strings:has_ostream_operator",
"//third_party/abseil-cpp/absl/strings:str_format",
@@ -125,7 +119,6 @@ group("absl_component_deps") {
"//third_party/abseil-cpp/absl/base:raw_logging_internal",
# absl internal utilities used by protobuf.
- "//third_party/abseil-cpp/absl/container:layout",
]
if (is_component_build) {
@@ -295,8 +288,6 @@ if (absl_build_tests) {
"absl/container:flat_hash_set_test", "absl/container:flat_hash_set_test",
"absl/container:hash_function_defaults_test", "absl/container:hash_function_defaults_test",
"absl/container:inlined_vector_test", "absl/container:inlined_vector_test",
@@ -22,8 +46,8 @@
- "absl/container:node_hash_set_test", - "absl/container:node_hash_set_test",
"absl/container:node_slot_policy_test", "absl/container:node_slot_policy_test",
"absl/container:raw_hash_set_allocator_test", "absl/container:raw_hash_set_allocator_test",
"absl/container:raw_hash_set_test", "absl/container:raw_hash_set_resize_impl_test",
@@ -300,11 +294,8 @@ if (absl_build_tests) { @@ -305,11 +296,8 @@ if (absl_build_tests) {
"absl/crc:crc_cord_state_test", "absl/crc:crc_cord_state_test",
"absl/crc:crc_memcpy_test", "absl/crc:crc_memcpy_test",
"absl/crc:non_temporal_memcpy_test", "absl/crc:non_temporal_memcpy_test",
@@ -35,7 +59,7 @@
"absl/flags:flag_test", "absl/flags:flag_test",
"absl/functional:any_invocable_test", "absl/functional:any_invocable_test",
"absl/functional:function_ref_test", "absl/functional:function_ref_test",
@@ -328,7 +319,6 @@ if (absl_build_tests) { @@ -333,7 +321,6 @@ if (absl_build_tests) {
"absl/log:vlog_is_on_test", "absl/log:vlog_is_on_test",
"absl/log/internal:fnmatch_test", "absl/log/internal:fnmatch_test",
"absl/log/internal:stderr_log_sink_test", "absl/log/internal:stderr_log_sink_test",
@@ -43,7 +67,7 @@
"absl/memory:memory_test", "absl/memory:memory_test",
"absl/meta:type_traits_test", "absl/meta:type_traits_test",
"absl/numeric:int128_test", "absl/numeric:int128_test",
@@ -336,7 +326,6 @@ if (absl_build_tests) { @@ -341,7 +328,6 @@ if (absl_build_tests) {
"absl/profiling:periodic_sampler_test", "absl/profiling:periodic_sampler_test",
"absl/random:distributions_test", "absl/random:distributions_test",
"absl/random:mock_distributions_test", "absl/random:mock_distributions_test",
@@ -51,7 +75,7 @@
"absl/status:status_matchers_test", "absl/status:status_matchers_test",
"absl/status:status_test", "absl/status:status_test",
"absl/status:statusor_test", "absl/status:statusor_test",
@@ -359,7 +348,6 @@ if (absl_build_tests) { @@ -367,7 +353,6 @@ if (absl_build_tests) {
"absl/strings:has_absl_stringify_test", "absl/strings:has_absl_stringify_test",
"absl/strings:has_ostream_operator_test", "absl/strings:has_ostream_operator_test",
"absl/strings:match_test", "absl/strings:match_test",
@@ -59,7 +83,7 @@
"absl/strings:str_format_arg_test", "absl/strings:str_format_arg_test",
"absl/strings:str_format_bind_test", "absl/strings:str_format_bind_test",
"absl/strings:str_format_checker_test", "absl/strings:str_format_checker_test",
@@ -370,11 +358,7 @@ if (absl_build_tests) { @@ -378,11 +363,7 @@ if (absl_build_tests) {
"absl/strings:str_format_test", "absl/strings:str_format_test",
"absl/strings:str_replace_test", "absl/strings:str_replace_test",
"absl/strings:string_view_test", "absl/strings:string_view_test",
@@ -70,4 +94,4 @@
- "absl/synchronization:per_thread_sem_test", - "absl/synchronization:per_thread_sem_test",
"absl/synchronization:waiter_test", "absl/synchronization:waiter_test",
"absl/time:time_test", "absl/time:time_test",
"absl/types:optional_test", "absl/types:span_test",

View File

@@ -221,7 +221,6 @@ keeplibs=(
third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js
third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs
third_party/devtools-frontend/src/third_party/i18n #javascript third_party/devtools-frontend/src/third_party/i18n #javascript
third_party/distributed_point_functions #not in any distro
third_party/dom_distiller_js #javascript third_party/dom_distiller_js #javascript
#third_party/eigen3 #Used only by tflite which is not used in electron #third_party/eigen3 #Used only by tflite which is not used in electron
third_party/electron_node #Integral part of electron third_party/electron_node #Integral part of electron
@@ -234,6 +233,11 @@ keeplibs=(
third_party/ipcz #not in any distro third_party/ipcz #not in any distro
third_party/khronos #Modified to add ANGLE definitions third_party/khronos #Modified to add ANGLE definitions
third_party/leveldatabase #use of private headers third_party/leveldatabase #use of private headers
third_party/libaom #15.6 too old
third_party/libaom/source/libaom/third_party/fastfeat
third_party/libaom/source/libaom/third_party/SVT-AV1
third_party/libaom/source/libaom/third_party/vector
third_party/libaom/source/libaom/third_party/x86inc
third_party/libgav1 #Usage of private headers (ObuFrameHeader from utils/types.h) third_party/libgav1 #Usage of private headers (ObuFrameHeader from utils/types.h)
third_party/libsrtp #Needs to be built against boringssl, not openssl third_party/libsrtp #Needs to be built against boringssl, not openssl
third_party/libsync #not yet in any distro third_party/libsync #not yet in any distro
@@ -271,6 +275,7 @@ keeplibs=(
third_party/pffft #not in any distro, also heavily patched third_party/pffft #not in any distro, also heavily patched
third_party/polymer #javascript third_party/polymer #javascript
third_party/protobuf #Heavily forked. Apparently was officially unbundlable back in the GYP days, and may be again in the future. third_party/protobuf #Heavily forked. Apparently was officially unbundlable back in the GYP days, and may be again in the future.
third_party/protobuf/third_party/utf8_range # Integral part of protobuf
third_party/rapidhash #Fork third_party/rapidhash #Fork
third_party/re2 # fedora too old third_party/re2 # fedora too old
third_party/rnnoise #use of private headers third_party/rnnoise #use of private headers
@@ -297,7 +302,6 @@ keeplibs=(
third_party/webrtc/modules/third_party/fft #derived code, not vendored dep third_party/webrtc/modules/third_party/fft #derived code, not vendored dep
third_party/webrtc/modules/third_party/g711 #Fork. Original is from spandsp. Might be debundled if upstream ever accepts WebRTC's patches. third_party/webrtc/modules/third_party/g711 #Fork. Original is from spandsp. Might be debundled if upstream ever accepts WebRTC's patches.
third_party/webrtc/modules/third_party/g722 #Fork. Original is from spandsp. third_party/webrtc/modules/third_party/g722 #Fork. Original is from spandsp.
third_party/webrtc/rtc_base/third_party/base64 #derived code, not vendored dep
third_party/webrtc/rtc_base/third_party/sigslot #derived code, not vendored dep third_party/webrtc/rtc_base/third_party/sigslot #derived code, not vendored dep
third_party/webrtc_overrides #Integral part of chrome third_party/webrtc_overrides #Integral part of chrome
third_party/widevine #Integral part of chrome. Needed. third_party/widevine #Integral part of chrome. Needed.

View File

@@ -1,11 +0,0 @@
--- src/third_party/blink/renderer/core/css/css_shape_value.h.orig 2025-04-16 14:36:32.392070147 +0200
+++ src/third_party/blink/renderer/core/css/css_shape_value.h 2025-04-16 22:22:56.896578913 +0200
@@ -96,7 +96,7 @@ using CSSShapeControlPoint = std::pair<C
template <wtf_size_t NumControlPoints>
class CSSShapeCurveCommand : public CSSShapeCommand {
public:
- CSSShapeCurveCommand<1>(Type type,
+ CSSShapeCurveCommand(Type type,
const CSSValuePair& end_point,
const CSSShapeControlPoint control_point)
: CSSShapeCommand(type, end_point), control_points_{control_point} {}

View File

@@ -167,21 +167,21 @@ author: Michael Gilbert <mgilbert@debian.org>
"//media/mojo/mojom:speech_recognition", "//media/mojo/mojom:speech_recognition",
"//ui/base", "//ui/base",
] ]
--- src/chrome/chrome_paks.gni.orig 2024-12-08 18:34:54.604673311 +0100 --- src/chrome/chrome_paks.gni.orig 2025-07-19 11:32:31.785979797 +0200
+++ src/chrome/chrome_paks.gni 2024-12-18 12:15:07.247395616 +0100 +++ src/chrome/chrome_paks.gni 2025-07-19 16:32:46.337623073 +0200
@@ -202,8 +202,6 @@ template("chrome_extra_paks") { @@ -230,8 +230,6 @@ template("chrome_extra_paks") {
"$root_gen_dir/chrome/web_app_internals_resources.pak",
"$root_gen_dir/chrome/webui_gallery_resources.pak", "$root_gen_dir/chrome/webui_gallery_resources.pak",
"$root_gen_dir/chrome/whats_new_resources.pak", "$root_gen_dir/chrome/whats_new_resources.pak",
"$root_gen_dir/content/browser/devtools/devtools_resources.pak",
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak", - "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
- "$root_gen_dir/content/traces_internals_resources.pak", - "$root_gen_dir/content/traces_internals_resources.pak",
] ]
deps += [ deps += [
"//chrome/browser/resources:component_extension_resources", "//chrome/browser/resources:dev_ui_paks",
@@ -215,7 +213,6 @@ template("chrome_extra_paks") { @@ -241,7 +239,6 @@ template("chrome_extra_paks") {
"//chrome/browser/resources/lens/shared:resources", "//chrome/browser/resources/lens/shared:resources",
"//chrome/browser/resources/search_engine_choice:resources", "//chrome/browser/resources/search_engine_choice:resources",
"//content/browser/devtools:devtools_resources", "//chrome/browser/resources/tabs/tab_group_home:resources",
- "//content/browser/tracing:resources", - "//content/browser/tracing:resources",
] ]
if (is_chrome_branded) { if (is_chrome_branded) {
@@ -313,8 +313,8 @@ author: Michael Gilbert <mgilbert@debian.org>
"//third_party/perfetto/src/trace_processor:trace_processor_shell", "//third_party/perfetto/src/trace_processor:trace_processor_shell",
] ]
data = [ data = [
--- src/electron/electron_paks.gni.orig 2025-04-11 12:02:41.243100651 +0200 --- src/electron/build/electron_paks.gni.orig 2025-04-11 12:02:41.243100651 +0200
+++ src/electron/electron_paks.gni 2025-04-11 12:28:19.897748625 +0200 +++ src/electron/build/electron_paks.gni 2025-04-11 12:28:19.897748625 +0200
@@ -57,7 +57,6 @@ template("electron_extra_paks") { @@ -57,7 +57,6 @@ template("electron_extra_paks") {
"$root_gen_dir/chrome/common_resources.pak", "$root_gen_dir/chrome/common_resources.pak",
"$root_gen_dir/components/components_resources.pak", "$root_gen_dir/components/components_resources.pak",

View File

@@ -1,10 +0,0 @@
--- src/third_party/devtools-frontend/src/BUILD.gn.orig 2024-12-08 18:36:42.531343187 +0100
+++ src/third_party/devtools-frontend/src/BUILD.gn 2024-12-18 12:29:53.036757634 +0100
@@ -16,7 +16,6 @@ import("./third_party/blink/public/publi
devtools_frontend_resources_deps = [
":favicon",
"front_end",
- "test",
]
group("devtools_all_files") {

View File

@@ -101,9 +101,9 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
if ((is_linux || is_chromeos) && use_dbus) { if ((is_linux || is_chromeos) && use_dbus) {
deps += [ "//dbus" ] deps += [ "//dbus" ]
} }
-- src/content/browser/browser_interface_binders.cc.orig 2025-04-11 12:05:19.980351905 +0200 --- src/content/browser/browser_interface_binders.cc.orig 2025-07-19 11:32:34.193979827 +0200
+++ src/content/browser/browser_interface_binders.cc 2025-04-11 19:48:15.944587282 +0200 +++ src/content/browser/browser_interface_binders.cc 2025-07-20 14:51:05.789212478 +0200
@@ -61,7 +61,9 @@ @@ -62,7 +62,9 @@
#include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_process_host_impl.h"
#include "content/browser/service_worker/service_worker_host.h" #include "content/browser/service_worker/service_worker_host.h"
#include "content/browser/shared_storage/shared_storage_worklet_host.h" #include "content/browser/shared_storage/shared_storage_worklet_host.h"
@@ -113,7 +113,7 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
#include "content/browser/storage_access/storage_access_handle.h" #include "content/browser/storage_access/storage_access_handle.h"
#include "content/browser/tracing/trace_report/trace_report.mojom.h" #include "content/browser/tracing/trace_report/trace_report.mojom.h"
#include "content/browser/tracing/trace_report/trace_report_internals_ui.h" #include "content/browser/tracing/trace_report/trace_report_internals_ui.h"
@@ -100,7 +102,9 @@ @@ -101,7 +103,9 @@
#include "media/mojo/mojom/media_metrics_provider.mojom.h" #include "media/mojo/mojom/media_metrics_provider.mojom.h"
#include "media/mojo/mojom/media_player.mojom.h" #include "media/mojo/mojom/media_player.mojom.h"
#include "media/mojo/mojom/remoting.mojom.h" #include "media/mojo/mojom/remoting.mojom.h"
@@ -123,7 +123,7 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
#include "media/mojo/mojom/video_decode_perf_history.mojom.h" #include "media/mojo/mojom/video_decode_perf_history.mojom.h"
#include "media/mojo/mojom/video_encoder_metrics_provider.mojom.h" #include "media/mojo/mojom/video_encoder_metrics_provider.mojom.h"
#include "media/mojo/mojom/webrtc_video_perf.mojom.h" #include "media/mojo/mojom/webrtc_video_perf.mojom.h"
@@ -206,7 +210,9 @@ @@ -209,7 +213,9 @@
#else // BUILDFLAG(IS_ANDROID) #else // BUILDFLAG(IS_ANDROID)
#include "content/browser/direct_sockets/direct_sockets_service_impl.h" #include "content/browser/direct_sockets/direct_sockets_service_impl.h"
#include "media/mojo/mojom/renderer_extensions.mojom.h" #include "media/mojo/mojom/renderer_extensions.mojom.h"
@@ -132,7 +132,7 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+#endif +#endif
#include "third_party/blink/public/mojom/hid/hid.mojom.h" #include "third_party/blink/public/mojom/hid/hid.mojom.h"
#include "third_party/blink/public/mojom/installedapp/installed_app_provider.mojom.h" #include "third_party/blink/public/mojom/installedapp/installed_app_provider.mojom.h"
#include "third_party/blink/public/mojom/serial/serial.mojom.h" #endif // BUILDFLAG(IS_ANDROID)
@@ -865,11 +871,13 @@ void PopulateFrameBinders(RenderFrameHos @@ -865,11 +871,13 @@ void PopulateFrameBinders(RenderFrameHos
map->Add<blink::mojom::SharedWorkerConnector>( map->Add<blink::mojom::SharedWorkerConnector>(
base::BindRepeating(&BindSharedWorkerConnector, base::Unretained(host))); base::BindRepeating(&BindSharedWorkerConnector, base::Unretained(host)));
@@ -147,7 +147,7 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
map->Add<blink::mojom::SpeechSynthesis>(base::BindRepeating( map->Add<blink::mojom::SpeechSynthesis>(base::BindRepeating(
&RenderFrameHostImpl::GetSpeechSynthesis, base::Unretained(host))); &RenderFrameHostImpl::GetSpeechSynthesis, base::Unretained(host)));
@@ -1197,6 +1205,7 @@ void PopulateBinderMapWithContext( @@ -1194,6 +1202,7 @@ void PopulateBinderMapWithContext(
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
map->Add<blink::mojom::DirectSocketsService>( map->Add<blink::mojom::DirectSocketsService>(
base::BindRepeating(&DirectSocketsServiceImpl::CreateForFrame)); base::BindRepeating(&DirectSocketsServiceImpl::CreateForFrame));
@@ -155,7 +155,7 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
map->Add<media::mojom::SpeechRecognitionContext>(base::BindRepeating( map->Add<media::mojom::SpeechRecognitionContext>(base::BindRepeating(
&EmptyBinderForFrame<media::mojom::SpeechRecognitionContext>)); &EmptyBinderForFrame<media::mojom::SpeechRecognitionContext>));
map->Add<media::mojom::SpeechRecognitionClientBrowserInterface>( map->Add<media::mojom::SpeechRecognitionClientBrowserInterface>(
@@ -1208,6 +1217,7 @@ void PopulateBinderMapWithContext( @@ -1205,6 +1214,7 @@ void PopulateBinderMapWithContext(
map->Add<media::mojom::MediaPlayerObserverClient>(base::BindRepeating( map->Add<media::mojom::MediaPlayerObserverClient>(base::BindRepeating(
&EmptyBinderForFrame<media::mojom::MediaPlayerObserverClient>)); &EmptyBinderForFrame<media::mojom::MediaPlayerObserverClient>));
#endif #endif
@@ -163,13 +163,11 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
#if BUILDFLAG(ENABLE_UNHANDLED_TAP) #if BUILDFLAG(ENABLE_UNHANDLED_TAP)
map->Add<blink::mojom::UnhandledTapNotifier>(base::BindRepeating( map->Add<blink::mojom::UnhandledTapNotifier>(base::BindRepeating(
&EmptyBinderForFrame<blink::mojom::UnhandledTapNotifier>)); &EmptyBinderForFrame<blink::mojom::UnhandledTapNotifier>));
diff --git a/chromium/content/browser/browser_main_loop.cc b/chromium/content/browser/browser_main_loop.cc --- src/content/browser/browser_main_loop.cc.orig 2025-07-19 11:32:34.193979827 +0200
index aaa752bec61..b3a1ed50d20 100644 +++ src/content/browser/browser_main_loop.cc 2025-07-20 14:51:05.789212478 +0200
--- a/content/browser/browser_main_loop.cc @@ -91,7 +91,9 @@
+++ b/content/browser/browser_main_loop.cc
@@ -87,7 +87,9 @@
#include "content/browser/screenlock_monitor/screenlock_monitor.h"
#include "content/browser/screenlock_monitor/screenlock_monitor_device_source.h" #include "content/browser/screenlock_monitor/screenlock_monitor_device_source.h"
#include "content/browser/service_host/utility_process_host.h"
#include "content/browser/sms/sms_provider.h" #include "content/browser/sms/sms_provider.h"
+#if BUILDFLAG(ENABLE_WEB_SPEECH) +#if BUILDFLAG(ENABLE_WEB_SPEECH)
#include "content/browser/speech/speech_recognition_manager_impl.h" #include "content/browser/speech/speech_recognition_manager_impl.h"
@@ -177,7 +175,7 @@ index aaa752bec61..b3a1ed50d20 100644
#include "content/browser/speech/tts_controller_impl.h" #include "content/browser/speech/tts_controller_impl.h"
#include "content/browser/startup_data_impl.h" #include "content/browser/startup_data_impl.h"
#include "content/browser/startup_task_runner.h" #include "content/browser/startup_task_runner.h"
@@ -1114,12 +1116,14 @@ void BrowserMainLoop::ShutdownThreadsAndCleanUp() { @@ -1162,12 +1164,14 @@ void BrowserMainLoop::ShutdownThreadsAnd
midi_service_->Shutdown(); midi_service_->Shutdown();
} }
@@ -192,7 +190,7 @@ index aaa752bec61..b3a1ed50d20 100644
TtsControllerImpl::GetInstance()->Shutdown(); TtsControllerImpl::GetInstance()->Shutdown();
@@ -1364,13 +1368,14 @@ void BrowserMainLoop::PostCreateThreadsImpl() { @@ -1405,13 +1409,14 @@ void BrowserMainLoop::PostCreateThreadsI
media_stream_manager_ = media_stream_manager_ =
std::make_unique<MediaStreamManager>(audio_system_.get()); std::make_unique<MediaStreamManager>(audio_system_.get());
} }
@@ -235,18 +233,16 @@ index 3a2e713ccc3..6af5afde20e 100644
{wrf::EnableScriptedSpeechSynthesis, switches::kDisableSpeechSynthesisAPI, {wrf::EnableScriptedSpeechSynthesis, switches::kDisableSpeechSynthesisAPI,
false}, false},
{wrf::EnableSharedWorker, switches::kDisableSharedWorkers, false}, {wrf::EnableSharedWorker, switches::kDisableSharedWorkers, false},
diff --git a/chromium/media/BUILD.gn b/chromium/media/BUILD.gn --- src/media/BUILD.gn.orig 2025-07-19 11:32:35.633979930 +0200
index 01e0910666e..6ce78127e3f 100644 +++ src/media/BUILD.gn 2025-07-20 14:51:07.213212462 +0200
--- src/media/BUILD.gn 2025-04-11 12:05:21.244153535 +0200
+++ src/media/BUILD.gn 2025-04-11 19:48:51.764578046 +0200
@@ -61,6 +61,7 @@ buildflag_header("media_buildflags") { @@ -61,6 +61,7 @@ buildflag_header("media_buildflags") {
"ENABLE_MSE_MPEG2TS_STREAM_PARSER=$enable_mse_mpeg2ts_stream_parser", "ENABLE_MSE_MPEG2TS_STREAM_PARSER=$enable_mse_mpeg2ts_stream_parser",
"PLATFORM_HAS_OPTIONAL_HEVC_DECODE_SUPPORT=$platform_has_optional_hevc_decode_support", "PLATFORM_HAS_OPTIONAL_HEVC_DECODE_SUPPORT=$platform_has_optional_hevc_decode_support",
"PLATFORM_HAS_OPTIONAL_HEVC_ENCODE_SUPPORT=$platform_has_optional_hevc_encode_support", "PLATFORM_HAS_OPTIONAL_HEVC_ENCODE_SUPPORT=$platform_has_optional_hevc_encode_support",
+ "ENABLE_WEB_SPEECH=$enable_web_speech", + "ENABLE_WEB_SPEECH=$enable_web_speech",
"USE_ARC_PROTECTED_MEDIA=$use_arc_protected_media", "USE_ARC_PROTECTED_MEDIA=$use_arc_protected_media",
"USE_CHROMEOS_MEDIA_ACCELERATION=$use_vaapi||$use_v4l2_codec",
"USE_CHROMEOS_PROTECTED_AV1=$use_chromeos_protected_av1", "USE_CHROMEOS_PROTECTED_AV1=$use_chromeos_protected_av1",
"USE_CHROMEOS_PROTECTED_MEDIA=$use_chromeos_protected_media",
diff --git a/chromium/media/media_options.gni b/chromium/media/media_options.gni diff --git a/chromium/media/media_options.gni b/chromium/media/media_options.gni
index 5667cac61f3..48ea95a99a6 100644 index 5667cac61f3..48ea95a99a6 100644
--- a/media/media_options.gni --- a/media/media_options.gni

View File

@@ -1,10 +0,0 @@
--- src/third_party/distributed_point_functions/code/dpf/aes_128_fixed_key_hash.cc.old 2024-04-02 11:53:27.644284500 +0200
+++ src/third_party/distributed_point_functions/code/dpf/aes_128_fixed_key_hash.cc 2024-04-02 22:24:29.350771600 +0200
@@ -26,6 +26,7 @@
#include "absl/numeric/int128.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
+#include "absl/strings/str_cat.h"
#include "absl/types/span.h"
#include "openssl/err.h"

View File

@@ -1,27 +0,0 @@
--- src/third_party/distributed_point_functions/code/dpf/internal/evaluate_prg_hwy.cc.old 2024-04-02 11:53:27.644284500 +0200
+++ src/third_party/distributed_point_functions/code/dpf/internal/evaluate_prg_hwy.cc 2024-04-02 22:35:43.377586600 +0200
@@ -50,16 +50,18 @@ namespace hn = hwy::HWY_NAMESPACE;
#if HWY_TARGET == HWY_SCALAR
absl::Status EvaluateSeedsHwy(
- int64_t num_seeds, int num_levels, const absl::uint128* seeds_in,
- const bool* control_bits_in, const absl::uint128* paths,
+ int64_t num_seeds, int num_levels, int num_correction_words,
+ const absl::uint128* seeds_in, const bool* control_bits_in,
+ const absl::uint128* paths, int paths_rightshift,
const absl::uint128* correction_seeds, const bool* correction_controls_left,
const bool* correction_controls_right, const Aes128FixedKeyHash& prg_left,
const Aes128FixedKeyHash& prg_right, absl::uint128* seeds_out,
bool* control_bits_out) {
- return EvaluateSeedsNoHwy(num_seeds, num_levels, seeds_in, control_bits_in,
- paths, correction_seeds, correction_controls_left,
- correction_controls_right, prg_left, prg_right,
- seeds_out, control_bits_out);
+ return EvaluateSeedsNoHwy(
+ num_seeds, num_levels, num_correction_words, seeds_in, control_bits_in,
+ paths, paths_rightshift, correction_seeds, correction_controls_left,
+ correction_controls_right, prg_left, prg_right, seeds_out,
+ control_bits_out);
}
#else

View File

@@ -3,10 +3,10 @@ Do not try to build a private copy of a DLL which is already available on every
--- a/chrome/BUILD.gn --- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -1789,8 +1790,9 @@ @@ -1789,8 +1790,9 @@
deps = [ "//third_party/angle:libGLESv2" ] deps = [ "//third_party/angle:libGLESv2" ]
} }
- if (!is_chromeos) { }
- if (!is_chromeos && angle_shared_libvulkan) {
+ source_set("angle_libvulkan_symbols") {} + source_set("angle_libvulkan_symbols") {}
+ if (false) { + if (false) {
extract_symbols("angle_libvulkan_symbols") { extract_symbols("angle_libvulkan_symbols") {

View File

@@ -1,17 +0,0 @@
Index: electron-16.0.6/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc
===================================================================
--- electron-16.0.6.orig/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc 2022-01-10 16:24:28.724461941 +0100
+++ electron-16.0.6/third_party/blink/renderer/platform/media/multi_buffer_data_source.cc 2022-01-13 16:04:50.310112542 +0100
@@ -63,10 +63,10 @@ const int kUpdateBufferSizeFrequency = 3
constexpr base::TimeDelta kSeekDelay = base::Milliseconds(20);
std::vector<std::string>* GetStreamingSchemes() {
- static base::NoDestructor<std::vector<std::string>> streaming_schemes({
+ static base::NoDestructor<std::vector<std::string>> streaming_schemes{{
url::kHttpsScheme,
url::kHttpScheme
- });
+ }};
return streaming_schemes.get();
}

View File

@@ -10,6 +10,6 @@ Index: electron-17.1.0/third_party/electron_node/common.gypi
+ 'cflags': [ '-I/usr/include/electron' ], + 'cflags': [ '-I/usr/include/electron' ],
+ 'libraries': [ '-lz' ], + 'libraries': [ '-lz' ],
+ }], + }],
[ 'OS in "linux freebsd openbsd solaris aix os400"', { [ 'OS in "linux freebsd openbsd solaris aix os400 openharmony"', {
'cflags': [ '-pthread' ], 'cflags': [ '-pthread' ],
'ldflags': [ '-pthread' ], 'ldflags': [ '-pthread' ],

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad4c8f4276ffce80db7317206ea75a846d66b6e3aab7c00220a4cd771b0b448f
size 749643533

3
electron-37.3.1.tar.zst Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edd5a8f5c9d5b2830aed3b564f239eed1a28c244ab0f5f870014161291a60a53
size 1071121847

View File

@@ -0,0 +1,11 @@
--- src/services/network/public/cpp/ad_auction/event_record.cc.orig 2025-08-15 17:32:28.601405234 +0200
+++ src/services/network/public/cpp/ad_auction/event_record.cc 2025-08-16 10:18:19.106421517 +0200
@@ -49,7 +49,7 @@ std::optional<std::vector<url::Origin>>
const auto it = dict.find("eligible-origins");
if (it == dict.end()) {
// "eligible-origins" is optional, so just return an empty list.
- return {{}};
+ return std::optional<std::vector<url::Origin>>(std::in_place);
}
const net::structured_headers::ParameterizedMember& parameterized_member =
it->second;

View File

@@ -1,15 +0,0 @@
In file included from ../../third_party/blink/renderer/platform/bindings/bigint.cc:7:
../../third_party/blink/renderer/platform/bindings/exception_state.h:136:37: error: constexpr static data member kEmptyContext must have an initializer
136 | static constexpr ExceptionContext kEmptyContext;
--- src/third_party/blink/renderer/platform/bindings/exception_state.h.orig 2025-04-16 14:36:33.017070028 +0200
+++ src/third_party/blink/renderer/platform/bindings/exception_state.h 2025-04-16 20:05:07.925331205 +0200
@@ -133,7 +133,7 @@ class PLATFORM_EXPORT ExceptionState {
// Delegated constructor for DummyExceptionStateForTesting
explicit ExceptionState(DummyExceptionStateForTesting& dummy_derived);
- static constexpr ExceptionContext kEmptyContext;
+ static constexpr ExceptionContext kEmptyContext{};
private:
void SetExceptionInfo(ExceptionCode, const String&);

View File

@@ -1,134 +0,0 @@
From cf0e064ce3b7c6b809861a6d299165b74cce109e Mon Sep 17 00:00:00 2001
From: James Cook <jamescook@chromium.org>
Date: Thu, 22 May 2025 10:23:47 -0700
Subject: [PATCH] extensions: Clean up ENABLE_EXTENSIONS in //extensions
TestRuntimeApiDelegate can be safely added to the build now.
Also, replace ENABLE_EXTENSIONS || ENABLE_DESKTOP_ANDROID_EXTENSIONS
with ENABLE_EXTENSIONS_CORE, to be consistent with the rest of the
codebase.
Bug: 356905053
Change-Id: I616391c2843c6c5e20188803f2a51c6f83165927
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6576511
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1464202}
---
extensions/BUILD.gn | 12 ++----------
extensions/browser/extension_registry.h | 3 +--
extensions/browser/extension_system.h | 3 +--
extensions/browser/test_extensions_browser_client.cc | 12 +-----------
extensions/common/extension.h | 3 +--
5 files changed, 6 insertions(+), 27 deletions(-)
diff --git a/extensions/BUILD.gn b/extensions/BUILD.gn
index 0ea291f16ba70b..586fd7461e4cd9 100644
--- a/extensions/BUILD.gn
+++ b/extensions/BUILD.gn
@@ -111,6 +111,8 @@ static_library("test_support") {
"browser/test_image_loader.h",
"browser/test_management_policy.cc",
"browser/test_management_policy.h",
+ "browser/test_runtime_api_delegate.cc",
+ "browser/test_runtime_api_delegate.h",
"common/extension_builder.cc",
"common/extension_builder.h",
"common/manifest_test.cc",
@@ -198,16 +200,6 @@ static_library("test_support") {
deps += [ "//components/guest_view/browser:test_support" ]
}
- # TODO(https://crbug.com/356905053): The following files don't compile cleanly
- # with desktop-android. Either make them compile, or determine they should
- # not be included and place them under a more appropriate if-block.
- if (enable_extensions) {
- sources += [
- "browser/test_runtime_api_delegate.cc",
- "browser/test_runtime_api_delegate.h",
- ]
- }
-
# Generally, //extensions should not depend on //chromeos. However, a number
# of the APIs and the extensions shell already do. We should try to avoid
# expanding these dependencies.
diff --git a/extensions/browser/extension_registry.h b/extensions/browser/extension_registry.h
index 4ed65fdce8af21..1ee1b70458a068 100644
--- a/extensions/browser/extension_registry.h
+++ b/extensions/browser/extension_registry.h
@@ -19,8 +19,7 @@
#include "extensions/common/extension_id.h"
#include "extensions/common/extension_set.h"
-static_assert(BUILDFLAG(ENABLE_EXTENSIONS) ||
- BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS));
+static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
namespace content {
class BrowserContext;
diff --git a/extensions/browser/extension_system.h b/extensions/browser/extension_system.h
index 369dad723495a4..eccf3b2d331724 100644
--- a/extensions/browser/extension_system.h
+++ b/extensions/browser/extension_system.h
@@ -17,8 +17,7 @@
#include "extensions/common/extension.h"
#include "extensions/common/extension_id.h"
-static_assert(BUILDFLAG(ENABLE_EXTENSIONS) ||
- BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS));
+static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
namespace base {
class OneShotEvent;
diff --git a/extensions/browser/test_extensions_browser_client.cc b/extensions/browser/test_extensions_browser_client.cc
index 88ce18dd343016..f914fae7205f88 100644
--- a/extensions/browser/test_extensions_browser_client.cc
+++ b/extensions/browser/test_extensions_browser_client.cc
@@ -10,6 +10,7 @@
#include "build/chromeos_buildflags.h"
#include "content/public/browser/browser_context.h"
#include "extensions/browser/extension_host_delegate.h"
+#include "extensions/browser/test_runtime_api_delegate.h"
#include "extensions/browser/updater/null_extension_cache.h"
#include "extensions/buildflags/buildflags.h"
#include "extensions/common/extension_id.h"
@@ -17,13 +18,6 @@
#include "services/network/public/mojom/url_loader.mojom.h"
#include "ui/base/l10n/l10n_util.h"
-// TODO(https://crbug.com/356905053): The following files don't compile cleanly
-// with desktop-android. Either make them compile, or determine they should
-// not be included and place them under a more appropriate if-block.
-#if BUILDFLAG(ENABLE_EXTENSIONS)
-#include "extensions/browser/test_runtime_api_delegate.h"
-#endif
-
#if BUILDFLAG(IS_CHROMEOS)
#include "chromeos/ash/components/login/login_state/login_state.h"
#endif
@@ -260,11 +254,7 @@ void TestExtensionsBrowserClient::RegisterBrowserInterfaceBindersForFrame(
std::unique_ptr<RuntimeAPIDelegate>
TestExtensionsBrowserClient::CreateRuntimeAPIDelegate(
content::BrowserContext* context) const {
-#if BUILDFLAG(ENABLE_EXTENSIONS)
return std::unique_ptr<RuntimeAPIDelegate>(new TestRuntimeAPIDelegate());
-#else
- return nullptr;
-#endif
}
const ComponentExtensionResourceManager*
diff --git a/extensions/common/extension.h b/extensions/common/extension.h
index ec776e6207057b..33a196f11a519a 100644
--- a/extensions/common/extension.h
+++ b/extensions/common/extension.h
@@ -29,8 +29,7 @@
#include "url/gurl.h"
#include "url/origin.h"
-static_assert(BUILDFLAG(ENABLE_EXTENSIONS) ||
- BUILDFLAG(ENABLE_DESKTOP_ANDROID_EXTENSIONS));
+static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
namespace extensions {
class HashedExtensionId;

215
ffmpeg-4-AV_PROFILE.patch Normal file
View File

@@ -0,0 +1,215 @@
From 129f48501a7c3fa4236234f2fa0aee490a845b59 Mon Sep 17 00:00:00 2001
From: Thomas Guilbert <tguilbert@chromium.org>
Date: Fri, 2 May 2025 08:58:47 -0700
Subject: [PATCH] Roll src/third_party/ffmpeg/ 01f23648c..dcdd0fa51 (552
commits)
This CL rolls ffmpeg for M138.
This roll includes the removal of many deprecated APIs: some FF_*
macros were consolidated as equivalent AV_* macros under
libavcodec/def.h
https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/01f23648c6b8..dcdd0fa51b65
$ git log 01f23648c..dcdd0fa51 --date=short --no-merges --format='%ad %ae %s'
2025-05-01 tguilbert Remove deprecated av_stream_get_side_data()
2025-05-01 tguilbert README.chromium file
2025-05-01 tguilbert GN Configuration
2025-04-29 jamrial avcodec/cbs_apv: don't return an error when reading empty buffers
2025-04-27 sw fate: Add test for APV 422-10 profile
(...)
2025-03-18 andreas.rheinhardt avcodec/Makefile: Only compile executor when VVC decoder is enabled
2025-03-18 andreas.rheinhardt avcodec/vvc/Makefile: Move VVC decoder->h2645data dep to lavc/Makefile
2025-03-17 ffmpeg ffbuild: use response files only if ar accepts them
2025-03-18 timo avcodec/tableprint_vlc: fix build with --enable-hardcoded-tables
2025-03-18 timo avcodec/Makefile: fix build of exr decoder in odd configs
Created with:
roll-dep src/third_party/ffmpeg
Bug: 415118707
Change-Id: Iae943ce996031d5a6f7dbbd2915ad9cfabadf4d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6506529
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Auto-Submit: Thomas Guilbert <tguilbert@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1455010}
---
DEPS | 2 +-
media/ffmpeg/ffmpeg_common.cc | 44 +++++++++----------
.../filters/ffmpeg_aac_bitstream_converter.cc | 12 ++---
...ffmpeg_aac_bitstream_converter_unittest.cc | 6 +--
third_party/ffmpeg | 2 +-
5 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/DEPS b/DEPS
index b80ab0a6d81811..9b247c02d2a202 100644
--- a/DEPS
+++ b/DEPS
@@ -515,7 +515,7 @@ vars = {
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling ffmpeg
# and whatever else without interference from each other.
- 'ffmpeg_revision': '01f23648c6b84de6c0f717fa4e1816f53b9ee72e',
+ 'ffmpeg_revision': 'dcdd0fa51b65a0b1688ff6b8f0cc81908f09ded2',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling webpagereplay
# and whatever else without interference from each other.
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
index cfd0552ee31088..610be2d37b351f 100644
--- a/media/ffmpeg/ffmpeg_common.cc
+++ b/media/ffmpeg/ffmpeg_common.cc
@@ -263,22 +263,22 @@ AVCodecID VideoCodecToCodecID(VideoCodec video_codec) {
static VideoCodecProfile ProfileIDToVideoCodecProfile(int profile) {
// Clear out the CONSTRAINED & INTRA flags which are strict subsets of the
// corresponding profiles with which they're used.
- profile &= ~FF_PROFILE_H264_CONSTRAINED;
- profile &= ~FF_PROFILE_H264_INTRA;
+ profile &= ~AV_PROFILE_H264_CONSTRAINED;
+ profile &= ~AV_PROFILE_H264_INTRA;
switch (profile) {
- case FF_PROFILE_H264_BASELINE:
+ case AV_PROFILE_H264_BASELINE:
return H264PROFILE_BASELINE;
- case FF_PROFILE_H264_MAIN:
+ case AV_PROFILE_H264_MAIN:
return H264PROFILE_MAIN;
- case FF_PROFILE_H264_EXTENDED:
+ case AV_PROFILE_H264_EXTENDED:
return H264PROFILE_EXTENDED;
- case FF_PROFILE_H264_HIGH:
+ case AV_PROFILE_H264_HIGH:
return H264PROFILE_HIGH;
- case FF_PROFILE_H264_HIGH_10:
+ case AV_PROFILE_H264_HIGH_10:
return H264PROFILE_HIGH10PROFILE;
- case FF_PROFILE_H264_HIGH_422:
+ case AV_PROFILE_H264_HIGH_422:
return H264PROFILE_HIGH422PROFILE;
- case FF_PROFILE_H264_HIGH_444_PREDICTIVE:
+ case AV_PROFILE_H264_HIGH_444_PREDICTIVE:
return H264PROFILE_HIGH444PREDICTIVEPROFILE;
default:
DVLOG(1) << "Unknown profile id: " << profile;
@@ -289,23 +289,23 @@ static VideoCodecProfile ProfileIDToVideoCodecProfile(int profile) {
static int VideoCodecProfileToProfileID(VideoCodecProfile profile) {
switch (profile) {
case H264PROFILE_BASELINE:
- return FF_PROFILE_H264_BASELINE;
+ return AV_PROFILE_H264_BASELINE;
case H264PROFILE_MAIN:
- return FF_PROFILE_H264_MAIN;
+ return AV_PROFILE_H264_MAIN;
case H264PROFILE_EXTENDED:
- return FF_PROFILE_H264_EXTENDED;
+ return AV_PROFILE_H264_EXTENDED;
case H264PROFILE_HIGH:
- return FF_PROFILE_H264_HIGH;
+ return AV_PROFILE_H264_HIGH;
case H264PROFILE_HIGH10PROFILE:
- return FF_PROFILE_H264_HIGH_10;
+ return AV_PROFILE_H264_HIGH_10;
case H264PROFILE_HIGH422PROFILE:
- return FF_PROFILE_H264_HIGH_422;
+ return AV_PROFILE_H264_HIGH_422;
case H264PROFILE_HIGH444PREDICTIVEPROFILE:
- return FF_PROFILE_H264_HIGH_444_PREDICTIVE;
+ return AV_PROFILE_H264_HIGH_444_PREDICTIVE;
default:
DVLOG(1) << "Unknown VideoCodecProfile: " << profile;
}
- return FF_PROFILE_UNKNOWN;
+ return AV_PROFILE_UNKNOWN;
}
SampleFormat AVSampleFormatToSampleFormat(AVSampleFormat sample_format,
@@ -443,7 +443,7 @@ bool AVCodecContextToAudioDecoderConfig(const AVCodecContext* codec_context,
// TODO(dalecurtis): Just use the profile from the codec context if ffmpeg
// ever starts supporting xHE-AAC.
// FFmpeg provides the (defined_profile - 1) for AVCodecContext::profile
- if (codec_context->profile == FF_PROFILE_UNKNOWN ||
+ if (codec_context->profile == AV_PROFILE_UNKNOWN ||
codec_context->profile == mp4::AAC::kXHeAAcType - 1) {
// Errors aren't fatal here, so just drop any MediaLog messages.
NullMediaLog media_log;
@@ -661,16 +661,16 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream,
break;
case VideoCodec::kVP9:
switch (codec_context->profile) {
- case FF_PROFILE_VP9_0:
+ case AV_PROFILE_VP9_0:
profile = VP9PROFILE_PROFILE0;
break;
- case FF_PROFILE_VP9_1:
+ case AV_PROFILE_VP9_1:
profile = VP9PROFILE_PROFILE1;
break;
- case FF_PROFILE_VP9_2:
+ case AV_PROFILE_VP9_2:
profile = VP9PROFILE_PROFILE2;
break;
- case FF_PROFILE_VP9_3:
+ case AV_PROFILE_VP9_3:
profile = VP9PROFILE_PROFILE3;
break;
default:
diff --git a/media/filters/ffmpeg_aac_bitstream_converter.cc b/media/filters/ffmpeg_aac_bitstream_converter.cc
index 7fd37e90b7e475..c00ac262dabb19 100644
--- a/media/filters/ffmpeg_aac_bitstream_converter.cc
+++ b/media/filters/ffmpeg_aac_bitstream_converter.cc
@@ -68,17 +68,17 @@ bool GenerateAdtsHeader(int codec,
hdr[1] |= 1;
switch (audio_profile) {
- case FF_PROFILE_AAC_MAIN:
+ case AV_PROFILE_AAC_MAIN:
break;
- case FF_PROFILE_AAC_HE:
- case FF_PROFILE_AAC_HE_V2:
- case FF_PROFILE_AAC_LOW:
+ case AV_PROFILE_AAC_HE:
+ case AV_PROFILE_AAC_HE_V2:
+ case AV_PROFILE_AAC_LOW:
hdr[2] |= (1 << 6);
break;
- case FF_PROFILE_AAC_SSR:
+ case AV_PROFILE_AAC_SSR:
hdr[2] |= (2 << 6);
break;
- case FF_PROFILE_AAC_LTP:
+ case AV_PROFILE_AAC_LTP:
hdr[2] |= (3 << 6);
break;
default:
diff --git a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
index 0e56a6ea5b5cb4..2a6ccb8c910f6c 100644
--- a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
+++ b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
@@ -41,7 +41,7 @@ class FFmpegAACBitstreamConverterTest : public testing::Test {
// Set up reasonable aac parameters
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
test_parameters_.codec_id = AV_CODEC_ID_AAC;
- test_parameters_.profile = FF_PROFILE_AAC_MAIN;
+ test_parameters_.profile = AV_PROFILE_AAC_MAIN;
test_parameters_.ch_layout.nb_channels = 2;
test_parameters_.extradata = extradata_header_;
test_parameters_.extradata_size = sizeof(extradata_header_);
@@ -131,7 +131,7 @@ TEST_F(FFmpegAACBitstreamConverterTest, Conversion_AudioProfileType) {
EXPECT_EQ(profile, kAacMainProfile);
- test_parameters_.profile = FF_PROFILE_AAC_HE;
+ test_parameters_.profile = AV_PROFILE_AAC_HE;
FFmpegAACBitstreamConverter converter_he(&test_parameters_);
test_packet = ScopedAVPacket::Allocate();
@@ -143,7 +143,7 @@ TEST_F(FFmpegAACBitstreamConverterTest, Conversion_AudioProfileType) {
EXPECT_EQ(profile, kAacLowComplexityProfile);
- test_parameters_.profile = FF_PROFILE_AAC_ELD;
+ test_parameters_.profile = AV_PROFILE_AAC_ELD;
FFmpegAACBitstreamConverter converter_eld(&test_parameters_);
test_packet = ScopedAVPacket::Allocate();

View File

@@ -236,19 +236,6 @@ index 6f231c85729..ca5e5fb927d 100644
frame_length_ = header_plus_packet_size; frame_length_ = header_plus_packet_size;
} }
diff --git a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
index 1fd4c5ccd7d..f59bcd8fdaf 100644
--- a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
+++ b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
@@ -34,7 +34,7 @@ class FFmpegAACBitstreamConverterTest : public testing::Test {
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
test_parameters_.codec_id = AV_CODEC_ID_AAC;
test_parameters_.profile = FF_PROFILE_AAC_MAIN;
- test_parameters_.channels = 2;
+ test_parameters_.ch_layout.nb_channels = 2;
test_parameters_.extradata = extradata_header_;
test_parameters_.extradata_size = sizeof(extradata_header_);
}
diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc
index 6a56c675f7d..4615fdeb3fb 100644 index 6a56c675f7d..4615fdeb3fb 100644
--- a/media/filters/ffmpeg_audio_decoder.cc --- a/media/filters/ffmpeg_audio_decoder.cc
@@ -271,20 +258,6 @@ index 6a56c675f7d..4615fdeb3fb 100644
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED && if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED &&
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE) { config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE) {
channel_layout = CHANNEL_LAYOUT_DISCRETE; channel_layout = CHANNEL_LAYOUT_DISCRETE;
@@ -348,11 +348,11 @@ bool FFmpegAudioDecoder::ConfigureDecoder(const AudioDecoderConfig& config) {
// Success!
av_sample_format_ = codec_context_->sample_fmt;
- if (codec_context_->channels != config.channels()) {
+ if (codec_context_->ch_layout.nb_channels != config.channels()) {
MEDIA_LOG(ERROR, media_log_)
<< "Audio configuration specified " << config.channels()
<< " channels, but FFmpeg thinks the file contains "
- << codec_context_->channels << " channels";
+ << codec_context_->ch_layout.nb_channels << " channels";
ReleaseFFmpegResources();
state_ = DecoderState::kUninitialized;
return false;
@@ -403,7 +403,7 @@ int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s, @@ -403,7 +403,7 @@ int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
if (frame->nb_samples <= 0) if (frame->nb_samples <= 0)
return AVERROR(EINVAL); return AVERROR(EINVAL);

View File

@@ -1,19 +0,0 @@
--- src/chrome/browser/ui/lens/BUILD.gn.orig 2025-04-11 12:05:17.505799730 +0200
+++ src/chrome/browser/ui/lens/BUILD.gn 2025-04-12 13:42:57.195753884 +0200
@@ -276,13 +276,15 @@ source_set("interactive_ui_tests") {
"//components/feature_engagement/public",
"//components/lens:enterprise_policy",
"//components/lens:features",
- "//components/pdf/browser:browser",
"//components/prefs",
"//components/search_engines",
"//components/user_education/views",
"//content/test:test_support",
"//testing/gtest",
]
+ if (enable_pdf) {
+ deps += [ "//components/pdf/browser:browser" ]
+ }
}
source_set("unit_tests") {

View File

@@ -21,53 +21,45 @@
"//services/strings", "//services/strings",
"//services/test/echo/public/mojom", "//services/test/echo/public/mojom",
@@ -8027,7 +8021,6 @@ test("unit_tests") { @@ -8027,7 +8021,6 @@ test("unit_tests") {
#
# Non-android deps for "unit_tests" target. # TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above?
deps += [ deps += [
- "../browser/screen_ai:screen_ai_install_state", - "../browser/screen_ai:screen_ai_install_state",
"//chrome/browser/apps:icon_standardizer", "//chrome/browser/apps:icon_standardizer",
"//chrome/browser/apps/app_service", "//chrome/browser/apps/app_service",
"//chrome/browser/apps/app_service:app_registry_cache_waiter", "//chrome/browser/apps/app_service:app_registry_cache_waiter",
@@ -8172,7 +8165,6 @@ test("unit_tests") { @@ -8172,7 +8165,6 @@ test("unit_tests") {
"//services/device/public/cpp/bluetooth", "//components/webapps/browser",
"//services/metrics/public/cpp:ukm_builders", "//services/metrics/public/cpp:ukm_builders",
"//services/network:test_support", "//services/network:test_support",
- "//services/screen_ai:test_support", - "//services/screen_ai:test_support",
"//services/video_effects/test:test_support",
"//third_party/crashpad/crashpad/util", "//third_party/crashpad/crashpad/util",
"//third_party/libaddressinput", "//third_party/libaddressinput",
"//third_party/lzma_sdk/google:unit_tests",
@@ -8445,7 +8437,6 @@ test("unit_tests") { @@ -8445,7 +8437,6 @@ test("unit_tests") {
"//chrome/browser/push_notification", "//chrome/browser/push_notification",
"//chrome/browser/push_notification:test_support", "//chrome/browser/push_notification:test_support",
"//chrome/browser/push_notification/protos:proto", "//chrome/browser/push_notification/protos:proto",
- "//chrome/browser/screen_ai/public:test_support", - "//chrome/browser/screen_ai/public:test_support",
"//chrome/browser/sharesheet",
"//chrome/browser/smart_card:smart_card", "//chrome/browser/smart_card:smart_card",
"//chrome/browser/task_manager:impl", "//chrome/browser/task_manager:impl",
"//chrome/browser/ui/ash:test_support",
@@ -8591,7 +8582,6 @@ test("unit_tests") {
"//chrome/browser/nearby_sharing/contacts:unit_tests",
"//chrome/browser/nearby_sharing/local_device_data:unit_tests",
"//chrome/browser/policy:unit_tests",
- "//chrome/browser/screen_ai:unit_tests",
"//chrome/browser/smart_card:unit_tests",
"//chrome/browser/support_tool/ash:unit_tests",
"//chrome/browser/ui/ash:unit_tests",
--- src/chrome/browser/BUILD.gn.orig 2025-04-11 12:13:12.927314100 +0200 --- src/chrome/browser/BUILD.gn.orig 2025-04-11 12:13:12.927314100 +0200
+++ src/chrome/browser/BUILD.gn 2025-04-12 13:12:42.819768051 +0200 +++ src/chrome/browser/BUILD.gn 2025-04-12 13:12:42.819768051 +0200
@@ -4228,10 +4228,6 @@ static_library("browser") { @@ -4228,10 +4228,6 @@ static_library("browser") {
"//chrome/browser/metrics/desktop_session_duration",
"//chrome/browser/new_tab_page/chrome_colors", "//chrome/browser/new_tab_page/chrome_colors",
"//chrome/browser/policy:path_parser", "//chrome/browser/policy:path_parser",
"//chrome/browser/resources:component_extension_resources",
- "//chrome/browser/screen_ai:prefs", - "//chrome/browser/screen_ai:prefs",
- "//chrome/browser/screen_ai:screen_ai_install_state", - "//chrome/browser/screen_ai:screen_ai_install_state",
- "//chrome/browser/screen_ai:screen_ai_service_router_factory", - "//chrome/browser/screen_ai:screen_ai_service_router_factory",
- "//chrome/browser/screen_ai/public:optical_character_recognizer", - "//chrome/browser/screen_ai/public:optical_character_recognizer",
"//chrome/browser/search/background", "//chrome/browser/search/background",
"//chrome/browser/sharing_hub",
"//chrome/browser/smart_card", "//chrome/browser/smart_card",
"//chrome/browser/themes",
@@ -4357,9 +4353,6 @@ static_library("browser") { @@ -4357,9 +4353,6 @@ static_library("browser") {
"//components/webauthn/core/browser",
"//components/webauthn/core/browser:passkey_model", "//components/webauthn/core/browser:passkey_model",
"//services/device/public/cpp/bluetooth",
"//services/device/public/cpp/hid", "//services/device/public/cpp/hid",
- "//services/screen_ai", - "//services/screen_ai",
- "//services/screen_ai/public/cpp:utilities", - "//services/screen_ai/public/cpp:utilities",
@@ -96,8 +88,8 @@
"//skia", "//skia",
"//sql", "//sql",
@@ -145,7 +144,6 @@ static_library("utility") { @@ -145,7 +144,6 @@ static_library("utility") {
"//chrome/common/importer:interfaces",
"//components/autofill/core/common", "//components/autofill/core/common",
"//components/user_data_importer/common",
"//services/proxy_resolver:lib", "//services/proxy_resolver:lib",
- "//services/screen_ai", - "//services/screen_ai",
] ]
@@ -114,8 +106,8 @@
] ]
@@ -68,9 +67,6 @@ source_set("screen_ai_service_router_fac @@ -68,9 +67,6 @@ source_set("screen_ai_service_router_fac
"//chrome/browser/profiles:profile",
"//components/keyed_service/core", "//components/keyed_service/core",
"//components/performance_manager:performance_manager",
"//content/public/browser", "//content/public/browser",
- "//services/screen_ai/public/cpp:utilities", - "//services/screen_ai/public/cpp:utilities",
- "//services/screen_ai/public/mojom:factory", - "//services/screen_ai/public/mojom:factory",
@@ -156,7 +148,7 @@
--- src/chrome/browser/ui/BUILD.gn.orig 2025-04-11 12:05:17.331313863 +0200 --- src/chrome/browser/ui/BUILD.gn.orig 2025-04-11 12:05:17.331313863 +0200
+++ src/chrome/browser/ui/BUILD.gn 2025-04-12 13:26:46.759762260 +0200 +++ src/chrome/browser/ui/BUILD.gn 2025-04-12 13:26:46.759762260 +0200
@@ -1705,8 +1705,6 @@ static_library("ui") { @@ -1705,8 +1705,6 @@ static_library("ui") {
"//chrome/browser/reading_list", "//chrome/browser/regional_capabilities",
"//chrome/browser/safe_browsing", "//chrome/browser/safe_browsing",
"//chrome/browser/safe_browsing:advanced_protection", "//chrome/browser/safe_browsing:advanced_protection",
- "//chrome/browser/screen_ai:screen_ai_install_state", - "//chrome/browser/screen_ai:screen_ai_install_state",

View File

@@ -1,40 +0,0 @@
From 09a3abf8f4aca3b00ccbabc860b0819d7e3ea206 Mon Sep 17 00:00:00 2001
From: Yunsik Jung <yunsik.jung@lge.com>
Date: Fri, 21 Mar 2025 08:12:22 -0700
Subject: [PATCH] Fix build error when "enable_video_effects=false" in Linux
kVideoEffects is engaged even when ENABLE_VIDEO_EFFECTS is false.
(https://crrev.com/c/5898146)
However, "video_effects_sandbox_hook_linux.h" is not included when
ENABLE_VIDEO_EFFECTS is false which caused build error.
Thus, include "video_effects_sandbox_hook_linux.h" in Linux regardless
of ENABLE_VIDEO_EFFECTS.
Bug: N/A
Change-Id: If0bb3f1b391a7960ee8ff9ad83d8c858a24cedb5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6380633
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436051}
---
content/utility/utility_main.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/content/utility/utility_main.cc b/content/utility/utility_main.cc
index 7456eab4558962..ffb16be8ce8541 100644
--- a/content/utility/utility_main.cc
+++ b/content/utility/utility_main.cc
@@ -66,9 +66,9 @@
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(ENABLE_VIDEO_EFFECTS) && BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX)
#include "services/video_effects/video_effects_sandbox_hook_linux.h" // nogncheck
-#endif // BUILDFLAG(ENABLE_VIDEO_EFFECTS) && BUILDFLAG(IS_LINUX)
+#endif // BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_CHROMEOS)
#include "chromeos/ash/components/assistant/buildflags.h"

View File

@@ -1,22 +0,0 @@
Index: src/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
===================================================================
--- src.orig/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
+++ src/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
@@ -85,7 +85,7 @@ PipeWireNode::PipeWireNode(PipeWireSessi
.param = OnNodeParam,
};
- pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
+ pw_node_add_listener((struct pw_node*)proxy_, &node_listener_, &node_events, this);
}
// static
@@ -117,7 +117,7 @@ void PipeWireNode::OnNodeInfo(void* data
uint32_t id = info->params[i].id;
if (id == SPA_PARAM_EnumFormat &&
info->params[i].flags & SPA_PARAM_INFO_READ) {
- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
+ pw_node_enum_params((struct pw_node*)that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
break;
}
}

View File

@@ -73,26 +73,26 @@ Use -fpic for code which goes only in dlls (gives smaller code),
sources = [ sources = [
"compression_utils_portable.cc", "compression_utils_portable.cc",
"compression_utils_portable.h", "compression_utils_portable.h",
--- src/ui/qt/BUILD.gn.orig 2025-04-10 19:56:03.150817690 +0200 --- src/ui/qt/BUILD.gn.orig 2025-07-19 11:32:45.537979340 +0200
+++ src/ui/qt/BUILD.gn 2025-04-11 11:42:11.904342754 +0200 +++ src/ui/qt/BUILD.gn 2025-07-19 16:18:57.173759933 +0200
@@ -39,6 +39,8 @@ source_set("qt_interface") { @@ -39,6 +39,8 @@ source_set("qt_interface") {
# target instead. # target instead.
public = [ "qt_interface.h" ] public = [ "qt_interface.h" ]
sources = [ "qt_interface.cc" ] sources = [ "qt_interface.cc" ]
+ cflags = ["-fpic", "-fno-semantic-interposition"] + cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"] + asmflags = ["-fpic", "-fno-semantic-interposition"]
}
template("qt_shim") { # Don't use libc++ modules as this depends on libstdc++.
@@ -99,6 +101,8 @@ template("qt_shim") { use_libcxx_modules = false
@@ -102,6 +104,8 @@ template("qt_shim") {
sources += get_target_outputs(":generate_moc" + invoker.qt_version) sources += get_target_outputs(":generate_moc" + invoker.qt_version)
deps += [ ":generate_moc" + invoker.qt_version ] deps += [ ":generate_moc" + invoker.qt_version ]
} }
+ cflags = ["-fpic", "-fno-semantic-interposition"] + cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"] + asmflags = ["-fpic", "-fno-semantic-interposition"]
}
} # Don't depend on libcxx modules. This binary doesn't depend on the standard
if (use_qt5) { # library in libcxx. Instead it depends on the libcxx in the sysroot, so
--- src/third_party/abseil-cpp/BUILD.gn.old --- src/third_party/abseil-cpp/BUILD.gn.old
+++ src/third_party/abseil-cpp/BUILD.gn +++ src/third_party/abseil-cpp/BUILD.gn
@@ -132,6 +132,8 @@ config("absl_define_config") { @@ -132,6 +132,8 @@ config("absl_define_config") {

View File

@@ -1,63 +0,0 @@
--- src/third_party/blink/renderer/build/scripts/generate_permission_element_grd.py 2025-05-07 19:56:08.225814691 +0200
+++ src/third_party/blink/renderer/build/scripts/generate_permission_element_grd.py 2025-05-09 17:27:22.302946256 +0200
@@ -148,6 +148,18 @@ def generate_grd_file(id_map, file_list,
with open(output_file_path, 'wb') as output_file:
output_file.write(doc.toxml(encoding='UTF-8'))
+# Generate the shortest string containing both `long` and `short` as substrings.
+# The full n-string problem is NP-complete, but we only use a crude greedy heuristic.
+def superstring(long, short):
+ if long.find(short) >= 0:
+ return long
+ for i in range(len(short), 0, -1):
+ if(long[-i:] == short[:i]):
+ return long + short[i:]
+ if(short[-i:] == long[:i]):
+ return short + long[i:]
+ return long + short
+
def generate_cpp_mapping(orderings, input_file_path, output_file_path):
doc = parse(input_file_path)
@@ -161,8 +173,8 @@ def generate_cpp_mapping(orderings, inpu
# this code will use `pt-pt` (Portuguese from Portugal).
custom_locale_mappings = {"en-gb": "en", "pt-pt": "pt", "zh-cn": "zh"}
- langs = ''
- lang_map = {}
+
+ locales = set()
message_map = []
for message in messages:
message_name = message.getAttribute('name')
@@ -171,20 +183,18 @@ def generate_cpp_mapping(orderings, inpu
'_', 1)[1].lower().replace("_", "-")
if locale in custom_locale_mappings:
locale = custom_locale_mappings[locale]
- if locale not in lang_map:
- # String concatenation is inefficientin Python, since strings
- # are immutable. However, maintaining a list of chars and
- # re-implementing find() is also unpleasant.
- langs_idx = langs.find(locale)
- if langs_idx < 0:
- lang_map[locale] = (len(langs), len(locale))
- langs += locale
- else:
- # If locale is already a substring in the existing list,
- # the substring can simply be reused to save some space.
- lang_map[locale] = (langs_idx, len(locale))
+ locales.add(locale) # Need to add all locales at first because iteration order is non-deterministic
message_map.append((locale, base_message, message_name))
+ langs = ''
+ locales = sorted(locales, key=lambda x: (-len(x), x))
+ for locale in locales: # Sort by length so that we add `ab-cd` before `ab` and `cd`
+ langs = superstring(langs, locale)
+
+ lang_map = {}
+ for locale in locales:
+ lang_map[locale] = langs.find(locale), len(locale)
+
output_file.write(kStringMapCcPrefix)
output_file.write(f' "{langs}";\n')
output_file.write(kStringMapCcMidfix)

View File

@@ -0,0 +1,227 @@
--- src/content/public/browser/identity_request_dialog_controller.h.orig 2025-08-15 17:32:26.573405615 +0200
+++ src/content/public/browser/identity_request_dialog_controller.h 2025-08-16 00:53:34.120821675 +0200
@@ -14,7 +14,6 @@
#include "base/memory/ref_counted.h"
#include "content/common/content_export.h"
#include "content/public/browser/identity_request_account.h"
-#include "third_party/blink/public/mojom/webid/federated_auth_request.mojom-forward.h"
#include "third_party/skia/include/core/SkColor.h"
#include "url/gurl.h"
#include "url/origin.h"
@@ -22,35 +21,6 @@
namespace content {
class WebContents;
-// A Java counterpart will be generated for this enum.
-// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.content.webid
-// GENERATED_JAVA_CLASS_NAME_OVERRIDE: IdentityRequestDialogDisclosureField
-enum class IdentityRequestDialogDisclosureField {
- kName,
- kEmail,
- kPicture,
- kPhoneNumber,
- kUsername
-};
-
-// The client metadata that will be used to display a FedCM dialog. This data is
-// extracted from the client metadata endpoint from the FedCM API, where
-// 'client' is essentially the relying party which invoked the API.
-struct CONTENT_EXPORT ClientMetadata {
- ClientMetadata(const GURL& terms_of_service_url,
- const GURL& privacy_policy_url,
- const GURL& brand_icon_url,
- const gfx::Image& brand_decoded_icon);
- ClientMetadata(const ClientMetadata& other);
- ~ClientMetadata();
-
- GURL terms_of_service_url;
- GURL privacy_policy_url;
- GURL brand_icon_url;
- // This will be an empty image if the fetching never happened or if it failed.
- gfx::Image brand_decoded_icon;
-};
-
// The information about an error that will be used to display a FedCM dialog.
// This data is extracted from the error object returned by the identity
// provider when the user attempts to login via the FedCM API and an error
@@ -60,70 +30,6 @@ struct CONTENT_EXPORT IdentityCredential
GURL url;
};
-// The metadata about the identity provider that will be used to display a FedCM
-// dialog. This data is extracted from the config file which is fetched when the
-// FedCM API is invoked.
-struct CONTENT_EXPORT IdentityProviderMetadata {
- IdentityProviderMetadata();
- IdentityProviderMetadata(const IdentityProviderMetadata& other);
- ~IdentityProviderMetadata();
-
- std::optional<SkColor> brand_text_color;
- std::optional<SkColor> brand_background_color;
- GURL brand_icon_url;
- GURL idp_login_url;
- std::string requested_label;
- // For registered IdPs, the type is used to only show the accounts when the
- // RP is compatible.
- std::vector<std::string> types;
- // The token formats that are supported.
- std::vector<std::string> formats;
- // The URL of the configuration endpoint. This is stored in
- // IdentityProviderMetadata so that the UI code can pass it along when an
- // Account is selected by the user.
- GURL config_url;
- // Whether this IdP supports signing in to additional accounts.
- bool supports_add_account{false};
- // Whether this IdP has any filtered out account. This is reset to false each
- // time the accounts dialog is shown and recomputed then.
- bool has_filtered_out_account{false};
- // This will be an empty image if fetching failed.
- gfx::Image brand_decoded_icon;
-};
-
-// This class contains all of the data specific to an identity provider that is
-// going to be used to display a FedCM dialog. This data is gathered from
-// endpoints fetched when the FedCM API is invoked as well as from the
-// parameters provided by the relying party when the API is invoked.
-class CONTENT_EXPORT IdentityProviderData
- : public base::RefCounted<IdentityProviderData> {
- public:
- IdentityProviderData(const std::string& idp_for_display,
- const IdentityProviderMetadata& idp_metadata,
- const ClientMetadata& client_metadata,
- blink::mojom::RpContext rp_context,
- std::optional<blink::mojom::Format> format,
- const std::vector<IdentityRequestDialogDisclosureField>&
- disclosure_fields,
- bool has_login_status_mismatch);
-
- std::string idp_for_display;
- IdentityProviderMetadata idp_metadata;
- ClientMetadata client_metadata;
- blink::mojom::RpContext rp_context;
- std::optional<blink::mojom::Format> format;
- // For which fields should the dialog request permission for (assuming
- // this is for signup).
- std::vector<IdentityRequestDialogDisclosureField> disclosure_fields;
- // Whether there was some login status API mismatch when fetching the IDP's
- // accounts.
- bool has_login_status_mismatch;
-
- private:
- friend class base::RefCounted<IdentityProviderData>;
-
- ~IdentityProviderData();
-};
// The relying party data that will be used to display a FedCM dialog. This data
// is extracted from the website which invoked the API, not from the FedCM
--- src/content/public/browser/identity_request_account.h.orig 2025-08-15 17:32:26.573405615 +0200
+++ src/content/public/browser/identity_request_account.h 2025-08-16 00:53:42.592813124 +0200
@@ -13,13 +13,106 @@
#include "base/time/time.h"
#include "content/common/content_export.h"
#include "third_party/blink/public/common/webid/login_status_account.h"
+#include "third_party/blink/public/mojom/webid/federated_auth_request.mojom-forward.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/image/image.h"
#include "url/gurl.h"
namespace content {
-class IdentityProviderData;
+// A Java counterpart will be generated for this enum.
+// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.content.webid
+// GENERATED_JAVA_CLASS_NAME_OVERRIDE: IdentityRequestDialogDisclosureField
+enum class IdentityRequestDialogDisclosureField {
+ kName,
+ kEmail,
+ kPicture,
+ kPhoneNumber,
+ kUsername
+};
+
+// The client metadata that will be used to display a FedCM dialog. This data is
+// extracted from the client metadata endpoint from the FedCM API, where
+// 'client' is essentially the relying party which invoked the API.
+struct CONTENT_EXPORT ClientMetadata {
+ ClientMetadata(const GURL& terms_of_service_url,
+ const GURL& privacy_policy_url,
+ const GURL& brand_icon_url,
+ const gfx::Image& brand_decoded_icon);
+ ClientMetadata(const ClientMetadata& other);
+ ~ClientMetadata();
+
+ GURL terms_of_service_url;
+ GURL privacy_policy_url;
+ GURL brand_icon_url;
+ // This will be an empty image if the fetching never happened or if it failed.
+ gfx::Image brand_decoded_icon;
+};
+
+// The metadata about the identity provider that will be used to display a FedCM
+// dialog. This data is extracted from the config file which is fetched when the
+// FedCM API is invoked.
+struct CONTENT_EXPORT IdentityProviderMetadata {
+ IdentityProviderMetadata();
+ IdentityProviderMetadata(const IdentityProviderMetadata& other);
+ ~IdentityProviderMetadata();
+
+ std::optional<SkColor> brand_text_color;
+ std::optional<SkColor> brand_background_color;
+ GURL brand_icon_url;
+ GURL idp_login_url;
+ std::string requested_label;
+ // For registered IdPs, the type is used to only show the accounts when the
+ // RP is compatible.
+ std::vector<std::string> types;
+ // The token formats that are supported.
+ std::vector<std::string> formats;
+ // The URL of the configuration endpoint. This is stored in
+ // IdentityProviderMetadata so that the UI code can pass it along when an
+ // Account is selected by the user.
+ GURL config_url;
+ // Whether this IdP supports signing in to additional accounts.
+ bool supports_add_account{false};
+ // Whether this IdP has any filtered out account. This is reset to false each
+ // time the accounts dialog is shown and recomputed then.
+ bool has_filtered_out_account{false};
+ // This will be an empty image if fetching failed.
+ gfx::Image brand_decoded_icon;
+};
+
+// This class contains all of the data specific to an identity provider that is
+// going to be used to display a FedCM dialog. This data is gathered from
+// endpoints fetched when the FedCM API is invoked as well as from the
+// parameters provided by the relying party when the API is invoked.
+class CONTENT_EXPORT IdentityProviderData
+ : public base::RefCounted<IdentityProviderData> {
+ public:
+ IdentityProviderData(const std::string& idp_for_display,
+ const IdentityProviderMetadata& idp_metadata,
+ const ClientMetadata& client_metadata,
+ blink::mojom::RpContext rp_context,
+ std::optional<blink::mojom::Format> format,
+ const std::vector<IdentityRequestDialogDisclosureField>&
+ disclosure_fields,
+ bool has_login_status_mismatch);
+
+ std::string idp_for_display;
+ IdentityProviderMetadata idp_metadata;
+ ClientMetadata client_metadata;
+ blink::mojom::RpContext rp_context;
+ std::optional<blink::mojom::Format> format;
+ // For which fields should the dialog request permission for (assuming
+ // this is for signup).
+ std::vector<IdentityRequestDialogDisclosureField> disclosure_fields;
+ // Whether there was some login status API mismatch when fetching the IDP's
+ // accounts.
+ bool has_login_status_mismatch;
+
+ private:
+ friend class base::RefCounted<IdentityProviderData>;
+
+ ~IdentityProviderData();
+};
// Represents a federated user account which is used when displaying the FedCM
// account selector.

View File

@@ -0,0 +1,25 @@
--- src/tools/json_to_struct/aggregation.py.orig 2025-08-15 17:32:37.009403662 +0200
+++ src/tools/json_to_struct/aggregation.py 2025-08-16 00:58:01.264590353 +0200
@@ -134,7 +134,9 @@ def _GenerateCCArray(type_name: str, agg
Returns:
str: The generated C++ array aggregation code.
"""
- res = f'\nconst auto {aggregation.name} =\n'
+ res = '\n const '
+ res += f'std::array<const {type_name}*, {len(aggregation.elements)}> '
+ res += f'{aggregation.name} =\n'
res += f' std::array<const {type_name}*, {len(aggregation.elements)}>'
res += '({{\n'
@@ -157,7 +159,10 @@ def _GenerateCCMap(type_name: str, aggre
"""
key_type = aggregation.map_key_type
- res = f'\nconst auto {aggregation.name} =\n'
+ res = f'\nconst '
+ res += f'base::fixed_flat_map<{aggregation.map_key_type}, '
+ res += f'const {type_name}*, {len(aggregation.GetSortedMapElements())}> '
+ res += f'{aggregation.name} =\n'
res += f' base::MakeFixedFlatMap<{key_type}, const {type_name}*>'
res += '({\n'

View File

@@ -0,0 +1,88 @@
It makes no sense fixing this since llhttp's code is partly generated.
../../third_party/electron_node/deps/llhttp/src/llhttp.c: In function llhttp__internal__run:
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2645:9: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts
2645 | );
| ^
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2643:11: error: incompatible type for argument 1 of vandq_u16
2643 | vcgeq_u8(input, vdupq_n_u8(' ')),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| uint8x16_t
In file included from ../../third_party/electron_node/deps/llhttp/src/llhttp.c:14:
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1088:23: note: expected uint16x8_t but argument is of type uint8x16_t
1088 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2644:11: error: incompatible type for argument 2 of vandq_u16
2644 | vcleq_u8(input, vdupq_n_u8('~'))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| uint8x16_t
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1088:39: note: expected uint16x8_t but argument is of type uint8x16_t
1088 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2646:26: error: incompatible type for argument 1 of vorrq_u16
2646 | mask = vorrq_u16(mask, single);
| ^~~~
| |
| uint8x16_t
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1200:23: note: expected uint16x8_t but argument is of type uint8x16_t
1200 | vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2646:32: error: incompatible type for argument 2 of vorrq_u16
2646 | mask = vorrq_u16(mask, single);
| ^~~~~~
| |
| uint8x16_t
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1200:39: note: expected uint16x8_t but argument is of type uint8x16_t
1200 | vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2648:11: error: incompatible type for argument 1 of vandq_u16
2648 | vcgeq_u8(input, vdupq_n_u8(0x80)),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| uint8x16_t
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1088:23: note: expected uint16x8_t but argument is of type uint8x16_t
1088 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2649:11: error: incompatible type for argument 2 of vandq_u16
2649 | vcleq_u8(input, vdupq_n_u8(0xff))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| uint8x16_t
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1088:39: note: expected uint16x8_t but argument is of type uint8x16_t
1088 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2651:26: error: incompatible type for argument 1 of vorrq_u16
2651 | mask = vorrq_u16(mask, single);
| ^~~~
| |
| uint8x16_t
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1200:23: note: expected uint16x8_t but argument is of type uint8x16_t
1200 | vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2651:32: error: incompatible type for argument 2 of vorrq_u16
2651 | mask = vorrq_u16(mask, single);
| ^~~~~~
| |
| uint8x16_t
/usr/lib64/gcc/aarch64-suse-linux/15/include/arm_neon.h:1200:39: note: expected uint16x8_t but argument is of type uint8x16_t
1200 | vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
../../third_party/electron_node/deps/llhttp/src/llhttp.c:2652:30: error: incompatible type for argument 1 of vshrn_n_u16
2652 | narrow = vshrn_n_u16(mask, 4);
| ^~~~
| |
| uint8x16_t
--- src/third_party/electron_node/deps/llhttp/unofficial.gni.orig 2025-08-15 17:33:00.577399458 +0200
+++ src/third_party/electron_node/deps/llhttp/unofficial.gni 2025-08-18 17:28:08.494515274 +0200
@@ -19,6 +19,7 @@ template("llhttp_gn_build") {
public_configs = [ ":llhttp_config" ]
include_dirs = [ "include" ]
sources = gypi_values.llhttp_sources
+ cflags = ["-flax-vector-conversions"]
if (is_clang || !is_win) {
cflags_c = [
"-Wno-implicit-fallthrough",

View File

@@ -0,0 +1,19 @@
--- src/base/synchronization/lock_impl_posix.cc.orig 2025-08-15 17:32:21.581406552 +0200
+++ src/base/synchronization/lock_impl_posix.cc 2025-08-15 21:57:54.242385089 +0200
@@ -20,6 +20,8 @@
#include "base/system/sys_info.h"
#include "build/build_config.h"
+
+#if BUILDFLAG(IS_ANDROID)
// On Android, `pthread_mutexattr_setprotocol()` is only defined in bionic
// starting with API level 28. Make it a weak import, so that we can compile.
extern "C" {
@@ -27,6 +29,7 @@ int __attribute__((weak)) pthread_mutexa
pthread_mutexattr_t* _Nonnull __attr,
int __protocol);
}
+#endif
namespace base {

View File

@@ -0,0 +1,25 @@
This code fails to build but is gated by a disabled feature flag, disabling it unconditionally
--- src/components/ip_protection/common/masked_domain_list_manager.cc.orig 2025-08-22 20:17:46.149834100 +0200
+++ src/components/ip_protection/common/masked_domain_list_manager.cc 2025-08-23 01:07:33.078746196 +0200
@@ -41,8 +41,7 @@ using ::masked_domain_list::ResourceOwne
using ::network::mojom::IpProtectionProxyBypassPolicy;
bool UseFlatbuffer() {
- return base::FeatureList::IsEnabled(
- network::features::kMaskedDomainListFlatbufferImpl);
+ return false;
}
bool RestrictTopLevelSiteSchemes(
--- src/components/ip_protection/common/BUILD.gn.orig 2025-08-22 20:17:46.149834100 +0200
+++ src/components/ip_protection/common/BUILD.gn 2025-08-23 01:06:48.134754665 +0200
@@ -479,7 +479,6 @@ source_set("masked_domain_list_manager")
"masked_domain_list_manager.h",
]
public_deps = [
- ":masked_domain_list",
":url_matcher_with_bypass",
"//base",
"//components/privacy_sandbox/masked_domain_list:masked_domain_list_proto",

View File

@@ -1,35 +0,0 @@
From 4ca8cffec2e6dea43de24a6a9d88095b73ab10f4 Mon Sep 17 00:00:00 2001
From: Ivan Murashov <ivan.murashov@lge.com>
Date: Wed, 19 Feb 2025 22:59:45 -0800
Subject: [PATCH] IWYU: Add missing include for std::optional usage in
media_session_uma_helper.h
In the CL https://crrev.com/c/6204145 used std::optional in
the content/browser/media/session/media_session_uma_helper.h,
but corresponding include was missed.
Added missing include for std::optional usage.
Bug: 41455655
Change-Id: I482a496f6f72762f02e8e6e1484a7eae58147148
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6279927
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Ivan Murashov <ivan.murashov@lge.com>
Reviewed-by: Tommy Steimel <steimel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422370}
---
content/browser/media/session/media_session_uma_helper.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/content/browser/media/session/media_session_uma_helper.h b/content/browser/media/session/media_session_uma_helper.h
index 70000267af9687..51dd098826020c 100644
--- a/content/browser/media/session/media_session_uma_helper.h
+++ b/content/browser/media/session/media_session_uma_helper.h
@@ -5,6 +5,8 @@
#ifndef CONTENT_BROWSER_MEDIA_SESSION_MEDIA_SESSION_UMA_HELPER_H_
#define CONTENT_BROWSER_MEDIA_SESSION_MEDIA_SESSION_UMA_HELPER_H_
+#include <optional>
+
#include "base/memory/raw_ptr.h"
#include "base/time/clock.h"
#include "base/time/time.h"

35
node-cares-1.21-4.patch Normal file
View File

@@ -0,0 +1,35 @@
From 2be863be08ff9f16eae6bb907388c354c55c3bfc Mon Sep 17 00:00:00 2001
From: Ethan Arrowood <ethan@arrowood.dev>
Date: Mon, 2 Jun 2025 09:29:36 -0600
Subject: [PATCH] dns: fix dns query cache implementation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
PR-URL: https://github.com/nodejs/node/pull/58404
Refs: https://github.com/nodejs/node/pull/57640
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tim Perry <pimterry@gmail.com>
---
src/cares_wrap.cc | 6 +++---
test/parallel/test-dns.js | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc
index 6290bcd37f3411..5016c3d51dac66 100644
--- a/third_party/electron_node/src/cares_wrap.cc
+++ b/third_party/electron_node/src/cares_wrap.cc
@@ -879,9 +879,9 @@ void ChannelWrap::Setup() {
}
/* We do the call to ares_init_option for caller. */
- const int optmask =
- ARES_OPT_FLAGS | ARES_OPT_TIMEOUTMS |
- ARES_OPT_SOCK_STATE_CB | ARES_OPT_TRIES;
+ const int optmask = ARES_OPT_FLAGS | ARES_OPT_TIMEOUTMS |
+ ARES_OPT_SOCK_STATE_CB | ARES_OPT_TRIES |
+ ARES_OPT_QUERY_CACHE;
r = ares_init_options(&channel_, &options, optmask);
if (r != ARES_SUCCESS) {

View File

@@ -0,0 +1,14 @@
--- src/third_party/blink/renderer/core/dom/node.h.orig 2025-08-15 17:32:29.121405137 +0200
+++ src/third_party/blink/renderer/core/dom/node.h 2025-08-15 23:15:58.713118795 +0200
@@ -1259,9 +1259,9 @@ class CORE_EXPORT Node : public EventTar
private:
static constexpr struct ParentNodeTag {
- } kParentNodeTag;
+ } kParentNodeTag {};
static constexpr struct ShadowHostTag {
- } kShadowHostTag;
+ } kShadowHostTag {};
using TaggedParentOrShadowHostNode =
subtle::TaggedUncompressedMember<Node, ParentNodeTag, ShadowHostTag>;

View File

@@ -1,54 +0,0 @@
From 4454d09e8f7225ec1b576ef86c8705bca63a136c Mon Sep 17 00:00:00 2001
From: Fedor Indutny <238531+indutny@users.noreply.github.com>
Date: Wed, 7 May 2025 07:21:52 -0700
Subject: [PATCH] deps: update llhttp to 9.3.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
llhttp@9.3.0 optimizes header value parsing on ARM Neon/WASM, and adds
support for a protocol callback for use outside of the typical HTTP
setting (RTSP/ICE).
PR-URL: https://github.com/nodejs/node/pull/58144
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
---
deps/llhttp/CMakeLists.txt | 7 +-
deps/llhttp/LICENSE | 22 +
deps/llhttp/README.md | 9 +-
deps/llhttp/include/llhttp.h | 10 +-
deps/llhttp/libllhttp.pc.in | 8 +-
deps/llhttp/src/api.c | 45 +-
deps/llhttp/src/llhttp.c | 2841 ++++++++---------
src/node_http_parser.cc | 6 +
test/parallel/test-http-client-parse-error.js | 2 +-
9 files changed, 1459 insertions(+), 1491 deletions(-)
create mode 100644 deps/llhttp/LICENSE
diff --git a/src/node_http_parser.cc b/src/node_http_parser.cc
index acebdd952eb943..25aa204ee2c851 100644
--- a/third_party/electron_node/src/node_http_parser.cc
+++ b/third_party/electron_node/src/node_http_parser.cc
@@ -1204,6 +1204,10 @@ void ConnectionsList::Expired(const FunctionCallbackInfo<Value>& args) {
const llhttp_settings_t Parser::settings = {
Proxy<Call, &Parser::on_message_begin>::Raw,
+
+ // on_protocol
+ nullptr,
+
Proxy<DataCall, &Parser::on_url>::Raw,
Proxy<DataCall, &Parser::on_status>::Raw,
@@ -1223,6 +1227,8 @@ const llhttp_settings_t Parser::settings = {
Proxy<DataCall, &Parser::on_body>::Raw,
Proxy<Call, &Parser::on_message_complete>::Raw,
+ // on_protocol_complete
+ nullptr,
// on_url_complete
nullptr,
// on_status_complete

78
node-nghttp-1.50.patch Normal file
View File

@@ -0,0 +1,78 @@
From 02a1505efcf7099498240e83327f7c0d71696f47 Mon Sep 17 00:00:00 2001
From: Carlos Fuentes <me@metcoder.dev>
Date: Thu, 5 Jun 2025 14:30:07 +0200
Subject: [PATCH] http2: add lenient flag for RFC-9113
PR-URL: https://github.com/nodejs/node/pull/58116
Reviewed-By: Tim Perry <pimterry@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
---
doc/api/http2.md | 12 +++
lib/internal/http2/util.js | 10 ++-
src/node_http2.cc | 6 ++
src/node_http2_state.h | 1 +
.../test-http2-server-rfc-9113-client.js | 80 ++++++++++++++++++
.../test-http2-server-rfc-9113-server.js | 83 +++++++++++++++++++
.../test-http2-util-update-options-buffer.js | 6 +-
7 files changed, 196 insertions(+), 2 deletions(-)
create mode 100644 test/parallel/test-http2-server-rfc-9113-client.js
create mode 100644 test/parallel/test-http2-server-rfc-9113-server.js
diff --git a/lib/internal/http2/util.js b/lib/internal/http2/util.js
index 75312e5aa57c5f..396623d3b9d06f 100644
--- a/third_party/electron_node/lib/internal/http2/util.js
+++ b/third_party/electron_node/lib/internal/http2/util.js
@@ -229,7 +229,8 @@ const IDX_OPTIONS_MAX_SESSION_MEMORY = 8;
const IDX_OPTIONS_MAX_SETTINGS = 9;
const IDX_OPTIONS_STREAM_RESET_RATE = 10;
const IDX_OPTIONS_STREAM_RESET_BURST = 11;
-const IDX_OPTIONS_FLAGS = 12;
+const IDX_OPTIONS_STRICT_HTTP_FIELD_WHITESPACE_VALIDATION = 12;
+const IDX_OPTIONS_FLAGS = 13;
function updateOptionsBuffer(options) {
let flags = 0;
@@ -293,6 +294,13 @@ function updateOptionsBuffer(options) {
optionsBuffer[IDX_OPTIONS_STREAM_RESET_BURST] =
MathMax(1, options.streamResetBurst);
}
+
+ if (typeof options.strictFieldWhitespaceValidation === 'boolean') {
+ flags |= (1 << IDX_OPTIONS_STRICT_HTTP_FIELD_WHITESPACE_VALIDATION);
+ optionsBuffer[IDX_OPTIONS_STRICT_HTTP_FIELD_WHITESPACE_VALIDATION] =
+ options.strictFieldWhitespaceValidation === true ? 0 : 1;
+ }
+
optionsBuffer[IDX_OPTIONS_FLAGS] = flags;
}
diff --git a/src/node_http2.cc b/src/node_http2.cc
index 449ecdba807945..8e51129930f2cd 100644
--- a/third_party/electron_node/src/node_http2.cc
+++ b/third_party/electron_node/src/node_http2.cc
@@ -159,6 +159,12 @@ Http2Options::Http2Options(Http2State* http2_state, SessionType type) {
buffer[IDX_OPTIONS_PEER_MAX_CONCURRENT_STREAMS]);
}
+ // Validate headers in accordance to RFC-9113
+ if (flags & (1 << IDX_OPTIONS_STRICT_HTTP_FIELD_WHITESPACE_VALIDATION)) {
+ nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation(
+ option, buffer[IDX_OPTIONS_STRICT_HTTP_FIELD_WHITESPACE_VALIDATION]);
+ }
+
// The padding strategy sets the mechanism by which we determine how much
// additional frame padding to apply to DATA and HEADERS frames. Currently
// this is set on a per-session basis, but eventually we may switch to
diff --git a/src/node_http2_state.h b/src/node_http2_state.h
index 2957a2827f370e..914ad011e021f1 100644
--- a/third_party/electron_node/src/node_http2_state.h
+++ b/third_party/electron_node/src/node_http2_state.h
@@ -60,6 +60,7 @@ namespace http2 {
IDX_OPTIONS_MAX_SETTINGS,
IDX_OPTIONS_STREAM_RESET_RATE,
IDX_OPTIONS_STREAM_RESET_BURST,
+ IDX_OPTIONS_STRICT_HTTP_FIELD_WHITESPACE_VALIDATION,
IDX_OPTIONS_FLAGS
};

27
node-version-ck.patch Normal file
View File

@@ -0,0 +1,27 @@
author: Andres Salomon <dilinger@debian.org>
description: disable the node version check
https://chromium-review.googlesource.com/c/chromium/src/+/6334038 added
a node version check, but we don't want that as we're using debian's
packaged node.
--- a/third_party/node/node.gni
+++ b/third_party/node/node.gni
@@ -44,7 +44,6 @@ template("node") {
if (!defined(deps)) {
deps = []
}
- deps += [ "//third_party/node:check_version" ]
}
}
}
--- a/third_party/protobuf/proto_library.gni
+++ b/third_party/protobuf/proto_library.gni
@@ -562,7 +562,6 @@ template("proto_library") {
_protoc_gen_ts_path,
"//tools/protoc_wrapper/protoc-gen-ts_proto.py",
] + _protoc_gen_ts_runtime_deps
- deps += [ "//third_party/node:check_version" ]
}
if (_generate_with_plugin) {

View File

@@ -1,3 +1,101 @@
-------------------------------------------------------------------
Sat Aug 23 18:11:15 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com>
- Update to 37.3.1 (bsc#1248464)
* Chromium 138.0.7204.235
* Node 22.18.0
* V8 13.8
* Added scriptURL property to ServiceWorkerMain.
* Added a CSS rule for smooth corners.
* Utility Process unhandled rejection behavior change
* process.exit() kills utility process synchronously
* WebUSB and WebSerial Blocklist Support
* Removed: null value for session property in ProtocolResponse
* BrowserWindow.IsVisibleOnAllWorkspaces() on Linux
* see https://www.electronjs.org/blog/electron-37-0
and https://github.com/electron/electron/releases/tag/v37.0.0 for more
- Leap 15.6: use bundled aom
* drop aom3.10-AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR.patch
* drop aom3.10-AV1E_SET_AUTO_TILES.patch
* drop webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch
* drop webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR-2.patch
- Fedora <=42: use bundled llhttp
- Fedora: use bundled simdutf
- Merge MakeSbixTypeface-null-pointer-call.patch into chromium-130-fontations.patch'
- drop no longer needed patches
* build-without-speech-service.patch
* content_browser_client-incomplete-WebUIController.patch
* css_shape_value-constructor.patch
* disable-devtools-tests.patch
* distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
* distributed_point_functions-evaluate_prg_hwy-signature.patch
* electron-13-blink-gcc-ambiguous-nodestructor.patch
* exception_state-constexpr-initializer.patch
* extensions-common-assert.patch
* fix-building-with-pipewire-1.3.82.patch
* fix-build-without-pdf.patch
* fix-build-without-video-effects.patch
* html_permission_element_strings_map-reproducible.patch
* MakeSbixTypeface-null-pointer-call.patch
* media_session_uma_helper-missing-optional.patch
* node-llhttp9.3.patch
* object_paint_properties-explicit-specialization-in-non-namespace-scope.patch
* perfetto-ThreadTrack-Current-null-dereference.patch
* picture_in_picture_window_manager_uma_helper-missing-optional.patch
* plugin_utils-build-without-electron_extensions.patch
* python3.14-nodedownload-FancyURLopener.patch
* raw_ptr-fpermissive.patch
* resource_response-Wchanges-meaning.patch
* resource-Wchanges-meaning.patch
* string-hasher-flax-vector-conversions.patch
* string_truncator-convert.patch
* style_scope-unqualified-To.patch
* system-simdutf.patch
* to_vector-std-projected-gcc119888.patch
* unexportable_key_service_impl-Wlto-type-mismatch.patch
* xml_document_parser-Wmissing-template-keyword.patch
- Conditionally revert upstream changes to fix build on 15.6
* ffmpeg-4-AV_PROFILE.patch
* node-cares-1.21-4.patch
* node-nghttp-1.50.patch
* v8-highway-1.1.patch
- Add patches to fix build errors
* angle-BlobCache-Success.patch
* llhttp-lax-vector-conversions.patch
* masked_domain_list-flatbuffers.patch
* node-version-ck.patch
* partition_alloc-strict-aliasing.patch
* remove-probabilistic-token-which-uses-private-join-and-compute.patch
* system-dragonbox.patch
- Add patches that should be upstreamed
* ANNOTATE_CONTIGUOUS_CONTAINER-Wodr.patch
* event_record-optional-initializer.patch
* identity_request_account-incomplete-IdentityProviderData.patch
* json_to_struct-fixed_flat_map-conflicting-declaration.patch
* lock_impl_posix-pthread_mutexattr_setprotocol-conflicting.patch
* node-kParentNodeTag-constexpr-initializer.patch
* offscreen_canvas-incomplete-LayoutLocale.patch
* pickle_traits-kIndexSequence-constexpr-initializer.patch
* picture_in_picture_events_info-string-constexpr.patch
* sandboxed_vfs_file_impl-missing-memset.patch
* v8-simd-flax-vector-conversions.patch
* webgl_rendering_context_webgpu_base-incomplete-StaticBitmapImage.patch
* webrtc-138-Wchanges-meaning.patch
* xr_webgl_swap_chain-incomplete-StaticBitmapImage.patch
-------------------------------------------------------------------
Tue Aug 19 17:11:54 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 35.7.5
* Fixed an issue where shell.openPath was not non-blocking as expected.
- Leap 16: compile v8 code with x86-64-v2 instructions since the system requires them
* v8-assume-x86-64-v2-support.patch
-------------------------------------------------------------------
Wed Aug 13 16:54:43 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com>
- Fix build on Leap 16
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jul 11 17:53:15 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com> Fri Jul 11 17:53:15 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com>

View File

@@ -20,7 +20,7 @@
%define mod_name electron %define mod_name electron
# https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json # https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
%define abi_version 133 %define abi_version 136
# Do not provide libEGL.so, etc… # Do not provide libEGL.so, etc…
%define __provides_exclude ^lib.*\\.so.*$ %define __provides_exclude ^lib.*\\.so.*$
@@ -74,31 +74,43 @@ ExcludeArch: %arm
%bcond_with system_yuv %bcond_with system_yuv
#CPU level. Leap 16 requires x86-64-v2 so we may force it inside V8.
%if 0%{?suse_version} >= 1550 && 0%{?suse_version} < 1650
%bcond_without v2
%else
%bcond_with v2
%endif
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora}
%bcond_without system_vpx %bcond_without system_vpx
%bcond_without system_aom
%bcond_without bro_11 %bcond_without bro_11
%bcond_without ffmpeg_6 %bcond_without ffmpeg_6
%bcond_without system_vk_headers %bcond_without system_vk_headers
%bcond_without spirv_2024 %bcond_without spirv_2024
%bcond_without cares_21 %bcond_without cares_21
%bcond_without nghttp_50
%bcond_without highway_1_1
%else %else
%bcond_with system_vpx %bcond_with system_vpx
%bcond_with system_aom
%bcond_with bro_11 %bcond_with bro_11
%bcond_with ffmpeg_6 %bcond_with ffmpeg_6
%bcond_with system_vk_headers %bcond_with system_vk_headers
%bcond_with spirv_2024 %bcond_with spirv_2024
%bcond_with cares_21 %bcond_with cares_21
%bcond_with nghttp_50
%bcond_with highway_1_1
%endif %endif
%if 0%{?fedora} %if 0%{?fedora}
%bcond_without system_llhttp
%bcond_without system_histogram %bcond_without system_histogram
%bcond_without system_simdjson %bcond_without system_simdjson
%else %else
%bcond_with system_llhttp
%bcond_with system_histogram %bcond_with system_histogram
%bcond_with system_simdjson %bcond_with system_simdjson
%endif %endif
@@ -111,17 +123,13 @@ ExcludeArch: %arm
%endif %endif
%if 0%{?fedora} >= 43 %if 0%{?fedora} >= 43
%bcond_without llhttp_93 %bcond_without system_llhttp
%else %else
%bcond_with llhttp_93 %bcond_with system_llhttp
%endif %endif
# requires `base64_options` # requires built with `SIMDUTF_ATOMIC_REF`
%if 0%{?fedora} >= 42
%bcond_without system_simdutf
%else
%bcond_with system_simdutf %bcond_with system_simdutf
%endif
%if 0%{?fedora} && 0%{?fedora} < 42 %if 0%{?fedora} && 0%{?fedora} < 42
%bcond_without system_vma %bcond_without system_vma
@@ -132,10 +140,8 @@ ExcludeArch: %arm
# Some chromium code assumes absl::string_view is a typedef for std::string_view. This is not true on GCC7 systems such as Leap. # Some chromium code assumes absl::string_view is a typedef for std::string_view. This is not true on GCC7 systems such as Leap.
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora}
%bcond_without system_abseil %bcond_without system_abseil
%bcond_without aom_38
%else %else
%bcond_with system_abseil %bcond_with system_abseil
%bcond_with aom_38
%endif %endif
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >= 41 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} >= 41
@@ -180,7 +186,7 @@ ExcludeArch: %arm
Name: nodejs-electron Name: nodejs-electron
Version: 35.7.0 Version: 37.3.1
%global tag_version %version %global tag_version %version
Release: 0 Release: 0
Summary: Build cross platform desktop apps with JavaScript, HTML, and CSS Summary: Build cross platform desktop apps with JavaScript, HTML, and CSS
@@ -198,20 +204,20 @@ Source400: ffmpeg-new-channel-layout.patch
Source401: audio_file_reader-ffmpeg-AVFrame-duration.patch Source401: audio_file_reader-ffmpeg-AVFrame-duration.patch
Source402: Cr122-ffmpeg-new-channel-layout.patch Source402: Cr122-ffmpeg-new-channel-layout.patch
Source403: ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch Source403: ffmpeg-7-ffmpeg_video_decoder-reordered_opaque.patch
# and against aom 3.9 Source404: ffmpeg-4-AV_PROFILE.patch
Source410: aom3.10-AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR.patch
Source411: aom3.10-AV1E_SET_AUTO_TILES.patch
Source412: webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch
Source413: webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR-2.patch
# and abseil 2407 # and abseil 2407
Source461: webrtc-make_ref_counted-absl2024-nullability.patch Source461: webrtc-make_ref_counted-absl2024-nullability.patch
# and c-ares 1.19 # and c-ares 1.19
Source470: node-cares-1.21.patch Source470: node-cares-1.21.patch
Source471: node-cares-1.21-2.patch Source471: node-cares-1.21-2.patch
Source472: node-cares-1.21-3.patch Source472: node-cares-1.21-3.patch
Source473: node-cares-1.21-4.patch
# and spirv 2023 # and spirv 2023
Source480: angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch Source480: angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch
#and nghttp 1.40
Source490: node-nghttp-1.50.patch
#and highway 1.0
Source500: v8-highway-1.1.patch
# PATCHES for openSUSE-specific things (compiler flags, paths, etc.) # PATCHES for openSUSE-specific things (compiler flags, paths, etc.)
@@ -237,6 +243,11 @@ Patch97: chromium-127-cargo_crate.patch
Patch98: gn-logspam-breaks-install.patch Patch98: gn-logspam-breaks-install.patch
Patch99: torque-debuginfo.patch Patch99: torque-debuginfo.patch
Patch100: reduce-gn-tree.patch Patch100: reduce-gn-tree.patch
%if %{with v2}
Patch101: v8-assume-x86-64-v2-support.patch
%else
Source101: v8-assume-x86-64-v2-support.patch
%endif
# PATCHES that remove code we don't want. Most of them can be reused verbatim by other distributors, # PATCHES that remove code we don't want. Most of them can be reused verbatim by other distributors,
@@ -248,7 +259,6 @@ Patch570: disable-fuses.patch
# https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?h=102-based&id=d617766b236a93749ddbb50b75573dd35238ffc9 # https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?h=102-based&id=d617766b236a93749ddbb50b75573dd35238ffc9
Patch573: disable-webspeech.patch Patch573: disable-webspeech.patch
# https://sources.debian.org/patches/chromium/108.0.5359.124-1/disable/tests.patch/ # https://sources.debian.org/patches/chromium/108.0.5359.124-1/disable/tests.patch/
Patch576: disable-devtools-tests.patch
Patch581: disable-tests.patch Patch581: disable-tests.patch
Patch583: remove-rust.patch Patch583: remove-rust.patch
Patch585: remove-dawn.patch Patch585: remove-dawn.patch
@@ -258,7 +268,6 @@ Patch589: remove-puffin.patch
Patch590: remove-sync.patch Patch590: remove-sync.patch
Patch592: fix-build-without-supervised-users.patch Patch592: fix-build-without-supervised-users.patch
Patch593: fix-build-without-screen-ai.patch Patch593: fix-build-without-screen-ai.patch
Patch594: build-without-speech-service.patch
#patches disabling rust features from Gentoo: https://data.gpo.zugaina.org/pf4public/dev-util/electron/files/ #patches disabling rust features from Gentoo: https://data.gpo.zugaina.org/pf4public/dev-util/electron/files/
Patch595: chromium-123-qrcode.patch Patch595: chromium-123-qrcode.patch
Patch596: chromium-130-fontations.patch Patch596: chromium-130-fontations.patch
@@ -266,7 +275,6 @@ Patch597: chromium-125-cloud_authenticator.patch
Patch598: chromium-127-crabby.patch Patch598: chromium-127-crabby.patch
Patch599: chromium-132-no-rust.patch Patch599: chromium-132-no-rust.patch
#End gentoo patches #End gentoo patches
Patch601: MakeSbixTypeface-null-pointer-call.patch
Patch602: remove-ai-language-detection-factory-which-requires-tflite-and-libphonenumber.patch Patch602: remove-ai-language-detection-factory-which-requires-tflite-and-libphonenumber.patch
Patch603: build-without-mesage-center.patch Patch603: build-without-mesage-center.patch
Patch604: disable-avif-really.patch Patch604: disable-avif-really.patch
@@ -274,6 +282,8 @@ Patch605: permission-gcc14.2.patch
Patch606: build-without-extensions.patch Patch606: build-without-extensions.patch
Patch607: build-without-guest-view.patch Patch607: build-without-guest-view.patch
Patch608: vaapi-no-encoders.patch Patch608: vaapi-no-encoders.patch
Patch609: remove-probabilistic-token-which-uses-private-join-and-compute.patch
Patch610: masked_domain_list-flatbuffers.patch
@@ -296,7 +306,6 @@ Patch1072: node-system-icu.patch
Patch1073: system-nasm.patch Patch1073: system-nasm.patch
Patch1074: no-zlib-headers.patch Patch1074: no-zlib-headers.patch
Patch1077: system-wayland.patch Patch1077: system-wayland.patch
Patch1078: system-simdutf.patch
Patch1079: system-libm.patch Patch1079: system-libm.patch
Patch1085: webp-no-sharpyuv.patch Patch1085: webp-no-sharpyuv.patch
Patch1086: zip_internal-missing-uLong-Z_DEFAULT_COMPRESSION.patch Patch1086: zip_internal-missing-uLong-Z_DEFAULT_COMPRESSION.patch
@@ -308,6 +317,8 @@ Patch1092: fix-system-highway.patch
Patch1093: system-sqlite.patch Patch1093: system-sqlite.patch
Patch1094: absl_strings-missing-headers.patch Patch1094: absl_strings-missing-headers.patch
Patch1095: system-zstd-in-node.patch Patch1095: system-zstd-in-node.patch
Patch1036: node-version-ck.patch
Patch1037: system-dragonbox.patch
# PATCHES to fix interaction with third-party software # PATCHES to fix interaction with third-party software
@@ -331,18 +342,14 @@ Patch2059: disable-FFmpegAllowLists.patch
Patch2060: chromium-129-disable-H.264-video-parser-during-demuxing.patch Patch2060: chromium-129-disable-H.264-video-parser-during-demuxing.patch
Patch2061: private_aggregation_host-uint128.patch Patch2061: private_aggregation_host-uint128.patch
Patch2062: wayland_version.patch Patch2062: wayland_version.patch
Patch2063: fix-building-with-pipewire-1.3.82.patch
#Conditionably disable feature which requires new highway #Conditionably disable feature which requires new highway
Patch2064: blink-shape_result-highway.patch Patch2064: blink-shape_result-highway.patch
%if %{with system_llhttp} && %{with llhttp_93} #Patch2065: node-llhttp9.3.patch
Patch2065: node-llhttp9.3.patch Patch2066: angle-BlobCache-Success.patch
%else Patch2067: partition_alloc-strict-aliasing.patch
Source2065: node-llhttp9.3.patch Patch2068: llhttp-lax-vector-conversions.patch
%endif
# PATCHES that should be submitted upstream verbatim or near-verbatim # PATCHES that should be submitted upstream verbatim or near-verbatim
# Fix blink nodestructor
Patch3023: electron-13-blink-gcc-ambiguous-nodestructor.patch
Patch3027: electron-16-freetype-visibility-list.patch Patch3027: electron-16-freetype-visibility-list.patch
Patch3028: electron-16-third_party-symbolize-missing-include.patch Patch3028: electron-16-third_party-symbolize-missing-include.patch
# From https://git.droidware.info/wchen342/ungoogled-chromium-fedora # From https://git.droidware.info/wchen342/ungoogled-chromium-fedora
@@ -352,39 +359,29 @@ Patch3096: remove-date-reproducible-builds.patch
Patch3133: swiftshader-llvm18-LLVMReactor-getInt8PtrTy.patch Patch3133: swiftshader-llvm18-LLVMReactor-getInt8PtrTy.patch
Patch3134: swiftshader-llvm18-LLVMJIT-Host.patch Patch3134: swiftshader-llvm18-LLVMJIT-Host.patch
Patch3135: swiftshader-llvm18-LLVMJIT-CodeGenOptLevel.patch Patch3135: swiftshader-llvm18-LLVMJIT-CodeGenOptLevel.patch
Patch3138: distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch
Patch3144: mt21_util-flax-vector-conversions.patch Patch3144: mt21_util-flax-vector-conversions.patch
Patch3151: distributed_point_functions-evaluate_prg_hwy-signature.patch
Patch3174: swiftshader-llvm19-LLVMJIT-getHostCPUFeatures.patch Patch3174: swiftshader-llvm19-LLVMJIT-getHostCPUFeatures.patch
Patch3175: swiftshader-llvm19-LLVMReactor-incomplete-Module.patch Patch3175: swiftshader-llvm19-LLVMReactor-incomplete-Module.patch
Patch3185: bsc1224178-font-gc.patch Patch3185: bsc1224178-font-gc.patch
Patch3186: string_view-incomplete-CodePointIterator.patch Patch3186: string_view-incomplete-CodePointIterator.patch
Patch3187: swiftshader-llvm20-absoluteSymbols.patch Patch3187: swiftshader-llvm20-absoluteSymbols.patch
Patch3188: fix-build-without-pdf.patch
Patch3189: raw_ptr-fpermissive.patch
Patch3190: exception_state-constexpr-initializer.patch
Patch3191: resource_response-Wchanges-meaning.patch
Patch3192: perfetto-ThreadTrack-Current-null-dereference.patch
Patch3193: resource-Wchanges-meaning.patch
Patch3194: string_truncator-convert.patch
Patch3195: object_paint_properties-explicit-specialization-in-non-namespace-scope.patch
Patch3196: css_shape_value-constructor.patch
Patch3197: xml_document_parser-Wmissing-template-keyword.patch
Patch3198: ax_platform_node_id-fpermissive.patch Patch3198: ax_platform_node_id-fpermissive.patch
Patch3199: style_scope-unqualified-To.patch
Patch3200: content_browser_client-incomplete-WebUIController.patch
Patch3201: fix-build-without-video-effects.patch
Patch3202: media_session_uma_helper-missing-optional.patch
Patch3203: picture_in_picture_window_manager_uma_helper-missing-optional.patch
Patch3204: browser_process_impl-fix-safe_browsing_mode-0.patch Patch3204: browser_process_impl-fix-safe_browsing_mode-0.patch
Patch3205: plugin_utils-build-without-electron_extensions.patch
Patch3206: string-hasher-flax-vector-conversions.patch
Patch3207: unexportable_key_service_impl-Wlto-type-mismatch.patch
Patch3208: to_vector-std-projected-gcc119888.patch
Patch3209: file_dialog-missing-uint32_t.patch Patch3209: file_dialog-missing-uint32_t.patch
Patch3211: html_permission_element_strings_map-reproducible.patch Patch3210: webrtc-138-Wchanges-meaning.patch
Patch3212: extensions-common-assert.patch Patch3211: sandboxed_vfs_file_impl-missing-memset.patch
Patch3213: python3.14-nodedownload-FancyURLopener.patch Patch3212: lock_impl_posix-pthread_mutexattr_setprotocol-conflicting.patch
Patch3213: node-kParentNodeTag-constexpr-initializer.patch
Patch3214: pickle_traits-kIndexSequence-constexpr-initializer.patch
Patch3215: offscreen_canvas-incomplete-LayoutLocale.patch
Patch3216: identity_request_account-incomplete-IdentityProviderData.patch
Patch3217: xr_webgl_swap_chain-incomplete-StaticBitmapImage.patch
Patch3218: json_to_struct-fixed_flat_map-conflicting-declaration.patch
Patch3219: webgl_rendering_context_webgpu_base-incomplete-StaticBitmapImage.patch
Patch3220: picture_in_picture_events_info-string-constexpr.patch
Patch3221: event_record-optional-initializer.patch
Patch3222: ANNOTATE_CONTIGUOUS_CONTAINER-Wodr.patch
Patch3223: v8-simd-flax-vector-conversions.patch
# Patches to re-enable upstream force disabled features. # 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. # There's no sense in submitting them but they may be reused as-is by other packagers.
@@ -398,6 +395,7 @@ BuildRequires: c-ares-devel >= 1.21
BuildRequires: cmake(Crc32c) BuildRequires: cmake(Crc32c)
BuildRequires: double-conversion-devel BuildRequires: double-conversion-devel
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: dragonbox-devel
%if 0%{?fedora} %if 0%{?fedora}
BuildRequires: flatbuffers-compiler BuildRequires: flatbuffers-compiler
%endif %endif
@@ -416,21 +414,14 @@ BuildRequires: libatomic
%if %{with system_ada} %if %{with system_ada}
BuildRequires: cmake(ada) BuildRequires: cmake(ada)
%endif %endif
%if %{with aom_38} %if %{with system_aom}
BuildRequires: libaom-devel >= 3.8~ BuildRequires: libaom-devel >= 3.8~
%endif %endif
# requires AV1E_SET_QUANTIZER_ONE_PASS
BuildRequires: libaom-devel >= 3.7~
BuildRequires: libbsd-devel BuildRequires: libbsd-devel
BuildRequires: libpng-devel BuildRequires: libpng-devel
BuildRequires: libXNVCtrl-devel BuildRequires: libXNVCtrl-devel
%if %{with system_llhttp} %if %{with system_llhttp}
BuildRequires: llhttp-devel >= 8
%if %{with llhttp_93}
BuildRequires: llhttp-devel >= 9.3 BuildRequires: llhttp-devel >= 9.3
%else
BuildRequires: llhttp-devel < 9.3
%endif
%endif %endif
%if %{with swiftshader} && %{without subzero} %if %{with swiftshader} && %{without subzero}
BuildRequires: llvm-devel >= 16 BuildRequires: llvm-devel >= 16
@@ -572,7 +563,15 @@ BuildRequires: pkgconfig(libbrotlienc)
BuildRequires: pkgconfig(libcares) BuildRequires: pkgconfig(libcares)
BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libdrm)
%if %{with highway_1_1}
# requires SumsOf2
BuildRequires: pkgconfig(libhwy) >= 1.1
%endif
BuildRequires: pkgconfig(libhwy) >= 1 BuildRequires: pkgconfig(libhwy) >= 1
%if %{with nghttp_50}
# needs nghttp2_option_set_no_rfc9113_leading_and_trailing_ws_validation
BuildRequires: pkgconfig(libnghttp2) >= 1.50
%endif
BuildRequires: pkgconfig(libnghttp2) BuildRequires: pkgconfig(libnghttp2)
BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libpci) BuildRequires: pkgconfig(libpci)
@@ -638,13 +637,18 @@ BuildRequires: libjpeg-turbo-devel
# requires VP9E_SET_QUANTIZER_ONE_PASS # requires VP9E_SET_QUANTIZER_ONE_PASS
BuildRequires: pkgconfig(vpx) >= 1.13~ BuildRequires: pkgconfig(vpx) >= 1.13~
%endif %endif
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} %if 0%{?suse_version} >= 1650 || 0%{?fedora}
BuildRequires: gcc >= 14 BuildRequires: gcc >= 14
BuildRequires: gcc-c++ >= 14 BuildRequires: gcc-c++ >= 14
%else %else
%if 0%{?suse_version} >= 1550
BuildRequires: gcc15-PIE
BuildRequires: gcc15-c++
%else
BuildRequires: gcc14-PIE BuildRequires: gcc14-PIE
BuildRequires: gcc14-c++ BuildRequires: gcc14-c++
%endif %endif
%endif
%if %{with pipewire} %if %{with pipewire}
BuildRequires: pkgconfig(libpipewire-0.3) BuildRequires: pkgconfig(libpipewire-0.3)
@@ -729,19 +733,14 @@ providing better integration with desktop environments such as KDE.
test $(grep ^node_module_version electron/build/args/all.gn | sed 's/.* = //') = %abi_version test $(grep ^node_module_version electron/build/args/all.gn | sed 's/.* = //') = %abi_version
#These ones depend on an aom nightly, reverting unconditionally
patch -R -p1 < %SOURCE411
patch -R -p1 < %SOURCE410
%if %{without aom_38}
patch -R -p1 < %SOURCE412
patch -R -p1 < %SOURCE413
%endif
%if %{without cares_21} %if %{without cares_21}
patch -R -p1 < %SOURCE472 patch -R -p1 < %SOURCE472
patch -R -p1 < %SOURCE471 patch -R -p1 < %SOURCE471
patch -R -p1 < %SOURCE470 patch -R -p1 < %SOURCE470
patch -R -p1 < %SOURCE473
%endif %endif
@@ -751,12 +750,20 @@ patch -R -p1 < %SOURCE403
patch -R -p1 < %SOURCE402 patch -R -p1 < %SOURCE402
patch -R -p1 < %SOURCE400 patch -R -p1 < %SOURCE400
patch -R -p1 < %SOURCE401 patch -R -p1 < %SOURCE401
patch -R -p1 < %SOURCE404
%endif %endif
%if %{without spirv_2024} %if %{without spirv_2024}
patch -R -p1 < %SOURCE480 patch -R -p1 < %SOURCE480
%endif %endif
%if %{without nghttp_50}
patch -R -p1 < %SOURCE490
%endif
%if %{without highway_1_1}
patch -R -p1 < %SOURCE500
%endif
# This one just removes compatibility with old abseil and does not add anything, reverting unconditionally. # This one just removes compatibility with old abseil and does not add anything, reverting unconditionally.
@@ -807,7 +814,6 @@ gn_system_libraries=(
highway highway
icu icu
jsoncpp jsoncpp
libaom
libdrm libdrm
libjpeg libjpeg
libpng libpng
@@ -855,6 +861,10 @@ gn_system_libraries+=(
%endif %endif
%if %{with system_aom}
find third_party/libaom -type f ! -name "*.gn" -a ! -name "*.gni" -delete
gn_system_libraries+=( libaom )
%endif
@@ -964,6 +974,12 @@ ARCH_FLAGS="$(echo $ARCH_FLAGS | sed -e 's/ -fexceptions / /g')"
# for wayland # for wayland
export CXXFLAGS="${ARCH_FLAGS} -I/usr/include/wayland -I/usr/include/libxkbcommon" export CXXFLAGS="${ARCH_FLAGS} -I/usr/include/wayland -I/usr/include/libxkbcommon"
#no pkgconfig, only cmake. add the include path manually
%if 0%{?fedora}
export CXXFLAGS="${CXXFLAGS} -I$(echo /usr/include/dragonbox-*)"
%endif
export CFLAGS="${CXXFLAGS}" export CFLAGS="${CXXFLAGS}"
# Google has a bad coding style, using a macro `NOTREACHED()` that is not properly detected by GCC # Google has a bad coding style, using a macro `NOTREACHED()` that is not properly detected by GCC
@@ -981,6 +997,9 @@ export CXXFLAGS="${CXXFLAGS} -Wno-template-id-cdtor -Wno-non-virtual-dtor"
# REDUCE DEBUG for C++ as it gets TOO large due to “heavy hemplate use in Blink”. See symbol_level below and chromium-102-compiler.patch # REDUCE DEBUG for C++ as it gets TOO large due to “heavy hemplate use in Blink”. See symbol_level below and chromium-102-compiler.patch
export CXXFLAGS="$(echo ${CXXFLAGS} | sed -e 's/-g / /g' -e 's/-g$//g')" export CXXFLAGS="$(echo ${CXXFLAGS} | sed -e 's/-g / /g' -e 's/-g$//g')"
#Fix build with abseil < 2025
export CXXFLAGS="$CXXFLAGS -Dabsl_nullable= -Dabsl_nonnull= "
%ifarch %ix86 %arm %ifarch %ix86 %arm
export CFLAGS="$(echo ${CFLAGS} | sed -e 's/-g /-g1 /g' -e 's/-g$/-g1/g')" export CFLAGS="$(echo ${CFLAGS} | sed -e 's/-g /-g1 /g' -e 's/-g$/-g1/g')"
%endif %endif
@@ -1003,19 +1022,27 @@ export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif #ifarch ix86 arm %endif #ifarch ix86 arm
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora} %if 0%{?suse_version} >= 1650 || 0%{?fedora}
export CC=gcc export CC=gcc
export CXX=g++ export CXX=g++
export AR=gcc-ar export AR=gcc-ar
export NM=gcc-nm export NM=gcc-nm
export RANLIB=gcc-ranlib export RANLIB=gcc-ranlib
%else %else
%if 0%{?suse_version} >= 1550
export CC=gcc-15
export CXX=g++-15
export AR=gcc-ar-15
export NM=gcc-nm-15
export RANLIB=gcc-ranlib-15
%else
export CC=gcc-14 export CC=gcc-14
export CXX=g++-14 export CXX=g++-14
export AR=gcc-ar-14 export AR=gcc-ar-14
export NM=gcc-nm-14 export NM=gcc-nm-14
export RANLIB=gcc-ranlib-14 export RANLIB=gcc-ranlib-14
%endif %endif
%endif
@@ -1062,6 +1089,8 @@ myconf_gn+=' electron_vendor_version="microsoft-build:Electron for openSUSE"'
myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
myconf_gn+=" use_custom_libcxx=false" myconf_gn+=" use_custom_libcxx=false"
myconf_gn+=' use_safe_libstdcxx=false'
myconf_gn+=' use_llvm_libatomic=false'
%ifarch %ix86 %ifarch %ix86
myconf_gn+=" host_cpu=\"x86\"" myconf_gn+=" host_cpu=\"x86\""
%endif %endif
@@ -1184,12 +1213,15 @@ myconf_gn+=" enable_vr=false"
myconf_gn+=" enable_reporting=false" myconf_gn+=" enable_reporting=false"
myconf_gn+=" build_with_tflite_lib=false" myconf_gn+=" build_with_tflite_lib=false"
myconf_gn+=" build_tflite_with_xnnpack=false" myconf_gn+=" build_tflite_with_xnnpack=false"
myconf_gn+=' build_tflite_with_opencl=false'
myconf_gn+=" safe_browsing_mode=0" myconf_gn+=" safe_browsing_mode=0"
myconf_gn+=' safe_browsing_use_unrar=false'
myconf_gn+=" enable_captive_portal_detection=false" myconf_gn+=" enable_captive_portal_detection=false"
myconf_gn+=" enable_browser_speech_service=false" myconf_gn+=" enable_browser_speech_service=false"
myconf_gn+=" enable_speech_service=false" myconf_gn+=" enable_speech_service=false"
myconf_gn+=" enable_screen_ai_service=false" myconf_gn+=" enable_screen_ai_service=false"
myconf_gn+=' enable_screen_ai_browsertests=false' myconf_gn+=' enable_screen_ai_browsertests=false'
myconf_gn+=' enable_constraints=false'
myconf_gn+=" include_transport_security_state_preload_list=false" myconf_gn+=" include_transport_security_state_preload_list=false"
myconf_gn+=" enable_web_speech=false" myconf_gn+=" enable_web_speech=false"
myconf_gn+=" chrome_wide_echo_cancellation_supported=false" myconf_gn+=" chrome_wide_echo_cancellation_supported=false"
@@ -1229,6 +1261,7 @@ myconf_gn+=' enable_on_device_translation=false'
myconf_gn+=' enable_session_service=false' myconf_gn+=' enable_session_service=false'
myconf_gn+=' enterprise_client_certificates=false' myconf_gn+=' enterprise_client_certificates=false'
myconf_gn+=' enterprise_data_controls=false' myconf_gn+=' enterprise_data_controls=false'
myconf_gn+=' enterprise_telomere_reporting=false'
@@ -1237,8 +1270,10 @@ myconf_gn+=' enterprise_data_controls=false'
myconf_gn+=' enable_rust=false' myconf_gn+=' enable_rust=false'
myconf_gn+=' enable_rust_png=false' myconf_gn+=' enable_rust_png=false'
myconf_gn+=' enable_chromium_prelude=false' myconf_gn+=' enable_chromium_prelude=false'
myconf_gn+=' rtc_rusty_base64=false'
myconf_gn+=' v8_enable_temporal_support=false'
myconf_gn+=' chrome_root_store_cert_management_ui=false' #myconf_gn+=' chrome_root_store_cert_management_ui=false'
myconf_gn+=' use_kerberos=false' myconf_gn+=' use_kerberos=false'

View File

@@ -1,99 +0,0 @@
--- src/third_party/blink/renderer/core/paint/object_paint_properties.h.orig 2025-04-16 14:36:32.662070096 +0200
+++ src/third_party/blink/renderer/core/paint/object_paint_properties.h 2025-04-16 22:12:50.444628128 +0200
@@ -174,47 +174,6 @@ class CORE_EXPORT ObjectPaintProperties
template <typename NodeType>
struct NodeIdRange {};
- template <>
- struct NodeIdRange<PaintPropertyNode> {
- static constexpr NodeId kFirst = NodeId::kFirstTransform;
- static constexpr NodeId kLast = NodeId::kClipAlias;
- };
- template <>
- struct NodeIdRange<TransformPaintPropertyNodeOrAlias> {
- static constexpr NodeId kFirst = NodeId::kFirstTransform;
- static constexpr NodeId kLast = NodeId::kTransformAlias;
- };
- template <>
- struct NodeIdRange<TransformPaintPropertyNode> {
- static constexpr NodeId kFirst = NodeId::kFirstTransform;
- static constexpr NodeId kLast = NodeId::kLastTransform;
- };
- template <>
- struct NodeIdRange<ScrollPaintPropertyNode> {
- static constexpr NodeId kFirst = NodeId::kFirstScroll;
- static constexpr NodeId kLast = NodeId::kLastScroll;
- };
- template <>
- struct NodeIdRange<EffectPaintPropertyNodeOrAlias> {
- static constexpr NodeId kFirst = NodeId::kFirstEffect;
- static constexpr NodeId kLast = NodeId::kEffectAlias;
- };
- template <>
- struct NodeIdRange<EffectPaintPropertyNode> {
- static constexpr NodeId kFirst = NodeId::kFirstEffect;
- static constexpr NodeId kLast = NodeId::kLastEffect;
- };
- template <>
- struct NodeIdRange<ClipPaintPropertyNodeOrAlias> {
- static constexpr NodeId kFirst = NodeId::kFirstClip;
- static constexpr NodeId kLast = NodeId::kClipAlias;
- };
- template <>
- struct NodeIdRange<ClipPaintPropertyNode> {
- static constexpr NodeId kFirst = NodeId::kFirstClip;
- static constexpr NodeId kLast = NodeId::kLastClip;
- };
-
public:
template <typename NodeType>
bool HasNode() const {
@@ -579,6 +538,48 @@ class CORE_EXPORT ObjectPaintProperties
#endif
};
+template <>
+struct ObjectPaintProperties::NodeIdRange<PaintPropertyNode> {
+ static constexpr NodeId kFirst = NodeId::kFirstTransform;
+ static constexpr NodeId kLast = NodeId::kClipAlias;
+};
+template <>
+struct ObjectPaintProperties::NodeIdRange<TransformPaintPropertyNodeOrAlias> {
+ static constexpr NodeId kFirst = NodeId::kFirstTransform;
+ static constexpr NodeId kLast = NodeId::kTransformAlias;
+};
+template <>
+struct ObjectPaintProperties::NodeIdRange<TransformPaintPropertyNode> {
+ static constexpr NodeId kFirst = NodeId::kFirstTransform;
+ static constexpr NodeId kLast = NodeId::kLastTransform;
+};
+template <>
+struct ObjectPaintProperties::NodeIdRange<ScrollPaintPropertyNode> {
+ static constexpr NodeId kFirst = NodeId::kFirstScroll;
+ static constexpr NodeId kLast = NodeId::kLastScroll;
+};
+template <>
+struct ObjectPaintProperties::NodeIdRange<EffectPaintPropertyNodeOrAlias> {
+ static constexpr NodeId kFirst = NodeId::kFirstEffect;
+ static constexpr NodeId kLast = NodeId::kEffectAlias;
+};
+template <>
+struct ObjectPaintProperties::NodeIdRange<EffectPaintPropertyNode> {
+ static constexpr NodeId kFirst = NodeId::kFirstEffect;
+ static constexpr NodeId kLast = NodeId::kLastEffect;
+};
+template <>
+struct ObjectPaintProperties::NodeIdRange<ClipPaintPropertyNodeOrAlias> {
+ static constexpr NodeId kFirst = NodeId::kFirstClip;
+ static constexpr NodeId kLast = NodeId::kClipAlias;
+};
+template <>
+struct ObjectPaintProperties::NodeIdRange<ClipPaintPropertyNode> {
+ static constexpr NodeId kFirst = NodeId::kFirstClip;
+ static constexpr NodeId kLast = NodeId::kLastClip;
+};
+
+
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_OBJECT_PAINT_PROPERTIES_H_

View File

@@ -0,0 +1,10 @@
--- src/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h.orig 2025-08-15 17:32:29.249405113 +0200
+++ src/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h 2025-08-16 00:00:02.342263133 +0200
@@ -23,6 +23,7 @@
#include "third_party/blink/renderer/platform/graphics/dom_node_id.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/prefinalizer.h"
+#include "third_party/blink/renderer/platform/text/layout_locale.h"
#include "ui/gfx/geometry/size.h"
namespace blink {

View File

@@ -0,0 +1,51 @@
#0 partition_alloc::internal::SlotSpanMetadata<(partition_alloc::internal::MetadataKind)0>::Free(unsigned long, partition_alloc::PartitionRoot*)::{lambda()#1}::operator()() const (__closure=<optimized out>, __closure=<optimized out>)
at ../../base/allocator/partition_allocator/src/partition_alloc/partition_page.h:805
#1 partition_alloc::internal::SlotSpanMetadata<(partition_alloc::internal::MetadataKind)0>::Free (this=<optimized out>, slot_start=<optimized out>,
root=<optimized out>, this=<optimized out>, slot_start=<optimized out>, root=<optimized out>)
at ../../base/allocator/partition_allocator/src/partition_alloc/partition_page.h:805
#2 partition_alloc::PartitionRoot::FreeInSlotSpan (this=<optimized out>, slot_start=<optimized out>, slot_span=<optimized out>, this=<optimized out>,
slot_start=<optimized out>, slot_span=<optimized out>) at ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1607
#3 partition_alloc::PartitionRoot::RawFree (this=<optimized out>, slot_start=<optimized out>, slot_span=<optimized out>, this=<optimized out>,
slot_start=<optimized out>, slot_span=<optimized out>) at ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1673
#4 partition_alloc::PartitionRoot::RawFreeWithThreadCache (this=<optimized out>, slot_start=<optimized out>, slot_start_ptr=<optimized out>,
slot_span=<optimized out>, this=<optimized out>, slot_start=<optimized out>, slot_start_ptr=<optimized out>, slot_span=<optimized out>)
at ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1740
#5 partition_alloc::PartitionRoot::FreeNoHooksImmediate (this=<optimized out>, object=<optimized out>, slot_span=<optimized out>,
slot_start=<optimized out>, this=<optimized out>, object=<optimized out>, slot_span=<optimized out>, slot_start=<optimized out>)
at ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1598
#6 partition_alloc::PartitionRoot::FreeInline<(partition_alloc::internal::FreeFlags)2> (this=<optimized out>, object=<optimized out>,
this=<optimized out>, object=<optimized out>) at ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1514
#7 partition_alloc::PartitionRoot::FreeInlineInUnknownRoot<(partition_alloc::internal::FreeFlags)2> (object=0x5a000024fa0)
at ../../base/allocator/partition_allocator/src/partition_alloc/partition_root.h:1446
#8 allocator_shim::internal::PartitionAllocFunctionsInternal<(partition_alloc::internal::AllocFlags)16, (partition_alloc::internal::FreeFlags)2>::Free (
object=0x5a000024fa0, context=<optimized out>)
at ../../base/allocator/partition_allocator/src/partition_alloc/shim/allocator_shim_default_dispatch_to_partition_alloc.cc:434
#9 0x0000555555561755 in std::__new_allocator<char>::deallocate (this=0x7fffffffdb10, __p=<optimized out>, __n=<optimized out>)
at /usr/include/c++/15/bits/new_allocator.h:172
#10 std::allocator<char>::deallocate (this=0x7fffffffdb10, __p=<optimized out>, __n=<optimized out>) at /usr/include/c++/15/bits/allocator.h:215
#11 std::allocator_traits<std::allocator<char> >::deallocate (__a=..., __p=<optimized out>, __n=<optimized out>)
at /usr/include/c++/15/bits/alloc_traits.h:649
#12 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy (this=0x7fffffffdb10, __size=<optimized out>)
at /usr/include/c++/15/bits/basic_string.h:305
#13 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose (this=0x7fffffffdb10)
at /usr/include/c++/15/bits/basic_string.h:299
#14 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string (this=<optimized out>, this=<optimized out>)
at /usr/include/c++/15/bits/basic_string.h:896
#15 base::CommandLine::AppendSwitchesAndArguments (this=<optimized out>, argv=...) at ../../base/command_line.cc:657
#16 base::CommandLine::InitFromArgv (this=<optimized out>, argv=...) at ../../base/command_line.cc:333
#17 base::CommandLine::InitFromArgv (this=<optimized out>, argc=<optimized out>, argv=<optimized out>) at ../../base/command_line.cc:324
#18 base::CommandLine::Init (argc=<optimized out>, argv=<optimized out>) at ../../base/command_line.cc:275
#19 base::CommandLine::Init (argc=<optimized out>, argv=<optimized out>) at ../../base/command_line.cc:262
#20 main (argc=<optimized out>, argv=<optimized out>) at ../../components/url_formatter/spoof_checks/top_domains/top_domain_generator.cc:88
--- src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2025-08-15 17:32:21.517406564 +0200
+++ src/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn 2025-08-16 16:11:37.214993083 +0200
@@ -266,6 +266,7 @@ if (is_clang_or_gcc) {
config("partition_alloc_implementation") {
# See also: `partition_alloc_base/component_export.h`
defines = [ "IS_PARTITION_ALLOC_IMPL" ]
+ cflags = ["-fno-strict-aliasing"]
}
config("partition_alloc_base_implementation") {

View File

@@ -1,42 +0,0 @@
#Otherwise mksnapshot crashes
#0 perfetto::ThreadTrack::Current () at ../../third_party/perfetto/src/tracing/track.cc:105
#1 0x0000555555815084 in v8::internal::GCTracer::GCTracer () at ../../v8/src/heap/gc-tracer.cc:184
#2 v8::internal::Heap::SetUpSpaces (this=0x555557507788, new_allocation_info=..., old_allocation_info=...) at ../../v8/src/heap/heap.cc:5788
#3 0x000055555704895b in v8::internal::Isolate::Init(v8::internal::SnapshotData*, v8::internal::SnapshotData*, v8::internal::SnapshotData*, bool) [clone .isra.0] () at ../../v8/src/execution/isolate.cc:5556
#4 0x0000555555b51ad3 in v8::internal::Isolate::InitWithoutSnapshot () at ../../v8/src/execution/isolate.cc:5184
#5 v8::internal::SnapshotCreatorImpl::InitInternal (this=0x55555750c130, blob=0x0) at ../../v8/src/snapshot/snapshot.cc:868
#6 0x0000555555654b15 in v8::internal::SnapshotCreatorImpl::SnapshotCreatorImpl () at ../../v8/src/snapshot/snapshot.cc:929
#7 v8::SnapshotCreator::SnapshotCreator () at ../../v8/src/api/api.cc:552
#8 main (argc=1465209528, argv=0x3ff0000000000000) at ../../v8/src/snapshot/mksnapshot.cc:298
--- src/third_party/perfetto/src/tracing/internal/tracing_muxer_fake.h.orig 2025-04-16 14:38:49.066064367 +0200
+++ src/third_party/perfetto/src/tracing/internal/tracing_muxer_fake.h 2025-04-16 21:06:46.592994525 +0200
@@ -44,11 +44,7 @@ class TracingMuxerFake : public TracingM
~TracingMuxerFake() override;
static constexpr TracingMuxerFake* Get() {
-#if PERFETTO_HAS_NO_DESTROY()
return &instance;
-#else
- return nullptr;
-#endif
}
// TracingMuxer implementation.
--- src/third_party/perfetto/src/tracing/internal/tracing_muxer_fake.cc.orig 2025-04-16 14:38:49.066064367 +0200
+++ src/third_party/perfetto/src/tracing/internal/tracing_muxer_fake.cc 2025-04-16 21:13:09.044959936 +0200
@@ -27,13 +27,11 @@ PERFETTO_NORETURN void FailUninitialized
} // namespace
-#if PERFETTO_HAS_NO_DESTROY()
// static
PERFETTO_NO_DESTROY TracingMuxerFake::FakePlatform
TracingMuxerFake::FakePlatform::instance{};
// static
PERFETTO_NO_DESTROY TracingMuxerFake TracingMuxerFake::instance{};
-#endif // PERFETTO_HAS_NO_DESTROY()
TracingMuxerFake::~TracingMuxerFake() = default;

View File

@@ -0,0 +1,11 @@
--- src/net/base/pickle_traits.h.orig 2025-08-15 17:32:28.209405309 +0200
+++ src/net/base/pickle_traits.h 2025-08-15 23:39:04.010398326 +0200
@@ -563,7 +563,7 @@ struct PickleTraits<T> {
}
static constexpr std::make_index_sequence<std::tuple_size_v<T>>
- kIndexSequence;
+ kIndexSequence {};
};
// bool is treated specially by base::Pickle.

View File

@@ -0,0 +1,19 @@
--- src/media/base/picture_in_picture_events_info.cc.orig 2025-08-15 17:32:27.805405385 +0200
+++ src/media/base/picture_in_picture_events_info.cc 2025-08-16 10:13:19.526480207 +0200
@@ -5,6 +5,7 @@
#include "media/base/picture_in_picture_events_info.h"
#include <string>
+#include <string_view>
#include "base/notreached.h"
#include "base/strings/stringprintf.h"
@@ -34,7 +35,7 @@ std::string PictureInPictureEventsInfo::
// static
std::string PictureInPictureEventsInfo::AutoPipInfoToString(
AutoPipInfo auto_pip_info) {
- constexpr std::array<std::string, 2> bool_to_string{"false", "true"};
+ constexpr std::array<std::string_view, 2> bool_to_string{"false", "true"};
return base::StringPrintf(
"{reason: %s, has audio focus: %s, is_playing: %s, was recently audible: "
"%s, has safe url: %s, meets media engagement conditions: %s, blocked "

View File

@@ -1,35 +0,0 @@
From 1e7508ce083f6c7e43011f899faf10537a6379e2 Mon Sep 17 00:00:00 2001
From: Ivan Murashov <ivan.murashov@lge.com>
Date: Thu, 20 Feb 2025 10:37:19 -0800
Subject: [PATCH] IWYU: Add missing include for std::optional usage in
picture_in_picture_window_manager_uma_helper.h
In the CL https://crrev.com/c/6191230 used std::optional in the
chrome/browser/picture_in_picture/picture_in_picture_window_manager_uma_helper.h,
but corresponding include was missed.
Added missing include for std::optional usage.
Bug: 41455655
Change-Id: I70f67c4a06481875d4602b16a97532cdad2a63b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6275068
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Commit-Queue: Ivan Murashov <ivan.murashov@lge.com>
Reviewed-by: Tommy Steimel <steimel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1422669}
---
.../picture_in_picture_window_manager_uma_helper.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/chrome/browser/picture_in_picture/picture_in_picture_window_manager_uma_helper.h b/chrome/browser/picture_in_picture/picture_in_picture_window_manager_uma_helper.h
index cb826fc5a20598..866670224c8a38 100644
--- a/chrome/browser/picture_in_picture/picture_in_picture_window_manager_uma_helper.h
+++ b/chrome/browser/picture_in_picture/picture_in_picture_window_manager_uma_helper.h
@@ -5,6 +5,8 @@
#ifndef CHROME_BROWSER_PICTURE_IN_PICTURE_PICTURE_IN_PICTURE_WINDOW_MANAGER_UMA_HELPER_H_
#define CHROME_BROWSER_PICTURE_IN_PICTURE_PICTURE_IN_PICTURE_WINDOW_MANAGER_UMA_HELPER_H_
+#include <optional>
+
#include "base/memory/raw_ptr.h"
#include "base/time/clock.h"
#include "base/time/time.h"

View File

@@ -1,20 +0,0 @@
--- src/electron/shell/browser/plugins/plugin_utils.cc.orig 2025-04-16 14:34:09.220241915 +0200
+++ src/electron/shell/browser/plugins/plugin_utils.cc 2025-04-18 21:59:05.472058588 +0200
@@ -33,6 +33,8 @@ std::string PluginUtils::GetExtensionIdF
base::flat_map<std::string, std::string>
PluginUtils::GetMimeTypeToExtensionIdMap(
content::BrowserContext* browser_context) {
+ base::flat_map<std::string, std::string> mime_type_to_extension_id_map;
+
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
const auto& allowed_extension_ids = MimeTypesHandler::GetMIMETypeAllowlist();
if (allowed_extension_ids.empty())
@@ -41,8 +43,6 @@ PluginUtils::GetMimeTypeToExtensionIdMap
const extensions::ExtensionSet& enabled_extensions =
extensions::ExtensionRegistry::Get(browser_context)->enabled_extensions();
- base::flat_map<std::string, std::string> mime_type_to_extension_id_map;
-
// Go through the white-listed extensions and try to use them to intercept
// the URL request.
for (const std::string& id : allowed_extension_ids) {

View File

@@ -21,17 +21,17 @@ In file included from /usr/include/c++/14/string:49,
143 | absl::uint128 bucket; 143 | absl::uint128 bucket;
| ^~~~~~ | ^~~~~~
--- src/content/browser/private_aggregation/private_aggregation_pending_contributions.h.orig 2025-04-16 14:36:28.649070859 +0200 --- src/content/browser/private_aggregation/private_aggregation_pending_contributions.h.orig 2025-08-15 17:32:26.465405636 +0200
+++ src/content/browser/private_aggregation/private_aggregation_pending_contributions.h 2025-04-17 16:33:05.731832452 +0200 +++ src/content/browser/private_aggregation/private_aggregation_pending_contributions.h 2025-08-16 09:29:24.094983368 +0200
@@ -11,7 +11,6 @@ @@ -18,7 +18,6 @@
#include <vector> #include "base/numerics/safe_conversions.h"
#include "content/browser/private_aggregation/private_aggregation_budgeter.h"
#include "content/common/content_export.h" #include "content/common/content_export.h"
-#include "third_party/abseil-cpp/absl/numeric/int128.h" -#include "third_party/abseil-cpp/absl/numeric/int128.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
#include "third_party/blink/public/mojom/aggregation_service/aggregatable_report.mojom.h" #include "third_party/blink/public/mojom/aggregation_service/aggregatable_report.mojom.h"
#include "third_party/blink/public/mojom/private_aggregation/private_aggregation_host.mojom.h"
@@ -41,7 +40,7 @@ class CONTENT_EXPORT PrivateAggregationP @@ -53,7 +52,7 @@ class CONTENT_EXPORT PrivateAggregationP
auto operator<=>(const ContributionMergeKey& a) const = default; auto operator<=>(const ContributionMergeKey& a) const = default;

View File

@@ -1,58 +0,0 @@
From dfcb824ae3e7752abf3c809a3f226cb21dd2187a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?=
<frenzy.madness@gmail.com>
Date: Sun, 22 Jun 2025 07:49:14 +0200
Subject: [PATCH] tools: make nodedownload module compatible with Python 3.14
FancyURLopener and URLopener have been deprecated since
Python 3.3 and they are removed completely from 3.14.
Fixes: https://github.com/nodejs/node/issues/58740
PR-URL: https://github.com/nodejs/node/pull/58752
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
---
tools/configure.d/nodedownload.py | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/tools/configure.d/nodedownload.py b/tools/configure.d/nodedownload.py
index 4f144e0e4b406c..0d65c33606b853 100644
--- a/third_party/electron_node/tools/configure.d/nodedownload.py
+++ b/third_party/electron_node/tools/configure.d/nodedownload.py
@@ -7,10 +7,7 @@
import zipfile
import tarfile
import contextlib
-try:
- from urllib.request import FancyURLopener, URLopener
-except ImportError:
- from urllib import FancyURLopener, URLopener
+from urllib.request import build_opener, install_opener, urlretrieve
def formatSize(amt):
"""Format a size as a string in MB"""
@@ -21,11 +18,6 @@ def spin(c):
spin = ".:|'"
return (spin[c % len(spin)])
-class ConfigOpener(FancyURLopener):
- """fancy opener used by retrievefile. Set a UA"""
- # append to existing version (UA)
- version = '%s node.js/configure' % URLopener.version
-
def reporthook(count, size, total):
"""internal hook used by retrievefile"""
sys.stdout.write(' Fetch: %c %sMB total, %sMB downloaded \r' %
@@ -38,7 +30,10 @@ def retrievefile(url, targetfile):
try:
sys.stdout.write(' <%s>\nConnecting...\r' % url)
sys.stdout.flush()
- ConfigOpener().retrieve(url, targetfile, reporthook=reporthook)
+ opener = build_opener()
+ opener.addheaders = [('User-agent', f'Python-urllib/{sys.version_info.major}.{sys.version_info.minor} node.js/configure')]
+ install_opener(opener)
+ urlretrieve(url, targetfile, reporthook=reporthook)
print('') # clear the line
return targetfile
except IOError as err:

View File

@@ -1,48 +0,0 @@
From f12e128221d2011c57448032d67309da94f55dde Mon Sep 17 00:00:00 2001
From: Marshall Greenblatt <marshall@chromium.org>
Date: Thu, 13 Feb 2025 17:47:09 -0800
Subject: [PATCH] Fix extra qualification on member 'basic_common_reference'
Fixes the following errors when building on Windows with
use_custom_libcxx=false.
In file included from ../..\base/memory/raw_ptr.h:11:
../../base/allocator/partition_allocator/src\partition_alloc/pointers/raw_ptr.h(1274,13): error: extra qualification on member 'basic_common_reference' [-Werror,-Wextra-qualification]
1274 | struct std::basic_common_reference<raw_ptr<T, Traits>, T*, TQ, UQ> {
| ^
../../base/allocator/partition_allocator/src\partition_alloc/pointers/raw_ptr.h(1284,13): error: extra qualification on member 'basic_common_reference' [-Werror,-Wextra-qualification]
1284 | struct std::basic_common_reference<T*, raw_ptr<T, Traits>, TQ, UQ> {
| ^
2 errors generated.
Change-Id: I86f92b206fdcba8d0e820c7a625e1c28518f02a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6265643
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1420246}
---
.../src/partition_alloc/pointers/raw_ptr.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h b/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h
index c3ac11523410fb..2a3d3bc4d1f342 100644
--- a/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h
+++ b/base/allocator/partition_allocator/src/partition_alloc/pointers/raw_ptr.h
@@ -1271,7 +1271,7 @@ template <typename T,
typename TQ,
template <typename>
typename UQ>
-struct std::basic_common_reference<raw_ptr<T, Traits>, T*, TQ, UQ> {
+struct basic_common_reference<raw_ptr<T, Traits>, T*, TQ, UQ> {
using type = T*;
};
@@ -1281,7 +1281,7 @@ template <typename T,
typename TQ,
template <typename>
typename UQ>
-struct std::basic_common_reference<T*, raw_ptr<T, Traits>, TQ, UQ> {
+struct basic_common_reference<T*, raw_ptr<T, Traits>, TQ, UQ> {
using type = T*;
};

View File

@@ -1,14 +1,14 @@
Run gn starting at only the targets we want to build (//electron:blah), not at (//...) to avoid hitting asserts in dead code. Run gn starting at only the targets we want to build (//electron:blah), not at (//...) to avoid hitting asserts in dead code.
This makes this overriden build argument dead code which causes a warning during `gen` and more importantly `desc`. Remove it. This makes this overriden build argument dead code which causes a warning during `gen` and more importantly `desc`. Remove it.
--- src/electron/build/args/all.gn 2025-05-22 20:03:50.586242102 +0200 --- src/electron/build/args/all.gn.orig 2025-07-19 11:30:22.309996384 +0200
+++ src/electron/build/args/all.gn 2025-05-22 21:32:07.485697337 +0200 +++ src/electron/build/args/all.gn 2025-07-19 16:27:55.565670609 +0200
@@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
is_electron_build = true is_electron_build = true
-root_extra_deps = [ "//electron" ] -root_extra_deps = [ "//electron" ]
# Registry of NMVs --> https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json # Registry of NMVs --> https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
node_module_version = 133 node_module_version = 136
All gn list calls must be also fixed because otherwise they fail just as gn gen does All gn list calls must be also fixed because otherwise they fail just as gn gen does

View File

@@ -1,96 +1,60 @@
--- src/third_party/blink/renderer/modules/ai/ai.cc.orig 2025-04-16 14:36:32.771242661 +0200 --- src/third_party/blink/renderer/modules/ai/BUILD.gn.orig 2025-08-15 17:32:29.337405097 +0200
+++ src/third_party/blink/renderer/modules/ai/ai.cc 2025-04-17 16:44:52.883833032 +0200 +++ src/third_party/blink/renderer/modules/ai/BUILD.gn 2025-08-16 17:57:26.885671869 +0200
@@ -30,7 +30,6 @@ void AI::Trace(Visitor* visitor) const { @@ -7,45 +7,19 @@ import("//third_party/blink/renderer/mod
visitor->Trace(ai_summarizer_factory_); blink_modules_sources("ai") {
visitor->Trace(ai_writer_factory_); sources = [
visitor->Trace(ai_rewriter_factory_); "ai_context_observer.h",
- visitor->Trace(ai_language_detector_factory_); - "ai_interface_proxy.cc",
visitor->Trace(ai_translator_factory_); - "ai_interface_proxy.h",
} "ai_metrics.cc",
"ai_metrics.h",
@@ -78,15 +77,6 @@ AIRewriterFactory* AI::rewriter() { - "ai_utils.cc",
return ai_rewriter_factory_.Get(); - "ai_utils.h",
} "ai_writing_assistance_base.h",
"ai_writing_assistance_create_client.h",
-AILanguageDetectorFactory* AI::languageDetector() { "availability.cc",
- if (!ai_language_detector_factory_) { "availability.h",
- ai_language_detector_factory_ = - "create_monitor.cc",
- MakeGarbageCollected<AILanguageDetectorFactory>(GetExecutionContext(), - "create_monitor.h",
- task_runner_); "exception_helpers.cc",
- }
- return ai_language_detector_factory_.Get();
-}
-
AITranslatorFactory* AI::translator() {
if (!ai_translator_factory_) {
ai_translator_factory_ =
--- src/third_party/blink/renderer/modules/ai/ai.h.orig 2025-04-16 14:36:32.771242661 +0200
+++ src/third_party/blink/renderer/modules/ai/ai.h 2025-04-17 16:45:08.367832844 +0200
@@ -10,7 +10,6 @@
#include "third_party/blink/public/mojom/ai/ai_manager.mojom-blink.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
-#include "third_party/blink/renderer/modules/ai/on_device_translation/ai_language_detector_factory.h"
#include "third_party/blink/renderer/modules/ai/on_device_translation/ai_translator_factory.h"
#include "third_party/blink/renderer/platform/bindings/script_wrappable.h"
#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
@@ -37,7 +36,6 @@ class AI final : public ScriptWrappable,
AISummarizerFactory* summarizer();
AIRewriterFactory* rewriter();
AIWriterFactory* writer();
- AILanguageDetectorFactory* languageDetector();
AITranslatorFactory* translator();
HeapMojoRemote<mojom::blink::AIManager>& GetAIRemote();
@@ -51,7 +49,6 @@ class AI final : public ScriptWrappable,
Member<AISummarizerFactory> ai_summarizer_factory_;
Member<AIWriterFactory> ai_writer_factory_;
Member<AIRewriterFactory> ai_rewriter_factory_;
- Member<AILanguageDetectorFactory> ai_language_detector_factory_;
Member<AITranslatorFactory> ai_translator_factory_;
};
--- src/third_party/blink/renderer/modules/ai/ai.idl 2025-04-16 14:36:32.771242661 +0200
+++ src/third_party/blink/renderer/modules/ai/ai.idl 2025-04-18 13:52:33.485440478 +0200
@@ -40,11 +40,6 @@ interface AI {
readonly attribute AIRewriterFactory rewriter;
[
- RuntimeEnabled=LanguageDetectionAPI
- ]
- readonly attribute AILanguageDetectorFactory languageDetector;
-
- [
RuntimeEnabled=TranslationAPI
]
readonly attribute AITranslatorFactory translator;
--- src/third_party/blink/renderer/modules/ai/BUILD.gn 2025-04-16 14:36:32.771172881 +0200
+++ src/third_party/blink/renderer/modules/ai/BUILD.gn 2025-04-18 21:41:05.606552171 +0200
@@ -41,16 +41,8 @@ blink_modules_sources("ai") {
"exception_helpers.h", "exception_helpers.h",
- "language_model.cc",
- "language_model.h",
- "language_model_create_client.cc",
- "language_model_create_client.h",
"language_model_params.cc",
"language_model_params.h",
- "language_model_prompt_builder.cc",
- "language_model_prompt_builder.h",
"model_execution_responder.cc", "model_execution_responder.cc",
"model_execution_responder.h", "model_execution_responder.h",
- "on_device_translation/ai_language_detector.cc", - "on_device_translation/create_translator_client.cc",
- "on_device_translation/ai_language_detector.h", - "on_device_translation/create_translator_client.h",
- "on_device_translation/ai_language_detector_capabilities.cc", - "on_device_translation/language_detector.cc",
- "on_device_translation/ai_language_detector_capabilities.h", - "on_device_translation/language_detector.h",
- "on_device_translation/ai_language_detector_factory.cc", "on_device_translation/resolver_with_abort_signal.h",
- "on_device_translation/ai_language_detector_factory.h", - "on_device_translation/translator.cc",
"on_device_translation/ai_translator.cc", - "on_device_translation/translator.h",
"on_device_translation/ai_translator.h", - "proofreader.cc",
- "on_device_translation/ai_translator_capabilities.cc", - "proofreader.h",
- "on_device_translation/ai_translator_capabilities.h", - "rewriter.cc",
"on_device_translation/ai_translator_factory.cc", - "rewriter.h",
"on_device_translation/ai_translator_factory.h", - "summarizer.cc",
- "summarizer.h",
- "writer.cc",
- "writer.h",
] ]
@@ -60,7 +52,5 @@ blink_modules_sources("ai") {
public_deps = [ "//third_party/blink/public/mojom:mojom_modules_blink" ]
@@ -53,8 +27,6 @@ blink_modules_sources("ai") {
deps = [ deps = [
"//components/language_detection/content/common", "//components/language_detection/content/common",
"//components/language_detection/content/common:common_blink", "//components/language_detection/content/common:common_blink",
- "//components/language_detection/content/renderer", - "//components/language_detection/content/renderer",
- "//components/language_detection/core", - "//components/language_detection/core",
"//third_party/blink/renderer/modules/canvas",
"//third_party/blink/renderer/modules/webaudio",
] ]
}
--- src/third_party/blink/renderer/platform/BUILD.gn.orig 2025-04-12 14:33:45.435739667 +0200 --- src/third_party/blink/renderer/platform/BUILD.gn.orig 2025-04-12 14:33:45.435739667 +0200
+++ src/third_party/blink/renderer/platform/BUILD.gn 2025-04-12 15:58:59.809440918 +0200 +++ src/third_party/blink/renderer/platform/BUILD.gn 2025-04-12 15:58:59.809440918 +0200
@@ -1239,8 +1239,6 @@ component("platform") { @@ -1239,8 +1239,6 @@ component("platform") {
@@ -124,136 +88,227 @@
"//third_party/metrics_proto", "//third_party/metrics_proto",
"//url", "//url",
] ]
--- src/third_party/blink/renderer/modules/BUILD.gn 2025-04-16 14:36:32.763311004 +0200 --- src/third_party/blink/renderer/bindings/idl_in_modules.gni.orig 2025-08-15 17:32:29.049405150 +0200
+++ src/third_party/blink/renderer/modules/BUILD.gn 2025-04-18 14:17:17.869441496 +0200 +++ src/third_party/blink/renderer/bindings/idl_in_modules.gni 2025-08-16 14:55:26.743869183 +0200
@@ -128,7 +128,6 @@ component("modules") { @@ -19,15 +19,8 @@ static_idl_files_in_modules = [
"//third_party/blink/renderer/modules/netinfo", "//third_party/blink/renderer/modules/ad_auction/storage_interest_group.idl",
"//third_party/blink/renderer/modules/nfc", "//third_party/blink/renderer/modules/ai/availability.idl",
"//third_party/blink/renderer/modules/notifications", "//third_party/blink/renderer/modules/ai/create_monitor.idl",
- "//third_party/blink/renderer/modules/on_device_translation", - "//third_party/blink/renderer/modules/ai/language_model.idl",
"//third_party/blink/renderer/modules/payments", "//third_party/blink/renderer/modules/ai/language_model_create_options.idl",
"//third_party/blink/renderer/modules/payments/goods", "//third_party/blink/renderer/modules/ai/language_model_params.idl",
"//third_party/blink/renderer/modules/peerconnection", - "//third_party/blink/renderer/modules/ai/on_device_translation/language_detector.idl",
--- src/third_party/blink/renderer/bindings/idl_in_modules.gni 2025-04-16 14:36:32.335223804 +0200 - "//third_party/blink/renderer/modules/ai/on_device_translation/translator.idl",
+++ src/third_party/blink/renderer/bindings/idl_in_modules.gni 2025-04-18 21:39:21.064884303 +0200 - "//third_party/blink/renderer/modules/ai/proofreader.idl",
@@ -28,12 +28,8 @@ static_idl_files_in_modules = [ - "//third_party/blink/renderer/modules/ai/rewriter.idl",
"//third_party/blink/renderer/modules/ai/ai_summarizer_factory.idl", - "//third_party/blink/renderer/modules/ai/summarizer.idl",
"//third_party/blink/renderer/modules/ai/ai_writer.idl", - "//third_party/blink/renderer/modules/ai/writer.idl",
"//third_party/blink/renderer/modules/ai/ai_writer_factory.idl",
- "//third_party/blink/renderer/modules/ai/on_device_translation/ai_language_detector.idl",
- "//third_party/blink/renderer/modules/ai/on_device_translation/ai_language_detector_factory.idl",
- "//third_party/blink/renderer/modules/ai/on_device_translation/ai_language_detector_capabilities.idl",
"//third_party/blink/renderer/modules/ai/on_device_translation/ai_translator.idl",
"//third_party/blink/renderer/modules/ai/on_device_translation/ai_translator_factory.idl",
- "//third_party/blink/renderer/modules/ai/on_device_translation/ai_translator_capabilities.idl",
"//third_party/blink/renderer/modules/ai/window_or_worker_global_scope_ai.idl",
"//third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope.idl", "//third_party/blink/renderer/modules/animationworklet/animation_worklet_global_scope.idl",
"//third_party/blink/renderer/modules/animationworklet/css_animation_worklet.idl", "//third_party/blink/renderer/modules/animationworklet/css_animation_worklet.idl",
@@ -542,10 +538,6 @@ static_idl_files_in_modules = [ "//third_party/blink/renderer/modules/animationworklet/worklet_animation.idl",
"//third_party/blink/renderer/modules/notifications/service_worker_global_scope_notifications.idl", --- src/third_party/blink/renderer/bindings/generated_in_modules.gni.orig 2025-08-15 17:32:29.049405150 +0200
"//third_party/blink/renderer/modules/notifications/service_worker_registration_notifications.idl", +++ src/third_party/blink/renderer/bindings/generated_in_modules.gni 2025-08-16 15:26:16.723512975 +0200
"//third_party/blink/renderer/modules/notifications/timestamp_trigger.idl", @@ -682,18 +682,6 @@ generated_dictionary_sources_in_modules
- "//third_party/blink/renderer/modules/on_device_translation/language_translator.idl",
- "//third_party/blink/renderer/modules/on_device_translation/translation_language_options.idl",
- "//third_party/blink/renderer/modules/on_device_translation/translation.idl",
- "//third_party/blink/renderer/modules/on_device_translation/window_or_worker_global_scope_translation.idl",
"//third_party/blink/renderer/modules/payments/abort_payment_event.idl",
"//third_party/blink/renderer/modules/payments/address_errors.idl",
"//third_party/blink/renderer/modules/payments/address_init.idl",
--- src/third_party/blink/renderer/bindings/generated_in_modules.gni 2025-04-16 14:36:32.335223804 +0200
+++ src/third_party/blink/renderer/bindings/generated_in_modules.gni 2025-04-18 15:55:02.121445718 +0200
@@ -148,10 +148,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_model_initial_prompt.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_model_prompt_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_model_prompt_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_create_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_create_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_detect_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_detect_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_rewriter_rewrite_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_rewriter_rewrite_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_rewriter_create_core_options.cc",
@@ -728,8 +724,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_key_system_track_configuration.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_key_system_track_configuration.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_landmark.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_landmark.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_landmark.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_landmark.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detection_result.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detection_result.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detection_result.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detection_result.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector_create_core_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector_create_core_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector_create_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector_create_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector_detect_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector_detect_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_append_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_append_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_clone_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_clone_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_create_core_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_create_core_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_create_options.cc",
@@ -704,8 +692,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_message.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_message_content.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_message_content.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_prompt_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_prompt_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_info.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_info.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_info.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_info.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_manager_snapshot.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_lock_manager_snapshot.cc",
@@ -922,8 +916,6 @@ generated_dictionary_sources_in_modules @@ -1008,14 +994,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ml_triangular_options.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_attribution_network.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ml_where_support_limits.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_attribution_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ml_where_support_limits.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_attribution_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translation_language_options.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofreader_create_core_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translation_language_options.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofreader_create_core_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_multi_cache_query_options.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofreader_create_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_multi_cache_query_options.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofreader_create_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_navigation_preload_state.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofread_correction.cc",
@@ -1552,8 +1544,6 @@ generated_enumeration_sources_in_modules - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofread_correction.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_gamepad_haptics_result.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofread_result.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_gamepad_mapping_type.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofread_result.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_gamepad_mapping_type.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_protected_audience_private_aggregation_config.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translation_availability.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_protected_audience_private_aggregation_config.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translation_availability.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_public_key_credential_creation_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_gpu_address_mode.cc", @@ -1064,12 +1042,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_gpu_address_mode.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_remote_desktop_client_override.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_gpu_auto_layout_mode.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_request_device_options.cc",
@@ -1956,12 +1946,6 @@ generated_interface_sources_in_modules = "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_request_device_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_model_factory.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_rewrite_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_create_monitor.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_rewrite_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_create_monitor.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_create_core_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_capabilities.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_create_core_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_capabilities.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_create_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_factory.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_create_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector_factory.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_router_condition.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_router_condition.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_language_detector.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_router_rule.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_rewriter_factory.cc", @@ -1278,12 +1250,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_rewriter_factory.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sub_apps_list_result.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_rewriter.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_subsample_entry.cc",
@@ -1972,8 +1956,6 @@ generated_interface_sources_in_modules = "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_subsample_entry.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_summarizer_factory.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_create_core_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_summarizer.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_create_core_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_summarizer.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_create_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_translator_capabilities.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_create_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_translator_capabilities.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_summarize_options.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_translator_factory.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_summarize_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_translator_factory.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_svc_output_metadata.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ai_translator.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_svc_output_metadata.h",
@@ -2466,8 +2448,6 @@ generated_interface_sources_in_modules = "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sync_event_init.cc",
@@ -1296,12 +1262,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_text_encoder_encode_into_result.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_top_level_storage_access_permission_descriptor.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_top_level_storage_access_permission_descriptor.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator_create_core_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator_create_core_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator_create_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator_create_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator_translate_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator_translate_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_usb_connection_event_init.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_usb_connection_event_init.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_usb_control_transfer_parameters.cc",
@@ -1380,12 +1340,6 @@ generated_dictionary_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_websocket_stream_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_write_params.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_write_params.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_write_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_write_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_create_core_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_create_core_options.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_create_options.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_create_options.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_depth_state_init.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_depth_state_init.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_dom_overlay_init.cc",
@@ -1772,8 +1726,6 @@ generated_enumeration_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_presentation_connection_state.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_attribution_event.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_attribution_event.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_correction_type.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_correction_type.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_push_encryption_key_name.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_push_encryption_key_name.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_recording_state.cc",
@@ -1782,12 +1734,6 @@ generated_enumeration_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_red_eye_reduction.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_remote_playback_state.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_remote_playback_state.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_format.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_format.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_length.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_length.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_tone.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter_tone.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_router_source_enum.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_router_source_enum.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_bundle_policy.cc",
@@ -1868,12 +1814,6 @@ generated_enumeration_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_storage_bucket_durability.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sub_apps_result_code.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sub_apps_result_code.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_format.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_format.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_length.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_length.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_type.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer_type.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_display_media_include_or_exclude.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_display_media_include_or_exclude.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_track_default_type.cc",
@@ -1912,12 +1852,6 @@ generated_enumeration_sources_in_modules
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_well_known_directory.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_write_command_type.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_write_command_type.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_format.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_format.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_length.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_length.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_tone.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer_tone.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_depth_data_format.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_depth_data_format.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_depth_type.cc",
@@ -2464,12 +2398,8 @@ generated_interface_sources_in_modules =
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_keyboard_layout_map.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_keyboard_layout_map.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_khr_parallel_shader_compile.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_khr_parallel_shader_compile.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_khr_parallel_shader_compile.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_khr_parallel_shader_compile.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_translator.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_translator.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_detector.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_params.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model_params.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_language_model.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_params.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_params.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_params.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_params.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_queue.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_launch_queue.cc",
@@ -2924,8 +2904,6 @@ generated_interface_sources_in_modules = @@ -2708,8 +2638,6 @@ generated_interface_sources_in_modules =
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_aggregation.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_attribution.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_private_attribution.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofreader.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_proofreader.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_protected_audience.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_protected_audience.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_public_key_credential.cc",
@@ -2732,8 +2660,6 @@ generated_interface_sources_in_modules =
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_remote_playback.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_restriction_target.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_restriction_target.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rewriter.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_certificate.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_certificate.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_rtc_data_channel.cc",
@@ -2902,8 +2828,6 @@ generated_interface_sources_in_modules =
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sub_apps.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_subtle_crypto.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_subtle_crypto.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_summarizer.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_svg_element.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_svg_element.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_sync_event.cc",
@@ -2926,8 +2850,6 @@ generated_interface_sources_in_modules =
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_track_default.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_track_default.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_track_default_list.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_track_default_list.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_track_default_list.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_track_default_list.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translation.cc", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translation.h", - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_translator.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_url.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_url.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_url.h", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_url.h",
"$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_usb.cc", "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_usb.cc",
--- src/third_party/blink/renderer/modules/ai/on_device_translation/ai_translator_factory.idl 2025-04-16 14:36:32.773113846 +0200 @@ -3100,8 +3022,6 @@ generated_interface_sources_in_modules =
+++ src/third_party/blink/renderer/modules/ai/on_device_translation/ai_translator_factory.idl 2025-04-18 21:45:18.481187932 +0200 "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_worklet_animation_effect.h",
@@ -11,11 +11,6 @@ interface AITranslatorFactory { "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_worklet_group_effect.cc",
] "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_worklet_group_effect.h",
Promise<AITranslator> create(AITranslatorCreateOptions options); - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer.cc",
// TODO(crbug.com/390459310): Replace with availability. - "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_writer.h",
- [ "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_anchor.cc",
- CallWith=ScriptState, "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_anchor.h",
- RaisesException "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_xr_anchor_set.cc",
- ]
- Promise<AITranslatorCapabilities> capabilities();
};
dictionary AITranslatorCreateCoreOptions {
--- src/content/public/browser/content_browser_client.cc 2025-04-17 16:18:19.395831947 +0200 --- src/content/public/browser/content_browser_client.cc 2025-04-17 16:18:19.395831947 +0200
+++ src/content/public/browser/content_browser_client.cc 2025-04-18 22:48:04.297289260 +0200 +++ src/content/public/browser/content_browser_client.cc 2025-04-18 22:48:04.297289260 +0200
@@ -1882,15 +1882,6 @@ GetContentLanguageDetectionDriver() { @@ -1882,15 +1882,6 @@ GetContentLanguageDetectionDriver() {
@@ -272,9 +327,9 @@
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
void ContentBrowserClient::QueryInstalledWebAppsByManifestId( void ContentBrowserClient::QueryInstalledWebAppsByManifestId(
--- src/content/browser/browser_interface_binders.cc 2025-04-16 14:36:28.520070884 +0200 --- src/content/browser/browser_interface_binders.cc.orig 2025-07-20 14:51:05.789212478 +0200
+++ src/content/browser/browser_interface_binders.cc 2025-04-18 23:10:18.079235856 +0200 +++ src/content/browser/browser_interface_binders.cc 2025-08-15 20:15:02.320284607 +0200
@@ -1156,19 +1164,6 @@ void PopulateFrameBinders(RenderFrameHos @@ -1161,19 +1161,6 @@ void PopulateFrameBinders(RenderFrameHos
base::Unretained(host))); base::Unretained(host)));
} }
@@ -294,7 +349,7 @@
} }
void PopulateBinderMapWithContext( void PopulateBinderMapWithContext(
@@ -1446,19 +1443,6 @@ void PopulateDedicatedWorkerBinders(Dedi @@ -1465,19 +1452,6 @@ void PopulateDedicatedWorkerBinders(Dedi
}, },
base::Unretained(host))); base::Unretained(host)));
} }
@@ -314,7 +369,7 @@
} }
void PopulateBinderMapWithContext( void PopulateBinderMapWithContext(
@@ -1549,19 +1533,6 @@ void PopulateSharedWorkerBinders(SharedW @@ -1575,19 +1549,6 @@ void PopulateSharedWorkerBinders(SharedW
}, },
base::Unretained(host))); base::Unretained(host)));
} }
@@ -332,9 +387,9 @@
- base::Unretained(host))); - base::Unretained(host)));
- } - }
// RenderProcessHost binders #if !BUILDFLAG(IS_ANDROID)
map->Add<media::mojom::VideoDecodePerfHistory>(BindWorkerReceiver( map->Add<blink::mojom::DirectSocketsService>(base::BindRepeating(
@@ -1704,22 +1675,6 @@ void PopulateServiceWorkerBinders(Servic @@ -1753,22 +1714,6 @@ void PopulateServiceWorkerBinders(Servic
}, },
base::Unretained(host))); base::Unretained(host)));
} }

View File

@@ -12,18 +12,18 @@
GENERATED_FILE_MESSAGE = """// GENERATED FROM THE API DEFINITION IN GENERATED_FILE_MESSAGE = """// GENERATED FROM THE API DEFINITION IN
// %s // %s
// by tools/json_schema_compiler. // by tools/json_schema_compiler.
--- a/tools/json_to_struct/json_to_struct.py --- src/tools/json_to_struct/json_to_struct.py.orig 2025-07-19 11:32:45.069979393 +0200
+++ b/tools/json_to_struct/json_to_struct.py +++ src/tools/json_to_struct/json_to_struct.py 2025-08-15 15:02:55.044700914 +0200
@@ -74,7 +74,7 @@ @@ -84,7 +84,7 @@ import java_element_generator
import java_element_generator
import struct_generator import struct_generator
-HEAD = u"""// Copyright %d The Chromium Authors -HEAD = u"""// Copyright %d The Chromium Authors
+HEAD = u"""// Copyright 2022 The Chromium Authors +HEAD = u"""// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
@@ -227,7 +227,7 @@ @@ -316,7 +316,7 @@ def GenerateStruct(basepath, output_root
year: Year to display next to the copy-right in the header. year: Year to display next to the copy-right in the header.
""" """
year = int(year) if year else datetime.now().year year = int(year) if year else datetime.now().year

View File

@@ -1,12 +1,13 @@
--- src/components/browsing_data/core/BUILD.gn.old --- src/components/browsing_data/core/BUILD.gn.old
+++ src/components/browsing_data/core/BUILD.gn +++ src/components/browsing_data/core/BUILD.gn
@@ -36,9 +36,7 @@ static_library("core") { @@ -36,10 +36,7 @@ static_library("core") {
deps = [ deps = [
"//base", "//base",
"//components/autofill/core/browser", "//components/autofill/core/browser",
- "//components/bookmarks/browser", - "//components/bookmarks/browser",
"//components/history/core/browser", "//components/history/core/browser",
- "//components/password_manager/core/browser", - "//components/password_manager/core/browser",
- "//components/password_manager/core/browser/features:password_features",
"//components/pref_registry", "//components/pref_registry",
"//components/prefs", "//components/prefs",
"//components/strings", "//components/strings",
@@ -18,8 +19,8 @@
"//components/sync/nigori", "//components/sync/nigori",
- "//components/sync/service", - "//components/sync/service",
] ]
if (is_chromeos) { }
public_deps += [ "//components/sync/chromeos" ]
--- src/components/permissions/prediction_service/BUILD.gn.old --- src/components/permissions/prediction_service/BUILD.gn.old
+++ src/components/permissions/prediction_service/BUILD.gn +++ src/components/permissions/prediction_service/BUILD.gn
@@ -31,8 +31,6 @@ source_set("prediction_service") { @@ -31,8 +31,6 @@ source_set("prediction_service") {
@@ -31,21 +32,34 @@
] ]
if (build_with_tflite_lib) { if (build_with_tflite_lib) {
--- src/components/embedder_support/BUILD.gn.old --- src/components/embedder_support/BUILD.gn.orig 2025-07-19 11:32:33.129979749 +0200
+++ src/components/embedder_support/BUILD.gn +++ src/components/embedder_support/BUILD.gn 2025-08-13 11:51:36.828843854 +0200
@@ -24,12 +24,8 @@ static_library("browser_util") { @@ -19,9 +19,7 @@ static_library("content_settings") {
]
deps = [ deps = [
":embedder_support",
"//build:branding_buildflags",
- "//components/background_sync",
- "//components/content_settings/browser", - "//components/content_settings/browser",
"//components/content_settings/core/browser", "//components/content_settings/core/browser",
- "//components/content_settings/core/browser:cookie_settings", - "//components/content_settings/core/browser:cookie_settings",
"//content/public/browser",
"//net",
"//third_party/blink/public/mojom:mojom_platform_headers",
@@ -36,7 +34,6 @@ static_library("permissions") {
]
deps = [
- "//components/background_sync",
"//components/permissions", "//components/permissions",
"//device/vr/buildflags",
"//services/device/public/cpp:device_features",
@@ -58,7 +55,6 @@ static_library("user_agent") {
":embedder_support",
"//build:branding_buildflags",
"//build/util:chromium_git_revision",
- "//components/policy/core/common", - "//components/policy/core/common",
"//components/prefs", "//components/prefs",
"//components/version_info", "//components/version_info",
"//content/public/browser", "//net",
--- src/components/permissions/BUILD.gn.orig 2025-04-11 12:05:19.206024144 +0200 --- src/components/permissions/BUILD.gn.orig 2025-04-11 12:05:19.206024144 +0200
+++ src/components/permissions/BUILD.gn 2025-04-11 20:04:52.832323166 +0200 +++ src/components/permissions/BUILD.gn 2025-04-11 20:04:52.832323166 +0200
@@ -119,10 +119,7 @@ source_set("permissions") { @@ -119,10 +119,7 @@ source_set("permissions") {
@@ -82,15 +96,6 @@
"proxy_policy_handler.h", "proxy_policy_handler.h",
--- src/components/content_settings/core/browser/BUILD.gn.orig --- src/components/content_settings/core/browser/BUILD.gn.orig
+++ src/components/content_settings/core/browser/BUILD.gn +++ src/components/content_settings/core/browser/BUILD.gn
@@ -69,7 +69,7 @@ static_library("browser") {
"//url",
]
- if (!is_ios) {
+ if (false) {
sources += [
"insecure_private_network_policy_handler.cc",
"insecure_private_network_policy_handler.h",
@@ -78,8 +78,6 @@ static_library("browser") { @@ -78,8 +78,6 @@ static_library("browser") {
if (use_blink) { if (use_blink) {
@@ -146,9 +151,9 @@
"//device/vr/buildflags", "//device/vr/buildflags",
] ]
} }
--- src/components/search_engines/BUILD.gn.orig 2025-04-11 12:05:19.397475381 +0200 --- src/components/search_engines/BUILD.gn.orig 2025-07-19 11:32:33.625979784 +0200
+++ src/components/search_engines/BUILD.gn 2025-04-11 20:05:37.960311107 +0200 +++ src/components/search_engines/BUILD.gn 2025-08-13 11:58:08.964717036 +0200
@@ -12,49 +12,21 @@ if (is_android) { @@ -12,50 +12,20 @@ if (is_android) {
static_library("search_engines") { static_library("search_engines") {
sources = [ sources = [
"choice_made_location.h", "choice_made_location.h",
@@ -156,8 +161,8 @@
- "default_search_manager.h", - "default_search_manager.h",
- "enterprise/default_search_policy_handler.cc", - "enterprise/default_search_policy_handler.cc",
- "enterprise/default_search_policy_handler.h", - "enterprise/default_search_policy_handler.h",
"enterprise/enterprise_search_manager.cc", - "enterprise/enterprise_search_manager.cc",
"enterprise/enterprise_search_manager.h", - "enterprise/enterprise_search_manager.h",
- "keyword_table.cc", - "keyword_table.cc",
- "keyword_table.h", - "keyword_table.h",
"keyword_web_data_service.cc", "keyword_web_data_service.cc",
@@ -169,7 +174,6 @@
- "search_engine_choice/search_engine_choice_service.h", - "search_engine_choice/search_engine_choice_service.h",
- "search_engine_choice/search_engine_choice_utils.cc", - "search_engine_choice/search_engine_choice_utils.cc",
- "search_engine_choice/search_engine_choice_utils.h", - "search_engine_choice/search_engine_choice_utils.h",
"search_engines_pref_names.h",
- "search_host_to_urls_map.cc", - "search_host_to_urls_map.cc",
- "search_host_to_urls_map.h", - "search_host_to_urls_map.h",
"search_terms_data.cc", "search_terms_data.cc",
@@ -187,6 +191,8 @@
- "template_url_parser.h", - "template_url_parser.h",
- "template_url_prepopulate_data.cc", - "template_url_prepopulate_data.cc",
- "template_url_prepopulate_data.h", - "template_url_prepopulate_data.h",
"template_url_prepopulate_data_resolver.cc",
"template_url_prepopulate_data_resolver.h",
- "template_url_service.cc", - "template_url_service.cc",
- "template_url_service.h", - "template_url_service.h",
"template_url_service_client.h", "template_url_service_client.h",
@@ -198,7 +204,7 @@
] ]
public_deps = [ public_deps = [
@@ -68,7 +46,6 @@ static_library("search_engines") { @@ -70,7 +42,6 @@ static_library("search_engines") {
"//components/sync", "//components/sync",
"//components/webdata/common", "//components/webdata/common",
"//third_party/metrics_proto", "//third_party/metrics_proto",
@@ -206,7 +212,7 @@
"//third_party/search_engines_data:prepopulated_engines", "//third_party/search_engines_data:prepopulated_engines",
] ]
@@ -77,16 +47,10 @@ static_library("search_engines") { @@ -79,17 +50,11 @@ static_library("search_engines") {
"//components/country_codes", "//components/country_codes",
"//components/crash/core/common:crash_key", "//components/crash/core/common:crash_key",
"//components/database_utils", "//components/database_utils",
@@ -219,11 +225,12 @@
- "//components/policy/core/browser", - "//components/policy/core/browser",
"//components/pref_registry", "//components/pref_registry",
"//components/regional_capabilities", "//components/regional_capabilities",
"//components/regional_capabilities:country_access_reason",
- "//components/search_provider_logos:switches", - "//components/search_provider_logos:switches",
"//components/signin/public/base", "//components/signin/public/base",
"//components/strings", "//components/strings",
"//components/url_formatter", "//components/url_formatter",
@@ -98,7 +62,6 @@ static_library("search_engines") { @@ -101,7 +66,6 @@ static_library("search_engines") {
"//services/network/public/mojom", "//services/network/public/mojom",
"//sql", "//sql",
"//third_party/metrics_proto", "//third_party/metrics_proto",
@@ -231,17 +238,8 @@
"//ui/base", "//ui/base",
"//ui/gfx", "//ui/gfx",
"//ui/gfx/geometry", "//ui/gfx/geometry",
@@ -124,7 +87,7 @@ static_library("search_engines") { @@ -141,7 +105,7 @@ static_library("search_engines") {
]
} }
- if (!is_android) {
+ if (false) {
sources += [ "search_engine_choice/generated_marketing_snippets.cc" ]
deps += [
":generate_search_engine_icons",
@@ -133,7 +96,7 @@ static_library("search_engines") {
]
} }
- if (is_linux || is_win || is_mac || is_chromeos) { - if (is_linux || is_win || is_mac || is_chromeos) {

View File

@@ -0,0 +1,32 @@
partially revert https://github.com/chromium/chromium/commit/43410138fb38ff4bdba9720ac57b26434443f761
--- src/components/ip_protection/common/BUILD.gn.orig 2025-08-15 17:32:25.445405827 +0200
+++ src/components/ip_protection/common/BUILD.gn 2025-08-15 20:36:06.954140693 +0200
@@ -63,7 +63,6 @@ source_set("ip_protection_core_impl") {
public_deps = [
":ip_protection_core",
":ip_protection_data_types",
- ":ip_protection_probabilistic_reveal_token_manager",
":ip_protection_proxy_config_manager",
":ip_protection_token_manager",
":masked_domain_list_manager",
@@ -108,7 +107,6 @@ source_set("ip_protection_core_impl_mojo
]
deps = [
":ip_protection_core_host_remote",
- ":ip_protection_probabilistic_reveal_token_mojo_fetcher",
":ip_protection_proxy_config_manager_impl",
":ip_protection_proxy_config_mojo_fetcher",
":ip_protection_token_manager_impl",
--- src/components/ip_protection/common/ip_protection_core_impl_mojo.cc.orig 2025-08-15 17:32:25.445405827 +0200
+++ src/components/ip_protection/common/ip_protection_core_impl_mojo.cc 2025-08-16 19:10:17.599046225 +0200
@@ -81,8 +81,7 @@ IpProtectionCoreImplMojo::IpProtectionCo
std::unique_ptr<IpProtectionTokenManager>>(),
probabilistic_reveal_token_registry,
(core_host_remote &&
- base::FeatureList::IsEnabled(
- net::features::kEnableProbabilisticRevealTokens))
+ false)
? std::make_unique<IpProtectionProbabilisticRevealTokenManager>(
std::make_unique<
IpProtectionProbabilisticRevealTokenMojoFetcher>(

View File

@@ -21,9 +21,9 @@ Remove this dead code which brings a dependency on rustc
# TODO(358041220): There is a circular_dependency of `cookie_controls:impl` module # TODO(358041220): There is a circular_dependency of `cookie_controls:impl` module
# with "//chrome/browser" due to the inclusion of //c/b/policy/profile_policy_connector.h # with "//chrome/browser" due to the inclusion of //c/b/policy/profile_policy_connector.h
@@ -1935,7 +1934,6 @@ static_library("browser") { @@ -1935,7 +1934,6 @@ static_library("browser") {
"//chrome/browser/search_engine_choice",
"//chrome/browser/search_engine_choice:impl",
"//chrome/browser/search_engines", "//chrome/browser/search_engines",
"//chrome/browser/send_tab_to_self",
"//chrome/browser/serial",
- "//chrome/browser/share", - "//chrome/browser/share",
"//chrome/browser/sharing:buildflags", "//chrome/browser/sharing:buildflags",
"//chrome/browser/signin", "//chrome/browser/signin",
@@ -61,7 +61,7 @@ Remove this dead code which brings a dependency on rustc
- "//components/qr_code_generator:bitmap_generator", - "//components/qr_code_generator:bitmap_generator",
"//components/query_parser", "//components/query_parser",
"//components/reading_list/core", "//components/reading_list/core",
"//components/reading_list/features:flags", "//components/renderer_context_menu",
--- src/chrome/test/BUILD.gn.orig 2025-04-11 12:13:12.932314099 +0200 --- src/chrome/test/BUILD.gn.orig 2025-04-11 12:13:12.932314099 +0200
+++ src/chrome/test/BUILD.gn 2025-04-11 19:53:28.092504094 +0200 +++ src/chrome/test/BUILD.gn 2025-04-11 19:53:28.092504094 +0200
@@ -2163,7 +2163,6 @@ if (!is_android) { @@ -2163,7 +2163,6 @@ if (!is_android) {
@@ -78,8 +78,8 @@ Remove this dead code which brings a dependency on rustc
"//components/proxy_config", "//components/proxy_config",
- "//components/qr_code_generator:bitmap_generator", - "//components/qr_code_generator:bitmap_generator",
"//components/reading_list/core", "//components/reading_list/core",
"//components/reading_list/features:flags",
"//components/resources", "//components/resources",
"//components/safe_browsing:buildflags",
@@ -6648,7 +6646,6 @@ test("unit_tests") { @@ -6648,7 +6646,6 @@ test("unit_tests") {
"//components/privacy_sandbox/privacy_sandbox_attestations:test_support", "//components/privacy_sandbox/privacy_sandbox_attestations:test_support",
"//components/privacy_sandbox/privacy_sandbox_attestations/proto:proto", "//components/privacy_sandbox/privacy_sandbox_attestations/proto:proto",
@@ -98,7 +98,7 @@ Remove this dead code which brings a dependency on rustc
"//third_party/zlib/google:compression_utils", "//third_party/zlib/google:compression_utils",
@@ -8115,8 +8111,6 @@ test("unit_tests") { @@ -8115,8 +8111,6 @@ test("unit_tests") {
"//chrome/browser/upgrade_detector:build_state_observer", "//chrome/browser/upgrade_detector:build_state_observer",
"//chrome/browser/user_annotations", "//chrome/browser/web_applications:features",
"//chrome/browser/web_applications:web_applications_test_support", "//chrome/browser/web_applications:web_applications_test_support",
- "//chrome/browser/webauthn:test_support", - "//chrome/browser/webauthn:test_support",
- "//chrome/browser/webauthn/proto", - "//chrome/browser/webauthn/proto",

View File

@@ -224,12 +224,11 @@ Inspired by:
#include "device/fido/features.h" #include "device/fido/features.h"
#include "device/fido/fido_discovery_base.h" #include "device/fido/fido_discovery_base.h"
#include "device/fido/hid/fido_hid_discovery.h" #include "device/fido/hid/fido_hid_discovery.h"
@@ -128,12 +127,7 @@ std::vector<std::unique_ptr<FidoDiscover @@ -128,11 +127,7 @@ std::vector<std::unique_ptr<FidoDiscover
std::optional<std::unique_ptr<FidoDiscoveryBase>> std::optional<std::unique_ptr<FidoDiscoveryBase>>
FidoDiscoveryFactory::MaybeCreateEnclaveDiscovery() { FidoDiscoveryFactory::MaybeCreateEnclaveDiscovery() {
- if (!base::FeatureList::IsEnabled(kWebAuthnEnclaveAuthenticator) || - if (!enclave_ui_request_stream_ || !network_context_factory_) {
- !enclave_ui_request_stream_ || !network_context_factory_) {
return std::nullopt; return std::nullopt;
- } - }
- return std::make_unique<enclave::EnclaveAuthenticatorDiscovery>( - return std::make_unique<enclave::EnclaveAuthenticatorDiscovery>(
@@ -240,9 +239,9 @@ Inspired by:
--- src/device/fido/fido_discovery_factory.h.orig --- src/device/fido/fido_discovery_factory.h.orig
+++ src/device/fido/fido_discovery_factory.h +++ src/device/fido/fido_discovery_factory.h
@@ -15,7 +15,6 @@ @@ -15,7 +15,6 @@
#include "base/containers/span.h"
#include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h"
-#include "components/sync/protocol/webauthn_credential_specifics.pb.h" -#include "components/sync/protocol/webauthn_credential_specifics.pb.h"
#include "device/fido/cable/cable_discovery_data.h" #include "device/fido/cable/cable_discovery_data.h"
#include "device/fido/cable/v2_constants.h" #include "device/fido/cable/v2_constants.h"

View File

@@ -1,11 +0,0 @@
--- src/third_party/blink/renderer/platform/loader/fetch/resource.h.orig 2025-04-16 14:36:33.086070015 +0200
+++ src/third_party/blink/renderer/platform/loader/fetch/resource.h 2025-04-16 21:57:27.672717364 +0200
@@ -363,7 +363,7 @@ class PLATFORM_EXPORT Resource : public
// attributes.
bool ForceIntegrityChecks() const;
- const IntegrityReport& IntegrityReport() const { return integrity_report_; }
+ const blink::IntegrityReport& IntegrityReport() const { return integrity_report_; }
bool MustRefetchDueToIntegrityMetadata(const FetchParameters&) const;
bool IsAlive() const { return is_alive_; }

View File

@@ -1,11 +0,0 @@
--- src/third_party/blink/renderer/platform/loader/fetch/resource_response.h.orig 2025-04-16 14:36:33.089070014 +0200
+++ src/third_party/blink/renderer/platform/loader/fetch/resource_response.h 2025-04-16 21:43:33.972794371 +0200
@@ -174,7 +174,7 @@ class PLATFORM_EXPORT ResourceResponse f
std::optional<base::Time> LastModified(UseCounter&) const;
// Will always return values >= 0.
base::TimeDelta CacheControlStaleWhileRevalidate() const;
- std::optional<UnencodedDigest> UnencodedDigest() const;
+ std::optional<blink::UnencodedDigest> UnencodedDigest() const;
unsigned ConnectionID() const;
void SetConnectionID(unsigned);

View File

@@ -0,0 +1,11 @@
--- src/sql/sandboxed_vfs_file_impl.cc.orig 2025-08-15 17:32:28.681405220 +0200
+++ src/sql/sandboxed_vfs_file_impl.cc 2025-08-15 21:55:09.415178758 +0200
@@ -9,6 +9,8 @@
#include "sql/sandboxed_vfs_file_impl.h"
+#include <cstring>
+
#include "base/notreached.h"
#include "sql/sandboxed_vfs.h"

View File

@@ -1,6 +1,6 @@
--- src/sandbox/linux/BUILD.gn.old 2022-10-12 18:06:31.399406000 +0200 --- src/sandbox/linux/BUILD.gn.orig 2025-08-15 17:32:28.529405249 +0200
+++ src/sandbox/linux/BUILD.gn 2022-10-22 11:55:59.621396300 +0200 +++ src/sandbox/linux/BUILD.gn 2025-08-16 19:07:14.523083090 +0200
@@ -196,6 +196,27 @@ @@ -205,6 +205,26 @@ test("sandbox_linux_unittests") {
} }
} }
@@ -17,7 +17,6 @@
+ deps = [ + deps = [
+ ":sandbox_services", + ":sandbox_services",
+ "//base", + "//base",
+ "//build:chromeos_buildflags",
+ "//sandbox:sandbox_buildflags", + "//sandbox:sandbox_buildflags",
+ ] + ]
+ if (gcc_lto) { + if (gcc_lto) {
@@ -28,7 +27,7 @@
component("seccomp_bpf") { component("seccomp_bpf") {
sources = [ sources = [
"bpf_dsl/bpf_dsl.cc", "bpf_dsl/bpf_dsl.cc",
@@ -227,8 +247,6 @@ @@ -236,8 +256,6 @@ component("seccomp_bpf") {
"seccomp-bpf/die.h", "seccomp-bpf/die.h",
"seccomp-bpf/sandbox_bpf.cc", "seccomp-bpf/sandbox_bpf.cc",
"seccomp-bpf/sandbox_bpf.h", "seccomp-bpf/sandbox_bpf.h",
@@ -37,11 +36,11 @@
"seccomp-bpf/trap.cc", "seccomp-bpf/trap.cc",
"seccomp-bpf/trap.h", "seccomp-bpf/trap.h",
] ]
@@ -240,6 +258,7 @@ @@ -249,6 +267,7 @@ component("seccomp_bpf") {
] ]
deps = [ deps = [
":sandbox_services", ":sandbox_services",
+ ":seccomp_bpf_asm", + ":seccomp_bpf_asm",
"//base", "//base",
"//build:chromeos_buildflags",
"//sandbox:sandbox_buildflags", "//sandbox:sandbox_buildflags",
]

View File

@@ -1,23 +0,0 @@
--- src/v8/src/strings/string-hasher.cc.orig 2025-04-20 12:05:55.016195134 +0200
+++ src/v8/src/strings/string-hasher.cc 2025-04-20 12:10:16.788185381 +0200
@@ -27,7 +27,7 @@ struct ConvertTo8BitHashReader {
__m128i x = _mm_loadu_si128(reinterpret_cast<const __m128i*>(p));
return _mm_cvtsi128_si64(_mm_packus_epi16(x, x));
#elif defined(__ARM_NEON__)
- int16x8_t x;
+ uint16x8_t x;
memcpy(&x, p, sizeof(x));
return vget_lane_u64(vreinterpret_u64_u8(vmovn_u16(x)), 0);
#else
@@ -48,9 +48,9 @@ struct ConvertTo8BitHashReader {
__m128i x = _mm_loadu_si64(reinterpret_cast<const __m128i*>(p));
return _mm_cvtsi128_si64(_mm_packus_epi16(x, x));
#elif defined(__ARM_NEON__)
- int8x8_t x;
+ uint16x4_t x;
memcpy(&x, p, sizeof(x));
- int16x8_t x_wide = vcombine_u64(x, x);
+ uint16x8_t x_wide = vcombine_u16(x, x);
return vget_lane_u32(vreinterpret_u32_u8(vmovn_u16(x_wide)), 0);
#else
return (uint64_t{p[0]}) | (uint64_t{p[1]} << 8) | (uint64_t{p[2]} << 16) |

View File

@@ -1,20 +0,0 @@
--- src/third_party/blink/renderer/platform/fonts/string_truncator.cc.orig 2025-04-16 14:36:33.038422986 +0200
+++ src/third_party/blink/renderer/platform/fonts/string_truncator.cc 2025-04-16 22:05:13.224674254 +0200
@@ -168,7 +168,7 @@ static String TruncateString(const Strin
DCHECK_LT(keep_count, keep_count_for_smallest_known_to_not_fit);
DCHECK_GT(keep_count, keep_count_for_largest_known_to_fit);
- truncated_string = truncate_to_buffer(string, keep_count, string_buffer);
+ truncated_string = truncate_to_buffer(string, keep_count, base::span(string_buffer));
width = StringWidth(font, truncated_string);
if (width <= max_width) {
@@ -185,7 +185,7 @@ static String TruncateString(const Strin
if (keep_count != keep_count_for_largest_known_to_fit) {
keep_count = keep_count_for_largest_known_to_fit;
- truncated_string = truncate_to_buffer(string, keep_count, string_buffer);
+ truncated_string = truncate_to_buffer(string, keep_count, base::span(string_buffer));
}
return String(truncated_string);

View File

@@ -1,11 +0,0 @@
--- src/third_party/blink/renderer/core/css/style_scope.cc 2025-04-16 14:36:32.429070140 +0200
+++ /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/home/abuild/rpmbuild/BUILD/nodejs-electron-35.1.5-build/src/third_party/blink/renderer/core/css/style_scope.cc 2025-04-17 16:02:10.183836430 +0200
@@ -32,7 +32,7 @@ StyleScope* StyleScope::CopyWithParent(c
const StyleScope* StyleScope::Renest(StyleRule* new_parent) const {
StyleRule* reparented_from =
- from_ ? To<StyleRule>(from_->Renest(new_parent)) : nullptr;
+ from_ ? blink::To<StyleRule>(from_->Renest(new_parent)) : nullptr;
if (from_ == reparented_from) {
return this;
}

11
system-dragonbox.patch Normal file
View File

@@ -0,0 +1,11 @@
--- src/v8/src/numbers/conversions.cc.orig 2025-08-15 17:36:40.101358286 +0200
+++ src/v8/src/numbers/conversions.cc 2025-08-16 14:28:06.284178438 +0200
@@ -23,7 +23,7 @@
#include "src/objects/string-inl.h"
#include "src/strings/char-predicates-inl.h"
#include "src/utils/allocation.h"
-#include "third_party/dragonbox/src/include/dragonbox/dragonbox.h"
+#include <dragonbox/dragonbox.h>
#include "third_party/fast_float/src/include/fast_float/fast_float.h"
#include "third_party/fast_float/src/include/fast_float/float_common.h"

View File

@@ -40,16 +40,3 @@ Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/hardware_display_controll
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h" #include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkImage.h" #include "third_party/skia/include/core/SkImage.h"
Index: chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
===================================================================
--- chromium-98.0.4758.80.orig/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
+++ chromium-98.0.4758.80/media/gpu/chromeos/video_decoder_pipeline_unittest.cc
@@ -23,7 +23,7 @@
#include "media/gpu/chromeos/dmabuf_video_frame_pool.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
+#include <drm_fourcc.h>
#if BUILDFLAG(IS_CHROMEOS_ASH)
// gn check does not account for BUILDFLAG(), so including this header will

View File

@@ -119,8 +119,8 @@ Unbundle assorted lexing/parsing/transpiling tools written in Python.
--- src/mojo/public/tools/bindings/mojom.gni.orig 2025-04-11 12:05:21.530272509 +0200 --- src/mojo/public/tools/bindings/mojom.gni.orig 2025-04-11 12:05:21.530272509 +0200
+++ src/mojo/public/tools/bindings/mojom.gni 2025-04-11 20:56:50.579500868 +0200 +++ src/mojo/public/tools/bindings/mojom.gni 2025-04-11 20:56:50.579500868 +0200
@@ -802,7 +802,7 @@ template("mojom") { @@ -802,7 +802,7 @@ template("mojom") {
remote_worker = "large"
custom_processor = "mojom_parser" action("${parser_target_name}_action") {
script = mojom_parser_script script = mojom_parser_script
- inputs = mojom_parser_sources + ply_sources + [ build_metadata_filename ] - inputs = mojom_parser_sources + ply_sources + [ build_metadata_filename ]
+ inputs = mojom_parser_sources + [ build_metadata_filename ] + inputs = mojom_parser_sources + [ build_metadata_filename ]

View File

@@ -1,56 +0,0 @@
From 3fb3bab213348955edc18a051f9c3f86241309e8 Mon Sep 17 00:00:00 2001
From: LN Liberda <lauren@selfisekai.rocks>
Date: Thu, 13 Mar 2025 20:01:32 -0700
Subject: [PATCH] unbundle: add simdutf
Bug: none
Change-Id: Idae290112561e5658c614f5eae8895abfe996124
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6333513
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1432518}
---
build/linux/unbundle/replace_gn_files.py | 1 +
build/linux/unbundle/simdutf.gn | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+)
create mode 100644 build/linux/unbundle/simdutf.gn
diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/replace_gn_files.py
index 9ee6fda6547d90..f5db9d23c886b7 100755
--- a/build/linux/unbundle/replace_gn_files.py
+++ b/build/linux/unbundle/replace_gn_files.py
@@ -67,6 +67,7 @@
'openh264': 'third_party/openh264/BUILD.gn',
'opus': 'third_party/opus/BUILD.gn',
're2': 'third_party/re2/BUILD.gn',
+ 'simdutf': 'third_party/simdutf/BUILD.gn',
'snappy': 'third_party/snappy/BUILD.gn',
# Use system libSPIRV-Tools in Swiftshader.
# These two shims MUST be used together.
diff --git a/build/linux/unbundle/simdutf.gn b/build/linux/unbundle/simdutf.gn
new file mode 100644
index 00000000000000..67d86cb3b3e5f9
--- /dev/null
+++ b/build/linux/unbundle/simdutf.gn
@@ -0,0 +1,20 @@
+# Copyright 2025 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+shim_headers("header") {
+ root_path = "."
+ headers = [ "simdutf.h" ]
+}
+
+pkg_config("system_simdutf") {
+ packages = [ "simdutf" ]
+}
+
+source_set("simdutf") {
+ public_configs = [ ":system_simdutf" ]
+ public_deps = [ ":header" ]
+}

View File

@@ -1,11 +0,0 @@
--- src/base/containers/to_vector.h.orig 2025-04-21 18:29:04.778306927 +0200
+++ src/base/containers/to_vector.h 2025-04-22 06:32:55.415046071 +0200
@@ -29,7 +29,7 @@ template <typename Range, typename Proj
std::indirectly_unary_invocable<Proj, std::ranges::iterator_t<Range>>
auto ToVector(Range&& range, Proj proj = {}) {
using ProjectedType =
- std::projected<std::ranges::iterator_t<Range>, Proj>::value_type;
+ std::indirectly_readable_traits<std::projected<std::ranges::iterator_t<Range>, Proj> >::value_type;
std::vector<ProjectedType> container;
container.reserve(std::ranges::size(range));
std::ranges::transform(std::forward<Range>(range),

View File

@@ -1,32 +0,0 @@
--- src/components/unexportable_keys/unexportable_key_service_impl.cc.orig 2025-04-20 19:22:29.934671387 +0200
+++ src/components/unexportable_keys/unexportable_key_service_impl.cc 2025-04-21 14:22:30.891412928 +0200
@@ -19,8 +19,6 @@
namespace unexportable_keys {
-namespace {
-
// Class holding either an `UnexportableKeyId` or a list of callbacks waiting
// for the key creation.
class MaybePendingUnexportableKeyId {
@@ -105,8 +103,6 @@ MaybePendingUnexportableKeyId::GetCallba
return absl::get<std::vector<CallbackType>>(key_id_or_pending_callbacks_);
}
-} // namespace
-
UnexportableKeyServiceImpl::UnexportableKeyServiceImpl(
UnexportableKeyTaskManager& task_manager)
: task_manager_(task_manager) {}
--- src/components/unexportable_keys/unexportable_key_service_impl.h.orig 2025-04-20 19:22:29.934671387 +0200
+++ src/components/unexportable_keys/unexportable_key_service_impl.h 2025-04-21 14:22:00.963413744 +0200
@@ -23,9 +23,7 @@
namespace unexportable_keys {
-namespace {
class MaybePendingUnexportableKeyId;
-}
class UnexportableKeyTaskManager;

View File

@@ -78,8 +78,8 @@ Both this and the unbundle flags should be upstreamed but probably separately.
"deps/nbytes", "deps/nbytes",
- "deps/nghttp2", - "deps/nghttp2",
"deps/postject", "deps/postject",
"deps/sqlite",
"deps/uvwasi", "deps/uvwasi",
"//third_party/zlib",
@@ -186,21 +211,36 @@ template("node_gn_build") { @@ -186,21 +211,36 @@ template("node_gn_build") {
"Security.framework", "Security.framework",
] ]

View File

@@ -0,0 +1,51 @@
--- src/v8/src/codegen/cpu-features.h.orig 2025-08-19 18:33:53.729236588 +0200
+++ src/v8/src/codegen/cpu-features.h 2025-08-19 19:06:19.769049465 +0200
@@ -122,6 +122,12 @@ class V8_EXPORT_PRIVATE CpuFeatures : pu
}
static bool IsSupported(CpuFeature f) {
+ if(f == SSE4_2) return true;
+ if(f == SSE4_1) return true;
+ if(f == SSSE3) return true;
+ if(f == SSE3) return true;
+ if(f == SAHF) return true;
+ if(f == POPCNT) return true;
return (supported_ & (1u << f)) != 0;
}
--- src/v8/src/base/cpu.h.orig 2025-08-19 18:33:53.705236589 +0200
+++ src/v8/src/base/cpu.h 2025-08-19 19:09:47.921029664 +0200
@@ -73,15 +73,15 @@ class V8_BASE_EXPORT CPU final {
static const int kUnknownCacheLineSize = 0;
// x86 features
- bool has_cmov() const { return has_cmov_; }
- bool has_sahf() const { return has_sahf_; }
- bool has_mmx() const { return has_mmx_; }
- bool has_sse() const { return has_sse_; }
- bool has_sse2() const { return has_sse2_; }
- bool has_sse3() const { return has_sse3_; }
- bool has_ssse3() const { return has_ssse3_; }
- bool has_sse41() const { return has_sse41_; }
- bool has_sse42() const { return has_sse42_; }
+ bool has_cmov() const { return true; }
+ bool has_sahf() const { return true; }
+ bool has_mmx() const { return true; }
+ bool has_sse() const { return true; }
+ bool has_sse2() const { return true; }
+ bool has_sse3() const { return true; }
+ bool has_ssse3() const { return true; }
+ bool has_sse41() const { return true; }
+ bool has_sse42() const { return true; }
bool has_osxsave() const { return has_osxsave_; }
bool has_avx() const { return has_avx_; }
bool has_avx2() const { return has_avx2_; }
@@ -92,7 +92,7 @@ class V8_BASE_EXPORT CPU final {
bool has_bmi1() const { return has_bmi1_; }
bool has_bmi2() const { return has_bmi2_; }
bool has_lzcnt() const { return has_lzcnt_; }
- bool has_popcnt() const { return has_popcnt_; }
+ bool has_popcnt() const { return true; }
bool is_atom() const { return is_atom_; }
bool has_intel_jcc_erratum() const { return has_intel_jcc_erratum_; }
bool has_cetss() const { return has_cetss_; }

150
v8-highway-1.1.patch Normal file
View File

@@ -0,0 +1,150 @@
From 1cb68a06f8c0ea3ad29cab6efe5ac673817596ce Mon Sep 17 00:00:00 2001
From: pthier <pthier@chromium.org>
Date: Tue, 6 May 2025 10:28:03 +0200
Subject: [PATCH] Reland "[regexp] Simdify global atom match with single
character pattern"
This is a reland of commit 36f07e9a04484dd4b97713f8e821d3b83ade8f53
Changes since revert: Accumulate number of matches after a cache hit
instead of overwriting them.
Original change's description:
> [regexp] Simdify global atom match with single character pattern
>
> Use highway to find matching characters for RegExp with a single
> character atom pattern.
>
> Bug: 413411337
> Change-Id: I9bf686aca2da37025613a9227eb0ec69176a676f
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6487695
> Reviewed-by: Jakob Linke <jgruber@chromium.org>
> Commit-Queue: Patrick Thier <pthier@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#100006}
Fixed: 414857029
Bug: 413411337
Change-Id: I3ebd72f3b91ce5e7b603e43540cd4e10090c1868
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6513551
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#100088}
---
src/runtime/runtime-regexp.cc | 95 ++++++++++++++++++++++++++++++++---
test/mjsunit/regexp-global.js | 24 +++++++++
2 files changed, 112 insertions(+), 7 deletions(-)
diff --git a/src/runtime/runtime-regexp.cc b/src/runtime/runtime-regexp.cc
index 5689cdc8d1db..e5cee437d1c3 100644
--- a/v8/src/runtime/runtime-regexp.cc
+++ b/v8/src/runtime/runtime-regexp.cc
@@ -3,7 +3,9 @@
// found in the LICENSE file.
#include <functional>
+#include <type_traits>
+#include "hwy/highway.h"
#include "src/base/small-vector.h"
#include "src/base/strings.h"
#include "src/common/message-template.h"
@@ -2164,13 +2166,92 @@ inline void RegExpMatchGlobalAtom_OneCharPattern(
Isolate* isolate, base::Vector<const SChar> subject, const PChar pattern,
int start_index, int* number_of_matches, int* last_match_index,
const DisallowGarbageCollection& no_gc) {
- for (int i = start_index; i < subject.length(); i++) {
- // Subtle: the valid variants are {SChar,PChar} in:
- // {uint8_t,uint8_t}, {uc16,uc16}, {uc16,uint8_t}. In the latter case,
- // we cast the uint8_t pattern to uc16 for the comparison.
- if (subject[i] != static_cast<const SChar>(pattern)) continue;
- (*number_of_matches)++;
- (*last_match_index) = i;
+ static_assert(std::is_unsigned_v<SChar>);
+ static_assert(std::is_unsigned_v<PChar>);
+ // We can utilize SIMD to check multiple characters at once.
+ // Since the pattern is a single char, we create a mask setting each lane in
+ // the vector to the pattern char.
+ // Since reductions from a vector to a general purpose register (i.e.
+ // ReduceSum in this algorithm) are expensive, we keep a count for each lane
+ // in a vector until the count could potentially overflow and only reduce to
+ // a general purpose register then. I.e. if SChar is uint8_t, we have a
+ // 16xuint8_t vector to count matches, which we reduce to an int every 255
+ // blocks.
+ namespace hw = hwy::HWY_NAMESPACE;
+ hw::ScalableTag<SChar> tag;
+ // We need a wider tag to avoid overflows on lanes when summing up submatches.
+ using WidenedTag = hw::RepartitionToWide<decltype(tag)>;
+ WidenedTag sum_tag;
+ static constexpr size_t stride = hw::Lanes(tag);
+ // Subtle: the valid variants are {SChar,PChar} in:
+ // {uint8_t,uint8_t}, {uc16,uc16}, {uc16,uint8_t}. In the latter case,
+ // we cast the uint8_t pattern to uc16 for the comparison.
+ const auto mask = hw::Set(tag, static_cast<const SChar>(pattern));
+
+ int matches = 0;
+ auto submatches = hw::Zero(tag);
+ const SChar* last_match_block = nullptr;
+ hw::Mask<decltype(tag)> last_match_vec;
+
+ const SChar* block = subject.data() + start_index;
+ const SChar* end = subject.data() + subject.length();
+
+ // ReduceSum is expensive, so we gather matches into a vector. max_count is
+ // the maximum number of matches we can count in the vector before it
+ // overflows.
+ int max_count = std::numeric_limits<SChar>::max();
+ while (block + stride * max_count <= end) {
+ for (int i = 0; i < max_count; i++, block += stride) {
+ const auto input = hw::LoadU(tag, block);
+ const auto match = input == mask;
+ // Lanes with matches have all bits set, so we subtract to increase the
+ // count by 1.
+ submatches = hw::Sub(submatches, hw::VecFromMask(tag, match));
+ if (!hw::AllFalse(tag, match)) {
+ last_match_block = block;
+ last_match_vec = match;
+ }
+ }
+ // SumsOf2 promotes the sum of 2 consecutive lanes into a wider lane.
+ auto promoted_submatches = hw::SumsOf2(submatches);
+ // Wider lane sums can be reduces without overflows.
+ matches += hw::ReduceSum(sum_tag, promoted_submatches);
+ submatches = hw::Zero(tag);
+ }
+
+ // For blocks shorter than stride * max_count, lanes in submatches can't
+ // overflow.
+ DCHECK_LT(end - block, stride * max_count);
+ for (; block + stride <= end; block += stride) {
+ const auto input = hw::LoadU(tag, block);
+ const auto match = input == mask;
+ submatches = hw::Sub(submatches, hw::VecFromMask(tag, match));
+ if (!hw::AllFalse(tag, match)) {
+ last_match_block = block;
+ last_match_vec = match;
+ }
+ }
+ auto promoted_submatches = hw::SumsOf2(submatches);
+ matches += hw::ReduceSum(sum_tag, promoted_submatches);
+
+ // Handle remaining chars.
+ // last_match_block already contains the last match position, so use a special
+ // vector with lane 0 set to extract the last_match_index later.
+ const auto scalar_last_match_vec = hw::FirstN(tag, 1);
+ for (SChar c = *block; block < end; c = *(++block)) {
+ if (c != static_cast<const SChar>(pattern)) continue;
+ matches++;
+ last_match_block = block;
+ last_match_vec = scalar_last_match_vec;
+ }
+
+ // Store results.
+ *number_of_matches += matches;
+ if (last_match_block != nullptr) {
+ DCHECK(!hw::AllFalse(tag, last_match_vec));
+ *last_match_index = static_cast<int>(
+ last_match_block + hw::FindKnownLastTrue(tag, last_match_vec) -
+ subject.data());
}
}

View File

@@ -0,0 +1,55 @@
--- src/v8/src/objects/simd.cc.orig 2025-08-15 17:36:40.113358284 +0200
+++ src/v8/src/objects/simd.cc 2025-08-17 16:29:26.826424105 +0200
@@ -953,7 +953,7 @@ bool Uint8ArrayFromHexWithNeon(const bas
uint8x16_t second_part_first_batch =
vld1q_u8(reinterpret_cast<const uint8_t*>(&input_vector[i + 8]));
first_batch =
- vmovn_high_u16(vmovn_u16(first_batch), second_part_first_batch);
+ vmovn_high_u16(vmovn_u16(vreinterpretq_u16_u8(first_batch)), vreinterpretq_u16_u8(second_part_first_batch));
}
// Load second batch of 16 hex characters into a Neon register
@@ -966,20 +966,20 @@ bool Uint8ArrayFromHexWithNeon(const bas
uint8x16_t second_part_second_batch =
vld1q_u8(reinterpret_cast<const uint8_t*>(&input_vector[i + 24]));
second_batch =
- vmovn_high_u16(vmovn_u16(second_batch), second_part_second_batch);
+ vmovn_high_u16(vmovn_u16(vreinterpretq_u16_u8(second_batch)), vreinterpretq_u16_u8(second_part_second_batch));
}
// low nibbles are values with even indexes in fist_batch.
// (0x36, 0x00, 0x66, 0x00, 0x46, 0x00, 0x32, 0x00, 0x31, 0x00, 0x32, 0x00,
// 0x31, 0x00, 0x32, 0x00)
- uint8x16_t first_batch_lo_nibbles =
- vreinterpretq_u8_u16(vshrq_n_u16(vreinterpretq_u16_u8(first_batch), 8));
+ uint16x8_t first_batch_lo_nibbles =
+ vshrq_n_u16(vreinterpretq_u16_u8(first_batch), 8);
// low nibbles are values with even indexes in second_batch.
// (0x36, 0x00, 0x66, 0x00, 0x66, 0x00, 0x32, 0x00, 0x31, 0x00, 0x32, 0x00,
// 0x31, 0x00, 0x66, 0x00)
- uint8x16_t second_batch_lo_nibbles = vreinterpretq_u8_u16(
- vshrq_n_u16(vreinterpretq_u16_u8(second_batch), 8));
+ uint16x8_t second_batch_lo_nibbles =
+ vshrq_n_u16(vreinterpretq_u16_u8(second_batch), 8);
// Append low nibbles of first batch and second batch and remove 0x00s.
// (0x36, 0x66, 0x46, 0x32, 0x31, 0x32, 0x31, 0x32, 0x36, 0x66, 0x66, 0x32,
@@ -992,7 +992,7 @@ bool Uint8ArrayFromHexWithNeon(const bas
// significant byte. (0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x37, 0x36,
// 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x66)
uint8x16_t hi_nibbles =
- vmovn_high_u16(vmovn_u16(first_batch), second_batch);
+ vmovn_high_u16(vmovn_u16(vreinterpretq_u16_u8(first_batch)), vreinterpretq_u16_u8(second_batch));
// mapping low nibbles to uint8_t values.
// (0x06, 0x0f, 0x0f, 0x02, 0x01, 0x02, 0x01, 0x02, 0x06, 0x0f, 0x0f, 0x02,
@@ -1023,7 +1023,7 @@ bool Uint8ArrayFromHexWithNeon(const bas
// (0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x60, 0x70, 0x60, 0x60, 0x60, 0x60,
// 0x60, 0x70, 0x60, 0xf0)
uint8x16_t uint8_shifted_high_nibbles =
- vshlq_n_u64(vreinterpretq_u64_u8(uint8_high_nibbles), 4);
+ vreinterpretq_u8_u64(vshlq_n_u64(vreinterpretq_u64_u8(uint8_high_nibbles), 4));
// final result of combining pairs of uint8_t values of low and high
// nibbles.

View File

@@ -5,9 +5,9 @@ These encoders:
The hardware *decoders*, on the other hand, are useful for Signal Messenger, and should work now. The hardware *decoders*, on the other hand, are useful for Signal Messenger, and should work now.
--- src/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.orig 2025-07-02 22:10:56.136470571 +0200 --- src/media/gpu/vaapi/vaapi_video_encode_accelerator.cc.orig 2025-07-19 11:32:35.717979936 +0200
+++ src/media/gpu/vaapi/vaapi_video_encode_accelerator.cc 2025-07-11 18:16:04.978530973 +0200 +++ src/media/gpu/vaapi/vaapi_video_encode_accelerator.cc 2025-08-15 14:42:43.908933011 +0200
@@ -43,13 +43,10 @@ @@ -46,13 +46,10 @@
#include "media/gpu/gpu_video_encode_accelerator_helpers.h" #include "media/gpu/gpu_video_encode_accelerator_helpers.h"
#include "media/gpu/h264_dpb.h" #include "media/gpu/h264_dpb.h"
#include "media/gpu/macros.h" #include "media/gpu/macros.h"
@@ -21,7 +21,7 @@ The hardware *decoders*, on the other hand, are useful for Signal Messenger, and
#include "media/gpu/vp8_reference_frame_vector.h" #include "media/gpu/vp8_reference_frame_vector.h"
#include "media/gpu/vp9_reference_frame_vector.h" #include "media/gpu/vp9_reference_frame_vector.h"
@@ -230,8 +227,7 @@ bool VaapiVideoEncodeAccelerator::Initia @@ -233,8 +230,7 @@ EncoderStatus VaapiVideoEncodeAccelerato
} }
const VideoCodec codec = VideoCodecProfileToVideoCodec(config.output_profile); const VideoCodec codec = VideoCodecProfileToVideoCodec(config.output_profile);
@@ -30,8 +30,8 @@ The hardware *decoders*, on the other hand, are useful for Signal Messenger, and
+ if (codec != VideoCodec::kH264) { + if (codec != VideoCodec::kH264) {
MEDIA_LOG(ERROR, media_log.get()) MEDIA_LOG(ERROR, media_log.get())
<< "Unsupported profile: " << GetProfileName(config.output_profile); << "Unsupported profile: " << GetProfileName(config.output_profile);
return false; return {EncoderStatus::Codes::kEncoderInitializationError};
@@ -321,11 +317,6 @@ void VaapiVideoEncodeAccelerator::Initia @@ -324,11 +320,6 @@ void VaapiVideoEncodeAccelerator::Initia
: VaapiWrapper::kEncodeVariableBitrate; : VaapiWrapper::kEncodeVariableBitrate;
} }
break; break;
@@ -43,7 +43,7 @@ The hardware *decoders*, on the other hand, are useful for Signal Messenger, and
default: default:
NotifyError({EncoderStatus::Codes::kEncoderUnsupportedCodec, NotifyError({EncoderStatus::Codes::kEncoderUnsupportedCodec,
"Unsupported codec: " + GetCodecName(output_codec_)}); "Unsupported codec: " + GetCodecName(output_codec_)});
@@ -377,24 +368,6 @@ void VaapiVideoEncodeAccelerator::Initia @@ -380,24 +371,6 @@ void VaapiVideoEncodeAccelerator::Initia
} }
} }
break; break;
@@ -68,20 +68,20 @@ The hardware *decoders*, on the other hand, are useful for Signal Messenger, and
default: default:
NOTREACHED() << "Unsupported codec type " << GetCodecName(output_codec_); NOTREACHED() << "Unsupported codec type " << GetCodecName(output_codec_);
} }
@@ -893,19 +866,6 @@ VaapiVideoEncodeAccelerator::CreateEncod @@ -896,19 +869,6 @@ VaapiVideoEncodeAccelerator::CreateEncod
picture = new VaapiH264Picture( picture = base::MakeRefCounted<VaapiH264Picture>(
reconstructed_surface->ReleaseAsVASurfaceHandle()); reconstructed_surface->ReleaseAsVASurfaceHandle());
break; break;
- case VideoCodec::kVP8: - case VideoCodec::kVP8:
- picture = new VaapiVP8Picture( - picture = base::MakeRefCounted<VaapiVP8Picture>(
- reconstructed_surface->ReleaseAsVASurfaceHandle()); - reconstructed_surface->ReleaseAsVASurfaceHandle());
- break; - break;
- case VideoCodec::kVP9: - case VideoCodec::kVP9:
- picture = new VaapiVP9Picture( - picture = base::MakeRefCounted<VaapiVP9Picture>(
- reconstructed_surface->ReleaseAsVASurfaceHandle()); - reconstructed_surface->ReleaseAsVASurfaceHandle());
- break; - break;
- case VideoCodec::kAV1: - case VideoCodec::kAV1:
- picture = new VaapiAV1Picture( - picture = base::MakeRefCounted<VaapiAV1Picture>(
- /*display_va_surface=*/nullptr, - /*display_va_surface=*/nullptr,
- reconstructed_surface->ReleaseAsVASurfaceHandle()); - reconstructed_surface->ReleaseAsVASurfaceHandle());
- break; - break;

View File

@@ -0,0 +1,10 @@
--- src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_webgpu_base.cc.orig 2025-08-15 17:32:29.453405076 +0200
+++ src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_webgpu_base.cc 2025-08-16 09:32:54.602946843 +0200
@@ -10,6 +10,7 @@
#include "third_party/blink/renderer/platform/graphics/gpu/dawn_control_client_holder.h"
#include "third_party/blink/renderer/platform/graphics/gpu/webgpu_callback.h"
#include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
+#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/web_graphics_context_3d_provider_util.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"

View File

@@ -0,0 +1,33 @@
--- webrtc-7204a/third_party/webrtc/pc/codec_vendor.h.orig 2025-08-10 20:30:35.548562304 +0200
+++ webrtc-7204a/third_party/webrtc/pc/codec_vendor.h 2025-08-10 21:06:25.516311580 +0200
@@ -119,7 +119,7 @@ class CodecVendor {
class CodecLookupHelper {
public:
virtual ~CodecLookupHelper() = default;
- virtual PayloadTypeSuggester* PayloadTypeSuggester() = 0;
+ virtual webrtc::PayloadTypeSuggester* PayloadTypeSuggester() = 0;
// Look up the codec vendor to use, depending on context.
// This call may get additional arguments in the future, to aid
// in selection of the correct context.
--- webrtc-7204a/third_party/webrtc/pc/jsep_transport.h.orig 2025-08-10 20:30:35.552562303 +0200
+++ webrtc-7204a/third_party/webrtc/pc/jsep_transport.h 2025-08-10 21:10:32.100282629 +0200
@@ -214,7 +214,7 @@ class JsepTransport {
return rtp_dtls_transport_;
}
- scoped_refptr<SctpTransport> SctpTransport() const { return sctp_transport_; }
+ scoped_refptr<webrtc::SctpTransport> SctpTransport() const { return sctp_transport_; }
// TODO(bugs.webrtc.org/9719): Delete method, update callers to use
// SctpTransport() instead.
--- webrtc-7204a/third_party/webrtc/p2p/base/port_interface.h.orig 2025-08-10 20:30:35.544562305 +0200
+++ webrtc-7204a/third_party/webrtc/p2p/base/port_interface.h 2025-08-10 20:58:44.792364738 +0200
@@ -55,7 +55,7 @@ class PortInterface {
virtual ~PortInterface();
virtual IceCandidateType Type() const = 0;
- virtual const Network* Network() const = 0;
+ virtual const webrtc::Network* Network() const = 0;
// Methods to set/get ICE role and tiebreaker values.
virtual void SetIceRole(IceRole role) = 0;

View File

@@ -1,36 +0,0 @@
From 4860148c51cb673711a41bc26135659ad4e6cb9d Mon Sep 17 00:00:00 2001
From: Dan Tan <dwtan@google.com>
Date: Wed, 31 Jan 2024 09:11:18 -0800
Subject: [PATCH] Add WebRTC-LibaomAv1Encoder-MaxConsecFrameDrop parameter to
explicitly limit the maximum consecutive frame drop
Bug: webrtc:15821
Change-Id: Ib8be6827ea57e4e54269b94a0fc9ea81945af09f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/337020
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Commit-Queue: Dan Tan <dwtan@google.com>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41648}
---
experiments/field_trials.py | 3 +++
.../codecs/av1/libaom_av1_encoder.cc | 18 ++++++++++++-
.../codecs/av1/libaom_av1_encoder_unittest.cc | 25 +++++++++++++++++++
3 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/modules/video_coding/codecs/av1/libaom_av1_encoder.cc b/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
index 4ff22bfe34..03bb367fe0 100644
--- a/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
+++ b/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
@@ -297,6 +307,12 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* codec_settings,
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ENABLE_PALETTE, 0);
}
+ if (codec_settings->mode == VideoCodecMode::kRealtimeVideo &&
+ encoder_settings_.GetFrameDropEnabled() && max_consec_frame_drop_ > 0) {
+ SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR,
+ max_consec_frame_drop_);
+ }
+
if (cfg_.g_threads == 8) {
// Values passed to AV1E_SET_TILE_ROWS and AV1E_SET_TILE_COLUMNS are log2()
// based.

View File

@@ -1,250 +0,0 @@
From f7a15067031cae07b1dac031fa263a9f01902f1c Mon Sep 17 00:00:00 2001
From: Sergey Silkin <ssilkin@webrtc.org>
Date: Tue, 9 Jul 2024 15:03:10 +0200
Subject: [PATCH] Adjust max consecutive drops depending on target frame rate
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Current thresholds were tuned to guarantee no buffer overshoot in an extreme scenario (encoding a high complexity video in a low bitrate).
Bug: b/337757868, webrtc:351644568
Change-Id: I832b2564af6f18f06550338cc9b3618f8acdf831
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/356580
Reviewed-by: Dan Tan <dwtan@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42620}
---
experiments/field_trials.py | 6 +--
modules/video_coding/codecs/av1/BUILD.gn | 2 +
.../codecs/av1/libaom_av1_encoder.cc | 42 +++++++++------
.../codecs/av1/libaom_av1_encoder_unittest.cc | 53 ++++++++++++++-----
4 files changed, 69 insertions(+), 34 deletions(-)
diff --git a/modules/video_coding/codecs/av1/BUILD.gn b/modules/video_coding/codecs/av1/BUILD.gn
index 7d93de7a3a..197e1f3e19 100644
--- a/third_party/webrtc/modules/video_coding/codecs/av1/BUILD.gn
+++ b/third_party/webrtc/modules/video_coding/codecs/av1/BUILD.gn
@@ -60,6 +60,7 @@ rtc_library("libaom_av1_encoder") {
"../../../../api/video_codecs:scalability_mode",
"../../../../api/video_codecs:video_codecs_api",
"../../../../common_video",
+ "../../../../modules/rtp_rtcp:rtp_rtcp_format",
"../../../../rtc_base:checks",
"../../../../rtc_base:logging",
"../../../../rtc_base:rtc_numerics",
@@ -104,6 +105,7 @@ if (rtc_include_tests) {
"../../../../api/units:data_size",
"../../../../api/units:time_delta",
"../../../../api/video:video_frame",
+ "../../../../modules/rtp_rtcp:rtp_rtcp_format",
"../../../../test:scoped_key_value_config",
"../../svc:scalability_mode_util",
"../../svc:scalability_structures",
diff --git a/modules/video_coding/codecs/av1/libaom_av1_encoder.cc b/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
index 3a8830252d..258d3d3b88 100644
--- a/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
+++ b/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc
@@ -30,6 +30,7 @@
#include "api/video_codecs/scalability_mode.h"
#include "api/video_codecs/video_codec.h"
#include "api/video_codecs/video_encoder.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/video_coding/include/video_codec_interface.h"
#include "modules/video_coding/include/video_error_codes.h"
#include "modules/video_coding/svc/create_scalability_structure.h"
@@ -65,7 +66,6 @@ constexpr int kLowQindex = 145; // Low qindex threshold for QP scaling.
constexpr int kHighQindex = 205; // High qindex threshold for QP scaling.
constexpr int kBitDepth = 8;
constexpr int kLagInFrames = 0; // No look ahead.
-constexpr int kRtpTicksPerSecond = 90000;
constexpr double kMinFrameRateFps = 1.0;
aom_superblock_size_t GetSuperblockSize(int width, int height, int threads) {
@@ -133,7 +133,9 @@ class LibaomAv1Encoder final : public VideoEncoder {
double framerate_fps_; // Current target frame rate.
int64_t timestamp_;
const LibaomAv1EncoderInfoSettings encoder_info_override_;
- int max_consec_frame_drop_;
+ // TODO(webrtc:351644568): Remove this kill-switch after the feature is fully
+ // deployed.
+ bool adaptive_max_consec_drops_;
};
int32_t VerifyCodecSettings(const VideoCodec& codec_settings) {
@@ -164,12 +166,12 @@ int32_t VerifyCodecSettings(const VideoCodec& codec_settings) {
return WEBRTC_VIDEO_CODEC_OK;
}
-int GetMaxConsecutiveFrameDrop(const FieldTrialsView& field_trials) {
- webrtc::FieldTrialParameter<int> maxdrop("maxdrop", 0);
- webrtc::ParseFieldTrial(
- {&maxdrop},
- field_trials.Lookup("WebRTC-LibaomAv1Encoder-MaxConsecFrameDrop"));
- return maxdrop;
+int GetMaxConsecDrops(double framerate_fps) {
+ // Consecutive frame drops result in a video freeze. We want to minimize the
+ // max number of consecutive drops and, at the same time, keep the value high
+ // enough to let encoder drain the buffer at overshoot.
+ constexpr double kMaxFreezeSeconds = 0.25;
+ return std::ceil(kMaxFreezeSeconds * framerate_fps);
}
LibaomAv1Encoder::LibaomAv1Encoder(const Environment& env,
@@ -182,7 +184,8 @@ LibaomAv1Encoder::LibaomAv1Encoder(const Environment& env,
framerate_fps_(0),
timestamp_(0),
encoder_info_override_(env.field_trials()),
- max_consec_frame_drop_(GetMaxConsecutiveFrameDrop(env.field_trials())) {}
+ adaptive_max_consec_drops_(!env.field_trials().IsDisabled(
+ "WebRTC-LibaomAv1Encoder-AdaptiveMaxConsecDrops")) {}
LibaomAv1Encoder::~LibaomAv1Encoder() {
Release();
@@ -242,7 +245,7 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* codec_settings,
cfg_.g_threads =
NumberOfThreads(cfg_.g_w, cfg_.g_h, settings.number_of_cores);
cfg_.g_timebase.num = 1;
- cfg_.g_timebase.den = kRtpTicksPerSecond;
+ cfg_.g_timebase.den = kVideoPayloadTypeFrequency;
cfg_.rc_target_bitrate = encoder_settings_.startBitrate; // kilobits/sec.
cfg_.rc_dropframe_thresh = encoder_settings_.GetFrameDropEnabled() ? 30 : 0;
cfg_.g_input_bit_depth = kBitDepth;
@@ -304,12 +307,6 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* codec_settings,
SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ENABLE_PALETTE, 0);
}
- if (codec_settings->mode == VideoCodecMode::kRealtimeVideo &&
- encoder_settings_.GetFrameDropEnabled() && max_consec_frame_drop_ > 0) {
- SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR,
- max_consec_frame_drop_);
- }
-
if (cfg_.g_threads == 8) {
// Values passed to AV1E_SET_TILE_ROWS and AV1E_SET_TILE_COLUMNS are log2()
// based.
@@ -659,7 +656,7 @@ int32_t LibaomAv1Encoder::Encode(
return WEBRTC_VIDEO_CODEC_ENCODER_FAILURE;
}
- const uint32_t duration = kRtpTicksPerSecond / framerate_fps_;
+ const uint32_t duration = kVideoPayloadTypeFrequency / framerate_fps_;
timestamp_ += duration;
const size_t num_spatial_layers =
@@ -836,6 +833,17 @@ void LibaomAv1Encoder::SetRates(const RateControlParameters& parameters) {
SetEncoderControlParameters(AV1E_SET_SVC_PARAMS, &*svc_params_);
}
+ if (adaptive_max_consec_drops_ &&
+ (!rates_configured_ || framerate_fps_ != parameters.framerate_fps)) {
+ int max_consec_drops = GetMaxConsecDrops(parameters.framerate_fps);
+ if (!SetEncoderControlParameters(AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR,
+ max_consec_drops)) {
+ RTC_LOG(LS_WARNING)
+ << "Failed to set AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR to "
+ << max_consec_drops;
+ }
+ }
+
framerate_fps_ = parameters.framerate_fps;
rates_configured_ = true;
diff --git a/modules/video_coding/codecs/av1/libaom_av1_encoder_unittest.cc b/modules/video_coding/codecs/av1/libaom_av1_encoder_unittest.cc
index abb6fce0cf..a00b03aeda 100644
--- a/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder_unittest.cc
+++ b/third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder_unittest.cc
@@ -10,6 +10,7 @@
#include "modules/video_coding/codecs/av1/libaom_av1_encoder.h"
+#include <algorithm>
#include <limits>
#include <memory>
#include <utility>
@@ -22,6 +23,7 @@
#include "api/test/frame_generator_interface.h"
#include "api/video_codecs/video_codec.h"
#include "api/video_codecs/video_encoder.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "modules/video_coding/codecs/test/encoded_video_frame_producer.h"
#include "modules/video_coding/include/video_error_codes.h"
#include "test/gmock.h"
@@ -37,6 +39,7 @@ using ::testing::Eq;
using ::testing::Field;
using ::testing::IsEmpty;
using ::testing::SizeIs;
+using ::testing::Values;
VideoCodec DefaultCodecSettings() {
VideoCodec codec_settings;
@@ -199,32 +202,54 @@ TEST(LibaomAv1EncoderTest, CheckOddDimensionsWithSpatialLayers) {
ASSERT_THAT(encoded_frames, SizeIs(6));
}
-TEST(LibaomAv1EncoderTest, WithMaximumConsecutiveFrameDrop) {
- auto field_trials = std::make_unique<ScopedKeyValueConfig>(
- "WebRTC-LibaomAv1Encoder-MaxConsecFrameDrop/maxdrop:2/");
- const Environment env = CreateEnvironment(std::move(field_trials));
+class LibaomAv1EncoderMaxConsecDropTest
+ : public ::testing::TestWithParam</*framerate_fps=*/int> {};
+
+TEST_P(LibaomAv1EncoderMaxConsecDropTest, MaxConsecDrops) {
VideoBitrateAllocation allocation;
- allocation.SetBitrate(0, 0, 1000); // some very low bitrate
- std::unique_ptr<VideoEncoder> encoder = CreateLibaomAv1Encoder(env);
+ allocation.SetBitrate(0, 0,
+ 1000); // Very low bitrate to provoke frame drops.
+ std::unique_ptr<VideoEncoder> encoder =
+ CreateLibaomAv1Encoder(CreateEnvironment());
VideoCodec codec_settings = DefaultCodecSettings();
codec_settings.SetFrameDropEnabled(true);
codec_settings.SetScalabilityMode(ScalabilityMode::kL1T1);
codec_settings.startBitrate = allocation.get_sum_kbps();
+ codec_settings.maxFramerate = GetParam();
ASSERT_EQ(encoder->InitEncode(&codec_settings, DefaultEncoderSettings()),
WEBRTC_VIDEO_CODEC_OK);
encoder->SetRates(VideoEncoder::RateControlParameters(
allocation, codec_settings.maxFramerate));
- EncodedVideoFrameProducer evfp(*encoder);
- evfp.SetResolution(
- RenderResolution{codec_settings.width, codec_settings.height});
- // We should code the first frame, skip two, then code another frame.
std::vector<EncodedVideoFrameProducer::EncodedFrame> encoded_frames =
- evfp.SetNumInputFrames(4).Encode();
- ASSERT_THAT(encoded_frames, SizeIs(2));
- // The 4 frames have default Rtp-timestamps of 1000, 4000, 7000, 10000.
- ASSERT_THAT(encoded_frames[1].encoded_image.RtpTimestamp(), 10000);
+ EncodedVideoFrameProducer(*encoder)
+ .SetNumInputFrames(60)
+ .SetFramerateFps(codec_settings.maxFramerate)
+ .SetResolution(RenderResolution{320, 180})
+ .Encode();
+ ASSERT_GE(encoded_frames.size(), 2u);
+
+ int max_consec_drops = 0;
+ for (size_t i = 1; i < encoded_frames.size(); ++i) {
+ uint32_t frame_duration_rtp =
+ encoded_frames[i].encoded_image.RtpTimestamp() -
+ encoded_frames[i - 1].encoded_image.RtpTimestamp();
+ // X consecutive drops result in a freeze of (X + 1) frame duration.
+ // Subtract 1 to get pure number of drops.
+ int num_drops = frame_duration_rtp * codec_settings.maxFramerate /
+ kVideoPayloadTypeFrequency -
+ 1;
+ max_consec_drops = std::max(max_consec_drops, num_drops);
+ }
+
+ const int expected_max_consec_drops =
+ std::ceil(0.25 * codec_settings.maxFramerate);
+ EXPECT_EQ(max_consec_drops, expected_max_consec_drops);
}
+INSTANTIATE_TEST_SUITE_P(LibaomAv1EncoderMaxConsecDropTests,
+ LibaomAv1EncoderMaxConsecDropTest,
+ Values(1, 2, 5, 15, 30, 60));
+
TEST(LibaomAv1EncoderTest, EncoderInfoWithoutResolutionBitrateLimits) {
std::unique_ptr<VideoEncoder> encoder =
CreateLibaomAv1Encoder(CreateEnvironment());

View File

@@ -1,13 +0,0 @@
--- src/third_party/blink/renderer/core/xml/parser/xml_document_parser.cc.orig 2025-04-16 14:36:32.758721824 +0200
+++ src/third_party/blink/renderer/core/xml/parser/xml_document_parser.cc 2025-04-17 12:06:42.394992144 +0200
@@ -1507,8 +1507,8 @@ static base::span<const char, N - 1> Cop
base::span<const char, N> expanded_entity_chars) {
auto entity_buffer =
base::as_writable_chars(base::span(g_shared_xhtml_entity_result));
- entity_buffer.first<N>().copy_from(expanded_entity_chars);
- return entity_buffer.first<N - 1>();
+ entity_buffer.template first<N>().copy_from(expanded_entity_chars);
+ return entity_buffer.template first<N - 1>();
}
static base::span<const char> ConvertUTF16EntityToUTF8(

View File

@@ -0,0 +1,10 @@
--- src/third_party/blink/renderer/modules/xr/xr_webgl_swap_chain.h.orig 2025-08-15 17:32:29.469405073 +0200
+++ src/third_party/blink/renderer/modules/xr/xr_webgl_swap_chain.h 2025-08-16 00:08:44.433036412 +0200
@@ -8,6 +8,7 @@
#include "third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h"
#include "third_party/blink/renderer/modules/webgl/webgl_unowned_texture.h"
#include "third_party/blink/renderer/modules/xr/xr_swap_chain.h"
+#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/member.h"