forked from pool/nodejs-electron
Accepting request 1272836 from home:dziobian:gulgul-ultron:19
- Update to 35.2.1
* Chromium 134.0.6998.205
* Node 22.14.0
* V8 13.4
* Removed AVIF image format
* Added excludeUrls to webRequest filter and deprecated the use of empty arrays in urls property.
* Added fromVersionID on ServiceWorkers to get an instance of ServiceWorkerMain.
* Deprecated getPreloads and setPreloads on Session.
* Moved 'console-message' arguments into event object.
* Added ServiceWorkerMain class to interact with service workers in the main process.
* Added contextBridge.executeInMainWorld to safely execute code across world boundaries.
* Added frame to 'console-message' event.
* Added optional animation parameter to BrowserWindow.setVibrancy.
* Added permission support for document.executeCommand("paste").
* Added support for service worker preload scripts.
* Support Portal's globalShortcuts.
Electron must be run with --enable-features=GlobalShortcutsPortal in order to have the feature working.
* see https://github.com/electron/electron/releases/tag/v35.0.0 and https://www.electronjs.org/blog/electron-35-0 for more
- Remove Fedora 40 support
* drop bundled-minizip.patch
* drop quiche-absl-HexStringToBytes.patch
- Leap 15.6: use backported wayland-protocols
* drop wayland-protocol-toplevel-icon.patch
* drop wayland-protocol-toplevel-icon-2.patch
* drop wayland-protocol-toplevel-drag.patch
- Build with LTO also on 15.6 (so now we enable it everywhere)
- Fedora: use system simdjson
* merge system-ada-url.patch into use-system-libraries-in-node.patch
- Drop no longer applicable patches
* account_id-missing-optional.patch
* blink-platform-INSIDE_BLINK-Wodr.patch
* boringssl-internal-addc-cxx.patch
* build-without-extensions.patch
* css_attr_value_tainting-missing-once_flag.patch
* electron-13-fix-base-check-nomerge.patch
* exception_context-missing-variant.patch
* fix-build-without-safebrowsing.patch
* fix-build-without-service-discovery.patch
* ip_protection_data_types-missing-optional.patch
* node-compiler.patch
* skia_image_decoder_base-missing-stack.patch
* vtt_scanner-missing-variant.patch
* wayland_connection-Wchanges-meaning.patch
- Add backported or upstreamable patches
* ax_platform_node_id-fpermissive.patch
* browser_process_impl-fix-safe_browsing_mode-0.patch
* content_browser_client-incomplete-WebUIController.patch
* css_shape_value-constructor.patch
* exception_state-constexpr-initializer.patch
* fix-build-without-pdf.patch
* fix-build-without-video-effects.patch
* media_session_uma_helper-missing-optional.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
* 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
* to_vector-std-projected-gcc119888.patch
* unexportable_key_service_impl-Wlto-type-mismatch.patch
* xml_document_parser-Wmissing-template-keyword.patch
- merge remove-libphonenumber.patch & delete-old-language-detection-which-uses-tflite.patch
into remove-ai-language-detection-factory-which-requires-tflite-and-libphonenumber.patch
- Revert upstream change which breaks build with old abseil
* webrtc-make_ref_counted-absl2024-nullability.patch
- Conditionally (15.6) remove feature change which needs new spirv
* angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch
- Use system sqlite in node (except 15.6)
* system-sqlite.patch
- Remove more rust code
* chromium-132-no-rust.patch
- Actually disable AVIF support without disabling AV1 video
* disable-avif-really.patch
- Various other build fixes
* absl_strings-missing-headers.patch
* blink-shape_result-highway.patch
* build-without-mesage-center.patch
* fix-system-highway.patch
* gn-logspam-breaks-install.patch
* permission-gcc14.2.patch
OBS-URL: https://build.opensuse.org/request/show/1272836
OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=202
This commit is contained in:
@@ -271,7 +271,7 @@ index 3c97e4a6cf4c7..a55e4ab51d5b3 100644
|
||||
- // Treat dolby vision contents as dolby vision codec only if the
|
||||
- // device support clear DV decoding, otherwise use the original
|
||||
- // HEVC or AVC codec and profile.
|
||||
- if (media::IsSupportedVideoType(type)) {
|
||||
- if (media::IsDecoderSupportedVideoType(type)) {
|
||||
- codec = type.codec;
|
||||
- profile = type.profile;
|
||||
- }
|
||||
@@ -307,7 +307,7 @@ index 3c97e4a6cf4c7..a55e4ab51d5b3 100644
|
||||
+ // Treat dolby vision contents as dolby vision codec only if the
|
||||
+ // device support clear DV decoding, otherwise use the original
|
||||
+ // HEVC or AVC codec and profile.
|
||||
+ if (media::IsSupportedVideoType(type)) {
|
||||
+ if (media::IsDecoderSupportedVideoType(type)) {
|
||||
+ codec = type.codec;
|
||||
+ profile = type.profile;
|
||||
+ }
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
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-01-06 22:04:18.385199599 +0100
|
||||
+++ src/third_party/blink/renderer/platform/runtime_enabled_features.json5 2025-01-14 19:49:21.336897930 +0100
|
||||
@@ -2103,7 +2103,6 @@
|
||||
--- 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",
|
||||
|
||||
40
absl_strings-missing-headers.patch
Normal file
40
absl_strings-missing-headers.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
--- src/build/linux/unbundle/absl_strings.gn.orig 2025-04-12 17:15:17.061420294 +0200
|
||||
+++ src/build/linux/unbundle/absl_strings.gn 2025-04-15 20:16:58.452941199 +0200
|
||||
@@ -5,6 +5,10 @@ pkg_config("system_absl_cord") {
|
||||
packages = [ "absl_cord" ]
|
||||
}
|
||||
|
||||
+pkg_config("system_absl_has_ostream_operator") {
|
||||
+ packages = [ "absl_has_ostream_operator" ]
|
||||
+}
|
||||
+
|
||||
pkg_config("system_absl_strings") {
|
||||
packages = [ "absl_strings" ]
|
||||
}
|
||||
@@ -35,6 +39,9 @@ shim_headers("strings_shim") {
|
||||
"ascii.h",
|
||||
"charconv.h",
|
||||
"escaping.h",
|
||||
+ "has_absl_stringify.h",
|
||||
+ "internal/damerau_levenshtein_distance.h",
|
||||
+ "internal/string_constant.h",
|
||||
"match.h",
|
||||
"numbers.h",
|
||||
"str_cat.h",
|
||||
@@ -74,8 +81,15 @@ source_set("string_view") {
|
||||
public_configs = [ ":system_absl_string_view" ]
|
||||
}
|
||||
|
||||
+shim_headers("has_ostream_operator_shim") {
|
||||
+ root_path = "."
|
||||
+ prefix = "absl/strings/"
|
||||
+ headers = [ "has_ostream_operator.h" ]
|
||||
+}
|
||||
+
|
||||
source_set("has_ostream_operator") {
|
||||
- # Dummy — unavailable with abseil 202308 and chromium 122 does not use it
|
||||
+ deps = [ ":has_ostream_operator_shim" ]
|
||||
+ public_configs = [ ":system_absl_has_ostream_operator" ]
|
||||
}
|
||||
|
||||
source_set("ascii_test") {
|
||||
62
angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch
Normal file
62
angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch
Normal file
@@ -0,0 +1,62 @@
|
||||
From 397eb7c81ee996027470b2453b787e4947cdc8c0 Mon Sep 17 00:00:00 2001
|
||||
From: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Date: Sat, 29 Jun 2024 00:22:42 -0400
|
||||
Subject: [PATCH] Vulkan: Easier to read SPIR-V disassembly
|
||||
|
||||
Bug: angleproject:349994211
|
||||
Change-Id: I9d8da4a9fa336e1f5ecdfa39c33959ecebb2c6ea
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5667081
|
||||
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
||||
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
---
|
||||
samples/shader_translator/shader_translator.cpp | 4 +++-
|
||||
src/common/spirv/angle_spirv_utils.cpp | 4 +++-
|
||||
src/compiler/translator/spirv/OutputSPIRV.cpp | 4 +++-
|
||||
3 files changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/samples/shader_translator/shader_translator.cpp b/samples/shader_translator/shader_translator.cpp
|
||||
index 64f4df372f0..3d6aa709ce1 100644
|
||||
--- a/third_party/angle/samples/shader_translator/shader_translator.cpp
|
||||
+++ b/third_party/angle/samples/shader_translator/shader_translator.cpp
|
||||
@@ -928,7 +928,9 @@ static void PrintSpirv(const sh::BinaryBlob &blob)
|
||||
spvtools::SpirvTools spirvTools(SPV_ENV_VULKAN_1_1);
|
||||
|
||||
std::string readableSpirv;
|
||||
- spirvTools.Disassemble(blob, &readableSpirv, 0);
|
||||
+ spirvTools.Disassemble(blob, &readableSpirv,
|
||||
+ SPV_BINARY_TO_TEXT_OPTION_COMMENT | SPV_BINARY_TO_TEXT_OPTION_INDENT |
|
||||
+ SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT);
|
||||
|
||||
puts(readableSpirv.c_str());
|
||||
#endif
|
||||
diff --git a/src/common/spirv/angle_spirv_utils.cpp b/src/common/spirv/angle_spirv_utils.cpp
|
||||
index 5082b3c7341..fc83582eb48 100644
|
||||
--- a/third_party/angle/src/common/spirv/angle_spirv_utils.cpp
|
||||
+++ b/third_party/angle/src/common/spirv/angle_spirv_utils.cpp
|
||||
@@ -62,7 +62,9 @@ void Print(const Blob &blob)
|
||||
{
|
||||
spvtools::SpirvTools spirvTools(GetEnv(blob));
|
||||
std::string readableSpirv;
|
||||
- spirvTools.Disassemble(blob, &readableSpirv, 0);
|
||||
+ spirvTools.Disassemble(blob, &readableSpirv,
|
||||
+ SPV_BINARY_TO_TEXT_OPTION_COMMENT | SPV_BINARY_TO_TEXT_OPTION_INDENT |
|
||||
+ SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT);
|
||||
INFO() << "Disassembled SPIR-V:\n" << readableSpirv.c_str();
|
||||
}
|
||||
|
||||
diff --git a/src/compiler/translator/spirv/OutputSPIRV.cpp b/src/compiler/translator/spirv/OutputSPIRV.cpp
|
||||
index ad5c12e07fe..1ed6b264622 100644
|
||||
--- a/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp
|
||||
+++ b/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp
|
||||
@@ -6550,7 +6550,9 @@ spirv::Blob OutputSPIRVTraverser::getSpirv()
|
||||
spvtools::SpirvTools spirvTools(mCompileOptions.emitSPIRV14 ? SPV_ENV_VULKAN_1_1_SPIRV_1_4
|
||||
: SPV_ENV_VULKAN_1_1);
|
||||
std::string readableSpirv;
|
||||
- spirvTools.Disassemble(result, &readableSpirv, 0);
|
||||
+ spirvTools.Disassemble(result, &readableSpirv,
|
||||
+ SPV_BINARY_TO_TEXT_OPTION_COMMENT | SPV_BINARY_TO_TEXT_OPTION_INDENT |
|
||||
+ SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT);
|
||||
fprintf(stderr, "%s\n", readableSpirv.c_str());
|
||||
#endif // ANGLE_DEBUG_SPIRV_GENERATION
|
||||
|
||||
12
ax_platform_node_id-fpermissive.patch
Normal file
12
ax_platform_node_id-fpermissive.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- src/ui/accessibility/platform/ax_platform_node_id.h.orig 2025-04-16 14:36:44.316067879 +0200
|
||||
+++ src/ui/accessibility/platform/ax_platform_node_id.h 2025-04-17 12:14:07.150992641 +0200
|
||||
@@ -55,9 +55,7 @@ class AXPlatformNodeId
|
||||
|
||||
} // namespace ui
|
||||
|
||||
-namespace std {
|
||||
template <>
|
||||
struct std::hash<ui::AXPlatformNodeId>
|
||||
: std::hash<base::StrongAlias<class ui::AXPlatformNodeIdTag, int32_t>> {};
|
||||
-} // namespace std
|
||||
#endif // UI_ACCESSIBILITY_PLATFORM_AX_PLATFORM_NODE_ID_H_
|
||||
@@ -9,8 +9,8 @@
|
||||
#include "base/time/time_override.h"
|
||||
#include "build/build_config.h"
|
||||
|
||||
--- src/base/BUILD.gn.orig 2024-12-08 18:43:52.881356091 +0100
|
||||
+++ src/base/BUILD.gn 2024-12-18 13:19:11.049201868 +0100
|
||||
--- src/base/BUILD.gn.orig 2025-04-11 12:12:20.504331178 +0200
|
||||
+++ src/base/BUILD.gn 2025-04-11 20:49:30.979616277 +0200
|
||||
@@ -1,3 +1,8 @@
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
+
|
||||
@@ -20,7 +20,7 @@
|
||||
# Copyright 2013 The Chromium Authors
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
@@ -809,8 +814,6 @@ component("base") {
|
||||
@@ -797,8 +802,6 @@ component("base") {
|
||||
"task/updateable_sequenced_task_runner.h",
|
||||
"test/scoped_logging_settings.h",
|
||||
"test/spin_wait.h",
|
||||
@@ -29,10 +29,10 @@
|
||||
"thread_annotations.h",
|
||||
"threading/hang_watcher.cc",
|
||||
"threading/hang_watcher.h",
|
||||
@@ -1028,6 +1031,7 @@ component("base") {
|
||||
@@ -1014,6 +1017,7 @@ component("base") {
|
||||
"//build/config/compiler:prevent_unsafe_narrowing",
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
"//build/config/compiler:wglobal_constructors",
|
||||
"//electron/build/config:mas_build",
|
||||
+ ":system_nspr",
|
||||
]
|
||||
|
||||
|
||||
16
blink-shape_result-highway.patch
Normal file
16
blink-shape_result-highway.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- src/third_party/blink/renderer/platform/fonts/shaping/shape_result.h.orig 2025-04-23 20:35:41.224982139 +0200
|
||||
+++ src/third_party/blink/renderer/platform/fonts/shaping/shape_result.h 2025-04-23 21:44:29.556139260 +0200
|
||||
@@ -54,9 +54,13 @@
|
||||
#include "ui/gfx/geometry/rect_f.h"
|
||||
#include "ui/gfx/geometry/vector2d_f.h"
|
||||
|
||||
+#include <hwy/base.h>
|
||||
+
|
||||
#if defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64)
|
||||
+#if HWY_MAJOR > 1 || (HWY_MAJOR == 1 && HWY_MINOR >= 1)
|
||||
#define USE_SIMD_FOR_COMPUTING_GLYPH_BOUNDS 1
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
struct hb_buffer_t;
|
||||
|
||||
45
browser_process_impl-fix-safe_browsing_mode-0.patch
Normal file
45
browser_process_impl-fix-safe_browsing_mode-0.patch
Normal file
@@ -0,0 +1,45 @@
|
||||
--- src/electron/shell/browser/browser_process_impl.h.orig 2025-04-16 14:34:09.211257279 +0200
|
||||
+++ src/electron/shell/browser/browser_process_impl.h 2025-04-18 21:20:48.780761049 +0200
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "components/embedder_support/origin_trials/origin_trials_settings_storage.h"
|
||||
#include "components/prefs/value_map_pref_store.h"
|
||||
+#include "components/safe_browsing/buildflags.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "services/network/public/cpp/network_quality_tracker.h"
|
||||
#include "services/network/public/cpp/shared_url_loader_factory.h"
|
||||
@@ -104,7 +105,9 @@ class BrowserProcessImpl : public Browse
|
||||
DownloadRequestLimiter* download_request_limiter() override;
|
||||
BackgroundModeManager* background_mode_manager() override;
|
||||
StatusTray* status_tray() override;
|
||||
+#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
|
||||
safe_browsing::SafeBrowsingService* safe_browsing_service() override;
|
||||
+#endif
|
||||
subresource_filter::RulesetService* subresource_filter_ruleset_service()
|
||||
override;
|
||||
component_updater::ComponentUpdateService* component_updater() override;
|
||||
--- src/electron/BUILD.gn.orig 2025-04-16 14:34:09.140868383 +0200
|
||||
+++ src/electron/BUILD.gn 2025-04-18 21:29:07.278572174 +0200
|
||||
@@ -465,6 +465,7 @@ source_set("electron_lib") {
|
||||
"//components/os_crypt/sync",
|
||||
"//components/pref_registry",
|
||||
"//components/prefs",
|
||||
+ "//components/safe_browsing:buildflags",
|
||||
"//components/security_state/content",
|
||||
"//components/upload_list",
|
||||
"//components/user_prefs",
|
||||
--- src/electron/shell/browser/browser_process_impl.cc.orig 2025-04-16 14:34:09.211257279 +0200
|
||||
+++ src/electron/shell/browser/browser_process_impl.cc 2025-04-18 21:32:53.957517063 +0200
|
||||
@@ -257,10 +257,12 @@ StatusTray* BrowserProcessImpl::status_t
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
|
||||
safe_browsing::SafeBrowsingService*
|
||||
BrowserProcessImpl::safe_browsing_service() {
|
||||
return nullptr;
|
||||
}
|
||||
+#endif
|
||||
|
||||
subresource_filter::RulesetService*
|
||||
BrowserProcessImpl::subresource_filter_ruleset_service() {
|
||||
10
build-without-mesage-center.patch
Normal file
10
build-without-mesage-center.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- src/components/global_media_controls/BUILD.gn 2025-04-16 14:36:27.043179983 +0200
|
||||
+++ /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/home/abuild/rpmbuild/BUILD/nodejs-electron-35.1.5-build/src/components/global_media_controls/BUILD.gn 2025-04-18 14:41:32.341441955 +0200
|
||||
@@ -48,7 +48,6 @@ component("global_media_controls") {
|
||||
}
|
||||
|
||||
public_deps = [
|
||||
- "//components/media_message_center",
|
||||
"//services/media_session/public/cpp",
|
||||
"//services/media_session/public/mojom",
|
||||
"//ui/views",
|
||||
@@ -1,9 +1,9 @@
|
||||
--- 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/ui/zoom:unit_tests",
|
||||
"//chrome/browser/user_annotations",
|
||||
"//chrome/browser/web_applications:web_applications_test_support",
|
||||
"//chrome/common/accessibility:mojo_bindings",
|
||||
"//chrome/common/read_anything:mojo_bindings",
|
||||
- "//chrome/services/speech:unit_tests",
|
||||
"//components/app_constants",
|
||||
"//components/color",
|
||||
|
||||
@@ -21,9 +21,9 @@ Subject: [PATCH] Disable various compiler configs
|
||||
build/config/compiler/BUILD.gn | 114 +++++----------------------------
|
||||
1 file changed, 17 insertions(+), 97 deletions(-)
|
||||
|
||||
--- src/build/config/compiler/BUILD.gn.orig 2024-12-08 18:34:51.744673228 +0100
|
||||
+++ src/build/config/compiler/BUILD.gn 2024-12-18 11:06:05.334038035 +0100
|
||||
@@ -310,9 +310,7 @@ config("compiler") {
|
||||
--- src/build/config/compiler/BUILD.gn.orig 2025-04-21 18:29:05.106306929 +0200
|
||||
+++ src/build/config/compiler/BUILD.gn 2025-04-22 20:59:45.689108303 +0200
|
||||
@@ -308,9 +308,7 @@ config("compiler") {
|
||||
|
||||
configs += [
|
||||
# See the definitions below.
|
||||
@@ -33,7 +33,23 @@ Subject: [PATCH] Disable various compiler configs
|
||||
":compiler_codegen",
|
||||
":compiler_deterministic",
|
||||
]
|
||||
@@ -342,7 +340,12 @@ config("compiler") {
|
||||
@@ -325,7 +323,6 @@ config("compiler") {
|
||||
# See: https://gcc.gnu.org/PR97913
|
||||
# TODO(mpdenton): remove is_clang once GCC bug is fixed.
|
||||
if ((!is_nacl || is_nacl_saigo) && !is_ubsan && is_clang) {
|
||||
- cflags += [ "-fno-delete-null-pointer-checks" ]
|
||||
}
|
||||
|
||||
# Make signed overflow and pointer overflowdefined to wrap.
|
||||
@@ -335,7 +332,6 @@ config("compiler") {
|
||||
if (is_win) {
|
||||
cflags += [ "/clang:-fwrapv" ]
|
||||
} else {
|
||||
- cflags += [ "-fwrapv" ]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -351,7 +347,12 @@ config("compiler") {
|
||||
if (!is_win) {
|
||||
# Common POSIX compiler flags setup.
|
||||
# --------------------------------
|
||||
@@ -47,7 +63,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
|
||||
# Stack protection. ShadowCallStack and Stack protector address the same
|
||||
# problems. Therefore, we only enable one or the other. Clang advertises SCS as
|
||||
@@ -487,10 +490,6 @@ config("compiler") {
|
||||
@@ -498,10 +499,6 @@ config("compiler") {
|
||||
# Linux/Android/Fuchsia common flags setup.
|
||||
# ---------------------------------
|
||||
if (is_linux || is_chromeos || is_android || is_fuchsia) {
|
||||
@@ -58,7 +74,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
|
||||
if (!is_clang) {
|
||||
# Use pipes for communicating between sub-processes. Faster.
|
||||
@@ -1107,11 +1106,6 @@ config("libcxx_hardening") {
|
||||
@@ -1124,11 +1121,6 @@ config("libcxx_hardening") {
|
||||
defines = [ "_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE" ]
|
||||
}
|
||||
|
||||
@@ -70,7 +86,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
}
|
||||
|
||||
# The BUILDCONFIG file sets this config on targets by default, which means when
|
||||
@@ -1177,7 +1171,8 @@ config("thinlto_optimize_max") {
|
||||
@@ -1194,7 +1186,8 @@ config("thinlto_optimize_max") {
|
||||
# without using everything that "compiler" brings in. Options that
|
||||
# tweak code generation for a particular CPU do not belong here!
|
||||
# See "compiler_codegen", below.
|
||||
@@ -80,7 +96,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
cflags = []
|
||||
ldflags = []
|
||||
defines = []
|
||||
@@ -1811,7 +1806,8 @@ config("treat_warnings_as_errors") {
|
||||
@@ -1824,7 +1817,8 @@ config("treat_warnings_as_errors") {
|
||||
# Collects all warning flags that are used by default. This is used as a
|
||||
# subconfig of both chromium_code and no_chromium_code. This way these
|
||||
# flags are guaranteed to appear on the compile command line after -Wall.
|
||||
@@ -90,7 +106,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
cflags = []
|
||||
cflags_c = []
|
||||
cflags_cc = []
|
||||
@@ -2064,11 +2060,7 @@ config("chromium_code") {
|
||||
@@ -2071,11 +2065,7 @@ config("chromium_code") {
|
||||
defines = [ "_HAS_NODISCARD" ]
|
||||
}
|
||||
} else {
|
||||
@@ -103,7 +119,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
|
||||
# In Chromium code, we define __STDC_foo_MACROS in order to get the
|
||||
# C99 macros on Mac and Linux.
|
||||
@@ -2077,24 +2069,6 @@ config("chromium_code") {
|
||||
@@ -2084,24 +2074,6 @@ config("chromium_code") {
|
||||
"__STDC_FORMAT_MACROS",
|
||||
]
|
||||
|
||||
@@ -128,7 +144,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
if (is_apple) {
|
||||
cflags_objc = [ "-Wimplicit-retain-self" ]
|
||||
cflags_objcc = [ "-Wimplicit-retain-self" ]
|
||||
@@ -2245,7 +2219,6 @@ config("no_rtti") {
|
||||
@@ -2268,7 +2240,6 @@ config("no_rtti") {
|
||||
config("export_dynamic") {
|
||||
# TODO(crbug.com/40118868): Revisit after target_os flip is completed.
|
||||
if (is_linux || is_chromeos_lacros || export_libcxxabi_from_executables) {
|
||||
@@ -136,7 +152,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2333,7 +2306,8 @@ config("wexit_time_destructors") {
|
||||
@@ -2366,7 +2337,8 @@ config("wexit_time_destructors") {
|
||||
# gcc 4.9 and earlier had no way of suppressing this warning without
|
||||
# suppressing the rest of them. Here we centralize the identification of
|
||||
# the gcc 4.9 toolchains.
|
||||
@@ -146,7 +162,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
cflags = []
|
||||
if (is_clang) {
|
||||
cflags += [ "-Wno-incompatible-pointer-types" ]
|
||||
@@ -2451,7 +2425,8 @@ if (is_win) {
|
||||
@@ -2483,7 +2455,8 @@ if (is_win) {
|
||||
common_optimize_on_cflags += [ "-fno-math-errno" ]
|
||||
}
|
||||
|
||||
@@ -156,7 +172,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
if (!is_win) {
|
||||
if (enable_frame_pointers) {
|
||||
cflags = [ "-fno-omit-frame-pointer" ]
|
||||
@@ -2492,7 +2467,8 @@ config("default_stack_frames") {
|
||||
@@ -2524,7 +2497,8 @@ config("default_stack_frames") {
|
||||
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
|
||||
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
|
||||
# [2]: https://crrev.com/c/5447532
|
||||
@@ -166,7 +182,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
if (is_win) {
|
||||
# clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
|
||||
# consistency with the other platforms.
|
||||
@@ -2541,7 +2517,8 @@ config("optimize") {
|
||||
@@ -2573,7 +2547,8 @@ config("optimize") {
|
||||
}
|
||||
|
||||
# Turn off optimizations.
|
||||
@@ -176,7 +192,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
if (is_win) {
|
||||
cflags = [
|
||||
"/Od", # Disable optimization.
|
||||
@@ -2581,7 +2558,8 @@ config("no_optimize") {
|
||||
@@ -2613,7 +2588,8 @@ config("no_optimize") {
|
||||
# Turns up the optimization level. Used to explicitly enable -O2 instead of
|
||||
# -Os for select targets on platforms that use optimize_for_size. No-op
|
||||
# elsewhere.
|
||||
@@ -186,7 +202,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2614,7 +2592,8 @@ config("optimize_max") {
|
||||
@@ -2646,7 +2622,8 @@ config("optimize_max") {
|
||||
#
|
||||
# TODO(crbug.com/41259697) - rework how all of these configs are related
|
||||
# so that we don't need this disclaimer.
|
||||
@@ -196,7 +212,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
if (is_nacl && is_nacl_irt) {
|
||||
# The NaCl IRT is a special case and always wants its own config.
|
||||
# Various components do:
|
||||
@@ -2643,7 +2622,8 @@ config("optimize_speed") {
|
||||
@@ -2675,7 +2652,8 @@ config("optimize_speed") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,7 +222,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
cflags = [ "-O1" ] + common_optimize_on_cflags
|
||||
rustflags = [ "-Copt-level=1" ]
|
||||
ldflags = common_optimize_on_ldflags
|
||||
@@ -2774,7 +2754,8 @@ config("win_pdbaltpath") {
|
||||
@@ -2806,7 +2784,8 @@ config("win_pdbaltpath") {
|
||||
}
|
||||
|
||||
# Full symbols.
|
||||
@@ -216,7 +232,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
rustflags = []
|
||||
configs = []
|
||||
if (is_win) {
|
||||
@@ -2936,7 +2917,8 @@ config("symbols") {
|
||||
@@ -2968,7 +2947,8 @@ config("symbols") {
|
||||
# Minimal symbols.
|
||||
# This config guarantees to hold symbol for stack trace which are shown to user
|
||||
# when crash happens in unittests running on buildbot.
|
||||
@@ -226,7 +242,7 @@ Subject: [PATCH] Disable various compiler configs
|
||||
rustflags = []
|
||||
if (is_win) {
|
||||
# Functions, files, and line tables only.
|
||||
@@ -3021,7 +3003,8 @@ config("minimal_symbols") {
|
||||
@@ -3053,7 +3033,8 @@ config("minimal_symbols") {
|
||||
# This configuration contains function names only. That is, the compiler is
|
||||
# told to not generate debug information and the linker then just puts function
|
||||
# names in the final debug information.
|
||||
|
||||
@@ -1,49 +1,54 @@
|
||||
--- a/third_party/blink/renderer/platform/image-decoders/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/image-decoders/BUILD.gn
|
||||
@@ -74,12 +74,9 @@
|
||||
sources += [
|
||||
"avif/avif_image_decoder.cc",
|
||||
"avif/avif_image_decoder.h",
|
||||
@@ -77,14 +77,6 @@
|
||||
"//ui/gfx/geometry:geometry_skia",
|
||||
]
|
||||
|
||||
- if (enable_av1_decoder) {
|
||||
- sources += [
|
||||
- "avif/crabbyavif_image_decoder.cc",
|
||||
- "avif/crabbyavif_image_decoder.h",
|
||||
]
|
||||
- ]
|
||||
-
|
||||
- deps += [ "//third_party/crabbyavif" ]
|
||||
- }
|
||||
|
||||
deps += [
|
||||
- "//third_party/crabbyavif",
|
||||
"//third_party/libavif",
|
||||
"//third_party/libavifinfo",
|
||||
]
|
||||
if (enable_rust_png) {
|
||||
sources += [
|
||||
--- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
|
||||
+++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
|
||||
@@ -47,7 +47,6 @@
|
||||
@@ -51,9 +51,6 @@
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
#include "ui/gfx/geometry/size_conversions.h"
|
||||
|
||||
#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
#include "third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.h"
|
||||
-#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
-#include "third_party/blink/renderer/platform/image-decoders/avif/crabbyavif_image_decoder.h"
|
||||
#endif
|
||||
-#endif
|
||||
|
||||
namespace blink {
|
||||
@@ -192,9 +191,7 @@
|
||||
|
||||
@@ -196,11 +193,6 @@
|
||||
if (MatchesBMPSignature(contents)) {
|
||||
return "image/bmp";
|
||||
}
|
||||
#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kCrabbyAvif)
|
||||
- ? CrabbyAVIFImageDecoder::MatchesAVIFSignature(fast_reader)
|
||||
- : AVIFImageDecoder::MatchesAVIFSignature(fast_reader)) {
|
||||
+ if (AVIFImageDecoder::MatchesAVIFSignature(fast_reader)) {
|
||||
return "image/avif";
|
||||
}
|
||||
#endif
|
||||
@@ -300,11 +300,7 @@
|
||||
-#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
- if (CrabbyAVIFImageDecoder::MatchesAVIFSignature(fast_reader)) {
|
||||
- return "image/avif";
|
||||
- }
|
||||
-#endif
|
||||
|
||||
return String();
|
||||
}
|
||||
@@ -305,12 +297,6 @@
|
||||
} else if (mime_type == "image/bmp" || mime_type == "image/x-xbitmap") {
|
||||
decoder = std::make_unique<BMPImageDecoder>(alpha_option, color_behavior,
|
||||
max_decoded_bytes);
|
||||
#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
} else if (mime_type == "image/avif") {
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kCrabbyAvif)) {
|
||||
- decoder = std::make_unique<CrabbyAVIFImageDecoder>(
|
||||
- alpha_option, high_bit_depth_decoding_option, color_behavior,
|
||||
- max_decoded_bytes, animation_option);
|
||||
- } else {
|
||||
+ if (true) {
|
||||
decoder = std::make_unique<AVIFImageDecoder>(
|
||||
alpha_option, high_bit_depth_decoding_option, color_behavior,
|
||||
max_decoded_bytes, animation_option);
|
||||
-#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
- } else if (mime_type == "image/avif") {
|
||||
- decoder = std::make_unique<CrabbyAVIFImageDecoder>(
|
||||
- alpha_option, high_bit_depth_decoding_option, color_behavior, aux_image,
|
||||
- max_decoded_bytes, animation_option);
|
||||
-#endif
|
||||
}
|
||||
|
||||
if (decoder) {
|
||||
|
||||
@@ -1,32 +1,12 @@
|
||||
diff -up chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc.me chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc
|
||||
--- chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc.me 2024-09-15 22:12:33.945186323 +0200
|
||||
+++ chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc 2024-09-16 10:53:13.334970539 +0200
|
||||
@@ -17,14 +17,11 @@
|
||||
diff -up chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc.me chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc
|
||||
--- chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc.me 2025-02-05 13:28:17.782881439 +0100
|
||||
+++ chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc 2025-02-05 13:33:15.256928027 +0100
|
||||
@@ -111,7 +111,7 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol
|
||||
|
||||
namespace media {
|
||||
// We don't allow H.264 parsing during demuxing since we have our own parser
|
||||
// and the ffmpeg one increases memory usage unnecessarily.
|
||||
- format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
|
||||
+ // format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
|
||||
|
||||
-// Kill switches in case things explode. Remove after M132.
|
||||
+// Kill switch in case things explode. Remove after M132.
|
||||
// TODO(crbug.com/355485812): Re-enable this flag.
|
||||
BASE_FEATURE(kAllowOnlyAudioCodecsDuringDemuxing,
|
||||
"AllowOnlyAudioCodecsDuringDemuxing",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
-BASE_FEATURE(kForbidH264ParsingDuringDemuxing,
|
||||
- "ForbidH264ParsingDuringDemuxing",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
// Internal buffer size used by AVIO for reading.
|
||||
// TODO(dalecurtis): Experiment with this buffer size and measure impact on
|
||||
@@ -118,12 +115,6 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol
|
||||
// Enable fast, but inaccurate seeks for MP3.
|
||||
format_context_->flags |= AVFMT_FLAG_FAST_SEEK;
|
||||
|
||||
- // We don't allow H.264 parsing during demuxing since we have our own parser
|
||||
- // and the ffmpeg one increases memory usage unnecessarily.
|
||||
- if (base::FeatureList::IsEnabled(kForbidH264ParsingDuringDemuxing)) {
|
||||
- format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
|
||||
- }
|
||||
-
|
||||
// Ensures format parsing errors will bail out. From an audit on 11/2017, all
|
||||
// instances were real failures. Solves bugs like http://crbug.com/710791.
|
||||
format_context_->error_recognition |= AV_EF_EXPLODE;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
--- a/skia/BUILD.gn
|
||||
+++ b/skia/BUILD.gn
|
||||
@@ -8,7 +8,6 @@
|
||||
--- src/skia/BUILD.gn.orig 2025-04-11 12:05:22.085153891 +0200
|
||||
+++ src/skia/BUILD.gn 2025-04-11 20:35:59.999827501 +0200
|
||||
@@ -8,7 +8,6 @@ import("//build/config/features.gni")
|
||||
import("//build/config/freetype/freetype.gni")
|
||||
import("//build/config/rust.gni")
|
||||
import("//build/config/sanitizers/sanitizers.gni")
|
||||
-import("//build/rust/rust_static_library.gni")
|
||||
import("//gpu/vulkan/features.gni")
|
||||
import("//testing/test.gni")
|
||||
import("//third_party/skia/gn/shared_sources.gni")
|
||||
@@ -47,27 +46,6 @@
|
||||
import("//skia/skia.gni")
|
||||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||||
@@ -37,27 +36,6 @@ buildflag_header("buildflags") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
- cxx_bindings = skia_fontations_bridge_sources
|
||||
- deps = [
|
||||
- ":path_bridge",
|
||||
- "//third_party/rust/font_types/v0_7:lib",
|
||||
- "//third_party/rust/read_fonts/v0_22:lib",
|
||||
- "//third_party/rust/skrifa/v0_22:lib",
|
||||
- "//third_party/rust/font_types/v0_8:lib",
|
||||
- "//third_party/rust/read_fonts/v0_25:lib",
|
||||
- "//third_party/rust/skrifa/v0_26:lib",
|
||||
- ]
|
||||
- configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
- configs += [
|
||||
@@ -36,14 +36,21 @@
|
||||
|
||||
# External-facing config for dependent code.
|
||||
config("skia_config") {
|
||||
@@ -394,15 +373,9 @@
|
||||
# See SK_TYPEFACE_FACTORY_FREETYPE
|
||||
sources += skia_ports_freetype_sources
|
||||
sources += skia_ports_fontmgr_custom_sources
|
||||
@@ -182,7 +160,6 @@ config("skia_library_config") {
|
||||
if (use_blink && enable_freetype) {
|
||||
defines += [
|
||||
"SK_TYPEFACE_FACTORY_FREETYPE",
|
||||
- "SK_TYPEFACE_FACTORY_FONTATIONS",
|
||||
"SK_FONTMGR_FREETYPE_EMPTY_AVAILABLE",
|
||||
]
|
||||
}
|
||||
@@ -417,14 +394,6 @@ component("skia") {
|
||||
public += skia_ports_fontmgr_empty_public
|
||||
}
|
||||
sources += skia_ports_typeface_proxy_sources
|
||||
- sources += skia_ports_typeface_fontations_sources
|
||||
sources += skia_ports_fontmgr_empty_sources
|
||||
public += skia_ports_fontmgr_empty_public
|
||||
|
||||
- sources += skia_ports_fontmgr_fontations_sources
|
||||
-
|
||||
- # Fontations Rust/C++ bridge interfaces.
|
||||
- deps += [
|
||||
- ":bridge_rust_side",
|
||||
@@ -52,17 +59,32 @@
|
||||
}
|
||||
|
||||
if (is_win) {
|
||||
--- 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"
|
||||
@@ -719,13 +688,7 @@ skia_source_set("skia_core_and_effects")
|
||||
# skia_core_and_effects rather than the other way around.
|
||||
public_deps = [ "//third_party/dawn/include/dawn:cpp_headers" ]
|
||||
}
|
||||
- if (use_blink) {
|
||||
- # Fontations Rust/C++ bridge interfaces, needed by SkTypeface.
|
||||
- deps += [
|
||||
- ":bridge_rust_side",
|
||||
- ":path_bridge",
|
||||
- ]
|
||||
- }
|
||||
+
|
||||
visibility = [ ":skia" ]
|
||||
}
|
||||
|
||||
--- src/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc.orig 2025-04-11 12:05:22.929220697 +0200
|
||||
+++ src/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc 2025-04-11 20:35:59.999827501 +0200
|
||||
@@ -13,7 +13,6 @@
|
||||
#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/ports/SkTypeface_fontations.h"
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
#include "third_party/blink/renderer/platform/fonts/win/dwrite_font_format_support.h"
|
||||
@@ -54,7 +53,7 @@
|
||||
@@ -55,7 +54,7 @@ bool IsFreeTypeSystemRasterizer() {
|
||||
}
|
||||
|
||||
sk_sp<SkTypeface> MakeTypefaceDefaultFontMgr(sk_sp<SkData> data) {
|
||||
@@ -71,7 +93,7 @@
|
||||
if (RuntimeEnabledFeatures::FontationsFontBackendEnabled()) {
|
||||
std::unique_ptr<SkStreamAsset> stream(new SkMemoryStream(data));
|
||||
return SkTypeface_Make_Fontations(std::move(stream), SkFontArguments());
|
||||
@@ -82,10 +81,6 @@
|
||||
@@ -83,10 +82,6 @@ sk_sp<SkTypeface> MakeTypefaceFallback(s
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -82,7 +104,7 @@
|
||||
|
||||
sk_sp<SkTypeface> MakeVariationsTypeface(
|
||||
sk_sp<SkData> data,
|
||||
@@ -187,7 +182,6 @@
|
||||
@@ -188,7 +183,6 @@ bool WebFontTypefaceFactory::CreateTypef
|
||||
const FontFormatCheck format_check(data);
|
||||
const FontInstantiator instantiator = {
|
||||
MakeTypefaceDefaultFontMgr,
|
||||
@@ -90,4 +112,3 @@
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE)
|
||||
MakeTypefaceFallback,
|
||||
#endif
|
||||
|
||||
|
||||
290
chromium-132-no-rust.patch
Normal file
290
chromium-132-no-rust.patch
Normal file
@@ -0,0 +1,290 @@
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -38,8 +38,6 @@
|
||||
import("//build/config/sysroot.gni")
|
||||
import("//build/config/ui.gni")
|
||||
import("//build/nocompile.gni")
|
||||
-import("//build/rust/rust_bindgen.gni")
|
||||
-import("//build/rust/rust_static_library.gni")
|
||||
import("//build/timestamp.gni")
|
||||
import("//build/util/process_version.gni")
|
||||
import("//build_overrides/build.gni")
|
||||
@@ -1022,11 +1020,6 @@
|
||||
# Used by metrics/crc32, except on NaCl builds.
|
||||
deps += [ "//third_party/zlib" ]
|
||||
|
||||
- # NaCl does not support Rust.
|
||||
- deps += [
|
||||
- ":rust_logger",
|
||||
- "//third_party/rust/serde_json_lenient/v0_2/wrapper",
|
||||
- ]
|
||||
}
|
||||
|
||||
# `raw_ptr` cannot be made a component due to CRT symbol issues.
|
||||
@@ -1063,7 +1056,7 @@
|
||||
"//third_party/abseil-cpp:absl",
|
||||
]
|
||||
|
||||
- if (!is_nacl) {
|
||||
+ if (is_nacl) {
|
||||
sources += [
|
||||
"containers/span_rust.h",
|
||||
"strings/string_view_rust.h",
|
||||
@@ -1543,8 +1536,6 @@
|
||||
"files/scoped_temp_file.h",
|
||||
"json/json_file_value_serializer.cc",
|
||||
"json/json_file_value_serializer.h",
|
||||
- "logging/rust_log_integration.cc",
|
||||
- "logging/rust_log_integration.h",
|
||||
"memory/discardable_memory.cc",
|
||||
"memory/discardable_memory.h",
|
||||
"memory/discardable_memory_allocator.cc",
|
||||
@@ -2447,40 +2438,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-rust_bindgen("logging_log_severity_bindgen") {
|
||||
- # TODO(danakj): Maybe combine all base bindgen targets, or all base/logging
|
||||
- # ones even) into a single GN target? But the GN rule needs to handle multiple
|
||||
- # headers then.
|
||||
- header = "logging/log_severity.h"
|
||||
- cpp = true
|
||||
- visibility = [ ":*" ]
|
||||
-
|
||||
- # Transitive generated header dependency.
|
||||
- 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") {
|
||||
- allow_unsafe = true # Unsafe needed for FFI.
|
||||
- deps = [
|
||||
- ":logging_log_severity_bindgen",
|
||||
- ":logging_rust_log_integration_bindgen",
|
||||
- "//third_party/rust/log/v0_4:lib",
|
||||
- ]
|
||||
- visibility = [ ":base" ]
|
||||
- sources = [ "logging/rust_logger.rs" ]
|
||||
- crate_root = "logging/rust_logger.rs"
|
||||
-
|
||||
- cxx_bindings = [ "logging/rust_logger.rs" ]
|
||||
-}
|
||||
|
||||
if (is_linux || is_chromeos) {
|
||||
# Split out as a separate target for two reasons:
|
||||
@@ -3564,7 +3521,7 @@
|
||||
sources += [ "location_unittest.cc" ]
|
||||
}
|
||||
|
||||
- if (!is_nacl) {
|
||||
+ if (is_nacl) {
|
||||
sources += [
|
||||
"containers/span_rust_unittest.cc",
|
||||
"strings/string_piece_rust_unittest.cc",
|
||||
@@ -3617,7 +3574,7 @@
|
||||
deps += [ "allocator/partition_allocator/src/partition_alloc:unittests" ]
|
||||
}
|
||||
|
||||
- if (!is_nacl) {
|
||||
+ if (is_nacl) {
|
||||
deps += [ "//build/rust:cxx_cppdeps" ]
|
||||
}
|
||||
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -28,7 +28,6 @@
|
||||
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")
|
||||
@@ -888,12 +887,9 @@
|
||||
|
||||
deps = [
|
||||
":rust_build_tests",
|
||||
- "//base:base_unittests", # There is rust stuff in here.
|
||||
- "//testing/rust_gtest_interop:rust_gtest_interop_unittests",
|
||||
- "//third_party/cloud_authenticator/processor",
|
||||
]
|
||||
|
||||
- if (enable_rust_mojo) {
|
||||
+ if (false) {
|
||||
deps += [
|
||||
"//mojo/public/rust:mojo_rust",
|
||||
"//mojo/public/rust:mojo_rust_integration_unittests",
|
||||
--- a/base/test/BUILD.gn
|
||||
+++ b/base/test/BUILD.gn
|
||||
@@ -7,7 +7,6 @@
|
||||
import("//build/config/features.gni")
|
||||
import("//build/config/nacl/config.gni")
|
||||
import("//build/config/ui.gni")
|
||||
-import("//build/rust/rust_static_library.gni")
|
||||
import("//build_overrides/build.gni")
|
||||
import("//third_party/protobuf/proto_library.gni")
|
||||
|
||||
@@ -39,16 +38,6 @@
|
||||
]
|
||||
}
|
||||
|
||||
-rust_static_library("test_rust_logger_consumer") {
|
||||
- allow_unsafe = true # Unsafe needed for FFI
|
||||
- testonly = true
|
||||
- deps = [ "//third_party/rust/log/v0_4:lib" ]
|
||||
- sources = [ "logging/test_rust_logger_consumer.rs" ]
|
||||
-
|
||||
- crate_root = "logging/test_rust_logger_consumer.rs"
|
||||
-
|
||||
- cxx_bindings = [ "logging/test_rust_logger_consumer.rs" ]
|
||||
-}
|
||||
|
||||
static_library("test_support") {
|
||||
testonly = true
|
||||
@@ -189,7 +178,6 @@
|
||||
|
||||
public_deps = [
|
||||
":test_config",
|
||||
- ":test_rust_logger_consumer",
|
||||
"//base",
|
||||
"//base:base_static",
|
||||
"//base:i18n",
|
||||
--- a/third_party/blink/common/BUILD.gn
|
||||
+++ b/third_party/blink/common/BUILD.gn
|
||||
@@ -341,7 +341,6 @@
|
||||
"//services/metrics/public/cpp:ukm_builders",
|
||||
"//services/metrics/public/mojom:mojom",
|
||||
"//services/network/public/cpp:cpp",
|
||||
- "//third_party/blink/common/rust_crash",
|
||||
"//third_party/blink/public/common:buildflags",
|
||||
"//third_party/re2",
|
||||
"//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
|
||||
+++ b/third_party/blink/common/chrome_debug_urls.cc
|
||||
@@ -11,7 +11,6 @@
|
||||
#include "base/threading/platform_thread.h"
|
||||
#include "build/build_config.h"
|
||||
#include "third_party/blink/common/crash_helpers.h"
|
||||
-#include "third_party/blink/common/rust_crash/src/lib.rs.h"
|
||||
#include "url/gurl.h"
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
@@ -117,7 +116,7 @@
|
||||
// Ensure that ASAN works even in Rust code.
|
||||
LOG(ERROR) << "Intentionally causing ASAN heap overflow in Rust"
|
||||
<< " because user navigated to " << url.spec();
|
||||
- crash_in_rust_with_overflow();
|
||||
+ //crash_in_rust_with_overflow();
|
||||
}
|
||||
}
|
||||
#endif // ADDRESS_SANITIZER
|
||||
@@ -137,7 +136,7 @@
|
||||
} else if (url == kChromeUICrashRustURL) {
|
||||
// Cause a typical crash in Rust code, so we can test that call stack
|
||||
// collection and symbol mangling work across the language boundary.
|
||||
- crash_in_rust();
|
||||
+ //crash_in_rust();
|
||||
} else if (url == kChromeUIDumpURL) {
|
||||
// This URL will only correctly create a crash dump file if content is
|
||||
// hosted in a process that has correctly called
|
||||
@@ -21,40 +21,32 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
|
||||
media/filters/ffmpeg_demuxer.cc | 16 ++++++++++++++++
|
||||
2 files changed, 20 insertions(+)
|
||||
|
||||
Index: electron-17.1.2/media/filters/audio_decoder_unittest.cc
|
||||
Index: chromium-126.0.6478.8/media/filters/ffmpeg_demuxer.cc
|
||||
===================================================================
|
||||
--- electron-17.1.2.orig/media/filters/audio_decoder_unittest.cc 2022-03-11 08:49:30.740949416 +0100
|
||||
+++ electron-17.1.2/media/filters/audio_decoder_unittest.cc 2022-03-11 09:17:36.916088893 +0100
|
||||
@@ -102,7 +102,11 @@ void SetDiscardPadding(AVPacket* packet,
|
||||
}
|
||||
--- chromium-126.0.6478.8.orig/media/filters/ffmpeg_demuxer.cc
|
||||
+++ chromium-126.0.6478.8/media/filters/ffmpeg_demuxer.cc
|
||||
@@ -343,11 +343,19 @@
|
||||
}
|
||||
|
||||
// If the timestamp is positive, try to use FFmpeg's discard data.
|
||||
base::span<const uint8_t> GetSideData(const AVPacket* packet) {
|
||||
+#if LIBAVUTIL_VERSION_MAJOR < 57
|
||||
+ int skip_samples_size = 0;
|
||||
+ int side_data_size = 0;
|
||||
+#else
|
||||
size_t skip_samples_size = 0;
|
||||
size_t side_data_size = 0;
|
||||
+#endif
|
||||
const uint32_t* skip_samples_ptr =
|
||||
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||
packet, AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
||||
Index: chromium-118.0.5993.18/media/filters/ffmpeg_demuxer.cc
|
||||
===================================================================
|
||||
--- chromium-118.0.5993.18.orig/media/filters/ffmpeg_demuxer.cc
|
||||
+++ chromium-118.0.5993.18/media/filters/ffmpeg_demuxer.cc
|
||||
@@ -398,7 +398,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
|
||||
|
||||
scoped_refptr<DecoderBuffer> buffer;
|
||||
uint8_t* side_data = av_packet_get_side_data(
|
||||
packet, AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
|
||||
|
||||
+#if LIBAVUTIL_VERSION_MAJOR < 57
|
||||
+ int side_data_size = 0;
|
||||
+ return base::span<const uint8_t>(side_data, base::checked_cast<size_t>(side_data_size));
|
||||
+#else
|
||||
size_t side_data_size = 0;
|
||||
return base::span<const uint8_t>(side_data, side_data_size);
|
||||
+#endif
|
||||
uint8_t* side_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
|
||||
}
|
||||
|
||||
@@ -461,7 +465,11 @@ void FFmpegDemuxerStream::EnqueuePacket(
|
||||
side_data + side_data_size);
|
||||
void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
||||
@@ -474,7 +482,11 @@
|
||||
base::HeapArray<uint8_t>::CopiedFrom(side_data);
|
||||
}
|
||||
|
||||
+#if LIBAVUTIL_VERSION_MAJOR < 57
|
||||
|
||||
@@ -1,71 +1,69 @@
|
||||
Index: electron-17.1.0/chrome/browser/about_flags.cc
|
||||
===================================================================
|
||||
--- electron-17.1.0.orig/chrome/browser/about_flags.cc 2022-03-07 17:20:30.424811477 +0100
|
||||
+++ electron-17.1.0/chrome/browser/about_flags.cc 2022-03-09 08:25:19.662417046 +0100
|
||||
@@ -3822,12 +3822,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
--- src/chrome/browser/about_flags.cc.orig 2025-04-11 12:05:16.388151477 +0200
|
||||
+++ src/chrome/browser/about_flags.cc 2025-04-12 12:45:36.431775614 +0200
|
||||
@@ -5590,12 +5590,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
#endif // ENABLE_VR
|
||||
-#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
-#if BUILDFLAG(IS_CHROMEOS)
|
||||
+#if BUILDFLAG(IS_CHROMEOS_) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
{"disable-accelerated-mjpeg-decode",
|
||||
flag_descriptions::kAcceleratedMjpegDecodeName,
|
||||
- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
|
||||
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
|
||||
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
-#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
|
||||
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
|
||||
--- src/chrome/browser/flag_descriptions.cc.orig 2024-12-08 18:34:53.268006605 +0100
|
||||
+++ src/chrome/browser/flag_descriptions.cc 2025-01-01 20:24:47.007188847 +0100
|
||||
@@ -5838,12 +5838,24 @@ const char kUseAngleGL[] = "OpenGL";
|
||||
--- src/chrome/browser/flag_descriptions.cc.orig 2025-04-11 12:05:16.849151673 +0200
|
||||
+++ src/chrome/browser/flag_descriptions.cc 2025-04-12 12:46:16.943776292 +0200
|
||||
@@ -5708,12 +5708,24 @@ const char kUseAngleDefault[] = "Default
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
+#endif
|
||||
+
|
||||
+// Chrome OS and Linux --------------------------------------------------------
|
||||
+
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
+#if BUILDFLAG(IS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
+
|
||||
const char kAcceleratedMjpegDecodeName[] =
|
||||
"Hardware-accelerated mjpeg decode for captured frame";
|
||||
const char kAcceleratedMjpegDecodeDescription[] =
|
||||
"Enable hardware-accelerated mjpeg decode for captured frame where "
|
||||
"Enable hardware-accelerated MJPEG decode for captured frame where "
|
||||
"available.";
|
||||
|
||||
+#endif
|
||||
+
|
||||
+// Chrome OS ------------------------------------------------------------------
|
||||
+
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
+
|
||||
const char kAccessibilityFilterKeysName[] = "Filter keys";
|
||||
const char kAccessibilityFilterKeysDescription[] =
|
||||
"Enables settings to filter key presses in various ways, such as slow keys "
|
||||
--- src/chrome/browser/flag_descriptions.h.orig 2024-12-08 18:34:53.268006605 +0100
|
||||
+++ src/chrome/browser/flag_descriptions.h 2025-01-01 20:26:07.993071516 +0100
|
||||
@@ -3375,9 +3375,21 @@ extern const char kUseAngleGL[];
|
||||
const char kAccessibilityBounceKeysName[] = "Bounce keys";
|
||||
const char kAccessibilityBounceKeysDescription[] =
|
||||
"Enables accessibility settings for bounce keys, which ignores quickly "
|
||||
--- src/chrome/browser/flag_descriptions.h.orig 2025-04-11 12:05:16.850151673 +0200
|
||||
+++ src/chrome/browser/flag_descriptions.h 2025-04-12 12:47:00.923776530 +0200
|
||||
@@ -3340,9 +3340,21 @@ extern const char kUseAngleDefault[];
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
+#endif
|
||||
+
|
||||
+// Chrome OS and Linux --------------------------------------------------------
|
||||
+
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
+#if BUILDFLAG(IS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
|
||||
+
|
||||
extern const char kAcceleratedMjpegDecodeName[];
|
||||
extern const char kAcceleratedMjpegDecodeDescription[];
|
||||
|
||||
+#endif
|
||||
+
|
||||
+#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
+
|
||||
+// Chrome OS ------------------------------------------------------------------
|
||||
+
|
||||
extern const char kAccessibilityFilterKeysName[];
|
||||
extern const char kAccessibilityFilterKeysDescription[];
|
||||
extern const char kAccessibilityBounceKeysName[];
|
||||
extern const char kAccessibilityBounceKeysDescription[];
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- src/third_party/electron_node/common.gypi.orig 2024-12-08 18:45:44.261359453 +0100
|
||||
+++ src/third_party/electron_node/common.gypi 2024-12-18 11:12:53.414653184 +0100
|
||||
@@ -487,10 +487,15 @@
|
||||
--- src/third_party/electron_node/common.gypi.orig 2025-04-10 20:07:02.154742467 +0200
|
||||
+++ src/third_party/electron_node/common.gypi 2025-04-11 11:45:57.996110023 +0200
|
||||
@@ -514,15 +514,19 @@
|
||||
'ldflags': [ '-pthread' ],
|
||||
}],
|
||||
[ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi"', {
|
||||
@@ -11,14 +11,19 @@
|
||||
+ # `-fvisibility=hidden` is something we're adding to fix downstream overzealous exports.
|
||||
+ # The electron headers annotate their visibility correctly, but many third-party code does not which leads to bloated builds.
|
||||
+ 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', '-fpic', '-fno-semantic-interposition', '-fvisibility=hidden' ],
|
||||
'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++20' ],
|
||||
'cflags_cc': [
|
||||
'-fno-rtti',
|
||||
'-fno-exceptions',
|
||||
- '-fno-strict-aliasing',
|
||||
'-std=gnu++20',
|
||||
],
|
||||
'defines': [ '__STDC_FORMAT_MACROS' ],
|
||||
- 'ldflags': [ '-rdynamic' ],
|
||||
+ #'ldflags': [ '-rdynamic' ], this is totally bogus — we are building a plugin, not a plugin host
|
||||
+ #'ldflags': [ '-rdynamic' ], this is totally bogus — we are building a plugin, not a plugin host
|
||||
'target_conditions': [
|
||||
# The 1990s toolchain on SmartOS can't handle thin archives.
|
||||
['_type=="static_library" and OS=="solaris"', {
|
||||
@@ -670,29 +675,7 @@
|
||||
@@ -700,29 +704,7 @@
|
||||
'-Wl,--export-dynamic',
|
||||
],
|
||||
}],
|
||||
|
||||
10
content_browser_client-incomplete-WebUIController.patch
Normal file
10
content_browser_client-incomplete-WebUIController.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- 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"
|
||||
@@ -1,6 +1,6 @@
|
||||
--- src/third_party/abseil-cpp/BUILD.gn.orig 2024-12-08 18:35:00.641340155 +0100
|
||||
+++ src/third_party/abseil-cpp/BUILD.gn 2025-01-01 21:58:32.559624434 +0100
|
||||
@@ -84,13 +83,9 @@ group("absl_component_deps") {
|
||||
--- src/third_party/abseil-cpp/BUILD.gn.orig 2025-04-11 12:05:22.125274194 +0200
|
||||
+++ src/third_party/abseil-cpp/BUILD.gn 2025-04-12 14:23:17.763743696 +0200
|
||||
@@ -84,13 +84,9 @@ group("absl_component_deps") {
|
||||
"//third_party/abseil-cpp/absl/hash",
|
||||
"//third_party/abseil-cpp/absl/log:absl_check",
|
||||
"//third_party/abseil-cpp/absl/log:absl_log",
|
||||
@@ -14,7 +14,7 @@
|
||||
"//third_party/abseil-cpp/absl/memory",
|
||||
"//third_party/abseil-cpp/absl/meta:type_traits",
|
||||
"//third_party/abseil-cpp/absl/numeric:bits",
|
||||
@@ -305,8 +288,6 @@ if (absl_build_tests) {
|
||||
@@ -290,8 +286,6 @@ if (absl_build_tests) {
|
||||
"absl/container:flat_hash_set_test",
|
||||
"absl/container:hash_function_defaults_test",
|
||||
"absl/container:inlined_vector_test",
|
||||
@@ -23,7 +23,7 @@
|
||||
"absl/container:node_slot_policy_test",
|
||||
"absl/container:raw_hash_set_allocator_test",
|
||||
"absl/container:raw_hash_set_test",
|
||||
@@ -315,11 +296,8 @@ if (absl_build_tests) {
|
||||
@@ -300,11 +294,8 @@ if (absl_build_tests) {
|
||||
"absl/crc:crc_cord_state_test",
|
||||
"absl/crc:crc_memcpy_test",
|
||||
"absl/crc:non_temporal_memcpy_test",
|
||||
@@ -35,7 +35,31 @@
|
||||
"absl/flags:flag_test",
|
||||
"absl/functional:any_invocable_test",
|
||||
"absl/functional:function_ref_test",
|
||||
@@ -382,11 +360,7 @@ if (absl_build_tests) {
|
||||
@@ -328,7 +319,6 @@ if (absl_build_tests) {
|
||||
"absl/log:vlog_is_on_test",
|
||||
"absl/log/internal:fnmatch_test",
|
||||
"absl/log/internal:stderr_log_sink_test",
|
||||
- "absl/log/internal:structured_proto_test",
|
||||
"absl/memory:memory_test",
|
||||
"absl/meta:type_traits_test",
|
||||
"absl/numeric:int128_test",
|
||||
@@ -336,7 +326,6 @@ if (absl_build_tests) {
|
||||
"absl/profiling:periodic_sampler_test",
|
||||
"absl/random:distributions_test",
|
||||
"absl/random:mock_distributions_test",
|
||||
- "absl/random/internal:nonsecure_base_test",
|
||||
"absl/status:status_matchers_test",
|
||||
"absl/status:status_test",
|
||||
"absl/status:statusor_test",
|
||||
@@ -359,7 +348,6 @@ if (absl_build_tests) {
|
||||
"absl/strings:has_absl_stringify_test",
|
||||
"absl/strings:has_ostream_operator_test",
|
||||
"absl/strings:match_test",
|
||||
- "absl/strings:str_cat_test",
|
||||
"absl/strings:str_format_arg_test",
|
||||
"absl/strings:str_format_bind_test",
|
||||
"absl/strings:str_format_checker_test",
|
||||
@@ -370,11 +358,7 @@ if (absl_build_tests) {
|
||||
"absl/strings:str_format_test",
|
||||
"absl/strings:str_replace_test",
|
||||
"absl/strings:string_view_test",
|
||||
|
||||
@@ -232,10 +232,8 @@ keeplibs=(
|
||||
third_party/hunspell #heavily forked version
|
||||
third_party/inspector_protocol #integral part of chrome
|
||||
third_party/ipcz #not in any distro
|
||||
third_party/jstemplate #javascript
|
||||
third_party/khronos #Modified to add ANGLE definitions
|
||||
third_party/leveldatabase #use of private headers
|
||||
third_party/libavif #bleeding-edge nightly. try unbundling again when 1.1 gets released
|
||||
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/libsync #not yet in any distro
|
||||
@@ -276,9 +274,11 @@ keeplibs=(
|
||||
third_party/rapidhash #Fork
|
||||
third_party/re2 # fedora too old
|
||||
third_party/rnnoise #use of private headers
|
||||
third_party/search_engines_data #integral part of chromium (but should not be?). was under components/ before E35, see https://github.com/chromium/chromium/commit/b8a327a1aa0227cf96dbbe0ad55f1c2773b23c23
|
||||
third_party/simdutf #Not in Factory
|
||||
third_party/skia #integral part of chrome
|
||||
third_party/speech-dispatcher #Headers for a delay-loaded optional dependency
|
||||
third_party/spirv-headers
|
||||
third_party/spirv-headers #15.6 too old
|
||||
third_party/sqlite #heavily forked version
|
||||
third_party/swiftshader #not available as a shared library
|
||||
third_party/swiftshader/third_party/astc-encoder #not in rawhide or factory. Debian has it (astc-encoder)
|
||||
@@ -307,14 +307,14 @@ keeplibs=(
|
||||
third_party/wayland-protocols/unstable #unknown origin. not in wayland-protocol-devel or elsewhere
|
||||
third_party/wuffs #not in any distro
|
||||
third_party/x11proto #derived code, not vendored dep
|
||||
third_party/zlib/contrib/minizip #https://bugzilla.redhat.com/show_bug.cgi?id=2240599 https://github.com/zlib-ng/minizip-ng/issues/447
|
||||
third_party/zlib/google #derived code, not vendored dep
|
||||
url/third_party/mozilla #derived code, not vendored dep
|
||||
v8/src/third_party/siphash #derived code, not vendored dep
|
||||
v8/src/third_party/utf8-decoder #derived code, not vendored dep
|
||||
v8/src/third_party/valgrind #incompatible definition of VALGRIND_DISCARD_TRANSLATIONS
|
||||
v8/third_party/inspector_protocol #integral part of chrome
|
||||
v8/third_party/rapidhash-v8 #derived code, not vendored dep
|
||||
v8/third_party/siphash #derived code, not vendored dep
|
||||
v8/third_party/utf8-decoder #derived code, not vendored dep
|
||||
v8/third_party/v8 #derived code, not vendored dep
|
||||
v8/third_party/valgrind #incompatible definition of VALGRIND_DISCARD_TRANSLATIONS
|
||||
)
|
||||
build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove
|
||||
if [ $? -ne 0 ]; then
|
||||
@@ -330,6 +330,7 @@ find third_party/electron_node/deps/cares -type f ! -name "*.gn" -a ! -name "*.g
|
||||
find third_party/electron_node/deps/nghttp2 -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
find third_party/electron_node/deps/ngtcp2 -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
find third_party/electron_node/deps/openssl -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
find third_party/electron_node/deps/simdutf -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
find third_party/electron_node/deps/v8 -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
rm -rvf third_party/electron_node/deps/v8/tools
|
||||
ln -srv v8/tools -t third_party/electron_node/deps/v8/
|
||||
|
||||
11
css_shape_value-constructor.patch
Normal file
11
css_shape_value-constructor.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- 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} {}
|
||||
@@ -55,122 +55,3 @@ index 21470f0869cfda..21772fce07cc5e 100644
|
||||
"language_translator.cc",
|
||||
"language_translator.h",
|
||||
"translation.cc",
|
||||
diff --git a/third_party/blink/renderer/modules/on_device_translation/translation.h b/third_party/blink/renderer/modules/on_device_translation/translation.h
|
||||
index 0a0f54be56787a..e19db842628997 100644
|
||||
--- a/third_party/blink/renderer/modules/on_device_translation/translation.h
|
||||
+++ b/third_party/blink/renderer/modules/on_device_translation/translation.h
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
|
||||
|
||||
namespace blink {
|
||||
-class LanguageDetector;
|
||||
class LanguageTranslator;
|
||||
class V8TranslationAvailability;
|
||||
|
||||
@@ -43,12 +42,6 @@ class Translation final : public ScriptWrappable,
|
||||
ScriptState* script_state,
|
||||
TranslationLanguageOptions* options,
|
||||
ExceptionState& exception_state);
|
||||
- ScriptPromise<V8TranslationAvailability> canDetect(
|
||||
- ScriptState* script_state,
|
||||
- ExceptionState& exception_state);
|
||||
- ScriptPromise<LanguageDetector> createDetector(
|
||||
- ScriptState* script_state,
|
||||
- ExceptionState& exception_state);
|
||||
|
||||
private:
|
||||
HeapMojoRemote<mojom::blink::TranslationManager>&
|
||||
diff --git a/third_party/blink/renderer/modules/on_device_translation/translation.idl b/third_party/blink/renderer/modules/on_device_translation/translation.idl
|
||||
index a27472ece123df..b9c74c41d4c406 100644
|
||||
--- a/third_party/blink/renderer/modules/on_device_translation/translation.idl
|
||||
+++ b/third_party/blink/renderer/modules/on_device_translation/translation.idl
|
||||
@@ -31,20 +31,4 @@ interface Translation {
|
||||
Promise<LanguageTranslator> createTranslator(
|
||||
TranslationLanguageOptions options
|
||||
);
|
||||
- [
|
||||
- RuntimeEnabled=LanguageDetectionAPI,
|
||||
- Exposed=Window,
|
||||
- Measure,
|
||||
- CallWith=ScriptState,
|
||||
- RaisesException
|
||||
- ]
|
||||
- Promise<TranslationAvailability> canDetect();
|
||||
- [
|
||||
- RuntimeEnabled=LanguageDetectionAPI,
|
||||
- Exposed=Window,
|
||||
- Measure,
|
||||
- CallWith=ScriptState,
|
||||
- RaisesException
|
||||
- ]
|
||||
- Promise<LanguageDetector> createDetector();
|
||||
};
|
||||
--- src/third_party/blink/renderer/modules/on_device_translation/language_detector.idl.orig 2025-01-02 22:23:59.384885429 +0100
|
||||
+++ src/third_party/blink/renderer/modules/on_device_translation/language_detector.idl 2025-01-03 22:57:39.104809606 +0100
|
||||
@@ -8,16 +8,3 @@ dictionary LanguageDetectionResult {
|
||||
DOMString? detectedLanguage;
|
||||
double confidence;
|
||||
};
|
||||
-
|
||||
-[
|
||||
- RuntimeEnabled=LanguageDetectionAPI,
|
||||
- Exposed=Window
|
||||
-]
|
||||
-interface LanguageDetector {
|
||||
- [
|
||||
- Measure,
|
||||
- CallWith=ScriptState,
|
||||
- RaisesException
|
||||
- ]
|
||||
- Promise<sequence<LanguageDetectionResult>> detect(DOMString input);
|
||||
-};
|
||||
--- src/third_party/blink/renderer/modules/on_device_translation/translation.cc.orig 2025-01-02 22:23:59.384885429 +0100
|
||||
+++ src/third_party/blink/renderer/modules/on_device_translation/translation.cc 2025-01-03 23:11:15.414694080 +0100
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_translation_language_options.h"
|
||||
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
|
||||
-#include "third_party/blink/renderer/modules/on_device_translation/language_detector.h"
|
||||
#include "third_party/blink/renderer/modules/on_device_translation/language_translator.h"
|
||||
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
|
||||
#include "third_party/blink/renderer/platform/bindings/script_state.h"
|
||||
@@ -116,39 +115,4 @@ ScriptPromise<LanguageTranslator> Transl
|
||||
return promise;
|
||||
}
|
||||
|
||||
-ScriptPromise<V8TranslationAvailability> Translation::canDetect(
|
||||
- ScriptState* script_state,
|
||||
- ExceptionState& exception_state) {
|
||||
- if (!script_state->ContextIsValid()) {
|
||||
- exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
|
||||
- "The execution context is not valid.");
|
||||
- return ScriptPromise<V8TranslationAvailability>();
|
||||
- }
|
||||
-
|
||||
- auto* resolver =
|
||||
- MakeGarbageCollected<ScriptPromiseResolver<V8TranslationAvailability>>(
|
||||
- script_state);
|
||||
- auto promise = resolver->Promise();
|
||||
-
|
||||
- resolver->Resolve(
|
||||
- V8TranslationAvailability(V8TranslationAvailability::Enum::kReadily));
|
||||
-
|
||||
- return promise;
|
||||
-}
|
||||
-
|
||||
-ScriptPromise<LanguageDetector> Translation::createDetector(
|
||||
- ScriptState* script_state,
|
||||
- ExceptionState& exception_state) {
|
||||
- if (!script_state->ContextIsValid()) {
|
||||
- exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
|
||||
- "The execution context is not valid.");
|
||||
- return ScriptPromise<LanguageDetector>();
|
||||
- }
|
||||
-
|
||||
- auto* resolver =
|
||||
- MakeGarbageCollected<ScriptPromiseResolver<LanguageDetector>>(
|
||||
- script_state);
|
||||
- resolver->Resolve(MakeGarbageCollected<LanguageDetector>());
|
||||
- return resolver->Promise();
|
||||
-}
|
||||
} // namespace blink
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
diff -up chromium-125.0.6422.41/media/base/media_switches.cc.disable-FFmpegAllowLists chromium-125.0.6422.41/media/base/media_switches.cc
|
||||
--- chromium-125.0.6422.41/media/base/media_switches.cc.disable-FFmpegAllowLists 2024-05-12 21:28:43.694027396 +0200
|
||||
+++ chromium-125.0.6422.41/media/base/media_switches.cc 2024-05-12 21:32:48.155063623 +0200
|
||||
@@ -1753,7 +1753,7 @@ BASE_FEATURE(kUseWindowBoundsForPip,
|
||||
// Enables FFmpeg allow lists for supported codecs / containers.
|
||||
BASE_FEATURE(kFFmpegAllowLists,
|
||||
"FFmpegAllowLists",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Enables audio offload when supported by endpoints.
|
||||
--- src/media/ffmpeg/ffmpeg_common.cc.orig 2025-04-11 12:05:21.289638236 +0200
|
||||
+++ src/media/ffmpeg/ffmpeg_common.cc 2025-04-12 12:23:36.647784415 +0200
|
||||
@@ -76,7 +76,7 @@ const char* GetAllowedVideoDecoders() {
|
||||
void ApplyCodecContextSecuritySettings(AVCodecContext* codec_context) {
|
||||
// Future versions of ffmpeg may copy the allow list from the format
|
||||
// context.
|
||||
- if (!codec_context->codec_whitelist) {
|
||||
+ if (false) {
|
||||
// Note: FFmpeg will try to free this string, so we must duplicate it.
|
||||
codec_context->codec_whitelist =
|
||||
av_strdup(codec_context->codec_type == AVMEDIA_TYPE_AUDIO
|
||||
|
||||
39
disable-avif-really.patch
Normal file
39
disable-avif-really.patch
Normal file
@@ -0,0 +1,39 @@
|
||||
Cleanup after chromium-127-crabby.patch
|
||||
Do not advertise AVIF support to allow for graceful degradation.
|
||||
|
||||
diff '--color=auto' -urp src/content/common/content_constants_internal.cc src.new/content/common/content_constants_internal.cc
|
||||
--- src/content/common/content_constants_internal.cc 2025-04-21 18:29:19.250307076 +0200
|
||||
+++ src.new/content/common/content_constants_internal.cc 2025-04-23 18:12:33.518743675 +0200
|
||||
@@ -11,7 +11,7 @@ namespace content {
|
||||
// 20MiB
|
||||
const size_t kMaxLengthOfDataURLString = 1024 * 1024 * 20;
|
||||
|
||||
-#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
+#if 0
|
||||
const char kFrameAcceptHeaderValue[] =
|
||||
"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,"
|
||||
"image/webp,image/apng,*/*;q=0.8";
|
||||
diff '--color=auto' -urp src/third_party/blink/common/loader/network_utils.cc src.new/third_party/blink/common/loader/network_utils.cc
|
||||
--- src/third_party/blink/common/loader/network_utils.cc 2025-04-21 18:29:25.994307178 +0200
|
||||
+++ src.new/third_party/blink/common/loader/network_utils.cc 2025-04-23 18:12:48.166740983 +0200
|
||||
@@ -34,7 +34,7 @@ bool AlwaysAccessNetwork(
|
||||
}
|
||||
|
||||
const char* ImageAcceptHeader() {
|
||||
-#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
+#if 0
|
||||
return "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8";
|
||||
#else
|
||||
return "image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8";
|
||||
diff '--color=auto' -urp src/third_party/blink/common/mime_util/mime_util.cc src.new/third_party/blink/common/mime_util/mime_util.cc
|
||||
--- src/third_party/blink/common/mime_util/mime_util.cc 2025-04-21 18:29:26.002307178 +0200
|
||||
+++ src.new/third_party/blink/common/mime_util/mime_util.cc 2025-04-23 18:13:01.090738191 +0200
|
||||
@@ -41,7 +41,7 @@ constexpr auto kSupportedImageTypes = ba
|
||||
"image/x-icon", // ico
|
||||
"image/x-xbitmap", // xbm
|
||||
"image/x-png",
|
||||
-#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
+#if 0
|
||||
"image/avif",
|
||||
#endif
|
||||
});
|
||||
@@ -144,21 +144,19 @@ author: Michael Gilbert <mgilbert@debian.org>
|
||||
]
|
||||
data_deps = [ "//testing:test_scripts_shared" ]
|
||||
}
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -755,12 +755,6 @@
|
||||
"content/test/web_ui_mojo_test_resources.grd": {
|
||||
"includes": [7340],
|
||||
--- src/tools/gritsettings/resource_ids.spec.orig 2025-04-11 12:29:49.277239656 +0200
|
||||
+++ src/tools/gritsettings/resource_ids.spec 2025-04-11 12:30:15.524243417 +0200
|
||||
@@ -1248,10 +1248,6 @@
|
||||
"META": {"sizes": {"includes": [20]}},
|
||||
"includes": [8280],
|
||||
},
|
||||
-
|
||||
- # This file is generated during the build.
|
||||
- "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd": {
|
||||
- "META": {"sizes": {"includes": [20],}},
|
||||
- "includes": [7360],
|
||||
- "includes": [8300],
|
||||
- },
|
||||
# END content/ section.
|
||||
|
||||
# START "everything else" section.
|
||||
"<(SHARED_INTERMEDIATE_DIR)/content/browser/webrtc/resources/resources.grd": {
|
||||
"META": {"sizes": {"includes": [20],}},
|
||||
"includes": [8320],
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -2530,7 +2530,6 @@ source_set("browser") {
|
||||
@@ -315,17 +313,17 @@ author: Michael Gilbert <mgilbert@debian.org>
|
||||
"//third_party/perfetto/src/trace_processor:trace_processor_shell",
|
||||
]
|
||||
data = [
|
||||
--- a/electron/electron_paks.gni
|
||||
+++ b/electron/electron_paks.gni
|
||||
@@ -57,7 +57,6 @@
|
||||
"$root_gen_dir/chrome/dev_ui_browser_resources.pak",
|
||||
--- src/electron/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
|
||||
@@ -57,7 +57,6 @@ template("electron_extra_paks") {
|
||||
"$root_gen_dir/chrome/common_resources.pak",
|
||||
"$root_gen_dir/components/components_resources.pak",
|
||||
"$root_gen_dir/content/browser/resources/media/media_internals_resources.pak",
|
||||
- "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
|
||||
"$root_gen_dir/content/browser/webrtc/resources/webrtc_internals_resources.pak",
|
||||
"$root_gen_dir/content/content_resources.pak",
|
||||
"$root_gen_dir/content/gpu_resources.pak",
|
||||
@@ -73,7 +72,6 @@
|
||||
@@ -76,7 +75,6 @@ template("electron_extra_paks") {
|
||||
"//content/browser/resources/gpu:resources",
|
||||
"//content/browser/resources/media:resources",
|
||||
"//content/browser/resources/process:resources",
|
||||
|
||||
@@ -101,9 +101,9 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
if ((is_linux || is_chromeos) && use_dbus) {
|
||||
deps += [ "//dbus" ]
|
||||
}
|
||||
--- src/content/browser/browser_interface_binders.cc.orig 2024-12-08 18:34:57.541340064 +0100
|
||||
+++ src/content/browser/browser_interface_binders.cc 2024-12-18 12:22:33.827251622 +0100
|
||||
@@ -59,7 +59,9 @@
|
||||
-- src/content/browser/browser_interface_binders.cc.orig 2025-04-11 12:05:19.980351905 +0200
|
||||
+++ src/content/browser/browser_interface_binders.cc 2025-04-11 19:48:15.944587282 +0200
|
||||
@@ -61,7 +61,9 @@
|
||||
#include "content/browser/renderer_host/render_process_host_impl.h"
|
||||
#include "content/browser/service_worker/service_worker_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/tracing/trace_report/trace_report.mojom.h"
|
||||
#include "content/browser/tracing/trace_report/trace_report_internals_ui.h"
|
||||
@@ -98,7 +100,9 @@
|
||||
@@ -100,7 +102,9 @@
|
||||
#include "media/mojo/mojom/media_metrics_provider.mojom.h"
|
||||
#include "media/mojo/mojom/media_player.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_encoder_metrics_provider.mojom.h"
|
||||
#include "media/mojo/mojom/webrtc_video_perf.mojom.h"
|
||||
@@ -203,7 +207,9 @@
|
||||
@@ -206,7 +210,9 @@
|
||||
#else // BUILDFLAG(IS_ANDROID)
|
||||
#include "content/browser/direct_sockets/direct_sockets_service_impl.h"
|
||||
#include "media/mojo/mojom/renderer_extensions.mojom.h"
|
||||
@@ -133,20 +133,21 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
#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/serial/serial.mojom.h"
|
||||
@@ -860,10 +866,12 @@ void PopulateFrameBinders(RenderFrameHos
|
||||
@@ -865,11 +871,13 @@ void PopulateFrameBinders(RenderFrameHos
|
||||
map->Add<blink::mojom::SharedWorkerConnector>(
|
||||
base::BindRepeating(&BindSharedWorkerConnector, base::Unretained(host)));
|
||||
|
||||
+#if BUILDFLAG(ENABLE_WEB_SPEECH)
|
||||
map->Add<media::mojom::SpeechRecognizer>(
|
||||
base::BindRepeating(&SpeechRecognitionDispatcherHost::Create,
|
||||
host->GetProcess()->GetID(), host->GetRoutingID()),
|
||||
host->GetProcess()->GetDeprecatedID(),
|
||||
host->GetRoutingID()),
|
||||
GetIOThreadTaskRunner({}));
|
||||
+#endif
|
||||
|
||||
map->Add<blink::mojom::SpeechSynthesis>(base::BindRepeating(
|
||||
&RenderFrameHostImpl::GetSpeechSynthesis, base::Unretained(host)));
|
||||
@@ -1163,6 +1171,7 @@ void PopulateBinderMapWithContext(
|
||||
@@ -1197,6 +1205,7 @@ void PopulateBinderMapWithContext(
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
map->Add<blink::mojom::DirectSocketsService>(
|
||||
base::BindRepeating(&DirectSocketsServiceImpl::CreateForFrame));
|
||||
@@ -154,7 +155,7 @@ Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
map->Add<media::mojom::SpeechRecognitionContext>(base::BindRepeating(
|
||||
&EmptyBinderForFrame<media::mojom::SpeechRecognitionContext>));
|
||||
map->Add<media::mojom::SpeechRecognitionClientBrowserInterface>(
|
||||
@@ -1174,6 +1183,7 @@ void PopulateBinderMapWithContext(
|
||||
@@ -1208,6 +1217,7 @@ void PopulateBinderMapWithContext(
|
||||
map->Add<media::mojom::MediaPlayerObserverClient>(base::BindRepeating(
|
||||
&EmptyBinderForFrame<media::mojom::MediaPlayerObserverClient>));
|
||||
#endif
|
||||
@@ -236,12 +237,12 @@ index 3a2e713ccc3..6af5afde20e 100644
|
||||
{wrf::EnableSharedWorker, switches::kDisableSharedWorkers, false},
|
||||
diff --git a/chromium/media/BUILD.gn b/chromium/media/BUILD.gn
|
||||
index 01e0910666e..6ce78127e3f 100644
|
||||
--- a/media/BUILD.gn
|
||||
+++ b/media/BUILD.gn
|
||||
@@ -47,6 +47,7 @@ buildflag_header("media_buildflags") {
|
||||
"ENABLE_PLATFORM_MPEG_H_AUDIO=$enable_platform_mpeg_h_audio",
|
||||
--- 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") {
|
||||
"ENABLE_MSE_MPEG2TS_STREAM_PARSER=$enable_mse_mpeg2ts_stream_parser",
|
||||
"PLATFORM_HAS_OPTIONAL_HEVC_SUPPORT=$platform_has_optional_hevc_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",
|
||||
+ "ENABLE_WEB_SPEECH=$enable_web_speech",
|
||||
"USE_ARC_PROTECTED_MEDIA=$use_arc_protected_media",
|
||||
"USE_CHROMEOS_MEDIA_ACCELERATION=$use_vaapi||$use_v4l2_codec",
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cea37fe7429268baea5169fde8341775d510c1a2450d924fe85315d58b14cfb7
|
||||
size 691226562
|
||||
3
electron-35.2.1.tar.zst
Normal file
3
electron-35.2.1.tar.zst
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:88c862afb7258a3c9b2ca823f4d6077e59065ba830d0edf974a8b7ecfceaf022
|
||||
size 753660040
|
||||
15
exception_state-constexpr-initializer.patch
Normal file
15
exception_state-constexpr-initializer.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
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&);
|
||||
19
fix-build-without-pdf.patch
Normal file
19
fix-build-without-pdf.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
--- 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") {
|
||||
@@ -1,6 +1,6 @@
|
||||
--- src/chrome/test/BUILD.gn.orig 2024-12-08 18:44:32.671357320 +0100
|
||||
+++ src/chrome/test/BUILD.gn 2025-01-01 20:54:36.278270275 +0100
|
||||
@@ -1959,9 +1959,6 @@ if (!is_android) {
|
||||
--- src/chrome/test/BUILD.gn.orig 2025-04-11 12:13:12.932314099 +0200
|
||||
+++ src/chrome/test/BUILD.gn 2025-04-12 13:00:11.499771987 +0200
|
||||
@@ -2079,9 +2079,6 @@ if (!is_android) {
|
||||
"//chrome/browser/resource_coordinator:tab_manager_features",
|
||||
"//chrome/browser/safe_browsing:advanced_protection",
|
||||
"//chrome/browser/safe_browsing:verdict_cache_manager_factory",
|
||||
@@ -10,7 +10,7 @@
|
||||
"//chrome/browser/search",
|
||||
"//chrome/browser/search_engines",
|
||||
"//chrome/browser/segmentation_platform:test_utils",
|
||||
@@ -2334,9 +2331,6 @@ if (!is_android) {
|
||||
@@ -2485,9 +2482,6 @@ if (!is_android) {
|
||||
"//services/network/public/proto:sct_audit_report_proto",
|
||||
"//services/preferences/public/cpp",
|
||||
"//services/preferences/public/cpp/tracked",
|
||||
@@ -20,7 +20,15 @@
|
||||
"//services/service_manager/public/cpp",
|
||||
"//services/strings",
|
||||
"//services/test/echo/public/mojom",
|
||||
@@ -8373,7 +8367,6 @@ test("unit_tests") {
|
||||
@@ -8027,7 +8021,6 @@ test("unit_tests") {
|
||||
|
||||
# Non-android deps for "unit_tests" target.
|
||||
deps += [
|
||||
- "../browser/screen_ai:screen_ai_install_state",
|
||||
"//chrome/browser/apps:icon_standardizer",
|
||||
"//chrome/browser/apps/app_service",
|
||||
"//chrome/browser/apps/app_service:app_registry_cache_waiter",
|
||||
@@ -8172,7 +8165,6 @@ test("unit_tests") {
|
||||
"//services/device/public/cpp/bluetooth",
|
||||
"//services/metrics/public/cpp:ukm_builders",
|
||||
"//services/network:test_support",
|
||||
@@ -28,9 +36,36 @@
|
||||
"//services/video_effects/test:test_support",
|
||||
"//third_party/crashpad/crashpad/util",
|
||||
"//third_party/libaddressinput",
|
||||
--- src/chrome/browser/BUILD.gn.orig 2024-12-08 18:44:32.671357320 +0100
|
||||
+++ src/chrome/browser/BUILD.gn 2025-01-01 21:05:47.125477818 +0100
|
||||
@@ -4343,9 +4343,6 @@ static_library("browser") {
|
||||
@@ -8445,7 +8437,6 @@ test("unit_tests") {
|
||||
"//chrome/browser/push_notification",
|
||||
"//chrome/browser/push_notification:test_support",
|
||||
"//chrome/browser/push_notification/protos:proto",
|
||||
- "//chrome/browser/screen_ai/public:test_support",
|
||||
"//chrome/browser/smart_card:smart_card",
|
||||
"//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 2025-04-12 13:12:42.819768051 +0200
|
||||
@@ -4228,10 +4228,6 @@ static_library("browser") {
|
||||
"//chrome/browser/new_tab_page/chrome_colors",
|
||||
"//chrome/browser/policy:path_parser",
|
||||
"//chrome/browser/resources:component_extension_resources",
|
||||
- "//chrome/browser/screen_ai:prefs",
|
||||
- "//chrome/browser/screen_ai:screen_ai_install_state",
|
||||
- "//chrome/browser/screen_ai:screen_ai_service_router_factory",
|
||||
- "//chrome/browser/screen_ai/public:optical_character_recognizer",
|
||||
"//chrome/browser/search/background",
|
||||
"//chrome/browser/smart_card",
|
||||
"//chrome/browser/themes",
|
||||
@@ -4357,9 +4353,6 @@ static_library("browser") {
|
||||
"//components/webauthn/core/browser:passkey_model",
|
||||
"//services/device/public/cpp/bluetooth",
|
||||
"//services/device/public/cpp/hid",
|
||||
@@ -98,3 +133,42 @@
|
||||
]
|
||||
|
||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
||||
--- src/chrome/browser/profiles/BUILD.gn.orig 2025-04-11 12:05:17.028151748 +0200
|
||||
+++ src/chrome/browser/profiles/BUILD.gn 2025-04-12 13:17:59.379764245 +0200
|
||||
@@ -302,7 +302,6 @@ source_set("profiles_extra_parts_impl")
|
||||
"//chrome/browser/feedback",
|
||||
"//chrome/browser/hid",
|
||||
"//chrome/browser/media/router/discovery/access_code:access_code_sink_service",
|
||||
- "//chrome/browser/screen_ai:screen_ai_service_router_factory",
|
||||
"//chrome/browser/search",
|
||||
"//chrome/browser/search/background",
|
||||
"//chrome/browser/search_engine_choice",
|
||||
--- src/chrome/browser/prefs/BUILD.gn.orig 2025-04-11 12:05:17.010048233 +0200
|
||||
+++ src/chrome/browser/prefs/BUILD.gn 2025-04-12 13:20:41.959768617 +0200
|
||||
@@ -265,7 +265,6 @@ source_set("impl") {
|
||||
} else {
|
||||
deps += [
|
||||
"//chrome/browser/promos:utils",
|
||||
- "//chrome/browser/screen_ai:prefs",
|
||||
"//chrome/browser/search/background",
|
||||
"//chrome/browser/search_engine_choice",
|
||||
"//chrome/browser/search_engines",
|
||||
--- 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
|
||||
@@ -1705,8 +1705,6 @@ static_library("ui") {
|
||||
"//chrome/browser/reading_list",
|
||||
"//chrome/browser/safe_browsing",
|
||||
"//chrome/browser/safe_browsing:advanced_protection",
|
||||
- "//chrome/browser/screen_ai:screen_ai_install_state",
|
||||
- "//chrome/browser/screen_ai:screen_ai_service_router_factory",
|
||||
"//chrome/browser/smart_card:smart_card",
|
||||
"//chrome/browser/tab_group_sync:utils",
|
||||
"//chrome/browser/themes",
|
||||
@@ -2376,7 +2374,6 @@ static_library("ui") {
|
||||
"//chrome/browser/policy:onc",
|
||||
"//chrome/browser/policy:system_features_disable_list",
|
||||
"//chrome/browser/push_notification:push_notification",
|
||||
- "//chrome/browser/screen_ai/public:optical_character_recognizer",
|
||||
"//chrome/browser/ui/ash/accessibility",
|
||||
"//chrome/browser/ui/ash/app_access",
|
||||
"//chrome/browser/ui/ash/arc",
|
||||
|
||||
@@ -48,12 +48,12 @@
|
||||
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
|
||||
|
||||
generate_allowlist_from_histograms_file("webui_name_variants") {
|
||||
--- src/chrome/browser/extensions/BUILD.gn.orig 2024-12-08 18:34:53.171339936 +0100
|
||||
+++ src/chrome/browser/extensions/BUILD.gn 2024-12-18 13:09:34.948061857 +0100
|
||||
--- src/chrome/browser/extensions/BUILD.gn.orig 2025-04-11 12:05:16.772151640 +0200
|
||||
+++ src/chrome/browser/extensions/BUILD.gn 2025-04-11 20:28:31.291951121 +0200
|
||||
@@ -20,7 +20,6 @@ import("//testing/libfuzzer/fuzzer_test.
|
||||
import("//third_party/protobuf/proto_library.gni")
|
||||
|
||||
assert(enable_extensions)
|
||||
assert(enable_extensions_core)
|
||||
-assert(enable_supervised_users)
|
||||
assert(!is_fuchsia, "Fuchsia shouldn't use anything in //chrome")
|
||||
|
||||
|
||||
40
fix-build-without-video-effects.patch
Normal file
40
fix-build-without-video-effects.patch
Normal file
@@ -0,0 +1,40 @@
|
||||
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"
|
||||
8
fix-system-highway.patch
Normal file
8
fix-system-highway.patch
Normal file
@@ -0,0 +1,8 @@
|
||||
--- src/build/linux/unbundle/highway.gn.orig 2025-04-11 12:05:15.714160237 +0200
|
||||
+++ src/build/linux/unbundle/highway.gn 2025-04-12 14:26:12.155738961 +0200
|
||||
@@ -18,3 +18,5 @@ source_set("libhwy") {
|
||||
public_configs = [ ":libhwy_external_config" ]
|
||||
public_deps = [ ":libhwy_shim" ]
|
||||
}
|
||||
+
|
||||
+source_set("highway_tests") {}
|
||||
10
fpic.patch
10
fpic.patch
@@ -73,9 +73,9 @@ Use -fpic for code which goes only in dlls (gives smaller code),
|
||||
sources = [
|
||||
"compression_utils_portable.cc",
|
||||
"compression_utils_portable.h",
|
||||
--- src/ui/qt/BUILD.gn.old 2022-12-02 23:49:17.792117400 +0100
|
||||
+++ src/ui/qt/BUILD.gn 2022-12-04 14:32:48.407196100 +0100
|
||||
@@ -43,6 +43,8 @@
|
||||
--- src/ui/qt/BUILD.gn.orig 2025-04-10 19:56:03.150817690 +0200
|
||||
+++ src/ui/qt/BUILD.gn 2025-04-11 11:42:11.904342754 +0200
|
||||
@@ -39,6 +39,8 @@ source_set("qt_interface") {
|
||||
# target instead.
|
||||
public = [ "qt_interface.h" ]
|
||||
sources = [ "qt_interface.cc" ]
|
||||
@@ -84,7 +84,7 @@ Use -fpic for code which goes only in dlls (gives smaller code),
|
||||
}
|
||||
|
||||
template("qt_shim") {
|
||||
@@ -76,6 +78,8 @@
|
||||
@@ -99,6 +101,8 @@ template("qt_shim") {
|
||||
sources += get_target_outputs(":generate_moc" + invoker.qt_version)
|
||||
deps += [ ":generate_moc" + invoker.qt_version ]
|
||||
}
|
||||
@@ -92,7 +92,7 @@ Use -fpic for code which goes only in dlls (gives smaller code),
|
||||
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
|
||||
}
|
||||
}
|
||||
qt_shim("qt5_shim") {
|
||||
if (use_qt5) {
|
||||
--- src/third_party/abseil-cpp/BUILD.gn.old
|
||||
+++ src/third_party/abseil-cpp/BUILD.gn
|
||||
@@ -132,6 +132,8 @@ config("absl_define_config") {
|
||||
|
||||
21
gn-logspam-breaks-install.patch
Normal file
21
gn-logspam-breaks-install.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
Threatening downstream maintainers on stdout may be fun, but it breaks `gn desc` which we call in %install
|
||||
|
||||
--- src/build/config/c++/c++.gni 2025-04-16 14:36:21.927410223 +0200
|
||||
+++ src/build/config/c++/c++.gni 2025-04-19 00:11:43.759874434 +0200
|
||||
@@ -110,16 +110,3 @@ assert(!(is_ios && libcxx_is_shared),
|
||||
|
||||
# Chromium will require using its libc++ library implementation. Warn if the
|
||||
# current configuration is not using it.
|
||||
-if ((!use_custom_libcxx || !use_custom_libcxx_for_host) &&
|
||||
- # Standalone use of //build outside of Chromium can disable libc++.
|
||||
- build_with_chromium &&
|
||||
- # Try to avoid spamming the console lots. It's not actually
|
||||
- # toolchain-specific.
|
||||
- current_toolchain == default_toolchain) {
|
||||
- print("*********************************************************************")
|
||||
- print("WARNING: Support for linking against a C++ standard library other ")
|
||||
- print(" than the one in-tree (buildtools/third_party/libc++) is deprecated")
|
||||
- print(" and support for this will end. We plan to remove this option in ")
|
||||
- print(" M138.")
|
||||
- print("*********************************************************************")
|
||||
-}
|
||||
@@ -0,0 +1,26 @@
|
||||
--- src/v8/src/codegen/riscv/macro-assembler-riscv.h.orig 2025-04-24 18:27:30.451008724 +0200
|
||||
+++ src/v8/src/codegen/riscv/macro-assembler-riscv.h 2025-04-24 23:48:27.554835902 +0200
|
||||
@@ -400,10 +400,7 @@ class V8_EXPORT_PRIVATE MacroAssembler :
|
||||
push_helper(rs...);
|
||||
}
|
||||
|
||||
- template <>
|
||||
- void push_helper(Register r) {
|
||||
- StoreWord(r, MemOperand(sp, 0));
|
||||
- }
|
||||
+ void push_helper() {}
|
||||
|
||||
public:
|
||||
// Push a number of registers. The leftmost register first (to the highest
|
||||
@@ -548,10 +545,7 @@ class V8_EXPORT_PRIVATE MacroAssembler :
|
||||
LoadWord(r, MemOperand(sp, sizeof...(rs) * kSystemPointerSize));
|
||||
}
|
||||
|
||||
- template <>
|
||||
- void pop_helper(Register r) {
|
||||
- LoadWord(r, MemOperand(sp, 0));
|
||||
- }
|
||||
+ void pop_helper() {}
|
||||
|
||||
public:
|
||||
// Pop a number of registers. The leftmost register last (from the highest
|
||||
35
media_session_uma_helper-missing-optional.patch
Normal file
35
media_session_uma_helper-missing-optional.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
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"
|
||||
@@ -1,11 +1,11 @@
|
||||
Do not ship bundled zlib headers. Electron uses the system zlib, and anyone compiling against it should also.
|
||||
--- src/electron/BUILD.gn.orig
|
||||
+++ src/electron/BUILD.gn
|
||||
@@ -1582,7 +1582,6 @@ group("copy_node_headers") {
|
||||
public_deps = header_groups + [
|
||||
":node_gypi_headers",
|
||||
":node_version_header",
|
||||
- ":zlib_headers",
|
||||
]
|
||||
--- src/electron/BUILD.gn.orig 2025-04-11 12:02:41.207130337 +0200
|
||||
+++ src/electron/BUILD.gn 2025-04-11 20:58:52.999468971 +0200
|
||||
@@ -1569,7 +1569,6 @@ group("copy_node_headers") {
|
||||
":generate_node_headers",
|
||||
":node_gypi_headers",
|
||||
":node_version_header",
|
||||
- ":zlib_headers",
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
%define mod_name electron
|
||||
# https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
|
||||
%define abi_version 130
|
||||
%define abi_version 133
|
||||
|
||||
# Do not provide libEGL.so, etc…
|
||||
%define __provides_exclude ^lib.*\\.so.*$
|
||||
@@ -73,34 +73,14 @@ ExcludeArch: %arm
|
||||
%bcond_without gdbjit
|
||||
%endif
|
||||
|
||||
%ifnarch %ix86 %arm
|
||||
%if (0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150700 || 0%{?fedora})
|
||||
#We no longer support 32-bit.
|
||||
%bcond_without lto
|
||||
%else
|
||||
%bcond_with lto
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%ifarch %ix86 %arm
|
||||
%bcond_with lto
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
#Linker overflows without LTO.
|
||||
%bcond_without lto
|
||||
%endif
|
||||
|
||||
%bcond_with mold
|
||||
|
||||
|
||||
|
||||
%if 0%{?suse_version} || 0%{?fedora} >= 41
|
||||
%bcond_without system_minizip
|
||||
%else
|
||||
%bcond_with system_minizip
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
|
||||
%bcond_with system_yuv
|
||||
@@ -109,16 +89,19 @@ ExcludeArch: %arm
|
||||
%bcond_without system_vpx
|
||||
%bcond_without bro_11
|
||||
%bcond_without ffmpeg_6
|
||||
%bcond_without wayland_34
|
||||
%bcond_without system_vk_headers
|
||||
%bcond_without spirv_2024
|
||||
%bcond_without cares_21
|
||||
#sqlite requires being compiled with session support, not a specific version.
|
||||
%bcond_without system_sqlite
|
||||
%else
|
||||
%bcond_with system_vpx
|
||||
%bcond_with bro_11
|
||||
%bcond_with ffmpeg_6
|
||||
%bcond_with wayland_34
|
||||
%bcond_with system_vk_headers
|
||||
%bcond_with spirv_2024
|
||||
%bcond_with cares_21
|
||||
%bcond_with system_sqlite
|
||||
%endif
|
||||
|
||||
|
||||
@@ -127,9 +110,11 @@ ExcludeArch: %arm
|
||||
%if 0%{?fedora}
|
||||
%bcond_without system_llhttp
|
||||
%bcond_without system_histogram
|
||||
%bcond_without system_simdjson
|
||||
%else
|
||||
%bcond_with system_llhttp
|
||||
%bcond_with system_histogram
|
||||
%bcond_with system_simdjson
|
||||
%endif
|
||||
|
||||
|
||||
@@ -140,8 +125,8 @@ ExcludeArch: %arm
|
||||
%endif
|
||||
|
||||
|
||||
# requires `run_convert_utf8_to_latin1_with_errors`
|
||||
%if 0%{?fedora} >= 41
|
||||
# requires `base64_options`
|
||||
%if 0%{?fedora} >= 42
|
||||
%bcond_without system_simdutf
|
||||
%else
|
||||
%bcond_with system_simdutf
|
||||
@@ -153,9 +138,6 @@ ExcludeArch: %arm
|
||||
%bcond_with system_vma
|
||||
%endif
|
||||
|
||||
#requires `imageSequenceTrackPresent` and `enableParsingGainMapMetadata` both of which are only in post-1.0.0 nightlies
|
||||
%bcond_with system_avif
|
||||
|
||||
# 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}
|
||||
%bcond_without system_abseil
|
||||
@@ -207,11 +189,11 @@ ExcludeArch: %arm
|
||||
|
||||
|
||||
Name: nodejs-electron
|
||||
Version: 33.4.10
|
||||
Version: 35.2.1
|
||||
%global tag_version %version
|
||||
Release: 0
|
||||
Summary: Build cross platform desktop apps with JavaScript, HTML, and CSS
|
||||
License: Apache-2.0 AND blessing AND BSD-2-Clause AND BSD-3-Clause AND BSD-Source-Code AND bzip2-1.0.6 AND ISC AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND MIT-CMU AND MIT-open-group AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND MPL-2.0 AND OpenSSL AND SGI-B-2.0 AND SUSE-Public-Domain AND X11%{!?with_system_minizip: AND Zlib}
|
||||
License: Apache-2.0 AND blessing AND BSD-2-Clause AND BSD-3-Clause AND BSD-Source-Code AND bzip2-1.0.6 AND ISC AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND MIT-CMU AND MIT-open-group AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND MPL-2.0 AND OpenSSL AND SGI-B-2.0 AND SUSE-Public-Domain AND X11
|
||||
Group: Development/Languages/NodeJS
|
||||
URL: https://github.com/electron/electron
|
||||
Source0: %{mod_name}-%{tag_version}.tar.zst
|
||||
@@ -231,13 +213,18 @@ 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 wayland protocol 1.32
|
||||
Source420: wayland-protocol-toplevel-icon.patch
|
||||
Source421: wayland-protocol-toplevel-icon-2.patch
|
||||
Source422: wayland-protocol-toplevel-drag.patch
|
||||
# and abseil 2401
|
||||
Source460: quiche-absl-HexStringToBytes.patch
|
||||
#Source420: wayland-protocol-toplevel-icon.patch
|
||||
#Source421: wayland-protocol-toplevel-icon-2.patch
|
||||
#Source422: wayland-protocol-toplevel-drag.patch
|
||||
#Source423: wayland_connection-Wchanges-meaning.patch
|
||||
# and abseil 2407
|
||||
#Source460: quiche-absl-HexStringToBytes.patch
|
||||
Source461: webrtc-make_ref_counted-absl2024-nullability.patch
|
||||
#Source462: quiche-absl-HexStringToBytes-2.patch
|
||||
# and c-ares 1.19
|
||||
Source470: node-cares-1.21.patch
|
||||
# and spirv 2023
|
||||
Source480: angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch
|
||||
|
||||
|
||||
|
||||
@@ -257,11 +244,12 @@ Patch75: gcc-asmflags.patch
|
||||
Patch77: angle_link_glx.patch
|
||||
Patch78: rdynamic.patch
|
||||
Patch80: icon.patch
|
||||
Patch82: node-compiler.patch
|
||||
#Patch82: node-compiler.patch
|
||||
Patch84: aarch64-Xclang.patch
|
||||
Patch85: devtools-frontend-compress_files-oom.patch
|
||||
Patch86: enable_stack_trace_line_numbers-symbol_level.patch
|
||||
Patch97: chromium-127-cargo_crate.patch
|
||||
Patch98: gn-logspam-breaks-install.patch
|
||||
|
||||
|
||||
# PATCHES that remove code we don't want. Most of them can be reused verbatim by other distributors,
|
||||
@@ -281,7 +269,7 @@ Patch586: aom-vpx-no-thread-wrapper.patch
|
||||
Patch588: remove-password-manager-and-policy.patch
|
||||
Patch589: remove-puffin.patch
|
||||
Patch590: remove-sync.patch
|
||||
Patch591: fix-build-without-safebrowsing.patch
|
||||
#Patch591: fix-build-without-safebrowsing.patch
|
||||
Patch592: fix-build-without-supervised-users.patch
|
||||
Patch593: fix-build-without-screen-ai.patch
|
||||
Patch594: build-without-speech-service.patch
|
||||
@@ -290,10 +278,15 @@ Patch595: chromium-123-qrcode.patch
|
||||
Patch596: chromium-130-fontations.patch
|
||||
Patch597: chromium-125-cloud_authenticator.patch
|
||||
Patch598: chromium-127-crabby.patch
|
||||
Patch599: chromium-132-no-rust.patch
|
||||
#End gentoo patches
|
||||
Patch599: remove-libphonenumber.patch
|
||||
Patch600: delete-old-language-detection-which-uses-tflite.patch
|
||||
Patch601: MakeSbixTypeface-null-pointer-call.patch
|
||||
#Patch600: remove-libphonenumber.patch
|
||||
#Patch601: delete-old-language-detection-which-uses-tflite.patch
|
||||
Patch601: MakeSbixTypeface-null-pointer-call.patch
|
||||
Patch602: remove-ai-language-detection-factory-which-requires-tflite-and-libphonenumber.patch
|
||||
Patch603: build-without-mesage-center.patch
|
||||
Patch604: disable-avif-really.patch
|
||||
Patch605: permission-gcc14.2.patch
|
||||
|
||||
|
||||
|
||||
@@ -320,10 +313,14 @@ Patch1078: system-simdutf.patch
|
||||
Patch1079: system-libm.patch
|
||||
Patch1085: webp-no-sharpyuv.patch
|
||||
Patch1086: zip_internal-missing-uLong-Z_DEFAULT_COMPRESSION.patch
|
||||
Patch1087: system-ada-url.patch
|
||||
#Patch1087: system-ada-url.patch
|
||||
Patch1088: cr130-abseil-remove-unused-deps.patch
|
||||
Patch1089: system-absl_algorithm.patch
|
||||
Patch1090: cr130-absl-base.patch
|
||||
Patch1091: use-system-libraries-in-node.patch
|
||||
Patch1092: fix-system-highway.patch
|
||||
Patch1093: system-sqlite.patch
|
||||
Patch1094: absl_strings-missing-headers.patch
|
||||
|
||||
|
||||
# PATCHES to fix interaction with third-party software
|
||||
@@ -334,12 +331,12 @@ Patch2010: chromium-93-ffmpeg-4.4.patch
|
||||
# is produced:
|
||||
# 'nomerge' attribute cannot be applied to a declaration
|
||||
# See https://reviews.llvm.org/D92800
|
||||
Patch2022: electron-13-fix-base-check-nomerge.patch
|
||||
#Patch2022: electron-13-fix-base-check-nomerge.patch
|
||||
Patch2032: seccomp_bpf-no-lto.patch
|
||||
Patch2034: swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch
|
||||
Patch2035: RenderFrameHostImpl-use-after-free.patch
|
||||
# https://github.com/electron/electron/pull/40032
|
||||
Patch2040: build-without-extensions.patch
|
||||
#Patch2040: build-without-extensions.patch
|
||||
%if %{without bro_11}
|
||||
Patch2042: brotli-remove-shared-dictionary.patch
|
||||
%else
|
||||
@@ -347,11 +344,7 @@ Source2042: brotli-remove-shared-dictionary.patch
|
||||
%endif
|
||||
Patch2045: libxml-2.12-xmlCtxtGetLastError-const.patch
|
||||
Patch2046: chromium-118-sigtrap_system_ffmpeg.patch
|
||||
%if %{with system_minizip}
|
||||
Source2047: bundled-minizip.patch
|
||||
%else
|
||||
Patch2047: bundled-minizip.patch
|
||||
%endif
|
||||
#Patch2047: bundled-minizip.patch
|
||||
Patch2048: absl2023-encapsulated_web_transport-StrCat.patch
|
||||
#Work around gcc14 overly aggressive optimizer.
|
||||
Patch2058: v8-strict-aliasing.patch
|
||||
@@ -362,6 +355,8 @@ Patch2060: chromium-129-disable-H.264-video-parser-during-demuxing.patch
|
||||
Patch2061: private_aggregation_host-uint128.patch
|
||||
Patch2062: wayland_version.patch
|
||||
Patch2063: fix-building-with-pipewire-1.3.82.patch
|
||||
#Conditionably disable feature which requires new highway
|
||||
Patch2064: blink-shape_result-highway.patch
|
||||
|
||||
|
||||
# PATCHES that should be submitted upstream verbatim or near-verbatim
|
||||
@@ -378,23 +373,45 @@ Patch3134: swiftshader-llvm18-LLVMJIT-Host.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
|
||||
Patch3149: boringssl-internal-addc-cxx.patch
|
||||
#Patch3149: boringssl-internal-addc-cxx.patch
|
||||
Patch3151: distributed_point_functions-evaluate_prg_hwy-signature.patch
|
||||
Patch3173: blink-platform-INSIDE_BLINK-Wodr.patch
|
||||
#Patch3173: blink-platform-INSIDE_BLINK-Wodr.patch
|
||||
Patch3174: swiftshader-llvm19-LLVMJIT-getHostCPUFeatures.patch
|
||||
Patch3175: swiftshader-llvm19-LLVMReactor-incomplete-Module.patch
|
||||
Patch3176: fix-build-without-service-discovery.patch
|
||||
Patch3177: wayland_connection-Wchanges-meaning.patch
|
||||
Patch3178: ip_protection_data_types-missing-optional.patch
|
||||
Patch3179: account_id-missing-optional.patch
|
||||
Patch3180: skia_image_decoder_base-missing-stack.patch
|
||||
Patch3181: exception_context-missing-variant.patch
|
||||
Patch3182: css_attr_value_tainting-missing-once_flag.patch
|
||||
Patch3183: vtt_scanner-missing-variant.patch
|
||||
#Patch3176: fix-build-without-service-discovery.patch
|
||||
#Patch3178: ip_protection_data_types-missing-optional.patch
|
||||
#Patch3179: account_id-missing-optional.patch
|
||||
#Patch3180: skia_image_decoder_base-missing-stack.patch
|
||||
#Patch3181: exception_context-missing-variant.patch
|
||||
#Patch3182: css_attr_value_tainting-missing-once_flag.patch
|
||||
#Patch3183: vtt_scanner-missing-variant.patch
|
||||
Patch3184: electron_usb_delegate-incomplete-UsbDeviceInfo.patch
|
||||
Patch3185: bsc1224178-font-gc.patch
|
||||
Patch3186: string_view-incomplete-CodePointIterator.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
|
||||
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
|
||||
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: macro-assembler-riscv-explicit-specialization-in-non-namespace-scope.patch
|
||||
Patch3210: v8-macro-assembler-riscv-leaptiering.patch
|
||||
|
||||
# Patches to re-enable upstream force disabled features.
|
||||
# There's no sense in submitting them but they may be reused as-is by other packagers.
|
||||
@@ -455,14 +472,15 @@ BuildRequires: ninja >= 1.7.2
|
||||
%else
|
||||
BuildRequires: ninja-build >= 1.7.2
|
||||
%endif
|
||||
%if 0%{?fedora} >= 37
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: nodejs-npm
|
||||
#otherwise electron-typescript-definitions crashes like https://github.com/nodejs/node/issues/51752
|
||||
BuildRequires: nodejs-full-i18n
|
||||
%else
|
||||
BuildRequires: npm
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: nodejs-packaging
|
||||
%endif
|
||||
BuildRequires: npm(rollup)
|
||||
BuildRequires: nodejs-packaging
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: plasma-wayland-protocols
|
||||
BuildRequires: python3-json5
|
||||
@@ -475,7 +493,7 @@ BuildRequires: (python3-setuptools if python3 >= 3.12)
|
||||
%endif
|
||||
BuildRequires: python%{PYVER}-six
|
||||
%if %{with system_simdutf}
|
||||
BuildRequires: simdutf-devel >= 3.2.17
|
||||
BuildRequires: simdutf-devel >= 5
|
||||
%endif
|
||||
BuildRequires: snappy-devel
|
||||
%if 0%{?suse_version}
|
||||
@@ -519,13 +537,14 @@ BuildRequires: pkgconfig(absl_int128)
|
||||
BuildRequires: pkgconfig(absl_memory)
|
||||
BuildRequires: pkgconfig(absl_node_hash_map)
|
||||
BuildRequires: pkgconfig(absl_node_hash_set)
|
||||
BuildRequires: pkgconfig(absl_nullability)
|
||||
BuildRequires: pkgconfig(absl_optional)
|
||||
BuildRequires: pkgconfig(absl_random_random)
|
||||
BuildRequires: pkgconfig(absl_span)
|
||||
BuildRequires: pkgconfig(absl_stacktrace)
|
||||
BuildRequires: pkgconfig(absl_status)
|
||||
BuildRequires: pkgconfig(absl_statusor)
|
||||
BuildRequires: pkgconfig(absl_strings)
|
||||
BuildRequires: pkgconfig(absl_strings) >= 20240700
|
||||
BuildRequires: pkgconfig(absl_str_format)
|
||||
BuildRequires: pkgconfig(absl_symbolize)
|
||||
BuildRequires: pkgconfig(absl_synchronization)
|
||||
@@ -568,10 +587,6 @@ BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavformat) >= 58
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
%endif
|
||||
%if %{with system_avif}
|
||||
# Needs avifRGBImage::maxThreads
|
||||
BuildRequires: pkgconfig(libavif) >= 1
|
||||
%endif
|
||||
%if %{with bro_11}
|
||||
BuildRequires: pkgconfig(libbrotlicommon) >= 1.1~
|
||||
%endif
|
||||
@@ -580,7 +595,6 @@ BuildRequires: pkgconfig(libbrotlienc)
|
||||
BuildRequires: pkgconfig(libcares)
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libevent)
|
||||
BuildRequires: pkgconfig(libhwy) >= 1
|
||||
BuildRequires: pkgconfig(libnghttp2)
|
||||
BuildRequires: pkgconfig(libnotify)
|
||||
@@ -605,13 +619,7 @@ BuildRequires: pkgconfig(libyuv) >= 1894
|
||||
BuildRequires: pkgconfig(libyuv)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libzstd)
|
||||
%if %{with system_minizip}
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: minizip-compat-devel
|
||||
%else
|
||||
BuildRequires: pkgconfig(minizip)
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: pkgconfig(nspr) >= 4.9.5
|
||||
BuildRequires: pkgconfig(nss) >= 3.26
|
||||
BuildRequires: pkgconfig(opus) >= 1.3.1
|
||||
@@ -626,17 +634,21 @@ BuildRequires: pkgconfig(Qt6Widgets)
|
||||
#re2-11 has abseil as a public dependency. If you use system re2 you must use system abseil.
|
||||
BuildRequires: cmake(re2) >= 11
|
||||
%endif
|
||||
%if %{with system_simdjson}
|
||||
BuildRequires: pkgconfig(simdjson)
|
||||
%endif
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: spirv-headers
|
||||
%else
|
||||
BuildRequires: spirv-headers-devel
|
||||
%endif
|
||||
BuildRequires: pkgconfig(SPIRV-Tools) >= 2022.2
|
||||
BuildRequires: pkgconfig(vulkan) >= 1.3
|
||||
%if %{with wayland_34}
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.33
|
||||
%if %{with spirv_2024}
|
||||
BuildRequires: pkgconfig(SPIRV-Tools) >= 2024
|
||||
%endif
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.32
|
||||
BuildRequires: pkgconfig(SPIRV-Tools) >= 2022.2
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
BuildRequires: pkgconfig(vulkan) >= 1.3
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.37
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(xshmfence)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
@@ -753,13 +765,6 @@ patch -R -p1 < %SOURCE412
|
||||
patch -R -p1 < %SOURCE413
|
||||
%endif
|
||||
|
||||
%if %{without wayland_34}
|
||||
patch -R -p1 < %PATCH3177
|
||||
patch -R -p1 < %SOURCE422
|
||||
patch -R -p1 < %SOURCE421
|
||||
patch -R -p1 < %SOURCE420
|
||||
%endif
|
||||
|
||||
%if %{without cares_21}
|
||||
patch -R -p1 < %SOURCE470
|
||||
%endif
|
||||
@@ -773,20 +778,24 @@ patch -R -p1 < %SOURCE400
|
||||
patch -R -p1 < %SOURCE401
|
||||
%endif
|
||||
|
||||
%if %{without spirv_2024}
|
||||
patch -R -p1 < %SOURCE480
|
||||
%endif
|
||||
|
||||
%if %{without system_sqlite}
|
||||
patch -R -p1 < %PATCH1093
|
||||
%endif
|
||||
|
||||
|
||||
# This one just removes compatibility with old abseil and does not add anything, reverting unconditionally.
|
||||
patch -R -p1 < %SOURCE461
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# This one depends on an abseil nightly, reverting unconditionally.
|
||||
patch -R -p1 < %SOURCE460
|
||||
|
||||
#Replace non-free rollup 4.x with rollup 3.x. This probably won't last for long and we will have to figure out how to build rollup 4
|
||||
rm -rf third_party/node/node_modules/@rollup/wasm-node/
|
||||
ln -srvT third_party/devtools-frontend/src/node_modules/rollup third_party/node/node_modules/@rollup/wasm-node
|
||||
rm -rf third_party/devtools-frontend/src/node_modules/@rollup/wasm-node/
|
||||
cp -arvT %{nodejs_sitelib}/rollup third_party/node/node_modules/@rollup/wasm-node
|
||||
cp -alrvT third_party/node/node_modules/@rollup/wasm-node third_party/devtools-frontend/src/node_modules/@rollup/wasm-node
|
||||
|
||||
|
||||
# Link system wayland-protocols-devel into where chrome expects them
|
||||
@@ -828,7 +837,6 @@ gn_system_libraries=(
|
||||
jsoncpp
|
||||
libaom
|
||||
libdrm
|
||||
libevent
|
||||
libjpeg
|
||||
libpng
|
||||
libsecret
|
||||
@@ -876,18 +884,10 @@ gn_system_libraries+=(
|
||||
|
||||
|
||||
|
||||
%if %{with system_avif}
|
||||
find third_party/libavif -type f ! -name "*.gn" -a ! -name "*.gni" -delete
|
||||
gn_system_libraries+=( libavif )
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
|
||||
%if %{with system_minizip}
|
||||
find third_party/zlib/contrib -type f ! -name "*.gn" -a ! -name "*.gni" -delete
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with system_re2}
|
||||
find third_party/re2 -type f ! -name "*.gn" -a ! -name "*.gni" -delete
|
||||
@@ -917,6 +917,11 @@ find third_party/libyuv -type f ! -name "*.gn" -a ! -name "*.gni" -delete
|
||||
gn_system_libraries+=( libyuv )
|
||||
%endif
|
||||
|
||||
%if %{with system_simdutf}
|
||||
find third_party/simdutf -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
gn_system_libraries+=( simdutf )
|
||||
%endif
|
||||
|
||||
build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries[@]}
|
||||
|
||||
|
||||
@@ -932,8 +937,12 @@ find third_party/electron_node/deps/llhttp -type f ! -name "*.gn" -a ! -name "*.
|
||||
find third_party/electron_node/deps/histogram -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
%endif
|
||||
|
||||
%if %{with system_simdutf}
|
||||
find third_party/electron_node/deps/simdutf -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
%if %{with system_simdjson}
|
||||
find third_party/electron_node/deps/simdjson -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
%endif
|
||||
|
||||
%if %{with system_sqlite}
|
||||
find third_party/electron_node/deps/sqlite -type f ! -name "*.gn" -a ! -name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
|
||||
%endif
|
||||
|
||||
|
||||
@@ -1056,7 +1065,7 @@ unset MALLOC_PERTURB_
|
||||
|
||||
%if %{with lto}
|
||||
%ifarch aarch64
|
||||
export LDFLAGS="$LDFLAGS -flto=auto --param ggc-min-expand=20 --param ggc-min-heapsize=32768 --param lto-max-streaming-parallelism=6 -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||
export LDFLAGS="$LDFLAGS -flto=auto --param ggc-min-expand=20 --param ggc-min-heapsize=32768 --param lto-max-streaming-parallelism=4 -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||
%else
|
||||
# x64 is fine with the the default settings (the machines have 30GB+ ram)
|
||||
export LDFLAGS="$LDFLAGS -flto=auto"
|
||||
@@ -1071,6 +1080,9 @@ export LDFLAGS="$LDFLAGS -fuse-ld=mold"
|
||||
export CCACHE_COMPRESS=1
|
||||
ccache -o max_size=0 || true
|
||||
|
||||
#see generate_node_headers.py
|
||||
export ELECTRON_OUT_DIR=Release
|
||||
|
||||
# Create the configuration for GN
|
||||
# Available options: out/Release/gn args --list out/Release/
|
||||
myconf_gn=""
|
||||
@@ -1150,6 +1162,7 @@ myconf_gn+=' angle_enable_swiftshader=true'
|
||||
|
||||
|
||||
# do not build PDF support
|
||||
myconf_gn+=' enable_glic=false'
|
||||
myconf_gn+=" enable_pdf=false"
|
||||
myconf_gn+=' enable_pdf_ink2=false'
|
||||
myconf_gn+=" enable_pdf_viewer=false"
|
||||
@@ -1169,6 +1182,7 @@ myconf_gn+=' content_enable_legacy_ipc=true'
|
||||
|
||||
#do not build webextensions support
|
||||
myconf_gn+=' enable_electron_extensions=false'
|
||||
myconf_gn+=' enable_platform_apps=false'
|
||||
|
||||
# The option below get overriden by whatever is in CFLAGS/CXXFLAGS, so they affect only C++ code.
|
||||
# symbol_level=2 is full debug
|
||||
@@ -1251,12 +1265,13 @@ myconf_gn+=' structured_metrics_enabled=false'
|
||||
myconf_gn+=' structured_metrics_debug_enabled=false'
|
||||
myconf_gn+=' build_dawn_tests=false'
|
||||
myconf_gn+=' enable_compute_pressure=false'
|
||||
myconf_fn+=' enable_guest_view=false'
|
||||
|
||||
|
||||
|
||||
#FIXME: possibly enable this when skia gets built with rust code by default.
|
||||
#Need to patch in optflags and possibly FFI LTO hacks (see signal-desktop package for how it's done)
|
||||
myconf_gn+=' enable_rust=false'
|
||||
myconf_gn+=' enable_rust_png=false'
|
||||
myconf_gn+=' enable_chromium_prelude=false'
|
||||
|
||||
myconf_gn+=' chrome_root_store_cert_management_ui=false'
|
||||
@@ -1265,7 +1280,6 @@ myconf_gn+=' use_kerberos=false'
|
||||
myconf_gn+=' disable_histogram_support=true'
|
||||
|
||||
|
||||
|
||||
#Do not build Chromecast
|
||||
myconf_gn+=" enable_remoting=false"
|
||||
myconf_gn+=" enable_media_remoting=false"
|
||||
@@ -1283,6 +1297,18 @@ myconf_gn+=' enable_perfetto_trace_processor_json=false'
|
||||
myconf_gn+=' enable_perfetto_trace_processor_httpd=false'
|
||||
myconf_gn+=' enable_perfetto_zlib=false'
|
||||
|
||||
#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
|
||||
#myconf_gn+=' v8_use_perfetto=false'
|
||||
|
||||
|
||||
|
||||
myconf_gn+=' dawn_complete_static_libs=true'
|
||||
@@ -1340,8 +1366,8 @@ myconf_gn+=" use_system_llhttp=true"
|
||||
%if %{with system_histogram}
|
||||
myconf_gn+=" use_system_histogram=true"
|
||||
%endif
|
||||
%if %{with system_simdutf}
|
||||
myconf_gn+=' use_system_simdutf=true'
|
||||
%if %{with system_simdjson}
|
||||
myconf_gn+=' use_system_simdjson=true'
|
||||
%endif
|
||||
myconf_gn+=" is_clang=false"
|
||||
|
||||
@@ -1378,8 +1404,6 @@ myconf_gn+=' skia_use_dawn=false'
|
||||
myconf_gn+=" proprietary_codecs=true"
|
||||
myconf_gn+=" ffmpeg_branding=\"Chrome\""
|
||||
|
||||
|
||||
|
||||
# GN does not support passing cflags:
|
||||
# https://bugs.chromium.org/p/chromium/issues/detail?id=642016
|
||||
gn gen out/Release --testonly=false --args="import(\"//electron/build/args/release.gn\") ${myconf_gn}"
|
||||
@@ -1464,7 +1488,7 @@ cp /dev/stdin %{buildroot}%{_rpmconfigdir}/macros.d/macros.electron <<"EOF"
|
||||
|
||||
# Build native modules against Electron. This should be done as the first step in ‰build. You must set CFLAGS/LDFLAGS previously.
|
||||
# You can call it multiple times in different directories and pass more parameters to it (seen in vscode)
|
||||
%%electron_rebuild %{?jitless} PATH="%{_libexecdir}/electron-node:$PATH" npm rebuild --verbose --foreground-scripts --nodedir=%{_includedir}/electron
|
||||
%%electron_rebuild PATH="%{_libexecdir}/electron-node:$PATH" npm rebuild --verbose --foreground-scripts --nodedir=%{_includedir}/electron
|
||||
|
||||
# Sanity check that native modules load. You must include this in ‰check if the package includes native modules (possibly in addition to actual test suites)
|
||||
# These do, in order:
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
--- 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_
|
||||
42
perfetto-ThreadTrack-Current-null-dereference.patch
Normal file
42
perfetto-ThreadTrack-Current-null-dereference.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
#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;
|
||||
|
||||
13
permission-gcc14.2.patch
Normal file
13
permission-gcc14.2.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
This file fails to compile under gcc 14.2 but should be entirely dead code
|
||||
|
||||
--- src/components/services/app_service/public/cpp/BUILD.gn.orig 2025-04-21 18:29:17.630307050 +0200
|
||||
+++ src/components/services/app_service/public/cpp/BUILD.gn 2025-04-23 18:18:14.510674646 +0200
|
||||
@@ -28,8 +28,6 @@ component("app_types") {
|
||||
"menu.h",
|
||||
"package_id.cc",
|
||||
"package_id.h",
|
||||
- "permission.cc",
|
||||
- "permission.h",
|
||||
"preferred_app.cc",
|
||||
"preferred_app.h",
|
||||
"run_on_os_login_types.cc",
|
||||
@@ -0,0 +1,35 @@
|
||||
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"
|
||||
20
plugin_utils-build-without-electron_extensions.patch
Normal file
20
plugin_utils-build-without-electron_extensions.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- 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) {
|
||||
@@ -21,22 +21,22 @@ In file included from /usr/include/c++/14/string:49,
|
||||
143 | absl::uint128 bucket;
|
||||
| ^~~~~~
|
||||
|
||||
--- src/content/browser/private_aggregation/private_aggregation_host.cc 2025-01-02 22:23:57.594885484 +0100
|
||||
+++ /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/home/abuild/rpmbuild/BUILD/src/content/browser/private_aggregation/private_aggregation_host.cc 2025-01-03 21:33:27.795544465 +0100
|
||||
@@ -51,7 +51,6 @@
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/receiver_set.h"
|
||||
#include "services/network/public/cpp/is_potentially_trustworthy.h"
|
||||
--- 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 2025-04-17 16:33:05.731832452 +0200
|
||||
@@ -11,7 +11,6 @@
|
||||
#include <vector>
|
||||
|
||||
#include "content/common/content_export.h"
|
||||
-#include "third_party/abseil-cpp/absl/numeric/int128.h"
|
||||
#include "third_party/blink/public/common/features.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/private_aggregation/private_aggregation_host.mojom.h"
|
||||
@@ -140,7 +139,7 @@ struct ContributionMergeKey {
|
||||
|
||||
auto operator<=>(const ContributionMergeKey& a) const = default;
|
||||
@@ -41,7 +40,7 @@ class CONTENT_EXPORT PrivateAggregationP
|
||||
|
||||
- absl::uint128 bucket;
|
||||
+ unsigned __int128 bucket;
|
||||
uint64_t filtering_id;
|
||||
};
|
||||
auto operator<=>(const ContributionMergeKey& a) const = default;
|
||||
|
||||
- absl::uint128 bucket;
|
||||
+ unsigned __int128 bucket;
|
||||
uint64_t filtering_id;
|
||||
};
|
||||
|
||||
|
||||
48
raw_ptr-fpermissive.patch
Normal file
48
raw_ptr-fpermissive.patch
Normal file
@@ -0,0 +1,48 @@
|
||||
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*;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,373 @@
|
||||
--- 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/ai.cc 2025-04-17 16:44:52.883833032 +0200
|
||||
@@ -30,7 +30,6 @@ void AI::Trace(Visitor* visitor) const {
|
||||
visitor->Trace(ai_summarizer_factory_);
|
||||
visitor->Trace(ai_writer_factory_);
|
||||
visitor->Trace(ai_rewriter_factory_);
|
||||
- visitor->Trace(ai_language_detector_factory_);
|
||||
visitor->Trace(ai_translator_factory_);
|
||||
}
|
||||
|
||||
@@ -78,15 +77,6 @@ AIRewriterFactory* AI::rewriter() {
|
||||
return ai_rewriter_factory_.Get();
|
||||
}
|
||||
|
||||
-AILanguageDetectorFactory* AI::languageDetector() {
|
||||
- if (!ai_language_detector_factory_) {
|
||||
- ai_language_detector_factory_ =
|
||||
- MakeGarbageCollected<AILanguageDetectorFactory>(GetExecutionContext(),
|
||||
- task_runner_);
|
||||
- }
|
||||
- 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",
|
||||
"model_execution_responder.cc",
|
||||
"model_execution_responder.h",
|
||||
- "on_device_translation/ai_language_detector.cc",
|
||||
- "on_device_translation/ai_language_detector.h",
|
||||
- "on_device_translation/ai_language_detector_capabilities.cc",
|
||||
- "on_device_translation/ai_language_detector_capabilities.h",
|
||||
- "on_device_translation/ai_language_detector_factory.cc",
|
||||
- "on_device_translation/ai_language_detector_factory.h",
|
||||
"on_device_translation/ai_translator.cc",
|
||||
"on_device_translation/ai_translator.h",
|
||||
- "on_device_translation/ai_translator_capabilities.cc",
|
||||
- "on_device_translation/ai_translator_capabilities.h",
|
||||
"on_device_translation/ai_translator_factory.cc",
|
||||
"on_device_translation/ai_translator_factory.h",
|
||||
]
|
||||
@@ -60,7 +52,5 @@ blink_modules_sources("ai") {
|
||||
deps = [
|
||||
"//components/language_detection/content/common",
|
||||
"//components/language_detection/content/common:common_blink",
|
||||
- "//components/language_detection/content/renderer",
|
||||
- "//components/language_detection/core",
|
||||
]
|
||||
}
|
||||
--- 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
|
||||
@@ -1239,8 +1239,6 @@ component("platform") {
|
||||
"keyboard_codes.h",
|
||||
"language.cc",
|
||||
"language.h",
|
||||
- "language_detection/language_detection_model.cc",
|
||||
- "language_detection/language_detection_model.h",
|
||||
"link_hash.cc",
|
||||
"link_hash.h",
|
||||
"media/media_player_client.h",
|
||||
@@ -1757,11 +1755,8 @@ component("platform") {
|
||||
"//cc/mojo_embedder",
|
||||
"//components/language_detection/content/common",
|
||||
"//components/language_detection/content/common:common_blink",
|
||||
- "//components/language_detection/content/renderer",
|
||||
- "//components/language_detection/core",
|
||||
"//components/paint_preview/common",
|
||||
"//components/search_engines:search_engine_utils",
|
||||
- "//components/translate/core/language_detection:language_detection",
|
||||
"//components/viz/client",
|
||||
"//components/viz/common",
|
||||
"//components/webrtc:net_address_utils",
|
||||
--- src/components/translate/core/common/BUILD.gn.orig 2025-04-12 14:33:35.535738956 +0200
|
||||
+++ src/components/translate/core/common/BUILD.gn 2025-04-12 16:04:56.897440792 +0200
|
||||
@@ -23,7 +23,6 @@ static_library("common") {
|
||||
deps = [
|
||||
"//base",
|
||||
"//components/language/core/common",
|
||||
- "//components/language_detection/core:core",
|
||||
"//third_party/metrics_proto",
|
||||
"//url",
|
||||
]
|
||||
--- src/third_party/blink/renderer/modules/BUILD.gn 2025-04-16 14:36:32.763311004 +0200
|
||||
+++ src/third_party/blink/renderer/modules/BUILD.gn 2025-04-18 14:17:17.869441496 +0200
|
||||
@@ -128,7 +128,6 @@ component("modules") {
|
||||
"//third_party/blink/renderer/modules/netinfo",
|
||||
"//third_party/blink/renderer/modules/nfc",
|
||||
"//third_party/blink/renderer/modules/notifications",
|
||||
- "//third_party/blink/renderer/modules/on_device_translation",
|
||||
"//third_party/blink/renderer/modules/payments",
|
||||
"//third_party/blink/renderer/modules/payments/goods",
|
||||
"//third_party/blink/renderer/modules/peerconnection",
|
||||
--- src/third_party/blink/renderer/bindings/idl_in_modules.gni 2025-04-16 14:36:32.335223804 +0200
|
||||
+++ src/third_party/blink/renderer/bindings/idl_in_modules.gni 2025-04-18 21:39:21.064884303 +0200
|
||||
@@ -28,12 +28,8 @@ static_idl_files_in_modules = [
|
||||
"//third_party/blink/renderer/modules/ai/ai_summarizer_factory.idl",
|
||||
"//third_party/blink/renderer/modules/ai/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/css_animation_worklet.idl",
|
||||
@@ -542,10 +538,6 @@ static_idl_files_in_modules = [
|
||||
"//third_party/blink/renderer/modules/notifications/service_worker_global_scope_notifications.idl",
|
||||
"//third_party/blink/renderer/modules/notifications/service_worker_registration_notifications.idl",
|
||||
"//third_party/blink/renderer/modules/notifications/timestamp_trigger.idl",
|
||||
- "//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_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_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_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_manager_snapshot.cc",
|
||||
@@ -922,8 +916,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_ml_where_support_limits.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_translation_language_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_multi_cache_query_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_navigation_preload_state.cc",
|
||||
@@ -1552,8 +1544,6 @@ generated_enumeration_sources_in_modules
|
||||
"$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_gamepad_mapping_type.cc",
|
||||
"$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_translation_availability.cc",
|
||||
- "$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_gpu_address_mode.cc",
|
||||
"$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_gpu_auto_layout_mode.cc",
|
||||
@@ -1956,12 +1946,6 @@ generated_interface_sources_in_modules =
|
||||
"$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_ai_create_monitor.cc",
|
||||
"$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_ai_language_detector_capabilities.cc",
|
||||
- "$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_ai_language_detector_factory.cc",
|
||||
- "$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_ai_language_detector.cc",
|
||||
- "$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_ai_rewriter_factory.cc",
|
||||
"$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_ai_rewriter.cc",
|
||||
@@ -1972,8 +1956,6 @@ generated_interface_sources_in_modules =
|
||||
"$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_ai_summarizer.cc",
|
||||
"$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_ai_translator_capabilities.cc",
|
||||
- "$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_ai_translator_factory.cc",
|
||||
"$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_ai_translator.cc",
|
||||
@@ -2466,8 +2448,6 @@ 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_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_language_translator.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_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_queue.cc",
|
||||
@@ -2924,8 +2904,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_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_translation.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_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_usb.cc",
|
||||
--- src/third_party/blink/renderer/modules/ai/on_device_translation/ai_translator_factory.idl 2025-04-16 14:36:32.773113846 +0200
|
||||
+++ src/third_party/blink/renderer/modules/ai/on_device_translation/ai_translator_factory.idl 2025-04-18 21:45:18.481187932 +0200
|
||||
@@ -11,11 +11,6 @@ interface AITranslatorFactory {
|
||||
]
|
||||
Promise<AITranslator> create(AITranslatorCreateOptions options);
|
||||
// TODO(crbug.com/390459310): Replace with availability.
|
||||
- [
|
||||
- CallWith=ScriptState,
|
||||
- RaisesException
|
||||
- ]
|
||||
- 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-18 22:48:04.297289260 +0200
|
||||
@@ -1882,15 +1882,6 @@ GetContentLanguageDetectionDriver() {
|
||||
}
|
||||
} // namespace
|
||||
|
||||
-void ContentBrowserClient::BindLanguageDetectionDriver(
|
||||
- content::BrowserContext* browser_context,
|
||||
- base::SupportsUserData* context_user_data,
|
||||
- mojo::PendingReceiver<
|
||||
- language_detection::mojom::ContentLanguageDetectionDriver> receiver) {
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kLanguageDetectionAPI)) {
|
||||
- GetContentLanguageDetectionDriver().AddReceiver(std::move(receiver));
|
||||
- }
|
||||
-}
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
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 2025-04-18 23:10:18.079235856 +0200
|
||||
@@ -1156,19 +1164,6 @@ void PopulateFrameBinders(RenderFrameHos
|
||||
base::Unretained(host)));
|
||||
}
|
||||
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kLanguageDetectionAPI)) {
|
||||
- map->Add<language_detection::mojom::ContentLanguageDetectionDriver>(
|
||||
- base::BindRepeating(
|
||||
- [](RenderFrameHostImpl* host,
|
||||
- mojo::PendingReceiver<
|
||||
- language_detection::mojom::ContentLanguageDetectionDriver>
|
||||
- receiver) {
|
||||
- GetContentClient()->browser()->BindLanguageDetectionDriver(
|
||||
- host->GetBrowserContext(), &host->document_associated_data(),
|
||||
- std::move(receiver));
|
||||
- },
|
||||
- base::Unretained(host)));
|
||||
- }
|
||||
}
|
||||
|
||||
void PopulateBinderMapWithContext(
|
||||
@@ -1446,19 +1443,6 @@ void PopulateDedicatedWorkerBinders(Dedi
|
||||
},
|
||||
base::Unretained(host)));
|
||||
}
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kLanguageDetectionAPI)) {
|
||||
- map->Add<language_detection::mojom::ContentLanguageDetectionDriver>(
|
||||
- base::BindRepeating(
|
||||
- [](DedicatedWorkerHost* host,
|
||||
- mojo::PendingReceiver<
|
||||
- language_detection::mojom::ContentLanguageDetectionDriver>
|
||||
- receiver) {
|
||||
- GetContentClient()->browser()->BindLanguageDetectionDriver(
|
||||
- host->GetProcessHost()->GetBrowserContext(), host,
|
||||
- std::move(receiver));
|
||||
- },
|
||||
- base::Unretained(host)));
|
||||
- }
|
||||
}
|
||||
|
||||
void PopulateBinderMapWithContext(
|
||||
@@ -1549,19 +1533,6 @@ void PopulateSharedWorkerBinders(SharedW
|
||||
},
|
||||
base::Unretained(host)));
|
||||
}
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kLanguageDetectionAPI)) {
|
||||
- map->Add<language_detection::mojom::ContentLanguageDetectionDriver>(
|
||||
- base::BindRepeating(
|
||||
- [](SharedWorkerHost* host,
|
||||
- mojo::PendingReceiver<
|
||||
- language_detection::mojom::ContentLanguageDetectionDriver>
|
||||
- receiver) {
|
||||
- GetContentClient()->browser()->BindLanguageDetectionDriver(
|
||||
- host->GetProcessHost()->GetBrowserContext(), host,
|
||||
- std::move(receiver));
|
||||
- },
|
||||
- base::Unretained(host)));
|
||||
- }
|
||||
|
||||
// RenderProcessHost binders
|
||||
map->Add<media::mojom::VideoDecodePerfHistory>(BindWorkerReceiver(
|
||||
@@ -1704,22 +1675,6 @@ void PopulateServiceWorkerBinders(Servic
|
||||
},
|
||||
base::Unretained(host)));
|
||||
}
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kLanguageDetectionAPI)) {
|
||||
- map->Add<language_detection::mojom::ContentLanguageDetectionDriver>(
|
||||
- base::BindRepeating(
|
||||
- [](ServiceWorkerHost* host,
|
||||
- mojo::PendingReceiver<
|
||||
- language_detection::mojom::ContentLanguageDetectionDriver>
|
||||
- receiver) {
|
||||
- if (auto* process_host = static_cast<RenderProcessHostImpl*>(
|
||||
- RenderProcessHost::FromID(host->worker_process_id()))) {
|
||||
- GetContentClient()->browser()->BindLanguageDetectionDriver(
|
||||
- process_host->GetBrowserContext(), host,
|
||||
- std::move(receiver));
|
||||
- }
|
||||
- },
|
||||
- base::Unretained(host)));
|
||||
- }
|
||||
|
||||
// RenderProcessHost binders
|
||||
map->Add<media::mojom::VideoDecodePerfHistory>(BindServiceWorkerReceiver(
|
||||
--- src/content/public/browser/content_browser_client.h 2025-04-16 14:45:28.636752215 +0200
|
||||
+++ src/content/public/browser/content_browser_client.h 2025-04-18 23:30:15.399851141 +0200
|
||||
@@ -3144,11 +3144,6 @@ class CONTENT_EXPORT ContentBrowserClien
|
||||
// Binds to a singleton new instance of
|
||||
// `language_detection::ContentLanguageDetectionDriver` which receives the
|
||||
// model from a local file specified by a flag param..
|
||||
- virtual void BindLanguageDetectionDriver(
|
||||
- BrowserContext* browser_context,
|
||||
- base::SupportsUserData* context_user_data,
|
||||
- mojo::PendingReceiver<
|
||||
- language_detection::mojom::ContentLanguageDetectionDriver> receiver);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Given the last committed URL of the RenderFrameHost, |frame_url|, and the
|
||||
@@ -45,17 +45,17 @@ Remove this unused component which brings a huge dependency on //third_party/daw
|
||||
|
||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && BUILDFLAG(IS_CHROMEOS)
|
||||
services.Add(RunShapeDetectionService);
|
||||
--- src/content/utility/utility_main.cc.orig 2024-12-08 18:34:58.184673416 +0100
|
||||
+++ src/content/utility/utility_main.cc 2024-12-18 12:43:43.314689968 +0100
|
||||
--- src/content/utility/utility_main.cc.orig 2025-04-11 12:05:20.386081545 +0200
|
||||
+++ src/content/utility/utility_main.cc 2025-04-11 19:56:46.620452510 +0200
|
||||
@@ -32,7 +32,6 @@
|
||||
#include "sandbox/policy/mojom/sandbox.mojom.h"
|
||||
#include "sandbox/policy/sandbox.h"
|
||||
#include "sandbox/policy/sandbox_type.h"
|
||||
-#include "services/on_device_model/on_device_model_service.h"
|
||||
#include "services/screen_ai/buildflags/buildflags.h"
|
||||
#include "services/tracing/public/cpp/trace_startup.h"
|
||||
#include "services/video_effects/public/cpp/buildflags.h"
|
||||
|
||||
@@ -238,9 +237,6 @@ int UtilityMain(MainFunctionParams param
|
||||
@@ -243,9 +242,6 @@ int UtilityMain(MainFunctionParams param
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ Remove this unused component which brings a huge dependency on //third_party/daw
|
||||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
// Thread type delegate of the process should be registered before first
|
||||
@@ -275,11 +271,6 @@ int UtilityMain(MainFunctionParams param
|
||||
@@ -278,11 +274,6 @@ int UtilityMain(MainFunctionParams param
|
||||
case sandbox::mojom::Sandbox::kAudio:
|
||||
pre_sandbox_hook = base::BindOnce(&audio::AudioPreSandboxHook);
|
||||
break;
|
||||
@@ -77,7 +77,7 @@ Remove this unused component which brings a huge dependency on //third_party/daw
|
||||
case sandbox::mojom::Sandbox::kSpeechRecognition:
|
||||
pre_sandbox_hook =
|
||||
base::BindOnce(&speech::SpeechRecognitionPreSandboxHook);
|
||||
@@ -440,9 +431,6 @@ int UtilityMain(MainFunctionParams param
|
||||
@@ -454,9 +445,6 @@ int UtilityMain(MainFunctionParams param
|
||||
|
||||
run_loop.Run();
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
--- src/third_party/blink/renderer/platform/BUILD.gn.orig 2025-01-02 22:23:59.424885429 +0100
|
||||
+++ src/third_party/blink/renderer/platform/BUILD.gn 2025-01-03 19:03:30.286845650 +0100
|
||||
@@ -1243,8 +1243,6 @@ component("platform") {
|
||||
"keyboard_codes.h",
|
||||
"language.cc",
|
||||
"language.h",
|
||||
- "language_detection/detect.cc",
|
||||
- "language_detection/detect.h",
|
||||
"link_hash.cc",
|
||||
"link_hash.h",
|
||||
"media/web_audio_source_provider_client.h",
|
||||
@@ -1754,10 +1752,8 @@ component("platform") {
|
||||
"//cc",
|
||||
"//cc/ipc",
|
||||
"//cc/mojo_embedder",
|
||||
- "//components/language_detection/core:language_detection",
|
||||
"//components/paint_preview/common",
|
||||
"//components/search_engines:search_engine_utils",
|
||||
- "//components/translate/core/language_detection:language_detection",
|
||||
"//components/viz/client",
|
||||
"//components/viz/common",
|
||||
"//components/webrtc:net_address_utils",
|
||||
@@ -1,48 +1,3 @@
|
||||
From 54ec71011a6ebb873590802a70b2bc07578ba201 Mon Sep 17 00:00:00 2001
|
||||
From: Szabolcs David <davidsz@inf.u-szeged.hu>
|
||||
Date: Mon, 10 Oct 2022 17:20:43 +0200
|
||||
Subject: Make user agent helpers buildable without unwanted dependencies
|
||||
|
||||
"//components/policy" is enormously large with its resource files and
|
||||
we don't want to build it for only one preference name.
|
||||
|
||||
User agent utils are required to fill
|
||||
navigator.userAgentData members in JavaScript.
|
||||
|
||||
Task-number: QTBUG-107260
|
||||
Task-number: QTBUG-107451
|
||||
Change-Id: I752df68a8095ddb3f598a71f0419c1a2c9c408bb
|
||||
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||
---
|
||||
chromium/components/embedder_support/user_agent_utils.cc | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/chromium/components/embedder_support/user_agent_utils.cc b/chromium/components/embedder_support/user_agent_utils.cc
|
||||
index c957a691efc..408fb837d80 100644
|
||||
--- a/components/embedder_support/user_agent_utils.cc
|
||||
+++ b/components/embedder_support/user_agent_utils.cc
|
||||
@@ -446,12 +446,14 @@ blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service,
|
||||
bool enable_updated_grease_by_policy = true;
|
||||
// TODO(crbug.com/40838057): Remove this after M126 which deprecates the
|
||||
// policy.
|
||||
+#if 0
|
||||
if (pref_service) {
|
||||
if (pref_service->HasPrefPath(
|
||||
policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled))
|
||||
enable_updated_grease_by_policy = pref_service->GetBoolean(
|
||||
policy::policy_prefs::kUserAgentClientHintsGREASEUpdateEnabled);
|
||||
}
|
||||
+#endif
|
||||
|
||||
// Low entropy client hints.
|
||||
metadata.brand_version_list =
|
||||
--
|
||||
cgit v1.2.3
|
||||
|
||||
|
||||
|
||||
…and now come Electron—specific changes to support the above:
|
||||
|
||||
--- src/components/browsing_data/core/BUILD.gn.old
|
||||
+++ src/components/browsing_data/core/BUILD.gn
|
||||
@@ -36,9 +36,7 @@ static_library("core") {
|
||||
@@ -91,19 +46,19 @@ cgit v1.2.3
|
||||
"//components/prefs",
|
||||
"//components/version_info",
|
||||
"//content/public/browser",
|
||||
--- src/components/permissions/BUILD.gn.old
|
||||
+++ src/components/permissions/BUILD.gn
|
||||
@@ -109,10 +109,7 @@ source_set("permissions") {
|
||||
--- 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
|
||||
@@ -119,10 +119,7 @@ source_set("permissions") {
|
||||
]
|
||||
deps = [
|
||||
"//base",
|
||||
"//build:chromeos_buildflags",
|
||||
- "//components/back_forward_cache",
|
||||
- "//components/content_settings/browser",
|
||||
"//components/content_settings/core/browser",
|
||||
- "//components/content_settings/core/browser:cookie_settings",
|
||||
"//components/favicon/core:core",
|
||||
"//components/guest_view/buildflags",
|
||||
"//components/keyed_service/content",
|
||||
"//components/permissions/prediction_service",
|
||||
--- src/components/proxy_config/BUILD.gn.old
|
||||
+++ src/components/proxy_config/BUILD.gn
|
||||
@@ -23,9 +23,6 @@ component("proxy_config") {
|
||||
@@ -191,20 +146,24 @@ cgit v1.2.3
|
||||
"//device/vr/buildflags",
|
||||
]
|
||||
}
|
||||
--- src/components/search_engines/BUILD.gn.orig 2024-12-08 18:34:56.928006713 +0100
|
||||
+++ src/components/search_engines/BUILD.gn 2024-12-18 12:48:04.888029763 +0100
|
||||
@@ -16,45 +16,23 @@ static_library("search_engines") {
|
||||
"default_search_manager.cc",
|
||||
"default_search_manager.h",
|
||||
"eea_countries_ids.h",
|
||||
--- src/components/search_engines/BUILD.gn.orig 2025-04-11 12:05:19.397475381 +0200
|
||||
+++ src/components/search_engines/BUILD.gn 2025-04-11 20:05:37.960311107 +0200
|
||||
@@ -12,49 +12,21 @@ if (is_android) {
|
||||
static_library("search_engines") {
|
||||
sources = [
|
||||
"choice_made_location.h",
|
||||
- "default_search_manager.cc",
|
||||
- "default_search_manager.h",
|
||||
- "enterprise/default_search_policy_handler.cc",
|
||||
- "enterprise/default_search_policy_handler.h",
|
||||
"enterprise/enterprise_site_search_manager.cc",
|
||||
"enterprise/enterprise_site_search_manager.h",
|
||||
"enterprise/enterprise_search_manager.cc",
|
||||
"enterprise/enterprise_search_manager.h",
|
||||
- "keyword_table.cc",
|
||||
- "keyword_table.h",
|
||||
"keyword_web_data_service.cc",
|
||||
"keyword_web_data_service.h",
|
||||
- "reconciling_template_url_data_holder.cc",
|
||||
- "reconciling_template_url_data_holder.h",
|
||||
"search_engine_choice/search_engine_choice_metrics_service_accessor.h",
|
||||
- "search_engine_choice/search_engine_choice_service.cc",
|
||||
- "search_engine_choice/search_engine_choice_service.h",
|
||||
@@ -219,8 +178,8 @@ cgit v1.2.3
|
||||
- "template_url.h",
|
||||
"template_url_data.cc",
|
||||
"template_url_data.h",
|
||||
"template_url_data_util.cc",
|
||||
"template_url_data_util.h",
|
||||
- "template_url_data_util.cc",
|
||||
- "template_url_data_util.h",
|
||||
- "template_url_fetcher.cc",
|
||||
- "template_url_fetcher.h",
|
||||
"template_url_id.h",
|
||||
@@ -239,15 +198,15 @@ cgit v1.2.3
|
||||
]
|
||||
|
||||
public_deps = [
|
||||
@@ -69,7 +47,6 @@ static_library("search_engines") {
|
||||
@@ -68,7 +46,6 @@ static_library("search_engines") {
|
||||
"//components/sync",
|
||||
"//components/webdata/common",
|
||||
"//third_party/metrics_proto",
|
||||
- "//third_party/omnibox_proto",
|
||||
"//third_party/search_engines_data:prepopulated_engines",
|
||||
]
|
||||
|
||||
deps = [
|
||||
@@ -77,15 +54,9 @@ static_library("search_engines") {
|
||||
@@ -77,16 +47,10 @@ static_library("search_engines") {
|
||||
"//components/country_codes",
|
||||
"//components/crash/core/common:crash_key",
|
||||
"//components/database_utils",
|
||||
@@ -259,11 +218,12 @@ cgit v1.2.3
|
||||
- "//components/policy:generated",
|
||||
- "//components/policy/core/browser",
|
||||
"//components/pref_registry",
|
||||
"//components/regional_capabilities",
|
||||
- "//components/search_provider_logos:switches",
|
||||
"//components/signin/public/base",
|
||||
"//components/strings",
|
||||
"//components/url_formatter",
|
||||
@@ -97,7 +68,6 @@ static_library("search_engines") {
|
||||
@@ -98,7 +62,6 @@ static_library("search_engines") {
|
||||
"//services/network/public/mojom",
|
||||
"//sql",
|
||||
"//third_party/metrics_proto",
|
||||
@@ -271,7 +231,7 @@ cgit v1.2.3
|
||||
"//ui/base",
|
||||
"//ui/gfx",
|
||||
"//ui/gfx/geometry",
|
||||
@@ -123,7 +93,7 @@ static_library("search_engines") {
|
||||
@@ -124,7 +87,7 @@ static_library("search_engines") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -280,15 +240,15 @@ cgit v1.2.3
|
||||
sources += [ "search_engine_choice/generated_marketing_snippets.cc" ]
|
||||
deps += [
|
||||
":generate_search_engine_icons",
|
||||
@@ -132,7 +102,7 @@ static_library("search_engines") {
|
||||
@@ -133,7 +96,7 @@ static_library("search_engines") {
|
||||
]
|
||||
}
|
||||
|
||||
- if (is_linux || is_win || is_mac || is_chromeos) {
|
||||
+ if (false) {
|
||||
sources += [
|
||||
"enterprise/site_search_policy_handler.cc",
|
||||
"enterprise/site_search_policy_handler.h",
|
||||
"enterprise/search_aggregator_policy_handler.cc",
|
||||
"enterprise/search_aggregator_policy_handler.h",
|
||||
--- src/components/search/BUILD.gn.old
|
||||
+++ src/components/search/BUILD.gn
|
||||
@@ -6,10 +6,6 @@ static_library("search") {
|
||||
@@ -302,9 +262,9 @@ cgit v1.2.3
|
||||
]
|
||||
|
||||
deps = [
|
||||
--- src/extensions/common/BUILD.gn.orig
|
||||
+++ src/extensions/common/BUILD.gn
|
||||
@@ -301,8 +301,6 @@ static_library("common") {
|
||||
--- src/extensions/common/BUILD.gn.orig 2025-04-11 12:05:20.590871749 +0200
|
||||
+++ src/extensions/common/BUILD.gn 2025-04-11 20:05:59.704305366 +0200
|
||||
@@ -313,8 +313,6 @@ static_library("common") {
|
||||
"extension_set.cc",
|
||||
"extension_set.h",
|
||||
"extension_updater_uma.h",
|
||||
@@ -313,10 +273,10 @@ cgit v1.2.3
|
||||
"extension_utility_types.h",
|
||||
"extensions_client.cc",
|
||||
"extensions_client.h",
|
||||
@@ -498,8 +496,6 @@ static_library("common") {
|
||||
"//components/crash/core/common",
|
||||
@@ -524,8 +522,6 @@ static_library("common") {
|
||||
"//components/crx_file",
|
||||
"//components/nacl/common:buildflags",
|
||||
"//components/pdf/common:util",
|
||||
- "//components/safe_browsing/core/common",
|
||||
- "//components/safe_browsing/core/common/hashprefix_realtime:hash_realtime_utils",
|
||||
"//components/url_formatter",
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
Remove this dead code which brings a dependency on rustc
|
||||
|
||||
--- src/components/BUILD.gn.orig 2024-03-27 16:30:09.189645288 +0100
|
||||
+++ src/components/BUILD.gn 2024-03-28 23:11:14.847582213 +0100
|
||||
@@ -282,7 +282,6 @@ test("components_unittests") {
|
||||
--- src/components/BUILD.gn.orig 2025-04-11 12:05:18.743943100 +0200
|
||||
+++ src/components/BUILD.gn 2025-04-11 19:52:11.508526413 +0200
|
||||
@@ -297,7 +297,6 @@ test("components_unittests") {
|
||||
"//components/profile_metrics:unit_tests",
|
||||
"//components/proxy_config:unit_tests",
|
||||
"//components/push_notification:unit_tests",
|
||||
- "//components/qr_code_generator:unit_tests",
|
||||
"//components/query_parser:unit_tests",
|
||||
"//components/reading_list/core:unit_tests",
|
||||
"//components/reporting/client:unit_tests",
|
||||
--- src/chrome/browser/BUILD.gn.orig 2024-12-08 18:44:32.671357320 +0100
|
||||
+++ src/chrome/browser/BUILD.gn 2024-12-18 12:38:43.758015814 +0100
|
||||
@@ -1798,7 +1798,6 @@ static_library("browser") {
|
||||
"//components/regional_capabilities:unit_tests",
|
||||
--- src/chrome/browser/BUILD.gn.orig 2025-04-11 12:13:12.927314100 +0200
|
||||
+++ src/chrome/browser/BUILD.gn 2025-04-11 19:52:48.976512203 +0200
|
||||
@@ -1777,7 +1777,6 @@ static_library("browser") {
|
||||
"//chrome/browser/profiling_host",
|
||||
|
||||
# TODO(crbug.com/40228447): break this dep when favicon is in its own target
|
||||
- "//chrome/browser/share",
|
||||
"//chrome/browser/ui",
|
||||
|
||||
# TODO(358041220): There is a circular_dependency of `cookie_controls:impl` module
|
||||
@@ -1950,7 +1949,6 @@ static_library("browser") {
|
||||
# with "//chrome/browser" due to the inclusion of //c/b/policy/profile_policy_connector.h
|
||||
@@ -1935,7 +1934,6 @@ static_library("browser") {
|
||||
"//chrome/browser/search_engine_choice",
|
||||
"//chrome/browser/search_engine_choice:impl",
|
||||
"//chrome/browser/search_engines",
|
||||
@@ -28,7 +28,7 @@ Remove this dead code which brings a dependency on rustc
|
||||
"//chrome/browser/sharing:buildflags",
|
||||
"//chrome/browser/signin",
|
||||
"//chrome/browser/signin:identity_manager_provider",
|
||||
@@ -8566,7 +8564,6 @@ static_library("browser_generated_files"
|
||||
@@ -8426,7 +8424,6 @@ static_library("browser_generated_files"
|
||||
"//chrome/browser/new_tab_page/modules/v2/calendar:mojo_bindings",
|
||||
"//chrome/browser/new_tab_page/modules/v2/most_relevant_tab_resumption:mojo_bindings",
|
||||
"//chrome/browser/profile_resetter:profile_reset_report_proto",
|
||||
@@ -36,7 +36,7 @@ Remove this dead code which brings a dependency on rustc
|
||||
"//chrome/browser/support_tool:support_tool_proto",
|
||||
"//chrome/browser/sync_file_system/drive_backend:sync_file_system_drive_proto",
|
||||
"//chrome/browser/ui:webui_name_variants",
|
||||
@@ -9024,7 +9021,6 @@ static_library("test_support") {
|
||||
@@ -8877,7 +8874,6 @@ static_library("test_support") {
|
||||
"//chrome/browser/policy/messaging_layer/proto:crd_event_proto",
|
||||
"//chrome/browser/search_engine_choice",
|
||||
"//chrome/browser/search_engines",
|
||||
@@ -62,17 +62,17 @@ Remove this dead code which brings a dependency on rustc
|
||||
"//components/query_parser",
|
||||
"//components/reading_list/core",
|
||||
"//components/reading_list/features:flags",
|
||||
--- src/chrome/test/BUILD.gn.orig 2024-12-08 18:44:32.671357320 +0100
|
||||
+++ src/chrome/test/BUILD.gn 2024-12-18 12:39:55.361350918 +0100
|
||||
@@ -2013,7 +2013,6 @@ if (!is_android) {
|
||||
--- 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
|
||||
@@ -2163,7 +2163,6 @@ if (!is_android) {
|
||||
"//chrome/browser/web_applications:prevent_close_test_support",
|
||||
"//chrome/browser/web_applications:web_applications_test_support",
|
||||
"//chrome/browser/webaudio:browser_tests",
|
||||
- "//chrome/browser/webauthn:test_support",
|
||||
"//chrome/common:version_header",
|
||||
"//chrome/common/companion/visual_query:flags",
|
||||
"//chrome/common/privacy_budget:test_support",
|
||||
@@ -2186,7 +2185,6 @@ if (!is_android) {
|
||||
"//chrome/renderer",
|
||||
@@ -2337,7 +2336,6 @@ if (!is_android) {
|
||||
"//components/privacy_sandbox/privacy_sandbox_attestations:test_support",
|
||||
"//components/privacy_sandbox/privacy_sandbox_attestations/proto:proto",
|
||||
"//components/proxy_config",
|
||||
@@ -80,7 +80,7 @@ Remove this dead code which brings a dependency on rustc
|
||||
"//components/reading_list/core",
|
||||
"//components/reading_list/features:flags",
|
||||
"//components/resources",
|
||||
@@ -6855,7 +6853,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/proto:proto",
|
||||
"//components/proxy_config",
|
||||
@@ -88,7 +88,7 @@ Remove this dead code which brings a dependency on rustc
|
||||
"//components/query_parser",
|
||||
"//components/reading_list/core",
|
||||
"//components/reading_list/core:test_support",
|
||||
@@ -7029,7 +7026,6 @@ test("unit_tests") {
|
||||
@@ -6829,7 +6826,6 @@ test("unit_tests") {
|
||||
"//third_party/metrics_proto",
|
||||
"//third_party/microsoft_webauthn",
|
||||
"//third_party/re2",
|
||||
@@ -96,12 +96,12 @@ Remove this dead code which brings a dependency on rustc
|
||||
"//third_party/webrtc_overrides:webrtc_component",
|
||||
"//third_party/widevine/cdm:headers",
|
||||
"//third_party/zlib/google:compression_utils",
|
||||
@@ -8314,8 +8310,6 @@ test("unit_tests") {
|
||||
"//chrome/browser/ui/zoom",
|
||||
"//chrome/browser/ui/zoom:unit_tests",
|
||||
@@ -8115,8 +8111,6 @@ test("unit_tests") {
|
||||
"//chrome/browser/upgrade_detector:build_state_observer",
|
||||
"//chrome/browser/user_annotations",
|
||||
"//chrome/browser/web_applications:web_applications_test_support",
|
||||
- "//chrome/browser/webauthn:test_support",
|
||||
- "//chrome/browser/webauthn/proto",
|
||||
"//chrome/common/accessibility:mojo_bindings",
|
||||
"//chrome/common/read_anything:mojo_bindings",
|
||||
"//chrome/services/speech:unit_tests",
|
||||
"//components/app_constants",
|
||||
|
||||
@@ -6,20 +6,20 @@ Inspired by:
|
||||
* https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit?h=122-based&id=8a9d741f4c4cf8170d5c50a336d51fe5d1b16ce8
|
||||
* https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit?h=122-based&id=6a11e9169f5889883bf63a3522d0c3f8f23552b0
|
||||
|
||||
--- src/components/search_engines/BUILD.gn.orig
|
||||
+++ src/components/search_engines/BUILD.gn
|
||||
@@ -66,7 +66,6 @@ static_library("search_engines") {
|
||||
--- src/components/search_engines/BUILD.gn.orig 2025-04-11 12:05:19.397475381 +0200
|
||||
+++ src/components/search_engines/BUILD.gn 2025-04-11 20:18:41.424101555 +0200
|
||||
@@ -65,7 +65,6 @@ static_library("search_engines") {
|
||||
"//components/google/core/common",
|
||||
"//components/keyed_service/core",
|
||||
"//components/prefs",
|
||||
- "//components/sync",
|
||||
"//components/webdata/common",
|
||||
"//third_party/metrics_proto",
|
||||
]
|
||||
--- src/electron/BUILD.gn.orig
|
||||
+++ src/electron/BUILD.gn
|
||||
@@ -1204,6 +1204,8 @@ if (is_mac) {
|
||||
"//electron/buildflags",
|
||||
"//third_party/search_engines_data:prepopulated_engines",
|
||||
--- src/electron/BUILD.gn.orig 2025-04-11 12:02:41.207130337 +0200
|
||||
+++ src/electron/BUILD.gn 2025-04-11 20:18:41.424101555 +0200
|
||||
@@ -1210,6 +1210,8 @@ if (is_mac) {
|
||||
"//third_party/electron_node:libnode",
|
||||
"//ui/strings",
|
||||
]
|
||||
+
|
||||
@@ -178,12 +178,15 @@ Inspired by:
|
||||
|
||||
// True if the dictionary has been loaded. Otherwise false.
|
||||
bool is_loaded_;
|
||||
--- src/device/fido/BUILD.gn.orig 2024-12-08 18:34:58.231340083 +0100
|
||||
+++ src/device/fido/BUILD.gn 2024-12-18 12:59:49.294713941 +0100
|
||||
@@ -163,36 +163,6 @@ component("fido") {
|
||||
--- src/device/fido/BUILD.gn.orig 2025-04-11 12:05:20.416153184 +0200
|
||||
+++ src/device/fido/BUILD.gn 2025-04-11 20:19:44.976088243 +0200
|
||||
@@ -159,25 +159,6 @@ component("fido") {
|
||||
"device_operation.h",
|
||||
"device_response_converter.cc",
|
||||
"device_response_converter.h",
|
||||
- "enclave/attestation.cc",
|
||||
- "enclave/attestation.h",
|
||||
- "enclave/attestation_report.h",
|
||||
- "enclave/constants.cc",
|
||||
- "enclave/constants.h",
|
||||
- "enclave/enclave_authenticator.cc",
|
||||
@@ -200,42 +203,28 @@ Inspired by:
|
||||
- "enclave/transact.h",
|
||||
- "enclave/types.cc",
|
||||
- "enclave/types.h",
|
||||
- "enclave/verify/amd.cc",
|
||||
- "enclave/verify/amd.h",
|
||||
- "enclave/verify/attestation_report.cc",
|
||||
- "enclave/verify/attestation_report.h",
|
||||
- "enclave/verify/claim.cc",
|
||||
- "enclave/verify/claim.h",
|
||||
- "enclave/verify/endorsement.cc",
|
||||
- "enclave/verify/endorsement.h",
|
||||
- "enclave/verify/rekor.cc",
|
||||
- "enclave/verify/rekor.h",
|
||||
- "enclave/verify/utils.cc",
|
||||
- "enclave/verify/utils.h",
|
||||
- "enclave/verify/verifier.cc",
|
||||
- "enclave/verify/verifier.h",
|
||||
"fido_authenticator.cc",
|
||||
"fido_authenticator.h",
|
||||
"fido_device.cc",
|
||||
@@ -257,7 +227,6 @@ component("fido") {
|
||||
@@ -242,7 +223,6 @@ component("fido") {
|
||||
]
|
||||
|
||||
deps += [
|
||||
- "//components/sync/protocol:protocol",
|
||||
"//device/fido/enclave/verify/proto:proto",
|
||||
"//device/fido/enclave/proto:proto",
|
||||
"//services/device/public/cpp/hid",
|
||||
"//services/device/public/cpp/usb",
|
||||
--- src/device/fido/fido_discovery_factory.cc.orig 2024-12-08 18:34:58.241340085 +0100
|
||||
+++ src/device/fido/fido_discovery_factory.cc 2024-12-18 13:01:00.958049095 +0100
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "device/fido/aoa/android_accessory_discovery.h"
|
||||
--- src/device/fido/fido_discovery_factory.cc.orig 2025-04-11 12:05:20.421153186 +0200
|
||||
+++ src/device/fido/fido_discovery_factory.cc 2025-04-11 20:18:43.280101088 +0200
|
||||
@@ -12,7 +12,6 @@
|
||||
#include "device/bluetooth/bluetooth_adapter_factory.h"
|
||||
#include "device/fido/cable/fido_cable_discovery.h"
|
||||
#include "device/fido/cable/v2_discovery.h"
|
||||
-#include "device/fido/enclave/enclave_discovery.h"
|
||||
#include "device/fido/features.h"
|
||||
#include "device/fido/fido_discovery_base.h"
|
||||
#include "device/fido/hid/fido_hid_discovery.h"
|
||||
@@ -124,12 +123,7 @@ std::vector<std::unique_ptr<FidoDiscover
|
||||
@@ -128,12 +127,7 @@ std::vector<std::unique_ptr<FidoDiscover
|
||||
|
||||
std::optional<std::unique_ptr<FidoDiscoveryBase>>
|
||||
FidoDiscoveryFactory::MaybeCreateEnclaveDiscovery() {
|
||||
@@ -268,3 +257,15 @@ Inspired by:
|
||||
"//components/variations",
|
||||
"//components/variations/field_trial_config",
|
||||
"//components/variations/proto",
|
||||
--- src/content/public/browser/BUILD.gn.orig 2025-04-11 12:05:20.173348334 +0200
|
||||
+++ src/content/public/browser/BUILD.gn 2025-04-12 14:17:07.499743022 +0200
|
||||
@@ -584,9 +584,7 @@ source_set("browser_sources") {
|
||||
deps = [
|
||||
"//cc",
|
||||
"//components/input",
|
||||
- "//components/language_detection/content/browser",
|
||||
"//components/language_detection/content/common",
|
||||
- "//components/language_detection/core/browser:language_detection_model_service",
|
||||
"//components/services/storage/public/cpp",
|
||||
"//components/variations:variations",
|
||||
"//components/viz/host",
|
||||
|
||||
11
resource-Wchanges-meaning.patch
Normal file
11
resource-Wchanges-meaning.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- 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_; }
|
||||
11
resource_response-Wchanges-meaning.patch
Normal file
11
resource_response-Wchanges-meaning.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- 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);
|
||||
23
string-hasher-flax-vector-conversions.patch
Normal file
23
string-hasher-flax-vector-conversions.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
--- 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) |
|
||||
20
string_truncator-convert.patch
Normal file
20
string_truncator-convert.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- 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);
|
||||
@@ -41,10 +41,10 @@ In file included from ../../third_party/blink/renderer/platform/wtf/text/atomic_
|
||||
31 | class CodePointIterator;
|
||||
| ^~~~~~~~~~~~~~~~~
|
||||
|
||||
--- src/third_party/blink/renderer/platform/wtf/text/string_view.h.orig 2025-01-22 21:21:43.120141300 +0100
|
||||
+++ src/third_party/blink/renderer/platform/wtf/text/string_view.h 2025-01-22 23:39:31.542552700 +0100
|
||||
--- src/third_party/blink/renderer/platform/wtf/text/string_view.h.orig 2025-04-20 19:22:39.910671377 +0200
|
||||
+++ src/third_party/blink/renderer/platform/wtf/text/string_view.h 2025-04-20 21:05:46.878482748 +0200
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "third_party/abseil-cpp/absl/base/attributes.h"
|
||||
#include "base/numerics/safe_conversions.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/get_ptr.h"
|
||||
+#include "third_party/blink/renderer/platform/wtf/text/code_point_iterator.h"
|
||||
@@ -58,4 +58,4 @@ In file included from ../../third_party/blink/renderer/platform/wtf/text/atomic_
|
||||
-class CodePointIterator;
|
||||
class String;
|
||||
|
||||
enum UTF8ConversionMode {
|
||||
enum class Utf8ConversionMode : uint8_t {
|
||||
|
||||
11
style_scope-unqualified-To.patch
Normal file
11
style_scope-unqualified-To.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- 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;
|
||||
}
|
||||
@@ -1,30 +1,19 @@
|
||||
--- src/third_party/electron_node/BUILD.gn.orig 2024-11-12 22:51:23.369659000 +0100
|
||||
+++ src/third_party/electron_node/BUILD.gn 2024-11-12 23:46:45.817651900 +0100
|
||||
@@ -40,6 +40,7 @@ declare_args() {
|
||||
node_release_urlbase = ""
|
||||
|
||||
# Allows downstream packagers (eg. Linux distributions) to build Electron against system shared libraries.
|
||||
+ use_system_ada = false
|
||||
use_system_cares = false
|
||||
use_system_nghttp2 = false
|
||||
use_system_llhttp = false
|
||||
@@ -260,7 +261,6 @@ component("node_lib") {
|
||||
deps = [
|
||||
":node_js2c_exec",
|
||||
"deps/googletest:gtest",
|
||||
- "deps/ada",
|
||||
"deps/base64",
|
||||
"deps/simdutf",
|
||||
"deps/uvwasi",
|
||||
@@ -291,6 +291,11 @@ component("node_lib") {
|
||||
"deps/postject"
|
||||
]
|
||||
libs = []
|
||||
+ if (use_system_ada) {
|
||||
+ libs += [ "ada" ]
|
||||
+ } else {
|
||||
+ deps += [ "deps/ada" ]
|
||||
+ }
|
||||
if (use_system_llhttp) {
|
||||
libs += [ "llhttp" ]
|
||||
} else {
|
||||
--- src/third_party/electron_node/unofficial.gni.orig 2025-04-11 21:14:18.899221050 +0200
|
||||
+++ src/third_party/electron_node/unofficial.gni 2025-04-11 21:14:28.715218444 +0200
|
||||
@@ -143,7 +143,6 @@ template("node_gn_build") {
|
||||
"deps/googletest:googletest_config",
|
||||
]
|
||||
public_deps = [
|
||||
- "deps/ada",
|
||||
"deps/uv",
|
||||
"//electron:electron_js2c",
|
||||
"deps/simdjson",
|
||||
@@ -183,6 +182,8 @@ template("node_gn_build") {
|
||||
configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
|
||||
configs += [ "//build/config/gcc:symbol_visibility_default" ]
|
||||
}
|
||||
+ libs = [ "ada" ]
|
||||
+ include_dirs = []
|
||||
if (use_system_llhttp) {
|
||||
libs += [ "llhttp" ]
|
||||
} else {
|
||||
|
||||
@@ -10,72 +10,42 @@ We don't need this huge test-only dependency in the tarball. Only one header is
|
||||
+#include <gtest/gtest_prod.h>
|
||||
|
||||
#endif // TESTING_GTEST_INCLUDE_GTEST_GTEST_PROD_H_
|
||||
--- a/third_party/electron_node/deps/googletest/BUILD.gn 2022-07-22 14:56:38.984761919 +0200
|
||||
+++ b/third_party/electron_node/deps/googletest/BUILD.gn 2022-07-29 19:21:57.655767809 +0200
|
||||
@@ -1,61 +1,11 @@
|
||||
-config("gtest_config") {
|
||||
- include_dirs = [ "include" ]
|
||||
- defines = [ "UNIT_TEST" ]
|
||||
-}
|
||||
--- src/third_party/electron_node/deps/googletest/unofficial.gni.orig 2025-04-11 12:06:33.194184022 +0200
|
||||
+++ src/third_party/electron_node/deps/googletest/unofficial.gni 2025-04-11 20:55:32.455520889 +0200
|
||||
@@ -1,3 +1,5 @@
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
+
|
||||
# This file is used by GN for building, which is NOT the build system used for
|
||||
# building official binaries.
|
||||
# Please edit the gyp files if you are making changes to build system.
|
||||
@@ -5,27 +7,14 @@
|
||||
# The actual configurations are put inside a template in unofficial.gni to
|
||||
# prevent accidental edits from contributors.
|
||||
template("googletest_gn_build") {
|
||||
- config("googletest_config") {
|
||||
- include_dirs = [ "include" ]
|
||||
+ pkg_config("googletest_config") {
|
||||
+ packages = [ "gtest" ]
|
||||
}
|
||||
|
||||
-static_library("gtest") {
|
||||
- include_dirs = [
|
||||
- "include",
|
||||
- "." # src
|
||||
- ]
|
||||
+pkg_config("gtest_config") {
|
||||
+ packages = [ "gtest" ]
|
||||
+}
|
||||
- gypi_values = exec_script("../../tools/gypi_to_gn.py",
|
||||
- [ rebase_path("googletest.gyp") ],
|
||||
- "scope",
|
||||
- [ "googletest.gyp" ])
|
||||
|
||||
+source_set("gtest") {
|
||||
public_configs = [ ":gtest_config" ]
|
||||
-
|
||||
- cflags_cc = [
|
||||
- "-Wno-c++98-compat-extra-semi",
|
||||
- "-Wno-unused-const-variable",
|
||||
- "-Wno-unreachable-code-return",
|
||||
- ]
|
||||
-
|
||||
- defines = [
|
||||
- "GTEST_HAS_POSIX_RE=0",
|
||||
- "GTEST_LANG_CXX11=1",
|
||||
- ]
|
||||
-
|
||||
- sources = [
|
||||
- "include/gtest/gtest_pred_impl.h",
|
||||
- "include/gtest/gtest_prod.h",
|
||||
- "include/gtest/gtest-death-test.h",
|
||||
- "include/gtest/gtest-matchers.h",
|
||||
- "include/gtest/gtest-message.h",
|
||||
- "include/gtest/gtest-param-test.h",
|
||||
- "include/gtest/gtest-printers.h",
|
||||
- "include/gtest/gtest-spi.h",
|
||||
- "include/gtest/gtest-test-part.h",
|
||||
- "include/gtest/gtest-typed-test.h",
|
||||
- "include/gtest/gtest.h",
|
||||
- "include/gtest/internal/gtest-death-test-internal.h",
|
||||
- "include/gtest/internal/gtest-filepath.h",
|
||||
- "include/gtest/internal/gtest-internal.h",
|
||||
- "include/gtest/internal/gtest-param-util.h",
|
||||
- "include/gtest/internal/gtest-port-arch.h",
|
||||
- "include/gtest/internal/gtest-port.h",
|
||||
- "include/gtest/internal/gtest-string.h",
|
||||
- "include/gtest/internal/gtest-type-util.h",
|
||||
- "include/gtest/internal/custom/gtest-port.h",
|
||||
- "include/gtest/internal/custom/gtest-printers.h",
|
||||
- "include/gtest/internal/custom/gtest.h",
|
||||
- "src/gtest-all.cc",
|
||||
- "src/gtest-death-test.cc",
|
||||
- "src/gtest-filepath.cc",
|
||||
- "src/gtest-internal-inl.h",
|
||||
- "src/gtest-matchers.cc",
|
||||
- "src/gtest-port.cc",
|
||||
- "src/gtest-printers.cc",
|
||||
- "src/gtest-test-part.cc",
|
||||
- "src/gtest-typed-test.cc",
|
||||
- "src/gtest.cc",
|
||||
- ]
|
||||
}
|
||||
source_set(target_name) {
|
||||
forward_variables_from(invoker, "*")
|
||||
- testonly = true
|
||||
- include_dirs = [
|
||||
- "include",
|
||||
- ".",
|
||||
- ]
|
||||
- defines = [
|
||||
- "GTEST_HAS_POSIX_RE=0",
|
||||
- "GTEST_LANG_CXX11=1",
|
||||
- ]
|
||||
- sources = gypi_values.googletest_sources
|
||||
+ public_configs = [ ":googletest_config" ]
|
||||
}
|
||||
|
||||
static_library("gtest_main") {
|
||||
source_set("gtest_main") {
|
||||
|
||||
@@ -29,11 +29,11 @@ Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/crtc_controller.h
|
||||
#include "ui/ozone/platform/drm/common/scoped_drm_types.h"
|
||||
Index: chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
|
||||
===================================================================
|
||||
--- chromium-98.0.4758.80.orig/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
|
||||
+++ chromium-98.0.4758.80/ui/ozone/platform/drm/gpu/hardware_display_controller.cc
|
||||
@@ -20,7 +20,7 @@
|
||||
--- src/ui/ozone/platform/drm/gpu/hardware_display_controller.cc.orig 2025-04-11 12:05:30.840157601 +0200
|
||||
+++ src/ui/ozone/platform/drm/gpu/hardware_display_controller.cc 2025-04-11 20:45:59.075673214 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "base/logging.h"
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "base/ranges/algorithm.h"
|
||||
#include "base/trace_event/typed_macros.h"
|
||||
-#include "third_party/libdrm/src/include/drm/drm_fourcc.h"
|
||||
+#include <drm_fourcc.h>
|
||||
|
||||
@@ -116,9 +116,9 @@ Unbundle assorted lexing/parsing/transpiling tools written in Python.
|
||||
../../build/scripts/blinkbuild/__init__.py
|
||||
../../build/scripts/blinkbuild/name_style_converter.py
|
||||
validate_web_idl.py
|
||||
--- a/mojo/public/tools/bindings/mojom.gni
|
||||
+++ b/mojo/public/tools/bindings/mojom.gni
|
||||
@@ -699,7 +699,7 @@
|
||||
--- 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
|
||||
@@ -802,7 +802,7 @@ template("mojom") {
|
||||
remote_worker = "large"
|
||||
custom_processor = "mojom_parser"
|
||||
script = mojom_parser_script
|
||||
@@ -126,7 +126,7 @@ Unbundle assorted lexing/parsing/transpiling tools written in Python.
|
||||
+ inputs = mojom_parser_sources + [ build_metadata_filename ]
|
||||
sources = sources_list
|
||||
public_deps = parser_deps
|
||||
outputs = []
|
||||
outputs = action_outputs
|
||||
--- src/third_party/blink/renderer/build/scripts/scripts.gni.orig 2024-12-08 18:35:01.138006834 +0100
|
||||
+++ src/third_party/blink/renderer/build/scripts/scripts.gni 2024-12-18 13:24:36.436191575 +0100
|
||||
@@ -18,10 +18,6 @@ if (is_ios) {
|
||||
@@ -164,3 +164,14 @@ Unbundle assorted lexing/parsing/transpiling tools written in Python.
|
||||
"//third_party/jinja2/__init__.py",
|
||||
"//third_party/jinja2/_identifier.py",
|
||||
"//third_party/jinja2/async_utils.py",
|
||||
--- src/third_party/blink/renderer/core/sanitizer/builtins_all_known.py.orig 2025-04-16 14:36:32.677312629 +0200
|
||||
+++ src/third_party/blink/renderer/core/sanitizer/builtins_all_known.py 2025-04-16 21:52:51.840741724 +0200
|
||||
@@ -13,7 +13,7 @@ namespace that Blink's C++ implementatio
|
||||
import json
|
||||
import optparse
|
||||
import sys
|
||||
-from pyjson5.src import json5
|
||||
+import json5
|
||||
|
||||
|
||||
def error(context, *infos):
|
||||
|
||||
@@ -1,35 +1,56 @@
|
||||
--- src/third_party/electron_node/deps/simdutf/BUILD.gn.old 2023-10-13 11:35:11.896370000 +0200
|
||||
+++ src/third_party/electron_node/deps/simdutf/BUILD.gn 2023-10-17 19:29:35.882793400 +0200
|
||||
@@ -1,15 +1,26 @@
|
||||
+declare_args() {
|
||||
+ use_system_simdutf = false
|
||||
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" ]
|
||||
+}
|
||||
+
|
||||
config("simdutf_config") {
|
||||
+ if(use_system_simdutf) {
|
||||
+ libs = ["simdutf"]
|
||||
+ } else {
|
||||
include_dirs = [ "." ]
|
||||
+ }
|
||||
}
|
||||
|
||||
static_library("simdutf") {
|
||||
+ if(!use_system_simdutf) {
|
||||
include_dirs = [ "." ]
|
||||
sources = [
|
||||
"simdutf.cpp",
|
||||
]
|
||||
+ }
|
||||
|
||||
public_configs = [ ":simdutf_config" ]
|
||||
|
||||
+ if(!use_system_simdutf) {
|
||||
cflags_cc = [
|
||||
"-Wno-ambiguous-reversed-operator",
|
||||
"-Wno-c++98-compat-extra-semi",
|
||||
@@ -17,4 +28,5 @@ static_library("simdutf") {
|
||||
"-Wno-unused-const-variable",
|
||||
"-Wno-unused-function",
|
||||
]
|
||||
+ }
|
||||
}
|
||||
+pkg_config("system_simdutf") {
|
||||
+ packages = [ "simdutf" ]
|
||||
+}
|
||||
+
|
||||
+source_set("simdutf") {
|
||||
+ public_configs = [ ":system_simdutf" ]
|
||||
+ public_deps = [ ":header" ]
|
||||
+}
|
||||
|
||||
50
system-sqlite.patch
Normal file
50
system-sqlite.patch
Normal file
@@ -0,0 +1,50 @@
|
||||
Unbundle Node's sqlite copy. Note that this is NOT the sqlite used by Chromium, which is a fork.
|
||||
(Yes, there are two instances of sqlite in Electron)
|
||||
|
||||
--- src/third_party/electron_node/deps/sqlite/unofficial.gni 2025-04-16 14:39:35.699035282 +0200
|
||||
+++ /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/home/abuild/rpmbuild/BUILD/nodejs-electron-35.1.5-build/src/third_party/electron_node/deps/sqlite/unofficial.gni 2025-04-18 15:46:13.417442111 +0200
|
||||
@@ -1,3 +1,4 @@
|
||||
+import("//build/config/linux/pkg_config.gni")
|
||||
# This file is used by GN for building, which is NOT the build system used for
|
||||
# building official binaries.
|
||||
# Please edit the gyp files if you are making changes to build system.
|
||||
@@ -5,8 +6,8 @@
|
||||
# The actual configurations are put inside a template in unofficial.gni to
|
||||
# prevent accidental edits from contributors.
|
||||
template("sqlite_gn_build") {
|
||||
- config("sqlite_config") {
|
||||
- include_dirs = [ "." ]
|
||||
+ pkg_config("sqlite_config") {
|
||||
+ packages = ["sqlite3"]
|
||||
defines = [
|
||||
"SQLITE_ENABLE_MATH_FUNCTIONS",
|
||||
"SQLITE_ENABLE_SESSION",
|
||||
@@ -14,28 +15,9 @@ template("sqlite_gn_build") {
|
||||
]
|
||||
}
|
||||
|
||||
- gypi_values = exec_script("../../tools/gypi_to_gn.py",
|
||||
- [ rebase_path("sqlite.gyp") ],
|
||||
- "scope",
|
||||
- [ "sqlite.gyp" ])
|
||||
|
||||
source_set(target_name) {
|
||||
forward_variables_from(invoker, "*")
|
||||
public_configs = [ ":sqlite_config" ]
|
||||
- sources = gypi_values.sqlite_sources
|
||||
- cflags_c = [
|
||||
- "-Wno-implicit-fallthrough",
|
||||
- "-Wno-unreachable-code-return",
|
||||
- "-Wno-unreachable-code-break",
|
||||
- "-Wno-unreachable-code",
|
||||
- ]
|
||||
- if (is_win) {
|
||||
- cflags_c += [
|
||||
- "-Wno-sign-compare",
|
||||
- "-Wno-unused-but-set-variable",
|
||||
- "-Wno-unused-function",
|
||||
- "-Wno-unused-variable",
|
||||
- ]
|
||||
- }
|
||||
}
|
||||
}
|
||||
11
to_vector-std-projected-gcc119888.patch
Normal file
11
to_vector-std-projected-gcc119888.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- 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),
|
||||
32
unexportable_key_service_impl-Wlto-type-mismatch.patch
Normal file
32
unexportable_key_service_impl-Wlto-type-mismatch.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
--- 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;
|
||||
|
||||
138
use-system-libraries-in-node.patch
Normal file
138
use-system-libraries-in-node.patch
Normal file
@@ -0,0 +1,138 @@
|
||||
--- src/third_party/electron_node/node.gni.orig 2025-04-20 10:49:28.656330018 +0200
|
||||
+++ src/third_party/electron_node/node.gni 2025-04-20 19:08:01.482693254 +0200
|
||||
@@ -73,10 +73,12 @@ declare_args() {
|
||||
node_use_amaro = true
|
||||
|
||||
# Allows downstream packagers (eg. Linux distributions) to build against system shared libraries.
|
||||
+ use_system_ada = false
|
||||
use_system_cares = false
|
||||
use_system_nghttp2 = false
|
||||
use_system_llhttp = false
|
||||
use_system_histogram = false
|
||||
+ use_system_simdjson = false
|
||||
}
|
||||
|
||||
assert(!node_enable_inspector || node_use_openssl,
|
||||
--- src/third_party/electron_node/unofficial.gni.orig 2025-04-20 10:49:28.656330018 +0200
|
||||
+++ src/third_party/electron_node/unofficial.gni 2025-04-20 19:16:09.442680896 +0200
|
||||
@@ -9,6 +9,35 @@ import("$node_v8_path/gni/v8.gni")
|
||||
# The actual configurations are put inside a template in unofficial.gni to
|
||||
# prevent accidental edits from contributors.
|
||||
template("node_gn_build") {
|
||||
+ if (is_linux) {
|
||||
+ import("//build/config/linux/pkg_config.gni")
|
||||
+ if (use_system_cares) {
|
||||
+ pkg_config("system_cares") {
|
||||
+ packages = [ "libcares" ]
|
||||
+ }
|
||||
+ }
|
||||
+ if (use_system_histogram) {
|
||||
+ pkg_config("system_histogram") {
|
||||
+ packages = [ "hdr_histogram" ]
|
||||
+ }
|
||||
+ }
|
||||
+ if (use_system_llhttp) {
|
||||
+ pkg_config("system_llhttp") {
|
||||
+ packages = [ "libllhttp" ]
|
||||
+ }
|
||||
+ }
|
||||
+ if (use_system_nghttp2) {
|
||||
+ pkg_config("system_nghttp2") {
|
||||
+ packages = [ "libnghttp2" ]
|
||||
+ }
|
||||
+ }
|
||||
+ if (use_system_simdjson) {
|
||||
+ pkg_config("system_simdjson") {
|
||||
+ packages = [ "simdjson" ]
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
config("node_features") {
|
||||
defines = []
|
||||
if (is_component_build) {
|
||||
@@ -138,23 +167,19 @@ template("node_gn_build") {
|
||||
|
||||
source_set("libnode") {
|
||||
configs += [ ":node_internal_config" ]
|
||||
+ libs = []
|
||||
public_configs = [
|
||||
":node_external_config",
|
||||
"deps/googletest:googletest_config",
|
||||
]
|
||||
public_deps = [
|
||||
- "deps/ada",
|
||||
"deps/uv",
|
||||
"//electron:electron_js2c",
|
||||
- "deps/simdjson",
|
||||
"$node_v8_path",
|
||||
]
|
||||
deps = [
|
||||
":run_node_js2c",
|
||||
- "deps/cares",
|
||||
- "deps/histogram",
|
||||
"deps/nbytes",
|
||||
- "deps/nghttp2",
|
||||
"deps/postject",
|
||||
"deps/sqlite",
|
||||
"deps/uvwasi",
|
||||
@@ -183,17 +208,36 @@ template("node_gn_build") {
|
||||
configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
|
||||
configs += [ "//build/config/gcc:symbol_visibility_default" ]
|
||||
}
|
||||
+ if (use_system_ada) {
|
||||
+ libs += ["ada"]
|
||||
+ } else {
|
||||
+ public_deps += [ "deps/ada" ]
|
||||
+ }
|
||||
+ if (use_system_cares) {
|
||||
+ configs += [ ":system_cares" ]
|
||||
+ } else {
|
||||
+ deps += [ "deps/cares" ]
|
||||
+ }
|
||||
if (use_system_llhttp) {
|
||||
- libs += [ "llhttp" ]
|
||||
+ configs += [ ":system_llhttp" ]
|
||||
} else {
|
||||
deps += [ "deps/llhttp" ]
|
||||
}
|
||||
if (use_system_histogram) {
|
||||
- libs += [ "hdr_histogram" ]
|
||||
- include_dirs += [ "/usr/include/hdr" ]
|
||||
+ configs += [":system_histogram"]
|
||||
} else {
|
||||
deps += [ "deps/histogram" ]
|
||||
}
|
||||
+ if (use_system_nghttp2) {
|
||||
+ configs += [":system_nghttp2"]
|
||||
+ } else {
|
||||
+ deps += [ "deps/nghttp2" ]
|
||||
+ }
|
||||
+ if (use_system_simdjson) {
|
||||
+ public_configs += [":system_simdjson"]
|
||||
+ } else {
|
||||
+ public_deps += [ "deps/simdjson" ]
|
||||
+ }
|
||||
if (v8_enable_i18n_support) {
|
||||
deps += [ "//third_party/icu" ]
|
||||
}
|
||||
@@ -222,19 +266,6 @@ template("node_gn_build") {
|
||||
sources += node_inspector.node_inspector_sources +
|
||||
node_inspector.node_inspector_generated_sources
|
||||
}
|
||||
- if (is_linux) {
|
||||
- import("//build/config/linux/pkg_config.gni")
|
||||
- if (use_system_cares) {
|
||||
- pkg_config("cares") {
|
||||
- packages = [ "libcares" ]
|
||||
- }
|
||||
- }
|
||||
- if (use_system_nghttp2) {
|
||||
- pkg_config("nghttp2") {
|
||||
- packages = [ "libnghttp2" ]
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
}
|
||||
|
||||
executable(target_name) {
|
||||
818
v8-macro-assembler-riscv-leaptiering.patch
Normal file
818
v8-macro-assembler-riscv-leaptiering.patch
Normal file
@@ -0,0 +1,818 @@
|
||||
From 4d24761fae4b1de87a1ba7a507e98be157a64bf4 Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Pavlyutkin <alexey.pavlyutkin@syntacore.com>
|
||||
Date: Thu, 13 Feb 2025 11:40:23 +0000
|
||||
Subject: [PATCH] [riscv][leaptiering] Enable leaptiering support
|
||||
|
||||
Fix RISC-V build broken by unconditional enabling of leaptiering (see
|
||||
6207491).
|
||||
|
||||
Change-Id: I72db70b09b98410ae83d40b3251495b8bcbda207
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6249680
|
||||
Reviewed-by: Yahan Lu (LuYahan) <yahan@iscas.ac.cn>
|
||||
Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
|
||||
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
|
||||
Cr-Commit-Position: refs/heads/main@{#98693}
|
||||
---
|
||||
src/builtins/riscv/builtins-riscv.cc | 27 +-
|
||||
src/codegen/riscv/macro-assembler-riscv.cc | 321 +++++++++++-------
|
||||
src/codegen/riscv/macro-assembler-riscv.h | 48 ++-
|
||||
src/codegen/riscv/register-riscv.h | 3 +-
|
||||
.../backend/riscv/code-generator-riscv.cc | 41 ++-
|
||||
src/maglev/riscv/maglev-assembler-riscv.cc | 3 +
|
||||
6 files changed, 286 insertions(+), 157 deletions(-)
|
||||
|
||||
diff --git a/src/builtins/riscv/builtins-riscv.cc b/src/builtins/riscv/builtins-riscv.cc
|
||||
index 4d637bd281ee..54960a8cb0ef 100644
|
||||
--- a/v8/src/builtins/riscv/builtins-riscv.cc
|
||||
+++ b/v8/src/builtins/riscv/builtins-riscv.cc
|
||||
@@ -996,6 +996,7 @@ void Builtins::Generate_BaselineOutOfLinePrologueDeopt(MacroAssembler* masm) {
|
||||
}
|
||||
|
||||
void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
|
||||
+ ASM_CODE_COMMENT(masm);
|
||||
UseScratchRegisterScope temps(masm);
|
||||
temps.Include({kScratchReg, kScratchReg2, s1});
|
||||
auto descriptor =
|
||||
@@ -1016,11 +1017,14 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
|
||||
__ AssertFeedbackVector(feedback_vector, type);
|
||||
}
|
||||
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
// Check for an tiering state.
|
||||
Label flags_need_processing;
|
||||
Register flags = temps.Acquire();
|
||||
__ LoadFeedbackVectorFlagsAndJumpIfNeedsProcessing(
|
||||
flags, feedback_vector, CodeKind::BASELINE, &flags_need_processing);
|
||||
+#endif
|
||||
+
|
||||
{
|
||||
UseScratchRegisterScope temps(masm);
|
||||
ResetFeedbackVectorOsrUrgency(masm, feedback_vector, temps.Acquire());
|
||||
@@ -1096,6 +1100,7 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
|
||||
// TODO(v8:11429): Document this frame setup better.
|
||||
__ Ret();
|
||||
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
__ bind(&flags_need_processing);
|
||||
{
|
||||
ASM_CODE_COMMENT_STRING(masm, "Optimized marker check");
|
||||
@@ -1104,6 +1109,7 @@ void Builtins::Generate_BaselineOutOfLinePrologue(MacroAssembler* masm) {
|
||||
__ OptimizeCodeOrTailCallOptimizedCodeSlot(flags, feedback_vector);
|
||||
__ Trap();
|
||||
}
|
||||
+#endif
|
||||
|
||||
__ bind(&call_stack_guard);
|
||||
{
|
||||
@@ -1157,15 +1163,16 @@ void Builtins::Generate_InterpreterEntryTrampoline(
|
||||
__ LoadFeedbackVector(feedback_vector, closure, a4, &push_stack_frame);
|
||||
|
||||
#ifndef V8_JITLESS
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
// If feedback vector is valid, check for optimized code and update invocation
|
||||
// count.
|
||||
-
|
||||
// Check the tiering state.
|
||||
Label flags_need_processing;
|
||||
Register flags = a4;
|
||||
__ LoadFeedbackVectorFlagsAndJumpIfNeedsProcessing(
|
||||
flags, feedback_vector, CodeKind::INTERPRETED_FUNCTION,
|
||||
&flags_need_processing);
|
||||
+#endif // V8_ENABLE_LEAPTIERING
|
||||
ResetFeedbackVectorOsrUrgency(masm, feedback_vector, a4);
|
||||
|
||||
// Increment invocation count for the function.
|
||||
@@ -1323,10 +1330,13 @@ void Builtins::Generate_InterpreterEntryTrampoline(
|
||||
__ Branch(&after_stack_check_interrupt);
|
||||
|
||||
#ifndef V8_JITLESS
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
__ bind(&flags_need_processing);
|
||||
__ OptimizeCodeOrTailCallOptimizedCodeSlot(flags, feedback_vector);
|
||||
+#endif //! V8_ENABLE_LEAPTIERING
|
||||
__ bind(&is_baseline);
|
||||
{
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
// Load the feedback vector from the closure.
|
||||
__ LoadTaggedField(
|
||||
feedback_vector,
|
||||
@@ -1347,7 +1357,6 @@ void Builtins::Generate_InterpreterEntryTrampoline(
|
||||
__ LoadFeedbackVectorFlagsAndJumpIfNeedsProcessing(
|
||||
flags, feedback_vector, CodeKind::BASELINE, &flags_need_processing);
|
||||
|
||||
-#ifndef V8_ENABLE_LEAPTIERING
|
||||
// TODO(olivf, 42204201): This fastcase is difficult to support with the
|
||||
// sandbox as it requires getting write access to the dispatch table. See
|
||||
// `JSFunction::UpdateCode`. We might want to remove it for all
|
||||
@@ -1357,9 +1366,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(
|
||||
static_assert(kJavaScriptCallCodeStartRegister == a2, "ABI mismatch");
|
||||
__ ReplaceClosureCodeWithOptimizedCode(a2, closure);
|
||||
__ JumpCodeObject(a2, kJSEntrypointTag);
|
||||
-#endif // V8_ENABLE_LEAPTIERING
|
||||
-
|
||||
__ bind(&install_baseline_code);
|
||||
+#endif // !V8_ENABLE_LEAPTIERING
|
||||
+
|
||||
__ GenerateTailCallToReturnedCode(Runtime::kInstallBaselineCode);
|
||||
}
|
||||
#endif // !V8_JITLESS
|
||||
@@ -2630,9 +2639,13 @@ void Builtins::Generate_CallFunction(MacroAssembler* masm,
|
||||
// -- cp : the function context.
|
||||
// -----------------------------------
|
||||
|
||||
+#ifdef V8_ENABLE_LEAPTIERING
|
||||
+ __ InvokeFunctionCode(a1, no_reg, a0, InvokeType::kJump);
|
||||
+#else
|
||||
__ Lhu(a2,
|
||||
FieldMemOperand(a2, SharedFunctionInfo::kFormalParameterCountOffset));
|
||||
__ InvokeFunctionCode(a1, no_reg, a2, a0, InvokeType::kJump);
|
||||
+#endif
|
||||
}
|
||||
|
||||
namespace {
|
||||
@@ -5084,9 +5097,13 @@ void Builtins::Generate_RestartFrameTrampoline(MacroAssembler* masm) {
|
||||
// Pop return address and frame.
|
||||
__ LeaveFrame(StackFrame::INTERPRETED);
|
||||
|
||||
+#ifdef V8_ENABLE_LEAPTIERING
|
||||
+ __ InvokeFunction(a1, a0, InvokeType::kJump,
|
||||
+ ArgumentAdaptionMode::kDontAdapt);
|
||||
+#else
|
||||
__ li(a2, Operand(kDontAdaptArgumentsSentinel));
|
||||
-
|
||||
__ InvokeFunction(a1, a2, a0, InvokeType::kJump);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#undef __
|
||||
diff --git a/src/codegen/riscv/macro-assembler-riscv.cc b/src/codegen/riscv/macro-assembler-riscv.cc
|
||||
index aca1e993183f..ae86dddd6777 100644
|
||||
--- a/v8/src/codegen/riscv/macro-assembler-riscv.cc
|
||||
+++ b/v8/src/codegen/riscv/macro-assembler-riscv.cc
|
||||
@@ -209,24 +209,7 @@ void MacroAssembler::GenerateTailCallToReturnedCode(
|
||||
Jump(a2);
|
||||
}
|
||||
|
||||
-Condition MacroAssembler::LoadFeedbackVectorFlagsAndCheckIfNeedsProcessing(
|
||||
- Register flags, Register feedback_vector, Register result,
|
||||
- CodeKind current_code_kind) {
|
||||
- ASM_CODE_COMMENT(this);
|
||||
- DCHECK(!AreAliased(flags, feedback_vector));
|
||||
- DCHECK(CodeKindCanTierUp(current_code_kind));
|
||||
-
|
||||
- Lhu(flags, FieldMemOperand(feedback_vector, FeedbackVector::kFlagsOffset));
|
||||
- uint32_t kFlagsMask = FeedbackVector::kFlagsTieringStateIsAnyRequested |
|
||||
- FeedbackVector::kFlagsMaybeHasTurbofanCode |
|
||||
- FeedbackVector::kFlagsLogNextExecution;
|
||||
- if (current_code_kind != CodeKind::MAGLEV) {
|
||||
- kFlagsMask |= FeedbackVector::kFlagsMaybeHasMaglevCode;
|
||||
- }
|
||||
- And(result, flags, Operand(kFlagsMask));
|
||||
- return ne;
|
||||
-}
|
||||
-
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
// Read off the flags in the feedback vector and check if there
|
||||
// is optimized code or a tiering state that needs to be processed.
|
||||
void MacroAssembler::LoadFeedbackVectorFlagsAndJumpIfNeedsProcessing(
|
||||
@@ -248,22 +231,6 @@ void MacroAssembler::OptimizeCodeOrTailCallOptimizedCodeSlot(
|
||||
Register flags, Register feedback_vector) {
|
||||
ASM_CODE_COMMENT(this);
|
||||
DCHECK(!AreAliased(flags, feedback_vector));
|
||||
-#ifdef V8_ENABLE_LEAPTIERING
|
||||
- // In the leaptiering case, we don't load optimized code from the feedback
|
||||
- // vector so only need to call CompileOptimized or FunctionLogNextExecution
|
||||
- // here. See also LoadFeedbackVectorFlagsAndJumpIfNeedsProcessing above.
|
||||
- Label needs_logging;
|
||||
- {
|
||||
- UseScratchRegisterScope temps(this);
|
||||
- Register scratch = temps.Acquire();
|
||||
- And(scratch, flags,
|
||||
- Operand(FeedbackVector::kFlagsTieringStateIsAnyRequested));
|
||||
- Branch(&needs_logging, eq, scratch, Operand(zero_reg));
|
||||
- }
|
||||
- GenerateTailCallToReturnedCode(Runtime::kCompileOptimized);
|
||||
- bind(&needs_logging);
|
||||
- GenerateTailCallToReturnedCode(Runtime::kFunctionLogNextExecution);
|
||||
-#else
|
||||
UseScratchRegisterScope temps(this);
|
||||
temps.Include(t0, t1);
|
||||
Label maybe_has_optimized_code, maybe_needs_logging;
|
||||
@@ -296,8 +263,8 @@ void MacroAssembler::OptimizeCodeOrTailCallOptimizedCodeSlot(
|
||||
FeedbackVector::kMaybeOptimizedCodeOffset));
|
||||
TailCallOptimizedCodeSlot(this, optimized_code_entry, temps.Acquire(),
|
||||
temps.Acquire());
|
||||
-#endif // V8_ENABLE_LEAPTIERING
|
||||
}
|
||||
+#endif // V8_ENABLE_LEAPTIERING
|
||||
|
||||
void MacroAssembler::LoadIsolateField(const Register& rd, IsolateFieldId id) {
|
||||
li(rd, ExternalReference::Create(id));
|
||||
@@ -5630,7 +5597,7 @@ void MacroAssembler::StackOverflowCheck(Register num_args, Register scratch1,
|
||||
|
||||
void MacroAssembler::InvokePrologue(Register expected_parameter_count,
|
||||
Register actual_parameter_count,
|
||||
- Label* done, InvokeType type) {
|
||||
+ InvokeType type) {
|
||||
Label regular_invoke;
|
||||
|
||||
// a0: actual arguments count
|
||||
@@ -5649,8 +5616,7 @@ void MacroAssembler::InvokePrologue(Register expected_parameter_count,
|
||||
Label stack_overflow;
|
||||
{
|
||||
UseScratchRegisterScope temps(this);
|
||||
- StackOverflowCheck(expected_parameter_count, temps.Acquire(),
|
||||
- temps.Acquire(), &stack_overflow);
|
||||
+ StackOverflowCheck(expected_parameter_count, t0, t1, &stack_overflow);
|
||||
}
|
||||
// Underapplication. Move the arguments already in the stack, including the
|
||||
// receiver and the return address.
|
||||
@@ -5694,90 +5660,150 @@ void MacroAssembler::InvokePrologue(Register expected_parameter_count,
|
||||
bind(®ular_invoke);
|
||||
}
|
||||
|
||||
-void MacroAssembler::CheckDebugHook(Register fun, Register new_target,
|
||||
- Register expected_parameter_count,
|
||||
- Register actual_parameter_count) {
|
||||
- Label skip_hook;
|
||||
- {
|
||||
- UseScratchRegisterScope temps(this);
|
||||
- Register scratch = temps.Acquire();
|
||||
- li(scratch,
|
||||
- ExternalReference::debug_hook_on_function_call_address(isolate()));
|
||||
- Lb(scratch, MemOperand(scratch));
|
||||
- Branch(&skip_hook, eq, scratch, Operand(zero_reg));
|
||||
+void MacroAssembler::CallDebugOnFunctionCall(
|
||||
+ Register fun, Register new_target,
|
||||
+ Register expected_parameter_count_or_dispatch_handle,
|
||||
+ Register actual_parameter_count) {
|
||||
+ ASM_CODE_COMMENT(this);
|
||||
+ DCHECK(!AreAliased(t0, fun, new_target,
|
||||
+ expected_parameter_count_or_dispatch_handle,
|
||||
+ actual_parameter_count));
|
||||
+
|
||||
+ // Load receiver to pass it later to DebugOnFunctionCall hook.
|
||||
+ LoadReceiver(t0);
|
||||
+ FrameScope frame(
|
||||
+ this, has_frame() ? StackFrame::NO_FRAME_TYPE : StackFrame::INTERNAL);
|
||||
+
|
||||
+ SmiTag(expected_parameter_count_or_dispatch_handle);
|
||||
+ SmiTag(actual_parameter_count);
|
||||
+ Push(expected_parameter_count_or_dispatch_handle, actual_parameter_count);
|
||||
+
|
||||
+ if (new_target.is_valid()) {
|
||||
+ Push(new_target);
|
||||
+ }
|
||||
+ Push(fun, fun, t0);
|
||||
+ CallRuntime(Runtime::kDebugOnFunctionCall);
|
||||
+ Pop(fun);
|
||||
+ if (new_target.is_valid()) {
|
||||
+ Pop(new_target);
|
||||
}
|
||||
- {
|
||||
- // Load receiver to pass it later to DebugOnFunctionCall hook.
|
||||
- UseScratchRegisterScope temps(this);
|
||||
- Register receiver = temps.Acquire();
|
||||
- LoadReceiver(receiver);
|
||||
|
||||
- FrameScope frame(
|
||||
- this, has_frame() ? StackFrame::NO_FRAME_TYPE : StackFrame::INTERNAL);
|
||||
- SmiTag(expected_parameter_count);
|
||||
- Push(expected_parameter_count);
|
||||
+ Pop(expected_parameter_count_or_dispatch_handle, actual_parameter_count);
|
||||
+ SmiUntag(actual_parameter_count);
|
||||
+ SmiUntag(expected_parameter_count_or_dispatch_handle);
|
||||
+}
|
||||
|
||||
- SmiTag(actual_parameter_count);
|
||||
- Push(actual_parameter_count);
|
||||
+#ifdef V8_ENABLE_LEAPTIERING
|
||||
+void MacroAssembler::InvokeFunction(
|
||||
+ Register function, Register actual_parameter_count, InvokeType type,
|
||||
+ ArgumentAdaptionMode argument_adaption_mode) {
|
||||
+ ASM_CODE_COMMENT(this);
|
||||
+ // You can't call a function without a valid frame.
|
||||
+ DCHECK(type == InvokeType::kJump || has_frame());
|
||||
|
||||
- if (new_target.is_valid()) {
|
||||
- Push(new_target);
|
||||
- }
|
||||
- Push(fun);
|
||||
- Push(fun);
|
||||
- Push(receiver);
|
||||
- CallRuntime(Runtime::kDebugOnFunctionCall);
|
||||
- Pop(fun);
|
||||
- if (new_target.is_valid()) {
|
||||
- Pop(new_target);
|
||||
- }
|
||||
+ // Contract with called JS functions requires that function is passed in a1.
|
||||
+ // (See FullCodeGenerator::Generate().)
|
||||
+ DCHECK_EQ(function, a1);
|
||||
|
||||
- Pop(actual_parameter_count);
|
||||
- SmiUntag(actual_parameter_count);
|
||||
+ // Set up the context.
|
||||
+ LoadTaggedField(cp, FieldMemOperand(function, JSFunction::kContextOffset));
|
||||
|
||||
- Pop(expected_parameter_count);
|
||||
- SmiUntag(expected_parameter_count);
|
||||
- }
|
||||
- bind(&skip_hook);
|
||||
+ InvokeFunctionCode(function, no_reg, actual_parameter_count, type,
|
||||
+ argument_adaption_mode);
|
||||
}
|
||||
|
||||
-void MacroAssembler::InvokeFunctionCode(Register function, Register new_target,
|
||||
- Register expected_parameter_count,
|
||||
- Register actual_parameter_count,
|
||||
- InvokeType type) {
|
||||
+void MacroAssembler::InvokeFunctionWithNewTarget(
|
||||
+ Register function, Register new_target, Register actual_parameter_count,
|
||||
+ InvokeType type) {
|
||||
+ ASM_CODE_COMMENT(this);
|
||||
+ // You can't call a function without a valid frame.
|
||||
+ DCHECK(type == InvokeType::kJump || has_frame());
|
||||
+
|
||||
+ // Contract with called JS functions requires that function is passed in a1.
|
||||
+ // (See FullCodeGenerator::Generate().)
|
||||
+ DCHECK_EQ(function, a1);
|
||||
+
|
||||
+ LoadTaggedField(cp, FieldMemOperand(function, JSFunction::kContextOffset));
|
||||
+
|
||||
+ InvokeFunctionCode(function, new_target, actual_parameter_count, type);
|
||||
+}
|
||||
+
|
||||
+void MacroAssembler::InvokeFunctionCode(
|
||||
+ Register function, Register new_target, Register actual_parameter_count,
|
||||
+ InvokeType type, ArgumentAdaptionMode argument_adaption_mode) {
|
||||
+ ASM_CODE_COMMENT(this);
|
||||
// You can't call a function without a valid frame.
|
||||
DCHECK_IMPLIES(type == InvokeType::kCall, has_frame());
|
||||
DCHECK_EQ(function, a1);
|
||||
DCHECK_IMPLIES(new_target.is_valid(), new_target == a3);
|
||||
|
||||
+ Register dispatch_handle = kJavaScriptCallDispatchHandleRegister;
|
||||
+ Lw(dispatch_handle,
|
||||
+ FieldMemOperand(function, JSFunction::kDispatchHandleOffset));
|
||||
+
|
||||
// On function call, call into the debugger if necessary.
|
||||
- CheckDebugHook(function, new_target, expected_parameter_count,
|
||||
- actual_parameter_count);
|
||||
+ Label debug_hook, continue_after_hook;
|
||||
+ {
|
||||
+ li(t0, ExternalReference::debug_hook_on_function_call_address(isolate()));
|
||||
+ Lb(t0, MemOperand(t0, 0));
|
||||
+ BranchShort(&debug_hook, ne, t0, Operand(zero_reg));
|
||||
+ }
|
||||
+ bind(&continue_after_hook);
|
||||
|
||||
// Clear the new.target register if not given.
|
||||
if (!new_target.is_valid()) {
|
||||
LoadRoot(a3, RootIndex::kUndefinedValue);
|
||||
}
|
||||
|
||||
- Label done;
|
||||
- InvokePrologue(expected_parameter_count, actual_parameter_count, &done, type);
|
||||
+ Register scratch = s1;
|
||||
+ if (argument_adaption_mode == ArgumentAdaptionMode::kAdapt) {
|
||||
+ Register expected_parameter_count = a2;
|
||||
+ LoadParameterCountFromJSDispatchTable(expected_parameter_count,
|
||||
+ dispatch_handle, scratch);
|
||||
+ InvokePrologue(expected_parameter_count, actual_parameter_count, type);
|
||||
+ }
|
||||
+
|
||||
// We call indirectly through the code field in the function to
|
||||
// allow recompilation to take effect without changing any of the
|
||||
// call sites.
|
||||
- constexpr int unused_argument_count = 0;
|
||||
+ LoadEntrypointFromJSDispatchTable(kJavaScriptCallCodeStartRegister,
|
||||
+ dispatch_handle, scratch);
|
||||
switch (type) {
|
||||
case InvokeType::kCall:
|
||||
- CallJSFunction(function, unused_argument_count);
|
||||
+ Call(kJavaScriptCallCodeStartRegister);
|
||||
break;
|
||||
case InvokeType::kJump:
|
||||
- JumpJSFunction(function);
|
||||
+ Jump(kJavaScriptCallCodeStartRegister);
|
||||
break;
|
||||
}
|
||||
+ Label done;
|
||||
+ Branch(&done);
|
||||
+
|
||||
+ // Deferred debug hook.
|
||||
+ bind(&debug_hook);
|
||||
+ CallDebugOnFunctionCall(function, new_target, dispatch_handle,
|
||||
+ actual_parameter_count);
|
||||
+ Branch(&continue_after_hook);
|
||||
|
||||
- // Continue here if InvokePrologue does handle the invocation due to
|
||||
- // mismatched parameter counts.
|
||||
bind(&done);
|
||||
}
|
||||
+#else // !V8_ENABLE_LEAPTIERING
|
||||
+void MacroAssembler::InvokeFunction(Register function,
|
||||
+ Register expected_parameter_count,
|
||||
+ Register actual_parameter_count,
|
||||
+ InvokeType type) {
|
||||
+ // You can't call a function without a valid frame.
|
||||
+ DCHECK_IMPLIES(type == InvokeType::kCall, has_frame());
|
||||
+
|
||||
+ // Contract with called JS functions requires that function is passed in a1.
|
||||
+ DCHECK_EQ(function, a1);
|
||||
+
|
||||
+ // Get the function and setup the context.
|
||||
+ LoadTaggedField(cp, FieldMemOperand(a1, JSFunction::kContextOffset));
|
||||
+
|
||||
+ InvokeFunctionCode(a1, no_reg, expected_parameter_count,
|
||||
+ actual_parameter_count, type);
|
||||
+}
|
||||
|
||||
void MacroAssembler::InvokeFunctionWithNewTarget(
|
||||
Register function, Register new_target, Register actual_parameter_count,
|
||||
@@ -5804,23 +5830,44 @@ void MacroAssembler::InvokeFunctionWithNewTarget(
|
||||
actual_parameter_count, type);
|
||||
}
|
||||
|
||||
-void MacroAssembler::InvokeFunction(Register function,
|
||||
- Register expected_parameter_count,
|
||||
- Register actual_parameter_count,
|
||||
- InvokeType type) {
|
||||
+void MacroAssembler::InvokeFunctionCode(Register function, Register new_target,
|
||||
+ Register expected_parameter_count,
|
||||
+ Register actual_parameter_count,
|
||||
+ InvokeType type) {
|
||||
// You can't call a function without a valid frame.
|
||||
DCHECK_IMPLIES(type == InvokeType::kCall, has_frame());
|
||||
-
|
||||
- // Contract with called JS functions requires that function is passed in a1.
|
||||
DCHECK_EQ(function, a1);
|
||||
+ DCHECK_IMPLIES(new_target.is_valid(), new_target == a3);
|
||||
|
||||
- // Get the function and setup the context.
|
||||
- LoadTaggedField(cp, FieldMemOperand(a1, JSFunction::kContextOffset));
|
||||
+ // On function call, call into the debugger if necessary.
|
||||
+ CheckDebugHook(function, new_target, expected_parameter_count,
|
||||
+ actual_parameter_count);
|
||||
|
||||
- InvokeFunctionCode(a1, no_reg, expected_parameter_count,
|
||||
- actual_parameter_count, type);
|
||||
-}
|
||||
+ // Clear the new.target register if not given.
|
||||
+ if (!new_target.is_valid()) {
|
||||
+ LoadRoot(a3, RootIndex::kUndefinedValue);
|
||||
+ }
|
||||
+
|
||||
+ Label done;
|
||||
+ InvokePrologue(expected_parameter_count, actual_parameter_count, &done, type);
|
||||
+ // We call indirectly through the code field in the function to
|
||||
+ // allow recompilation to take effect without changing any of the
|
||||
+ // call sites.
|
||||
+ constexpr int unused_argument_count = 0;
|
||||
+ switch (type) {
|
||||
+ case InvokeType::kCall:
|
||||
+ CallJSFunction(function, unused_argument_count);
|
||||
+ break;
|
||||
+ case InvokeType::kJump:
|
||||
+ JumpJSFunction(function);
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
+ // Continue here if InvokePrologue does handle the invocation due to
|
||||
+ // mismatched parameter counts.
|
||||
+ bind(&done);
|
||||
+}
|
||||
+#endif // V8_ENABLE_LEAPTIERING
|
||||
// ---------------------------------------------------------------------------
|
||||
// Support functions.
|
||||
|
||||
@@ -7240,14 +7287,30 @@ void MacroAssembler::ComputeCodeStartAddress(Register dst) {
|
||||
// 2. test kMarkedForDeoptimizationBit in those flags; and
|
||||
// 3. if it is not zero then it jumps to the builtin.
|
||||
void MacroAssembler::BailoutIfDeoptimized() {
|
||||
- int offset = InstructionStream::kCodeOffset - InstructionStream::kHeaderSize;
|
||||
- LoadProtectedPointerField(
|
||||
- kScratchReg, MemOperand(kJavaScriptCallCodeStartRegister, offset));
|
||||
- Lw(kScratchReg, FieldMemOperand(kScratchReg, Code::kFlagsOffset));
|
||||
- And(kScratchReg, kScratchReg,
|
||||
- Operand(1 << Code::kMarkedForDeoptimizationBit));
|
||||
- TailCallBuiltin(Builtin::kCompileLazyDeoptimizedCode, ne, kScratchReg,
|
||||
+ ASM_CODE_COMMENT(this);
|
||||
+ UseScratchRegisterScope temps(this);
|
||||
+ Register scratch = temps.Acquire();
|
||||
+ if (v8_flags.debug_code || !V8_ENABLE_LEAPTIERING_BOOL) {
|
||||
+ int offset =
|
||||
+ InstructionStream::kCodeOffset - InstructionStream::kHeaderSize;
|
||||
+ LoadProtectedPointerField(
|
||||
+ scratch, MemOperand(kJavaScriptCallCodeStartRegister, offset));
|
||||
+ Lw(scratch, FieldMemOperand(scratch, Code::kFlagsOffset));
|
||||
+ }
|
||||
+
|
||||
+#ifdef V8_ENABLE_LEAPTIERING
|
||||
+ if (v8_flags.debug_code) {
|
||||
+ Label not_deoptimized;
|
||||
+ And(scratch, scratch, Operand(1 << Code::kMarkedForDeoptimizationBit));
|
||||
+ Branch(¬_deoptimized, eq, scratch, Operand(zero_reg));
|
||||
+ Abort(AbortReason::kInvalidDeoptimizedCode);
|
||||
+ bind(¬_deoptimized);
|
||||
+ }
|
||||
+#else
|
||||
+ And(scratch, scratch, Operand(1 << Code::kMarkedForDeoptimizationBit));
|
||||
+ TailCallBuiltin(Builtin::kCompileLazyDeoptimizedCode, ne, scratch,
|
||||
Operand(zero_reg));
|
||||
+#endif
|
||||
}
|
||||
|
||||
void MacroAssembler::CallForDeoptimization(Builtin target, int, Label* exit,
|
||||
@@ -7303,22 +7366,20 @@ void MacroAssembler::JumpCodeObject(Register code_object, CodeEntrypointTag tag,
|
||||
}
|
||||
|
||||
void MacroAssembler::CallJSFunction(Register function_object,
|
||||
- uint16_t argument_count) {
|
||||
- DCHECK_WITH_MSG(!V8_ENABLE_LEAPTIERING_BOOL,
|
||||
- "argument_count is only used with Leaptiering");
|
||||
+ [[maybe_unused]] uint16_t argument_count) {
|
||||
ASM_CODE_COMMENT(this);
|
||||
Register code = kJavaScriptCallCodeStartRegister;
|
||||
#ifdef V8_ENABLE_LEAPTIERING
|
||||
- UseScratchRegisterScope temps(this);
|
||||
- Register dispatch_handle = t0;
|
||||
+ Register dispatch_handle = kJavaScriptCallDispatchHandleRegister;
|
||||
Register parameter_count = t1;
|
||||
+ UseScratchRegisterScope temps(this);
|
||||
Register scratch = temps.Acquire();
|
||||
Lw(dispatch_handle,
|
||||
FieldMemOperand(function_object, JSFunction::kDispatchHandleOffset));
|
||||
LoadEntrypointAndParameterCountFromJSDispatchTable(code, parameter_count,
|
||||
dispatch_handle, scratch);
|
||||
Label match;
|
||||
- Branch(&match, le, parameter_count, Immediate(argument_count));
|
||||
+ Branch(&match, le, parameter_count, Operand(argument_count));
|
||||
// If the parameter count doesn't match, we force a safe crash by setting the
|
||||
// code entrypoint to zero, causing a nullptr dereference during the call.
|
||||
mv(code, zero_reg);
|
||||
@@ -7366,13 +7427,14 @@ void MacroAssembler::JumpJSFunction(Register function_object,
|
||||
ASM_CODE_COMMENT(this);
|
||||
Register code = kJavaScriptCallCodeStartRegister;
|
||||
#ifdef V8_ENABLE_LEAPTIERING
|
||||
- LoadCodeEntrypointFromJSDispatchTable(
|
||||
- code,
|
||||
- FieldMemOperand(function_object, JSFunction::kDispatchHandleOffset));
|
||||
+ Register dispatch_handle = kJavaScriptCallDispatchHandleRegister;
|
||||
+ UseScratchRegisterScope temps(this);
|
||||
+ Register scratch = temps.Acquire();
|
||||
+ Lw(dispatch_handle,
|
||||
+ FieldMemOperand(function_object, JSFunction::kDispatchHandleOffset));
|
||||
+ LoadEntrypointFromJSDispatchTable(code, dispatch_handle, scratch);
|
||||
DCHECK_EQ(jump_mode, JumpMode::kJump);
|
||||
- DCHECK_NE(code, t6);
|
||||
- mv(t6, code);
|
||||
- Jump(t6);
|
||||
+ Jump(code);
|
||||
#elif V8_ENABLE_SANDBOX
|
||||
// When the sandbox is enabled, we can directly fetch the entrypoint pointer
|
||||
// from the code pointer table instead of going through the Code object. In
|
||||
@@ -7465,11 +7527,13 @@ void MacroAssembler::LoadEntrypointFromJSDispatchTable(Register destination,
|
||||
Register scratch) {
|
||||
DCHECK(!AreAliased(destination, scratch));
|
||||
ASM_CODE_COMMENT(this);
|
||||
+ Register index = destination;
|
||||
li(scratch, ExternalReference::js_dispatch_table_address());
|
||||
srli(index, dispatch_handle, kJSDispatchHandleShift);
|
||||
slli(index, index, kJSDispatchTableEntrySizeLog2);
|
||||
AddWord(scratch, scratch, index);
|
||||
- Ld(destination, MemOperand(scratch, JSDispatchEntry::kEntrypointOffset));
|
||||
+ LoadWord(destination,
|
||||
+ MemOperand(scratch, JSDispatchEntry::kEntrypointOffset));
|
||||
}
|
||||
|
||||
void MacroAssembler::LoadEntrypointFromJSDispatchTable(
|
||||
@@ -7486,7 +7550,7 @@ void MacroAssembler::LoadEntrypointFromJSDispatchTable(
|
||||
static_assert(!JSDispatchTable::kSupportsCompaction);
|
||||
int offset = JSDispatchTable::OffsetOfEntry(dispatch_handle) +
|
||||
JSDispatchEntry::kEntrypointOffset;
|
||||
- Ld(destination, MemOperand(scratch, offset));
|
||||
+ LoadWord(destination, MemOperand(scratch, offset));
|
||||
}
|
||||
|
||||
void MacroAssembler::LoadParameterCountFromJSDispatchTable(
|
||||
@@ -7494,12 +7558,14 @@ void MacroAssembler::LoadParameterCountFromJSDispatchTable(
|
||||
DCHECK(!AreAliased(destination, scratch));
|
||||
ASM_CODE_COMMENT(this);
|
||||
Register index = destination;
|
||||
- li(scratch, ExternalReference::js_dispatch_table_address());
|
||||
srli(index, dispatch_handle, kJSDispatchHandleShift);
|
||||
slli(index, index, kJSDispatchTableEntrySizeLog2);
|
||||
+ li(scratch, ExternalReference::js_dispatch_table_address());
|
||||
AddWord(scratch, scratch, index);
|
||||
+#ifdef V8_TARGET_ARCH_64_BIT
|
||||
static_assert(JSDispatchEntry::kParameterCountMask == 0xffff);
|
||||
- Lh(destination, MemOperand(scratch, JSDispatchEntry::kCodeObjectOffset));
|
||||
+#endif
|
||||
+ Lhu(destination, MemOperand(scratch, JSDispatchEntry::kCodeObjectOffset));
|
||||
}
|
||||
|
||||
void MacroAssembler::LoadEntrypointAndParameterCountFromJSDispatchTable(
|
||||
@@ -7512,10 +7578,11 @@ void MacroAssembler::LoadEntrypointAndParameterCountFromJSDispatchTable(
|
||||
srli(index, dispatch_handle, kJSDispatchHandleShift);
|
||||
slli(index, index, kJSDispatchTableEntrySizeLog2);
|
||||
AddWord(scratch, scratch, index);
|
||||
-
|
||||
- Ld(entrypoint, MemOperand(scratch, JSDispatchEntry::kEntrypointOffset));
|
||||
+ LoadWord(entrypoint, MemOperand(scratch, JSDispatchEntry::kEntrypointOffset));
|
||||
+#ifdef V8_TARGET_ARCH_64_BIT
|
||||
static_assert(JSDispatchEntry::kParameterCountMask == 0xffff);
|
||||
- Lh(parameter_count, MemOperand(scratch, JSDispatchEntry::kCodeObjectOffset));
|
||||
+#endif
|
||||
+ Lhu(parameter_count, MemOperand(scratch, JSDispatchEntry::kCodeObjectOffset));
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/src/codegen/riscv/macro-assembler-riscv.h b/src/codegen/riscv/macro-assembler-riscv.h
|
||||
index 12988bdf00c6..ca91407d21f0 100644
|
||||
--- a/v8/src/codegen/riscv/macro-assembler-riscv.h
|
||||
+++ b/v8/src/codegen/riscv/macro-assembler-riscv.h
|
||||
@@ -1600,23 +1600,47 @@ class V8_EXPORT_PRIVATE MacroAssembler : public MacroAssemblerBase {
|
||||
// -------------------------------------------------------------------------
|
||||
// JavaScript invokes.
|
||||
|
||||
- // Invoke the JavaScript function code by either calling or jumping.
|
||||
- void InvokeFunctionCode(Register function, Register new_target,
|
||||
- Register expected_parameter_count,
|
||||
- Register actual_parameter_count, InvokeType type);
|
||||
+ // On function call, call into the debugger.
|
||||
+ void CallDebugOnFunctionCall(
|
||||
+ Register fun, Register new_target,
|
||||
+ Register expected_parameter_count_or_dispatch_handle,
|
||||
+ Register actual_parameter_count);
|
||||
|
||||
- // On function call, call into the debugger if necessary.
|
||||
- void CheckDebugHook(Register fun, Register new_target,
|
||||
- Register expected_parameter_count,
|
||||
- Register actual_parameter_count);
|
||||
+ // The way we invoke JSFunctions differs depending on whether leaptiering is
|
||||
+ // enabled. As such, these functions exist in two variants. In the future,
|
||||
+ // leaptiering will be used on all platforms. At that point, the
|
||||
+ // non-leaptiering variants will disappear.
|
||||
|
||||
+#ifdef V8_ENABLE_LEAPTIERING
|
||||
// Invoke the JavaScript function in the given register. Changes the
|
||||
// current context to the context in the function before invoking.
|
||||
+ void InvokeFunction(Register function, Register actual_parameter_count,
|
||||
+ InvokeType type,
|
||||
+ ArgumentAdaptionMode argument_adaption_mode =
|
||||
+ ArgumentAdaptionMode::kAdapt);
|
||||
+ // Invoke the JavaScript function in the given register.
|
||||
+ // Changes the current context to the context in the function before invoking.
|
||||
void InvokeFunctionWithNewTarget(Register function, Register new_target,
|
||||
Register actual_parameter_count,
|
||||
InvokeType type);
|
||||
+ // Invoke the JavaScript function code by either calling or jumping.
|
||||
+ void InvokeFunctionCode(Register function, Register new_target,
|
||||
+ Register actual_parameter_count, InvokeType type,
|
||||
+ ArgumentAdaptionMode argument_adaption_mode =
|
||||
+ ArgumentAdaptionMode::kAdapt);
|
||||
+#else
|
||||
void InvokeFunction(Register function, Register expected_parameter_count,
|
||||
Register actual_parameter_count, InvokeType type);
|
||||
+ // Invoke the JavaScript function in the given register. Changes the
|
||||
+ // current context to the context in the function before invoking.
|
||||
+ void InvokeFunctionWithNewTarget(Register function, Register new_target,
|
||||
+ Register actual_parameter_count,
|
||||
+ InvokeType type);
|
||||
+ // Invoke the JavaScript function code by either calling or jumping.
|
||||
+ void InvokeFunctionCode(Register function, Register new_target,
|
||||
+ Register expected_parameter_count,
|
||||
+ Register actual_parameter_count, InvokeType type);
|
||||
+#endif
|
||||
|
||||
// ---- InstructionStream generation helpers ----
|
||||
|
||||
@@ -1657,14 +1681,13 @@ class V8_EXPORT_PRIVATE MacroAssembler : public MacroAssemblerBase {
|
||||
Register closure);
|
||||
void GenerateTailCallToReturnedCode(Runtime::FunctionId function_id);
|
||||
|
||||
- Condition LoadFeedbackVectorFlagsAndCheckIfNeedsProcessing(
|
||||
- Register flags, Register feedback_vector, Register result,
|
||||
- CodeKind current_code_kind);
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
void LoadFeedbackVectorFlagsAndJumpIfNeedsProcessing(
|
||||
Register flags, Register feedback_vector, CodeKind current_code_kind,
|
||||
Label* flags_need_processing);
|
||||
void OptimizeCodeOrTailCallOptimizedCodeSlot(Register flags,
|
||||
Register feedback_vector);
|
||||
+#endif
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Support functions.
|
||||
@@ -1883,8 +1906,7 @@ class V8_EXPORT_PRIVATE MacroAssembler : public MacroAssemblerBase {
|
||||
|
||||
// Helper functions for generating invokes.
|
||||
void InvokePrologue(Register expected_parameter_count,
|
||||
- Register actual_parameter_count, Label* done,
|
||||
- InvokeType type);
|
||||
+ Register actual_parameter_count, InvokeType type);
|
||||
|
||||
// Compute memory operands for safepoint stack slots.
|
||||
static int SafepointRegisterStackIndex(int reg_code);
|
||||
diff --git a/src/codegen/riscv/register-riscv.h b/src/codegen/riscv/register-riscv.h
|
||||
index ddf2f879d495..67321defed53 100644
|
||||
--- a/v8/src/codegen/riscv/register-riscv.h
|
||||
+++ b/v8/src/codegen/riscv/register-riscv.h
|
||||
@@ -301,8 +301,7 @@ constexpr Register kJavaScriptCallCodeStartRegister = a2;
|
||||
constexpr Register kJavaScriptCallTargetRegister = kJSFunctionRegister;
|
||||
constexpr Register kJavaScriptCallNewTargetRegister = a3;
|
||||
constexpr Register kJavaScriptCallExtraArg1Register = a2;
|
||||
-// Leaptiering is not currently available on riscv64.
|
||||
-constexpr Register kJavaScriptCallDispatchHandleRegister = no_reg;
|
||||
+constexpr Register kJavaScriptCallDispatchHandleRegister = a4;
|
||||
|
||||
constexpr Register kRuntimeCallFunctionRegister = a1;
|
||||
constexpr Register kRuntimeCallArgCountRegister = a0;
|
||||
diff --git a/src/compiler/backend/riscv/code-generator-riscv.cc b/src/compiler/backend/riscv/code-generator-riscv.cc
|
||||
index 744123ebb283..678d661e58fc 100644
|
||||
--- a/v8/src/compiler/backend/riscv/code-generator-riscv.cc
|
||||
+++ b/v8/src/compiler/backend/riscv/code-generator-riscv.cc
|
||||
@@ -706,6 +706,36 @@ void CodeGenerator::AssembleCodeStartRegisterCheck() {
|
||||
kJavaScriptCallCodeStartRegister, Operand(kScratchReg));
|
||||
}
|
||||
|
||||
+#ifdef V8_ENABLE_LEAPTIERING
|
||||
+// Check that {kJavaScriptCallDispatchHandleRegister} is correct.
|
||||
+void CodeGenerator::AssembleDispatchHandleRegisterCheck() {
|
||||
+ DCHECK(linkage()->GetIncomingDescriptor()->IsJSFunctionCall());
|
||||
+
|
||||
+ // We currently don't check this for JS builtins as those are sometimes
|
||||
+ // called directly (e.g. from other builtins) and not through the dispatch
|
||||
+ // table. This is fine as builtin functions don't use the dispatch handle,
|
||||
+ // but we could enable this check in the future if we make sure to pass the
|
||||
+ // kInvalidDispatchHandle whenever we do a direct call to a JS builtin.
|
||||
+ if (Builtins::IsBuiltinId(info()->builtin())) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // For now, we only ensure that the register references a valid dispatch
|
||||
+ // entry with the correct parameter count. In the future, we may also be able
|
||||
+ // to check that the entry points back to this code.
|
||||
+ UseScratchRegisterScope temps(masm());
|
||||
+ Register actual_parameter_count = temps.Acquire();
|
||||
+ {
|
||||
+ UseScratchRegisterScope temps(masm());
|
||||
+ Register scratch = temps.Acquire();
|
||||
+ __ LoadParameterCountFromJSDispatchTable(
|
||||
+ actual_parameter_count, kJavaScriptCallDispatchHandleRegister, scratch);
|
||||
+ }
|
||||
+ __ Assert(eq, AbortReason::kWrongFunctionDispatchHandle,
|
||||
+ actual_parameter_count, Operand(parameter_count_));
|
||||
+}
|
||||
+#endif // V8_ENABLE_LEAPTIERING
|
||||
+
|
||||
// Check if the code object is marked for deoptimization. If it is, then it
|
||||
// jumps to the CompileLazyDeoptimizedCode builtin. In order to do this we need
|
||||
// to:
|
||||
@@ -713,16 +743,7 @@ void CodeGenerator::AssembleCodeStartRegisterCheck() {
|
||||
// the flags in the referenced {Code} object;
|
||||
// 2. test kMarkedForDeoptimizationBit in those flags; and
|
||||
// 3. if it is not zero then it jumps to the builtin.
|
||||
-void CodeGenerator::BailoutIfDeoptimized() {
|
||||
- int offset = InstructionStream::kCodeOffset - InstructionStream::kHeaderSize;
|
||||
- __ LoadProtectedPointerField(
|
||||
- kScratchReg, MemOperand(kJavaScriptCallCodeStartRegister, offset));
|
||||
- __ Lw(kScratchReg, FieldMemOperand(kScratchReg, Code::kFlagsOffset));
|
||||
- __ And(kScratchReg, kScratchReg,
|
||||
- Operand(1 << Code::kMarkedForDeoptimizationBit));
|
||||
- __ TailCallBuiltin(Builtin::kCompileLazyDeoptimizedCode, ne, kScratchReg,
|
||||
- Operand(zero_reg));
|
||||
-}
|
||||
+void CodeGenerator::BailoutIfDeoptimized() { __ BailoutIfDeoptimized(); }
|
||||
|
||||
// Assembles an instruction after register allocation, producing machine code.
|
||||
CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
|
||||
diff --git a/src/maglev/riscv/maglev-assembler-riscv.cc b/src/maglev/riscv/maglev-assembler-riscv.cc
|
||||
index 9611e33d6b01..8fb87746e697 100644
|
||||
--- a/v8/src/maglev/riscv/maglev-assembler-riscv.cc
|
||||
+++ b/v8/src/maglev/riscv/maglev-assembler-riscv.cc
|
||||
@@ -127,6 +127,7 @@ void MaglevAssembler::OSRPrologue(Graph* graph) {
|
||||
}
|
||||
|
||||
void MaglevAssembler::Prologue(Graph* graph) {
|
||||
+ ASM_CODE_COMMENT(this);
|
||||
MaglevAssembler::TemporaryRegisterScope temps(this);
|
||||
// We add two extra registers to the scope. Ideally we could add all the
|
||||
// allocatable general registers, except Context, JSFunction, NewTarget and
|
||||
@@ -147,6 +148,7 @@ void MaglevAssembler::Prologue(Graph* graph) {
|
||||
}
|
||||
|
||||
// Tiering support.
|
||||
+#ifndef V8_ENABLE_LEAPTIERING
|
||||
if (v8_flags.turbofan) {
|
||||
using D = MaglevOptimizeCodeOrTailCallOptimizedCodeSlotDescriptor;
|
||||
Register flags = D::GetRegisterParameter(D::kFlags);
|
||||
@@ -169,6 +171,7 @@ void MaglevAssembler::Prologue(Graph* graph) {
|
||||
TailCallBuiltin(Builtin::kMaglevOptimizeCodeOrTailCallOptimizedCodeSlot,
|
||||
needs_processing, flag_reg, Operand(zero_reg));
|
||||
}
|
||||
+#endif
|
||||
|
||||
EnterFrame(StackFrame::MAGLEV);
|
||||
// Save arguments in frame.
|
||||
30
webrtc-make_ref_counted-absl2024-nullability.patch
Normal file
30
webrtc-make_ref_counted-absl2024-nullability.patch
Normal file
@@ -0,0 +1,30 @@
|
||||
From 36a764f13dc04d0c06b89d9e5a205224eb2784c8 Mon Sep 17 00:00:00 2001
|
||||
From: Danil Chapovalov <danilchap@webrtc.org>
|
||||
Date: Thu, 24 Oct 2024 11:12:57 +0200
|
||||
Subject: [PATCH] Remove nullability compatible tag in scoped_refptr as
|
||||
obsolete
|
||||
|
||||
As of https://github.com/abseil/abseil-cpp/commit/485f2be7c1d2f1a2ad2d89f6aef308dd7bfede8d, this no longer has any effect; instead, the ABSL_NULLABILITY_COMPATIBLE attribute which is already present on the class determines whether a class is compatible with nullability annotations.
|
||||
|
||||
Bug: None
|
||||
Change-Id: I5aeca86c86c2b6eadb2644695ee3621e92f1f568
|
||||
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/366601
|
||||
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
|
||||
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#43532}
|
||||
---
|
||||
api/scoped_refptr.h | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/api/scoped_refptr.h b/api/scoped_refptr.h
|
||||
index c6fb5605ca..e3274741cc 100644
|
||||
--- a/third_party/webrtc/api/scoped_refptr.h
|
||||
+++ b/third_party/webrtc/api/scoped_refptr.h
|
||||
@@ -73,7 +73,6 @@ namespace webrtc {
|
||||
template <class T>
|
||||
class ABSL_NULLABILITY_COMPATIBLE scoped_refptr {
|
||||
public:
|
||||
- using absl_nullability_compatible = void;
|
||||
using element_type = T;
|
||||
|
||||
scoped_refptr() : ptr_(nullptr) {}
|
||||
13
xml_document_parser-Wmissing-template-keyword.patch
Normal file
13
xml_document_parser-Wmissing-template-keyword.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- 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(
|
||||
Reference in New Issue
Block a user