diff --git a/DEPS b/DEPS index a7ed51fdf73a..35868f5abe65 100644 --- a/DEPS +++ b/DEPS @@ -4,7 +4,7 @@ vars = { 'chromium_version': '130.0.6723.31', 'node_version': - 'v20.17.0', + 'v20.18.0', 'nan_version': 'e14bdcd1f72d62bca1d541b66da43130384ec213', 'squirrel.mac_version': diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch index 3113fda74a05..46aa0305d014 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -33,10 +33,10 @@ index ad7aef003b233245201937c58be12fa3acb6b1a4..275eb74983e684310753dabcd453e5a2 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index dd5c9db43d693fb9df7b5a0d661b4e8999956c49..2ea0ea1dd6f30e4e3c88ad803314bc5239545c1f 100644 +index 2b66b11333f732ea1ec65474d709b55638696cf3..d2d5eb596db1fc166c0498c2f7a6c15080e5d775 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4488,7 +4488,7 @@ static_library("browser") { +@@ -4486,7 +4486,7 @@ static_library("browser") { ] } @@ -46,7 +46,7 @@ index dd5c9db43d693fb9df7b5a0d661b4e8999956c49..2ea0ea1dd6f30e4e3c88ad803314bc52 # than here in :chrome_dll. deps += [ "//chrome:packed_resources_integrity_header" ] diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index c79b93b972e244cc3f7bcce039e24bbfe363ed04..2a3b25d5f2dcf80d2e4c462d6cba00583785ca8e 100644 +index 2a55a6189c6a5c399a08edf4659f33f541726093..f8e8fb75e71a265a0cc2b7c57c4f0fd9035c6def 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn @@ -7173,9 +7173,12 @@ test("unit_tests") { diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index aa9c831a9ce9..058807b7eb25 100644 --- a/patches/chromium/can_create_window.patch +++ b/patches/chromium/can_create_window.patch @@ -9,10 +9,10 @@ potentially prevent a window from being created. TODO(loc): this patch is currently broken. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 2fd13bfb778f31eff97ced7d5e41de30398b0a74..99a54798649942244c2ee51d1d10da8a8a637bfa 100644 +index c2e377d5b1603a2d3c67a61911545ce361d418c2..20fe5301a0120e926d118f8b27ef57621833a5bf 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -8945,6 +8945,7 @@ void RenderFrameHostImpl::CreateNewWindow( +@@ -9040,6 +9040,7 @@ void RenderFrameHostImpl::CreateNewWindow( last_committed_origin_, params->window_container_type, params->target_url, params->referrer.To(), params->frame_name, params->disposition, *params->features, diff --git a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch index 967b916adce6..19c7de9a4a25 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -1343,7 +1343,7 @@ index 2e24201fcdc1ec65688e2b08d28a74a218792af2..53b399c13c344b72992b9433add202ed if (is_ios) { diff --git a/ui/accessibility/platform/browser_accessibility_manager_mac.mm b/ui/accessibility/platform/browser_accessibility_manager_mac.mm -index f9bd6478bea53f2b005c2d57b5f1db5313f77595..41a032e34335c554eca40edd74e8c271b3570a08 100644 +index be442f6a2a67d07ec78fe00a3e864bf0088fe504..3a8c8a3900db26b10f2b7735b860d8935d2a6085 100644 --- a/ui/accessibility/platform/browser_accessibility_manager_mac.mm +++ b/ui/accessibility/platform/browser_accessibility_manager_mac.mm @@ -19,7 +19,9 @@ diff --git a/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch b/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch index 48e420275689..247cdc7e2032 100644 --- a/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch +++ b/patches/chromium/partially_revert_is_newly_created_to_allow_for_browser_initiated.patch @@ -10,10 +10,10 @@ an about:blank check to this area. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876 diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 379da2b28724fb271338f797a116e5c44986c324..1277ee2264131e5da937b4c01f5c259eded2df39 100644 +index 2605701ace806adef40b748f93aebae45144e1be..888e1386d7ed0003bbaabddeefa98d2c25e9adbb 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -778,8 +778,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch( +@@ -782,8 +782,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch( // TODO(crbug.com/40092527): Consider adding a separate boolean that // tracks this instead of piggybacking `origin_calculation_debug_info`. if (renderer_side_origin.opaque() && diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 8354687d6ace..866e2931ddc3 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -15,10 +15,10 @@ Note that we also need to manually update embedder's `api::WebContents::IsFullscreenForTabOrPending` value. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 99a54798649942244c2ee51d1d10da8a8a637bfa..379da2b28724fb271338f797a116e5c44986c324 100644 +index 20fe5301a0120e926d118f8b27ef57621833a5bf..2605701ace806adef40b748f93aebae45144e1be 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -8060,6 +8060,17 @@ void RenderFrameHostImpl::EnterFullscreen( +@@ -8155,6 +8155,17 @@ void RenderFrameHostImpl::EnterFullscreen( } } diff --git a/patches/node/.patches b/patches/node/.patches index 3b99cb3056c7..67a62b86f134 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -45,10 +45,8 @@ src_do_not_use_deprecated_v8_api.patch src_use_new_v8_api_to_define_stream_accessor.patch src_remove_dependency_on_wrapper-descriptor-based_cppheap.patch test_update_v8-stats_test_for_v8_12_6.patch -chore_remove_calls_to_v8_functioncallbackinfo_holder.patch src_do_not_use_soon-to-be-deprecated_v8_api.patch fix_add_property_query_interceptors.patch -src_account_for_openssl_unexpected_version.patch src_stop_using_deprecated_fields_of_fastapicallbackoptions.patch build_don_t_redefine_win32_lean_and_mean.patch src_use_supported_api_to_get_stalled_tla_messages.patch diff --git a/patches/node/build_add_gn_build_files.patch b/patches/node/build_add_gn_build_files.patch index 789b12418dec..acb84c4f2c16 100644 --- a/patches/node/build_add_gn_build_files.patch +++ b/patches/node/build_add_gn_build_files.patch @@ -537,10 +537,10 @@ index 0e69d7383762f6b81c5b57698aa9d121d5a9c401..35bbeb37acc7ccb14b4b8a644ec3d4c7 cflags_c = [ "-mavx512vl", diff --git a/deps/cares/BUILD.gn b/deps/cares/BUILD.gn -index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..d083aea4cb895d8425041879f1b22a6ee43a0b60 100644 +index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..7f4885631a85a25692e8969991951be02e5d73f1 100644 --- a/deps/cares/BUILD.gn +++ b/deps/cares/BUILD.gn -@@ -1,14 +1,172 @@ +@@ -1,14 +1,175 @@ -############################################################################## -# # -# DO NOT EDIT THIS FILE! # @@ -569,60 +569,18 @@ index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..d083aea4cb895d8425041879f1b22a6e + "include/ares_version.h", + "src/lib/ares__addrinfo2hostent.c", + "src/lib/ares__addrinfo_localhost.c", -+ "src/lib/ares__buf.c", -+ "src/lib/ares__buf.h", + "src/lib/ares__close_sockets.c", + "src/lib/ares__hosts_file.c", -+ "src/lib/ares__htable.c", -+ "src/lib/ares__htable.h", -+ "src/lib/ares__htable_asvp.c", -+ "src/lib/ares__htable_asvp.h", -+ "src/lib/ares__htable_strvp.c", -+ "src/lib/ares__htable_strvp.h", -+ "src/lib/ares__htable_szvp.c", -+ "src/lib/ares__htable_szvp.h", -+ "src/lib/ares__htable_vpvp.c", -+ "src/lib/ares__htable_vpvp.h", -+ "src/lib/ares__iface_ips.c", -+ "src/lib/ares__iface_ips.h", -+ "src/lib/ares__llist.c", -+ "src/lib/ares__llist.h", + "src/lib/ares__parse_into_addrinfo.c", -+ "src/lib/ares__slist.c", -+ "src/lib/ares__slist.h", + "src/lib/ares__socket.c", + "src/lib/ares__sortaddrinfo.c", -+ "src/lib/ares__threads.c", -+ "src/lib/ares__threads.h", -+ "src/lib/ares__timeval.c", + "src/lib/ares_android.c", + "src/lib/ares_android.h", + "src/lib/ares_cancel.c", -+ "src/lib/ares_create_query.c", ++ "src/lib/ares_cookie.c", + "src/lib/ares_data.c", + "src/lib/ares_data.h", + "src/lib/ares_destroy.c", -+ "src/lib/ares_dns_mapping.c", -+ "src/lib/ares_dns_multistring.c", -+ "src/lib/ares_dns_multistring.h", -+ "src/lib/ares_dns_name.c", -+ "src/lib/ares_dns_parse.c", -+ "src/lib/ares_dns_record.c", -+ "src/lib/ares_dns_private.h", -+ "src/lib/ares_dns_write.c", -+ "src/lib/ares_event_configchg.c", -+ "src/lib/ares_event.h", -+ "src/lib/ares_event_win32.h", -+ "src/lib/ares_event_epoll.c", -+ "src/lib/ares_event_kqueue.c", -+ "src/lib/ares_event_poll.c", -+ "src/lib/ares_event_select.c", -+ "src/lib/ares_event_thread.c", -+ "src/lib/ares_event_wake_pipe.c", -+ "src/lib/ares_event_win32.c", -+ "src/lib/ares_expand_name.c", -+ "src/lib/ares_expand_string.c", -+ "src/lib/ares_fds.c", + "src/lib/ares_free_hostent.c", + "src/lib/ares_free_string.c", + "src/lib/ares_freeaddrinfo.c", @@ -632,49 +590,94 @@ index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..d083aea4cb895d8425041879f1b22a6e + "src/lib/ares_gethostbyaddr.c", + "src/lib/ares_gethostbyname.c", + "src/lib/ares_getnameinfo.c", -+ "src/lib/ares_getsock.c", + "src/lib/ares_inet_net_pton.h", + "src/lib/ares_init.c", -+ "src/lib/ares_library_init.c", + "src/lib/ares_ipv6.h", -+ "src/lib/ares_math.c", ++ "src/lib/ares_library_init.c", + "src/lib/ares_metrics.c", + "src/lib/ares_options.c", -+ "src/lib/ares_parse_a_reply.c", -+ "src/lib/ares_parse_aaaa_reply.c", -+ "src/lib/ares_parse_caa_reply.c", -+ "src/lib/ares_parse_mx_reply.c", -+ "src/lib/ares_parse_naptr_reply.c", -+ "src/lib/ares_parse_ns_reply.c", -+ "src/lib/ares_parse_ptr_reply.c", -+ "src/lib/ares_parse_soa_reply.c", -+ "src/lib/ares_parse_srv_reply.c", -+ "src/lib/ares_parse_txt_reply.c", -+ "src/lib/ares_parse_uri_reply.c", + "src/lib/ares_platform.c", + "src/lib/ares_platform.h", + "src/lib/ares_private.h", + "src/lib/ares_process.c", + "src/lib/ares_qcache.c", + "src/lib/ares_query.c", -+ "src/lib/ares_rand.c", + "src/lib/ares_search.c", + "src/lib/ares_send.c", + "src/lib/ares_setup.h", -+ "src/lib/ares_strcasecmp.c", -+ "src/lib/ares_strcasecmp.h", -+ "src/lib/ares_str.c", -+ "src/lib/ares_str.h", + "src/lib/ares_strerror.c", -+ "src/lib/ares_strsplit.c", -+ "src/lib/ares_strsplit.h", + "src/lib/ares_sysconfig.c", + "src/lib/ares_sysconfig_files.c", + "src/lib/ares_timeout.c", + "src/lib/ares_update_servers.c", + "src/lib/ares_version.c", ++ "src/lib/dsa/ares__array.c", ++ "src/lib/dsa/ares__array.h", ++ "src/lib/dsa/ares__htable.c", ++ "src/lib/dsa/ares__htable.h", ++ "src/lib/dsa/ares__htable_asvp.c", ++ "src/lib/dsa/ares__htable_asvp.h", ++ "src/lib/dsa/ares__htable_strvp.c", ++ "src/lib/dsa/ares__htable_strvp.h", ++ "src/lib/dsa/ares__htable_szvp.c", ++ "src/lib/dsa/ares__htable_szvp.h", ++ "src/lib/dsa/ares__htable_vpvp.c", ++ "src/lib/dsa/ares__htable_vpvp.h", ++ "src/lib/dsa/ares__llist.c", ++ "src/lib/dsa/ares__llist.h", ++ "src/lib/dsa/ares__slist.c", ++ "src/lib/dsa/ares__slist.h", ++ "src/lib/event/ares_event.h", ++ "src/lib/event/ares_event_configchg.c", ++ "src/lib/event/ares_event_epoll.c", ++ "src/lib/event/ares_event_kqueue.c", ++ "src/lib/event/ares_event_poll.c", ++ "src/lib/event/ares_event_select.c", ++ "src/lib/event/ares_event_thread.c", ++ "src/lib/event/ares_event_wake_pipe.c", ++ "src/lib/event/ares_event_win32.c", ++ "src/lib/event/ares_event_win32.h", + "src/lib/inet_net_pton.c", + "src/lib/inet_ntop.c", ++ "src/lib/legacy/ares_create_query.c", ++ "src/lib/legacy/ares_expand_name.c", ++ "src/lib/legacy/ares_expand_string.c", ++ "src/lib/legacy/ares_fds.c", ++ "src/lib/legacy/ares_getsock.c", ++ "src/lib/legacy/ares_parse_a_reply.c", ++ "src/lib/legacy/ares_parse_aaaa_reply.c", ++ "src/lib/legacy/ares_parse_caa_reply.c", ++ "src/lib/legacy/ares_parse_mx_reply.c", ++ "src/lib/legacy/ares_parse_naptr_reply.c", ++ "src/lib/legacy/ares_parse_ns_reply.c", ++ "src/lib/legacy/ares_parse_ptr_reply.c", ++ "src/lib/legacy/ares_parse_soa_reply.c", ++ "src/lib/legacy/ares_parse_srv_reply.c", ++ "src/lib/legacy/ares_parse_txt_reply.c", ++ "src/lib/legacy/ares_parse_uri_reply.c", ++ "src/lib/record/ares_dns_mapping.c", ++ "src/lib/record/ares_dns_multistring.c", ++ "src/lib/record/ares_dns_multistring.h", ++ "src/lib/record/ares_dns_name.c", ++ "src/lib/record/ares_dns_parse.c", ++ "src/lib/record/ares_dns_private.h", ++ "src/lib/record/ares_dns_record.c", ++ "src/lib/record/ares_dns_write.c", ++ "src/lib/str/ares__buf.c", ++ "src/lib/str/ares__buf.h", ++ "src/lib/str/ares_str.c", ++ "src/lib/str/ares_str.h", ++ "src/lib/str/ares_strcasecmp.c", ++ "src/lib/str/ares_strcasecmp.h", ++ "src/lib/str/ares_strsplit.c", ++ "src/lib/str/ares_strsplit.h", ++ "src/lib/util/ares__iface_ips.c", ++ "src/lib/util/ares__iface_ips.h", ++ "src/lib/util/ares__threads.c", ++ "src/lib/util/ares__threads.h", ++ "src/lib/util/ares__timeval.c", ++ "src/lib/util/ares_math.c", ++ "src/lib/util/ares_rand.c", + "src/tools/ares_getopt.c", + "src/tools/ares_getopt.h", + ] @@ -1265,10 +1268,10 @@ index 0000000000000000000000000000000000000000..af9cbada10203b387fb9732b346583b1 +} diff --git a/filenames.json b/filenames.json new file mode 100644 -index 0000000000000000000000000000000000000000..646df853a2b985f14fd66cae6af854977c074706 +index 0000000000000000000000000000000000000000..889a487e24721a8ecfef91f5a655892a607bb12f --- /dev/null +++ b/filenames.json -@@ -0,0 +1,737 @@ +@@ -0,0 +1,741 @@ +// This file is automatically generated by generate_gn_filenames_json.py +// DO NOT EDIT +{ @@ -1477,6 +1480,7 @@ index 0000000000000000000000000000000000000000..646df853a2b985f14fd66cae6af85497 + "lib/internal/assert.js", + "lib/internal/assert/assertion_error.js", + "lib/internal/assert/calltracker.js", ++ "lib/internal/assert/utils.js", + "lib/internal/async_hooks.js", + "lib/internal/blob.js", + "lib/internal/blocklist.js", @@ -1548,6 +1552,7 @@ index 0000000000000000000000000000000000000000..646df853a2b985f14fd66cae6af85497 + "lib/internal/http2/util.js", + "lib/internal/idna.js", + "lib/internal/inspector_async_hook.js", ++ "lib/internal/inspector_network_tracking.js", + "lib/internal/js_stream_socket.js", + "lib/internal/legacy/processbinding.js", + "lib/internal/linkedlist.js", @@ -1655,6 +1660,7 @@ index 0000000000000000000000000000000000000000..646df853a2b985f14fd66cae6af85497 + "lib/internal/test/transfer.js", + "lib/internal/test_runner/coverage.js", + "lib/internal/test_runner/harness.js", ++ "lib/internal/test_runner/mock/loader.js", + "lib/internal/test_runner/mock/mock.js", + "lib/internal/test_runner/mock/mock_timers.js", + "lib/internal/test_runner/reporter/dot.js", @@ -1662,6 +1668,7 @@ index 0000000000000000000000000000000000000000..646df853a2b985f14fd66cae6af85497 + "lib/internal/test_runner/reporter/lcov.js", + "lib/internal/test_runner/reporter/spec.js", + "lib/internal/test_runner/reporter/tap.js", ++ "lib/internal/test_runner/reporter/utils.js", + "lib/internal/test_runner/reporter/v8-serializer.js", + "lib/internal/test_runner/runner.js", + "lib/internal/test_runner/test.js", @@ -2007,10 +2014,10 @@ index 0000000000000000000000000000000000000000..646df853a2b985f14fd66cae6af85497 + ] +} diff --git a/src/inspector/BUILD.gn b/src/inspector/BUILD.gn -index 909fd14345fcd988c381e640280f4b33f2e0c351..800431e6659f95f0495cb90b8fa2cccbc9f34661 100644 +index 909fd14345fcd988c381e640280f4b33f2e0c351..3b430a666a7d5cb52ec41f8d828284625f916701 100644 --- a/src/inspector/BUILD.gn +++ b/src/inspector/BUILD.gn -@@ -1,14 +1,202 @@ +@@ -1,14 +1,208 @@ -############################################################################## -# # -# DO NOT EDIT THIS FILE! # @@ -2034,6 +2041,8 @@ index 909fd14345fcd988c381e640280f4b33f2e0c351..800431e6659f95f0495cb90b8fa2cccb + "protocol/NodeTracing.h", + "protocol/NodeRuntime.cpp", + "protocol/NodeRuntime.h", ++ "protocol/Network.cpp", ++ "protocol/Network.h", +] -inspector_gn_build("inspector") { @@ -2066,6 +2075,10 @@ index 909fd14345fcd988c381e640280f4b33f2e0c351..800431e6659f95f0495cb90b8fa2cccb + "tracing_agent.h", + "worker_agent.cc", + "worker_agent.h", ++ "network_inspector.cc", ++ "network_inspector.h", ++ "network_agent.cc", ++ "network_agent.h", + "worker_inspector.cc", + "worker_inspector.h", + ] diff --git a/patches/node/build_compile_with_c_20_support.patch b/patches/node/build_compile_with_c_20_support.patch index ec21a5c0adbc..bef0bb28e97c 100644 --- a/patches/node/build_compile_with_c_20_support.patch +++ b/patches/node/build_compile_with_c_20_support.patch @@ -10,10 +10,10 @@ V8 requires C++20 support as of https://chromium-review.googlesource.com/c/v8/v8 This can be removed when Electron upgrades to a version of Node.js containing the required V8 version. diff --git a/common.gypi b/common.gypi -index 8736ad12eec294070a5160a64248044cd16347c9..216200c279c599f6dee228120ff5f3943fa52ffd 100644 +index bdf1a1f33f3ea09d933757c7fee87c563cc833ab..2eb62610db2f0ebf68fa9a55ffba98291ecfe451 100644 --- a/common.gypi +++ b/common.gypi -@@ -307,7 +307,7 @@ +@@ -305,7 +305,7 @@ 'VCCLCompilerTool': { 'AdditionalOptions': [ '/Zc:__cplusplus', @@ -22,7 +22,7 @@ index 8736ad12eec294070a5160a64248044cd16347c9..216200c279c599f6dee228120ff5f394 ], 'BufferSecurityCheck': 'true', 'DebugInformationFormat': 1, # /Z7 embed info in .obj files -@@ -489,7 +489,7 @@ +@@ -487,7 +487,7 @@ }], [ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi"', { 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ], @@ -31,7 +31,7 @@ index 8736ad12eec294070a5160a64248044cd16347c9..216200c279c599f6dee228120ff5f394 'defines': [ '__STDC_FORMAT_MACROS' ], 'ldflags': [ '-rdynamic' ], 'target_conditions': [ -@@ -660,7 +660,7 @@ +@@ -658,7 +658,7 @@ ['clang==1', { 'xcode_settings': { 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0', diff --git a/patches/node/build_enable_perfetto.patch b/patches/node/build_enable_perfetto.patch index 706d8785d5e2..2d8e77f07f1e 100644 --- a/patches/node/build_enable_perfetto.patch +++ b/patches/node/build_enable_perfetto.patch @@ -33,10 +33,10 @@ index 8d7204f6cb48f783adc4d1c1eb2de0c83b7fffe2..a154559a56bf383d3c26af523c9bb07b // Non-alphabetic chars. diff --git a/lib/internal/http.js b/lib/internal/http.js -index c26c322aafc64ed9ca2a7c1fd703555a251db9de..f94bc5824d6c83fd1feca31c572dcfd3ac130bda 100644 +index 251f51ec454f9cba4023b8b6729241ee753aac13..1de8cac6e3953ce9cab9db03530da327199acfd5 100644 --- a/lib/internal/http.js +++ b/lib/internal/http.js -@@ -10,8 +10,8 @@ const { +@@ -8,8 +8,8 @@ const { const { setUnrefTimeout } = require('internal/timers'); const { getCategoryEnabledBuffer, trace } = internalBinding('trace_events'); const { @@ -47,7 +47,7 @@ index c26c322aafc64ed9ca2a7c1fd703555a251db9de..f94bc5824d6c83fd1feca31c572dcfd3 } = require('internal/constants'); let utcCache; -@@ -46,11 +46,13 @@ function isTraceHTTPEnabled() { +@@ -44,11 +44,13 @@ function isTraceHTTPEnabled() { const traceEventCategory = 'node,node.http'; function traceBegin(...args) { diff --git a/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch b/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch index 3a2bd9173388..ae020d1bb1e9 100644 --- a/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch +++ b/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch @@ -7,10 +7,10 @@ Subject: build: ensure native module compilation fails if not using a new This should not be upstreamed, it is a quality-of-life patch for downstream module builders. diff --git a/common.gypi b/common.gypi -index 689e7fb2339253d0f2be3ccf33ecd76660ccf176..8736ad12eec294070a5160a64248044cd16347c9 100644 +index 697b8bba6a55358924d6986f2eb347a99ff73889..bdf1a1f33f3ea09d933757c7fee87c563cc833ab 100644 --- a/common.gypi +++ b/common.gypi -@@ -87,6 +87,8 @@ +@@ -86,6 +86,8 @@ 'v8_use_perfetto': 0, 'tsan%': 0, @@ -19,7 +19,7 @@ index 689e7fb2339253d0f2be3ccf33ecd76660ccf176..8736ad12eec294070a5160a64248044c ##### end V8 defaults ##### # When building native modules using 'npm install' with the system npm, -@@ -287,6 +289,7 @@ +@@ -285,6 +287,7 @@ # Defines these mostly for node-gyp to pickup. 'defines': [ '_GLIBCXX_USE_CXX11_ABI=1', @@ -27,7 +27,7 @@ index 689e7fb2339253d0f2be3ccf33ecd76660ccf176..8736ad12eec294070a5160a64248044c ], # Forcibly disable -Werror. We support a wide range of compilers, it's -@@ -416,6 +419,11 @@ +@@ -414,6 +417,11 @@ }], ], }], @@ -40,10 +40,10 @@ index 689e7fb2339253d0f2be3ccf33ecd76660ccf176..8736ad12eec294070a5160a64248044c # list in v8/BUILD.gn. ['v8_enable_v8_checks == 1', { diff --git a/configure.py b/configure.py -index 3084cc964cbe6d02f98d08cd6f847ea7f4a3d0db..5b6a3b62082985debf6ebc4bc09a7d056f58514a 100755 +index a6f66c41f75bffcfaf75d4415c694300b7624136..7ca0762fe3590fef7b88ba684de44d99aaecace4 100755 --- a/configure.py +++ b/configure.py -@@ -1559,6 +1559,7 @@ def configure_library(lib, output, pkgname=None): +@@ -1585,6 +1585,7 @@ def configure_library(lib, output, pkgname=None): def configure_v8(o): diff --git a/patches/node/cherry-pick_src_remove_calls_to_recently_deprecated_v8_apis.patch b/patches/node/cherry-pick_src_remove_calls_to_recently_deprecated_v8_apis.patch index 94a97386644d..2d33d6a27302 100644 --- a/patches/node/cherry-pick_src_remove_calls_to_recently_deprecated_v8_apis.patch +++ b/patches/node/cherry-pick_src_remove_calls_to_recently_deprecated_v8_apis.patch @@ -50,10 +50,10 @@ index 4bf80aa6cc6385dc376fd0a3538efc27fe5bd0a2..3e37aa8b0c9696cceb3f3cfab9721f38 BuiltinCodeCacheData cached_data{}; { diff --git a/src/node_contextify.cc b/src/node_contextify.cc -index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca497c99d0 100644 +index 6456d87d4202c013aafe071adbac06852b3ae2c1..28ba7dbe66a44a43c39e3d75edf0be9513bcf732 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc -@@ -850,16 +850,15 @@ void ContextifyScript::New(const FunctionCallbackInfo& args) { +@@ -877,16 +877,15 @@ void ContextifyScript::New(const FunctionCallbackInfo& args) { host_defined_options->Set( isolate, loader::HostDefinedOptions::kID, id_symbol); @@ -79,7 +79,7 @@ index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca host_defined_options); ScriptCompiler::Source source(code, origin, cached_data); ScriptCompiler::CompileOptions compile_options = -@@ -971,7 +970,7 @@ MaybeLocal CompileFunction(Local context, +@@ -998,7 +997,7 @@ MaybeLocal CompileFunction(Local context, Local filename, Local content, std::vector>* parameters) { @@ -88,15 +88,15 @@ index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca ScriptCompiler::Source script_source(content, script_origin); return ScriptCompiler::CompileFunction(context, -@@ -1081,7 +1080,6 @@ bool ContextifyScript::EvalMachine(Local context, +@@ -1108,7 +1107,6 @@ bool ContextifyScript::EvalMachine(Local context, } TryCatchScope try_catch(env); - Isolate::SafeForTerminationScope safe_for_termination(env->isolate()); ContextifyScript* wrapped_script; - ASSIGN_OR_RETURN_UNWRAP(&wrapped_script, args.Holder(), false); + ASSIGN_OR_RETURN_UNWRAP(&wrapped_script, args.This(), false); Local unbound_script = -@@ -1259,8 +1257,7 @@ void ContextifyContext::CompileFunction( +@@ -1286,8 +1284,7 @@ void ContextifyContext::CompileFunction( Local host_defined_options = GetHostDefinedOptions(isolate, id_symbol); ScriptCompiler::Source source = @@ -106,7 +106,7 @@ index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca filename, line_offset, column_offset, -@@ -1315,15 +1312,13 @@ void ContextifyContext::CompileFunction( +@@ -1342,15 +1339,13 @@ void ContextifyContext::CompileFunction( } ScriptCompiler::Source ContextifyContext::GetCommonJSSourceInstance( @@ -123,7 +123,7 @@ index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca line_offset, // line offset column_offset, // column offset true, // is cross origin -@@ -1501,7 +1496,7 @@ void ContextifyContext::ContainsModuleSyntax( +@@ -1528,7 +1523,7 @@ void ContextifyContext::ContainsModuleSyntax( Local host_defined_options = GetHostDefinedOptions(isolate, id_symbol); ScriptCompiler::Source source = GetCommonJSSourceInstance( @@ -132,7 +132,7 @@ index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca ScriptCompiler::CompileOptions options = GetCompileOptions(source); std::vector> params = GetCJSParameters(env->isolate_data()); -@@ -1549,7 +1544,7 @@ void ContextifyContext::ContainsModuleSyntax( +@@ -1576,7 +1571,7 @@ void ContextifyContext::ContainsModuleSyntax( code, String::NewFromUtf8(isolate, "})();").ToLocalChecked()); ScriptCompiler::Source wrapped_source = GetCommonJSSourceInstance( @@ -141,7 +141,7 @@ index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca std::ignore = ScriptCompiler::CompileFunction( context, &wrapped_source, -@@ -1602,8 +1597,7 @@ static void CompileFunctionForCJSLoader( +@@ -1629,8 +1624,7 @@ static void CompileFunctionForCJSLoader( Local symbol = env->vm_dynamic_import_default_internal(); Local hdo = GetHostDefinedOptions(isolate, symbol); @@ -152,10 +152,10 @@ index 708fa03d088e67a50dc4e69bb3f2cc14529dc3f1..4b7c4556d4cc94f589065409ed2a0aca 0, // column offset true, // is cross origin diff --git a/src/node_contextify.h b/src/node_contextify.h -index e96df803b7ec2aa1231d4ab5d4ae0fe863ceb672..d42b5e0c544e726fc3f6d8392a554df9aa480fe9 100644 +index 517e3f44d324900222e1da961a4cd60bbb4a85f9..10715c7eb07715cc11e49734bd54747dad95f6a4 100644 --- a/src/node_contextify.h +++ b/src/node_contextify.h -@@ -95,7 +95,6 @@ class ContextifyContext : public BaseObject { +@@ -99,7 +99,6 @@ class ContextifyContext : public BaseObject { v8::Local id_symbol, const errors::TryCatchScope& try_catch); static v8::ScriptCompiler::Source GetCommonJSSourceInstance( diff --git a/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch b/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch index 04776c705384..db246d414e9e 100644 --- a/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch +++ b/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch @@ -26,10 +26,10 @@ index 364469160af5e348f8890417de16a63c0d1dca67..75d5f58fe02fa8cfa7716ffaf761d567 try { resolvedArgv = Module._resolveFilename(process.argv[1], null, false); diff --git a/lib/internal/process/pre_execution.js b/lib/internal/process/pre_execution.js -index 59308ab817fb864a7b84ecf349c9e08d1c710342..8398657065b28a4451b8fe3996e63838a1645314 100644 +index ea7afd52fab1cf3fde1674be1429a00562b714c0..02cfc8b3328fedb6306abf6c738bea772c674458 100644 --- a/lib/internal/process/pre_execution.js +++ b/lib/internal/process/pre_execution.js -@@ -245,12 +245,14 @@ function patchProcessObject(expandArgv1) { +@@ -247,12 +247,14 @@ function patchProcessObject(expandArgv1) { if (expandArgv1 && process.argv[1] && !StringPrototypeStartsWith(process.argv[1], '-')) { // Expand process.argv[1] into a full path. diff --git a/patches/node/chore_remove_--no-harmony-atomics_related_code.patch b/patches/node/chore_remove_--no-harmony-atomics_related_code.patch index b6e228e7655e..cc52a3017ce2 100644 --- a/patches/node/chore_remove_--no-harmony-atomics_related_code.patch +++ b/patches/node/chore_remove_--no-harmony-atomics_related_code.patch @@ -9,7 +9,7 @@ This patch can be removed when Node.js upgrades to a version of V8 containing the above CL. diff --git a/lib/.eslintrc.yaml b/lib/.eslintrc.yaml -index 0cf84a0da5ee9e63d7b01d0a27946fc29090e516..ee16099ddc9abe5c19b319c111d1319c33b17be4 100644 +index 74e867ace6207751a96b4da03802b50b620dbd7b..53ceabeb58f56ebd27e60fd49c362d26e361e6d8 100644 --- a/lib/.eslintrc.yaml +++ b/lib/.eslintrc.yaml @@ -30,10 +30,6 @@ rules: diff --git a/patches/node/chore_remove_calls_to_v8_functioncallbackinfo_holder.patch b/patches/node/chore_remove_calls_to_v8_functioncallbackinfo_holder.patch deleted file mode 100644 index 0c9f1f667279..000000000000 --- a/patches/node/chore_remove_calls_to_v8_functioncallbackinfo_holder.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: John Kleinschmidt -Date: Mon, 10 Jun 2024 11:18:56 -0500 -Subject: chore: remove calls to v8::FunctionCallbackInfo::Holder() - -Use This() instead. -Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5604487 -https://issues.chromium.org/issues/333672197 - -This patch can be removed once Node addresses this change. - -diff --git a/src/node_internals.h b/src/node_internals.h -index 5dff80ee287256ba40bfa496df6db60a18fbb9d7..a9162b4e2ee48dbebec8dc52b6990369be15fe4a 100644 ---- a/src/node_internals.h -+++ b/src/node_internals.h -@@ -67,7 +67,7 @@ template - void GetSockOrPeerName(const v8::FunctionCallbackInfo& args) { - T* wrap; - ASSIGN_OR_RETURN_UNWRAP(&wrap, -- args.Holder(), -+ args.This(), - args.GetReturnValue().Set(UV_EBADF)); - CHECK(args[0]->IsObject()); - sockaddr_storage storage; diff --git a/patches/node/chore_remove_use_of_deprecated_kmaxlength.patch b/patches/node/chore_remove_use_of_deprecated_kmaxlength.patch index 786506d1b53e..ded4d1f30da2 100644 --- a/patches/node/chore_remove_use_of_deprecated_kmaxlength.patch +++ b/patches/node/chore_remove_use_of_deprecated_kmaxlength.patch @@ -21,10 +21,10 @@ index 606a6f5caa3b11b6d2a9068ed2fd65800530a5eb..080dcce21da05ccea398d8a856deb397 typedef void (*FreeCallback)(char* data, void* hint); diff --git a/src/node_errors.h b/src/node_errors.h -index ad40141ca92c5a46ae2e4dfa96e4d6c239da8516..c462e5afcaa2328c4908fff462fc7c9fbfc1fd5f 100644 +index 1662491bac44311421eeb7ee35bb47c025162abf..a62b18e832986ee38d93b412b36020a2c22255a9 100644 --- a/src/node_errors.h +++ b/src/node_errors.h -@@ -232,7 +232,7 @@ inline v8::Local ERR_BUFFER_TOO_LARGE(v8::Isolate* isolate) { +@@ -230,7 +230,7 @@ inline v8::Local ERR_BUFFER_TOO_LARGE(v8::Isolate* isolate) { char message[128]; snprintf(message, sizeof(message), "Cannot create a Buffer larger than 0x%zx bytes", diff --git a/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch b/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch index e6052529e203..0c0aebff563b 100644 --- a/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch +++ b/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch @@ -7,10 +7,10 @@ common.gypi is a file that's included in the node header bundle, despite the fact that we do not build node with gyp. diff --git a/common.gypi b/common.gypi -index 7c0b4a0851b295ee0c86f701c997b739a3cb7a7a..689e7fb2339253d0f2be3ccf33ecd76660ccf176 100644 +index 1ece4f5e494533ea0fa25e0d35143fe424dbf70b..697b8bba6a55358924d6986f2eb347a99ff73889 100644 --- a/common.gypi +++ b/common.gypi -@@ -89,6 +89,23 @@ +@@ -88,6 +88,23 @@ ##### end V8 defaults ##### diff --git a/patches/node/fix_add_property_query_interceptors.patch b/patches/node/fix_add_property_query_interceptors.patch index 891e98ad14a6..b0c4211c1c62 100644 --- a/patches/node/fix_add_property_query_interceptors.patch +++ b/patches/node/fix_add_property_query_interceptors.patch @@ -13,7 +13,7 @@ CL: https://chromium-review.googlesource.com/c/v8/v8/+/5630388 This patch can be removed when the node change is incorporated into main. diff --git a/src/node_contextify.cc b/src/node_contextify.cc -index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd295fe5412 100644 +index 28ba7dbe66a44a43c39e3d75edf0be9513bcf732..0401b968916e5f45d148281c74b7e465e11439b8 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -49,6 +49,7 @@ using v8::FunctionTemplate; @@ -24,7 +24,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 using v8::Isolate; using v8::Just; using v8::Local; -@@ -457,14 +458,15 @@ bool ContextifyContext::IsStillInitializing(const ContextifyContext* ctx) { +@@ -484,14 +485,15 @@ bool ContextifyContext::IsStillInitializing(const ContextifyContext* ctx) { } // static @@ -44,7 +44,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 Local context = ctx->context(); Local sandbox = ctx->sandbox(); -@@ -488,18 +490,22 @@ void ContextifyContext::PropertyGetterCallback( +@@ -515,18 +517,22 @@ void ContextifyContext::PropertyGetterCallback( rv = ctx->global_proxy(); args.GetReturnValue().Set(rv); @@ -70,7 +70,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 Local context = ctx->context(); PropertyAttribute attributes = PropertyAttribute::None; -@@ -517,8 +523,9 @@ void ContextifyContext::PropertySetterCallback( +@@ -544,8 +550,9 @@ void ContextifyContext::PropertySetterCallback( (static_cast(attributes) & static_cast(PropertyAttribute::ReadOnly)); @@ -82,7 +82,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 // true for x = 5 // false for this.x = 5 -@@ -537,11 +544,16 @@ void ContextifyContext::PropertySetterCallback( +@@ -564,11 +571,16 @@ void ContextifyContext::PropertySetterCallback( bool is_declared = is_declared_on_global_proxy || is_declared_on_sandbox; if (!is_declared && args.ShouldThrowOnError() && is_contextual_store && @@ -103,7 +103,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 Local desc; if (is_declared_on_sandbox && -@@ -555,19 +567,23 @@ void ContextifyContext::PropertySetterCallback( +@@ -582,19 +594,23 @@ void ContextifyContext::PropertySetterCallback( // We have to specify the return value for any contextual or get/set // property if (desc_obj->HasOwnProperty(context, env->get_string()).FromMaybe(false) || @@ -132,7 +132,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 Local context = ctx->context(); -@@ -577,19 +593,23 @@ void ContextifyContext::PropertyDescriptorCallback( +@@ -604,19 +620,23 @@ void ContextifyContext::PropertyDescriptorCallback( Local desc; if (sandbox->GetOwnPropertyDescriptor(context, property).ToLocal(&desc)) { args.GetReturnValue().Set(desc); @@ -159,7 +159,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 Local context = ctx->context(); Isolate* isolate = context->GetIsolate(); -@@ -608,7 +628,7 @@ void ContextifyContext::PropertyDefinerCallback( +@@ -635,7 +655,7 @@ void ContextifyContext::PropertyDefinerCallback( // If the property is set on the global as neither writable nor // configurable, don't change it on the global or sandbox. if (is_declared && read_only && dont_delete) { @@ -168,7 +168,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 } Local sandbox = ctx->sandbox(); -@@ -631,6 +651,9 @@ void ContextifyContext::PropertyDefinerCallback( +@@ -658,6 +678,9 @@ void ContextifyContext::PropertyDefinerCallback( desc.has_set() ? desc.set() : Undefined(isolate).As()); define_prop_on_sandbox(&desc_for_sandbox); @@ -178,7 +178,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 } else { Local value = desc.has_value() ? desc.value() : Undefined(isolate).As(); -@@ -642,26 +665,32 @@ void ContextifyContext::PropertyDefinerCallback( +@@ -669,26 +692,32 @@ void ContextifyContext::PropertyDefinerCallback( PropertyDescriptor desc_for_sandbox(value); define_prop_on_sandbox(&desc_for_sandbox); } @@ -217,7 +217,7 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 } // static -@@ -681,76 +710,84 @@ void ContextifyContext::PropertyEnumeratorCallback( +@@ -708,76 +737,84 @@ void ContextifyContext::PropertyEnumeratorCallback( } // static @@ -328,10 +328,10 @@ index 4b7c4556d4cc94f589065409ed2a0aca497c99d0..b4d6116f0c84b0cf3e1045c6b9571fd2 void ContextifyScript::CreatePerIsolateProperties( diff --git a/src/node_contextify.h b/src/node_contextify.h -index d42b5e0c544e726fc3f6d8392a554df9aa480fe9..ea2d513463057715127cb4b4f2d66b4cfcf71351 100644 +index 10715c7eb07715cc11e49734bd54747dad95f6a4..49b9fabb399aed962e0d29e784a25ca4e9780a8f 100644 --- a/src/node_contextify.h +++ b/src/node_contextify.h -@@ -107,42 +107,39 @@ class ContextifyContext : public BaseObject { +@@ -111,42 +111,39 @@ class ContextifyContext : public BaseObject { const v8::FunctionCallbackInfo& args); static void WeakCallback( const v8::WeakCallbackInfo& data); @@ -541,10 +541,10 @@ index bce7ae07214ddf970a530db29ed6970e14b7a5ed..85f82180d48d6cfd7738cd7b1e504f23 } diff --git a/src/node_external_reference.h b/src/node_external_reference.h -index 9238f2d4d7376b22e264dbc9359b480937d29676..b5c1df6941616642075babdad81be00ce63ffd56 100644 +index c4aba23510872d66b58a1adc88cdd1ee85a86cfe..6d9988810b951771064de523bc20aaf389a9c08a 100644 --- a/src/node_external_reference.h +++ b/src/node_external_reference.h -@@ -59,16 +59,17 @@ class ExternalReferenceRegistry { +@@ -66,16 +66,17 @@ class ExternalReferenceRegistry { V(v8::FunctionCallback) \ V(v8::AccessorNameGetterCallback) \ V(v8::AccessorNameSetterCallback) \ diff --git a/patches/node/fix_assert_module_in_the_renderer_process.patch b/patches/node/fix_assert_module_in_the_renderer_process.patch index 64ef1f6fd03e..b89325039f07 100644 --- a/patches/node/fix_assert_module_in_the_renderer_process.patch +++ b/patches/node/fix_assert_module_in_the_renderer_process.patch @@ -12,19 +12,19 @@ if the override has been disabled. This will be upstreamed. -diff --git a/lib/assert.js b/lib/assert.js -index eadc3844c20128bb9f9a269e5d599f8febf17421..e4615e55c0847d969e9c95295ddecfc640019c99 100644 ---- a/lib/assert.js -+++ b/lib/assert.js -@@ -66,6 +66,7 @@ const { inspect } = require('internal/util/inspect'); - const { isPromise, isRegExp } = require('internal/util/types'); +diff --git a/lib/internal/assert/utils.js b/lib/internal/assert/utils.js +index 59b5a16f1309a5e4055bccfdb7a529045ad30402..bfdaf6211466a01b64b7942f7b16c480283278ff 100644 +--- a/lib/internal/assert/utils.js ++++ b/lib/internal/assert/utils.js +@@ -25,6 +25,7 @@ const AssertionError = require('internal/assert/assertion_error'); + const { openSync, closeSync, readSync } = require('fs'); const { EOL } = require('internal/constants'); const { BuiltinModule } = require('internal/bootstrap/realm'); +const { getEmbedderOptions } = require('internal/options'); - const { isError, deprecate } = require('internal/util'); + const { isError } = require('internal/util'); const errorCache = new SafeMap(); -@@ -294,8 +295,16 @@ function getErrMessage(message, fn) { +@@ -167,8 +168,16 @@ function getErrMessage(message, fn) { ErrorCaptureStackTrace(err, fn); if (errorStackTraceLimitIsWritable) Error.stackTraceLimit = tmpLimit; @@ -44,7 +44,7 @@ index eadc3844c20128bb9f9a269e5d599f8febf17421..e4615e55c0847d969e9c95295ddecfc6 let filename = call.getFileName(); const line = call.getLineNumber() - 1; diff --git a/src/api/environment.cc b/src/api/environment.cc -index fe41619f45913fe31a59771c8d1af6cde3b89f66..bb6c6d51846fed1d160ec9dcd5a5dd67b4fef911 100644 +index b9098d102b40adad7fafcc331ac62870617019b9..cb9269a31e073caf86164aa39c0640370ade60fd 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc @@ -244,6 +244,9 @@ void SetIsolateErrorHandlers(v8::Isolate* isolate, const IsolateSettings& s) { @@ -58,10 +58,10 @@ index fe41619f45913fe31a59771c8d1af6cde3b89f66..bb6c6d51846fed1d160ec9dcd5a5dd67 } diff --git a/src/node_options.cc b/src/node_options.cc -index 74955717117001393e8b55809b4e4a1424019dad..409c6e3918e3ef7c9d35f87e093cb965cb889dd7 100644 +index 818baf611fcab7838a339f3ea137467653e270d0..4e3c82e9528b04fd1a0cc99d30fb885e4b224bc9 100644 --- a/src/node_options.cc +++ b/src/node_options.cc -@@ -1393,14 +1393,16 @@ void GetEmbedderOptions(const FunctionCallbackInfo& args) { +@@ -1405,14 +1405,16 @@ void GetEmbedderOptions(const FunctionCallbackInfo& args) { } Isolate* isolate = args.GetIsolate(); diff --git a/patches/node/fix_capture_embedder_exceptions_before_entering_v8.patch b/patches/node/fix_capture_embedder_exceptions_before_entering_v8.patch index 3f1ec280394d..c2909b32d8f5 100644 --- a/patches/node/fix_capture_embedder_exceptions_before_entering_v8.patch +++ b/patches/node/fix_capture_embedder_exceptions_before_entering_v8.patch @@ -10,7 +10,7 @@ in the nodejs test suite. Need to be followed-up with upstream on the broader change as there maybe other callsites. diff --git a/src/handle_wrap.cc b/src/handle_wrap.cc -index 69e2a389f9e1480a1a4ba37f5df5356b42f7d52d..0c29b00298b44b97f88a63aa5b89f1c201f6326a 100644 +index be02d4aaa04685cbd6a9ecfe082e38f179129ab5..277748a30bd97ae816d9ba1f2d73851a29b81010 100644 --- a/src/handle_wrap.cc +++ b/src/handle_wrap.cc @@ -148,6 +148,9 @@ void HandleWrap::OnClose(uv_handle_t* handle) { @@ -24,10 +24,10 @@ index 69e2a389f9e1480a1a4ba37f5df5356b42f7d52d..0c29b00298b44b97f88a63aa5b89f1c2 wrap->object()->Has(env->context(), env->handle_onclose_symbol()) .FromMaybe(false)) { diff --git a/src/node_contextify.cc b/src/node_contextify.cc -index d873792ab95e41d54579f552c6c1fa43447ca4cd..708fa03d088e67a50dc4e69bb3f2cc14529dc3f1 100644 +index 8951cd378a9025f58fada47cf96f686d14639f95..6456d87d4202c013aafe071adbac06852b3ae2c1 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc -@@ -460,6 +460,7 @@ bool ContextifyContext::IsStillInitializing(const ContextifyContext* ctx) { +@@ -487,6 +487,7 @@ bool ContextifyContext::IsStillInitializing(const ContextifyContext* ctx) { void ContextifyContext::PropertyGetterCallback( Local property, const PropertyCallbackInfo& args) { @@ -35,7 +35,7 @@ index d873792ab95e41d54579f552c6c1fa43447ca4cd..708fa03d088e67a50dc4e69bb3f2cc14 ContextifyContext* ctx = ContextifyContext::Get(args); // Still initializing -@@ -467,6 +468,8 @@ void ContextifyContext::PropertyGetterCallback( +@@ -494,6 +495,8 @@ void ContextifyContext::PropertyGetterCallback( Local context = ctx->context(); Local sandbox = ctx->sandbox(); @@ -44,7 +44,7 @@ index d873792ab95e41d54579f552c6c1fa43447ca4cd..708fa03d088e67a50dc4e69bb3f2cc14 MaybeLocal maybe_rv = sandbox->GetRealNamedProperty(context, property); if (maybe_rv.IsEmpty()) { -@@ -476,6 +479,11 @@ void ContextifyContext::PropertyGetterCallback( +@@ -503,6 +506,11 @@ void ContextifyContext::PropertyGetterCallback( Local rv; if (maybe_rv.ToLocal(&rv)) { diff --git a/patches/node/fix_crypto_tests_to_run_with_bssl.patch b/patches/node/fix_crypto_tests_to_run_with_bssl.patch index dfbcdda17315..83b02e0c3fcd 100644 --- a/patches/node/fix_crypto_tests_to_run_with_bssl.patch +++ b/patches/node/fix_crypto_tests_to_run_with_bssl.patch @@ -608,7 +608,7 @@ index 61bd65fc92678c24baa3c0eb9ffb1ead64ace70b..cb690351696a811210b9d990ee4cde3c }; assert.throws(() => crypto.scrypt('pass', 'salt', 1, options, () => {}), diff --git a/test/parallel/test-crypto-sign-verify.js b/test/parallel/test-crypto-sign-verify.js -index 56e5c16c2867f019caccf42f228193cae6167150..dc585c44db9894ae57a5e11d453af03e1ea4f211 100644 +index 9dd586a1a1f9a00d9bb0af5b0532e81e7b96a5ce..1a0d0cfc09fb61d65472723ba54e1d0be69b5c68 100644 --- a/test/parallel/test-crypto-sign-verify.js +++ b/test/parallel/test-crypto-sign-verify.js @@ -28,6 +28,7 @@ const keySize = 2048; diff --git a/patches/node/fix_expose_the_built-in_electron_module_via_the_esm_loader.patch b/patches/node/fix_expose_the_built-in_electron_module_via_the_esm_loader.patch index fc2f7ead31d2..ee7a6cf34aa6 100644 --- a/patches/node/fix_expose_the_built-in_electron_module_via_the_esm_loader.patch +++ b/patches/node/fix_expose_the_built-in_electron_module_via_the_esm_loader.patch @@ -6,10 +6,10 @@ Subject: fix: expose the built-in electron module via the ESM loader This allows usage of `import { app } from 'electron'` and `import('electron')` natively in the browser + non-sandboxed renderer diff --git a/lib/internal/modules/esm/get_format.js b/lib/internal/modules/esm/get_format.js -index 1931688e85d05ee2da4f88efb05d635cb43be233..afccc24392abff9eef2b9953fcffeb79ee71ad15 100644 +index 1fe5564545dbc86d7f2968274a25ee1579bcbf28..b876af21a0e97ae06dc344d9f78c8f5c7e403d43 100644 --- a/lib/internal/modules/esm/get_format.js +++ b/lib/internal/modules/esm/get_format.js -@@ -30,6 +30,7 @@ const protocolHandlers = { +@@ -31,6 +31,7 @@ const protocolHandlers = { 'http:': getHttpProtocolModuleFormat, 'https:': getHttpProtocolModuleFormat, 'node:'() { return 'builtin'; }, @@ -108,10 +108,10 @@ index 8f4b6b25d8889686d00613fd9821b0aa822a946a..89ca269294ee1afa7f5aeb0ac6b8958f // or as the initial entry point when the ESM loader handles a CommonJS entry. translators.set('commonjs', async function commonjsStrategy(url, source, diff --git a/lib/internal/url.js b/lib/internal/url.js -index 4103775560644e4f1a78bf11da6cc07d5dc4cda2..474cf3b44d680c4c897553d5e98c3c43699e6592 100644 +index e6ed5466b8807a52633d8406824058bdc8c2ce13..e055facddf086eb8fb456b865ce006cdb7602b0a 100644 --- a/lib/internal/url.js +++ b/lib/internal/url.js -@@ -1459,6 +1459,8 @@ function fileURLToPath(path, options = kEmptyObject) { +@@ -1485,6 +1485,8 @@ function fileURLToPath(path, options = kEmptyObject) { path = new URL(path); else if (!isURL(path)) throw new ERR_INVALID_ARG_TYPE('path', ['string', 'URL'], path); diff --git a/patches/node/fix_expose_tracing_agent_and_use_tracing_tracingcontroller_instead.patch b/patches/node/fix_expose_tracing_agent_and_use_tracing_tracingcontroller_instead.patch index 4eb5d30bea95..cf1dc866553c 100644 --- a/patches/node/fix_expose_tracing_agent_and_use_tracing_tracingcontroller_instead.patch +++ b/patches/node/fix_expose_tracing_agent_and_use_tracing_tracingcontroller_instead.patch @@ -7,10 +7,10 @@ Subject: fix: expose tracing::Agent and use tracing::TracingController instead This API is used by Electron to create Node's tracing controller. diff --git a/src/api/environment.cc b/src/api/environment.cc -index cb4095dee52c5a5d40815c20c33065fd03ce0804..60be2353cf0e77287dfda965c820cf36655a7ce5 100644 +index 46106fa94b3055648e4f01cd28860d427268a253..e0bf37f09dceb93af58990438ab577a9d4b843e8 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc -@@ -558,6 +558,10 @@ MultiIsolatePlatform* GetMultiIsolatePlatform(IsolateData* env) { +@@ -557,6 +557,10 @@ MultiIsolatePlatform* GetMultiIsolatePlatform(IsolateData* env) { return env->platform(); } diff --git a/patches/node/fix_handle_boringssl_and_openssl_incompatibilities.patch b/patches/node/fix_handle_boringssl_and_openssl_incompatibilities.patch index 267bdf2ea9d8..82c13656c6be 100644 --- a/patches/node/fix_handle_boringssl_and_openssl_incompatibilities.patch +++ b/patches/node/fix_handle_boringssl_and_openssl_incompatibilities.patch @@ -17,7 +17,7 @@ Upstreams: - https://github.com/nodejs/node/pull/39136 diff --git a/src/crypto/crypto_cipher.cc b/src/crypto/crypto_cipher.cc -index 67cd4f2adf15e7d8511f561c54163b1842e971af..88471fd6bc0b8a810bb55464cd2d1933d11a8623 100644 +index 4f0637f9511d1b90ae9d33760428dceb772667bd..5aba390c49613816ac359dfe995dc2c0a93f2206 100644 --- a/src/crypto/crypto_cipher.cc +++ b/src/crypto/crypto_cipher.cc @@ -1088,7 +1088,7 @@ void PublicKeyCipher::Cipher(const FunctionCallbackInfo& args) { @@ -109,7 +109,7 @@ index 85d48dfd2c15c453707bf6eb94e22f89b4f856b2..fe31a9a7f465a03d2de365cef392dfbb crypto::EVPKeyPointer key(raw_key); diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc -index e26e64834bee7fd9cd4e18bfe69a4f41d51fa8e9..a5b1ec5ea6284ab9892d5a2e576f369ae3bbac91 100644 +index cef0c877c67643d47da787eddb95ed5a410a941b..1b8af49a48f1a34a92d4f0b502d435f3a4ab5d8e 100644 --- a/src/crypto/crypto_context.cc +++ b/src/crypto/crypto_context.cc @@ -63,7 +63,7 @@ inline X509_STORE* GetOrCreateRootCertStore() { @@ -121,7 +121,7 @@ index e26e64834bee7fd9cd4e18bfe69a4f41d51fa8e9..a5b1ec5ea6284ab9892d5a2e576f369a if (!bio) return nullptr; ByteSource bsrc = ByteSource::FromStringOrBuffer(env, v); if (bsrc.size() > INT_MAX) return nullptr; -@@ -861,10 +861,12 @@ void SecureContext::SetDHParam(const FunctionCallbackInfo& args) { +@@ -882,10 +882,12 @@ void SecureContext::SetDHParam(const FunctionCallbackInfo& args) { // If the user specified "auto" for dhparams, the JavaScript layer will pass // true to this function instead of the original string. Any other string // value will be interpreted as custom DH parameters below. @@ -135,7 +135,7 @@ index e26e64834bee7fd9cd4e18bfe69a4f41d51fa8e9..a5b1ec5ea6284ab9892d5a2e576f369a DHPointer dh; { diff --git a/src/crypto/crypto_dh.cc b/src/crypto/crypto_dh.cc -index b4447102a8478639a5aa774e583834d79808603f..fa507b6d3c04691f44b3302058d2007a966306db 100644 +index dac37f52b9687cadfa2d02152241e9a6e4c16ddf..d47cfa4ad8707ed7f0a42e7fe176fec25be64305 100644 --- a/src/crypto/crypto_dh.cc +++ b/src/crypto/crypto_dh.cc @@ -154,13 +154,11 @@ bool DiffieHellman::Init(BignumPointer&& bn_p, int g) { @@ -237,7 +237,7 @@ index 3fa4a415dc911a13afd90dfb31c1ed4ad0fd268f..fa48dffc31342c44a1c1207b9d4c3dc7 return EVPKeyCtxPointer(); diff --git a/src/crypto/crypto_keys.cc b/src/crypto/crypto_keys.cc -index ce28ec8f37a5e483b11284bc866cb649ad7b61cf..eaaa151a770a23a498984cf03c0e9b999a4ad8e8 100644 +index 35474c31bfc2e3692b7ca10e4ed7026b9c275dfb..43c42c14f75018d4705f218fe4ed7e5dacb46bb8 100644 --- a/src/crypto/crypto_keys.cc +++ b/src/crypto/crypto_keys.cc @@ -1239,6 +1239,7 @@ void KeyObjectHandle::GetAsymmetricKeyType( @@ -353,7 +353,7 @@ index 990638ec3993bde40ad3dd40d373d816ebc66a6a..63d971e1fe6b861e29c12f04563701b0 } // namespace diff --git a/src/env.h b/src/env.h -index 1ca2d5ed40fa3c72256182fa4ca4b6a09190ca16..c6cc2c874b603f595a008a7d3bc229d6b9834f55 100644 +index 30561ab7a24c734be71ed29d963c11e2ea2c2b22..7cb77fb4f35a60fbda5b868798321ac8b6340bfa 100644 --- a/src/env.h +++ b/src/env.h @@ -49,7 +49,7 @@ @@ -365,7 +365,7 @@ index 1ca2d5ed40fa3c72256182fa4ca4b6a09190ca16..c6cc2c874b603f595a008a7d3bc229d6 #include #endif -@@ -1040,7 +1040,7 @@ class Environment : public MemoryRetainer { +@@ -1065,7 +1065,7 @@ class Environment : public MemoryRetainer { kExitInfoFieldCount }; @@ -388,7 +388,7 @@ index cf051585e779e2b03bd7b95fe5008b89cc7f8162..9de49c6828468fdf846dcd4ad445390f #if NODE_OPENSSL_HAS_QUIC #include diff --git a/src/node_options.cc b/src/node_options.cc -index e94e4dbc959cee1fcab68799edc84745dfc07ec8..74955717117001393e8b55809b4e4a1424019dad 100644 +index dba59c5560c22899bd108789360f21fd85dd41bf..818baf611fcab7838a339f3ea137467653e270d0 100644 --- a/src/node_options.cc +++ b/src/node_options.cc @@ -6,7 +6,7 @@ @@ -401,7 +401,7 @@ index e94e4dbc959cee1fcab68799edc84745dfc07ec8..74955717117001393e8b55809b4e4a14 #endif diff --git a/src/node_options.h b/src/node_options.h -index c978c339cbbb388f0f49d26ded0e92bb52a7973a..d13c97e8a0e1ea0212fb34a0178b3a7c74ff43e6 100644 +index 10c220f66122336215f25b9674acfdfe6df82a8e..e8b2243d24fe95ff31254071133fb646e186c07e 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -11,7 +11,7 @@ diff --git a/patches/node/fix_revert_src_lb_reducing_c_calls_of_esm_legacy_main_resolve.patch b/patches/node/fix_revert_src_lb_reducing_c_calls_of_esm_legacy_main_resolve.patch index dfeebbd3586e..831e237f29f4 100644 --- a/patches/node/fix_revert_src_lb_reducing_c_calls_of_esm_legacy_main_resolve.patch +++ b/patches/node/fix_revert_src_lb_reducing_c_calls_of_esm_legacy_main_resolve.patch @@ -142,7 +142,7 @@ index 69f73f829706deddc4f328b78af9d58434af647d..1d53a2a47423150e822bb917b2725d3a const encodedSepRegEx = /%2F|%5C/i; diff --git a/src/node_file.cc b/src/node_file.cc -index 80ff36f2463035ed32cb8b7b826bfe94c339dbe2..cca6c6775bc8dd35b897498c7dd65b2e3957ee40 100644 +index 73ad5a1a2c092d7f8dac84585fb9b13e76e84e13..039f693de14bec248f93262ad70f2736c24827e3 100644 --- a/src/node_file.cc +++ b/src/node_file.cc @@ -19,14 +19,11 @@ diff --git a/patches/node/spec_add_iterator_to_global_intrinsics.patch b/patches/node/spec_add_iterator_to_global_intrinsics.patch index 3e61af19f7a9..45f3a8e62cf0 100644 --- a/patches/node/spec_add_iterator_to_global_intrinsics.patch +++ b/patches/node/spec_add_iterator_to_global_intrinsics.patch @@ -6,7 +6,7 @@ Subject: spec: add Iterator to global intrinsics Ref: https://chromium-review.googlesource.com/c/v8/v8/+/4266490 diff --git a/test/common/globals.js b/test/common/globals.js -index 8b9b6b34f6abaf713f362e8bcdbd140a86dfa767..7b5643a926d970e0e6c91d52b86ebd857d2cf062 100644 +index cb7c1629007ecfc6c6a1aae0e6d1e9a50f07d147..5d1c4415eeb09e92d062330afc0aecb1d297b6d3 100644 --- a/test/common/globals.js +++ b/test/common/globals.js @@ -63,6 +63,7 @@ const intrinsics = new Set([ diff --git a/patches/node/src_account_for_openssl_unexpected_version.patch b/patches/node/src_account_for_openssl_unexpected_version.patch deleted file mode 100644 index 6a8e3f6dd51c..000000000000 --- a/patches/node/src_account_for_openssl_unexpected_version.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Shelley Vohr -Date: Thu, 25 Jul 2024 12:19:41 +0200 -Subject: src: account for OpenSSL unexpected version - -Fixes a crash that occurs because the logic to parse for an OpenSSL -version didn't account for OpenSSL_version returning a value that -doesn't match the expected pattern of OpenSSL 1.1.0i 14 Aug 2018. -In Electron's case, OpenSSL_version returns just BoringSSL, which in -combination with the search logic not accounting for the delimiter not -being present caused an out-of-bounds crash: - -out_of_range was thrown in -fno-exceptions mode with message "basic_string" - -This fixes that by checking for the null terminator and returning 0.0.0 -when the target delimiter isn't present. - -Upstreamed at https://github.com/nodejs/node/pull/54038 - -diff --git a/src/node_metadata.cc b/src/node_metadata.cc -index 985d44b3cd1f1aa5c09f99e868083f2e48c7e32b..1876249eb88065f649aee2c8348f42ec90ab70da 100644 ---- a/src/node_metadata.cc -+++ b/src/node_metadata.cc -@@ -48,14 +48,19 @@ Metadata metadata; - - #if HAVE_OPENSSL - static constexpr size_t search(const char* s, char c, size_t n = 0) { -- return *s == c ? n : search(s + 1, c, n + 1); -+ return *s == '\0' ? n : (*s == c ? n : search(s + 1, c, n + 1)); - } - - static inline std::string GetOpenSSLVersion() { - // sample openssl version string format - // for reference: "OpenSSL 1.1.0i 14 Aug 2018" - const char* version = OpenSSL_version(OPENSSL_VERSION); -- const size_t start = search(version, ' ') + 1; -+ const size_t first_space = search(version, ' '); -+ if (version[first_space] == '\0') { -+ return std::string("0.0.0"); -+ } -+ -+ const size_t start = first_space + 1; - const size_t len = search(&version[start], ' '); - return std::string(version, start, len); - } diff --git a/patches/node/src_do_not_use_deprecated_v8_api.patch b/patches/node/src_do_not_use_deprecated_v8_api.patch index eb0549b2e5d2..7e2ac1f2eb83 100644 --- a/patches/node/src_do_not_use_deprecated_v8_api.patch +++ b/patches/node/src_do_not_use_deprecated_v8_api.patch @@ -104,10 +104,10 @@ index 3e37aa8b0c9696cceb3f3cfab9721f38c74a2fba..78f20de6b127961e9de7b5caaeca702e SetMethod(isolate, target, "getCacheUsage", BuiltinLoader::GetCacheUsage); diff --git a/src/node_external_reference.h b/src/node_external_reference.h -index a3317d25ad6a963751073287dba71cc766ada2a2..9238f2d4d7376b22e264dbc9359b480937d29676 100644 +index 4e2ad9024020fa0851da41da44afccdf188c7044..c4aba23510872d66b58a1adc88cdd1ee85a86cfe 100644 --- a/src/node_external_reference.h +++ b/src/node_external_reference.h -@@ -57,8 +57,6 @@ class ExternalReferenceRegistry { +@@ -64,8 +64,6 @@ class ExternalReferenceRegistry { V(CFunctionWithBool) \ V(const v8::CFunctionInfo*) \ V(v8::FunctionCallback) \ diff --git a/patches/node/src_remove_dependency_on_wrapper-descriptor-based_cppheap.patch b/patches/node/src_remove_dependency_on_wrapper-descriptor-based_cppheap.patch index 1640e89608dd..78b759febc7b 100644 --- a/patches/node/src_remove_dependency_on_wrapper-descriptor-based_cppheap.patch +++ b/patches/node/src_remove_dependency_on_wrapper-descriptor-based_cppheap.patch @@ -16,7 +16,7 @@ patch: (cherry picked from commit 30329d06235a9f9733b1d4da479b403462d1b326) diff --git a/src/env-inl.h b/src/env-inl.h -index 18b1461e50e456728cbc5e26259d06e7602a8d11..c5973e430debcf354afb9c9288c9ba8cf8f538ee 100644 +index d98a32d6ec311459877bc3b0de33cca4766aeda7..9fc934975b015b97ddd84bf3eea5d53144130035 100644 --- a/src/env-inl.h +++ b/src/env-inl.h @@ -62,31 +62,6 @@ inline uv_loop_t* IsolateData::event_loop() const { @@ -52,7 +52,7 @@ index 18b1461e50e456728cbc5e26259d06e7602a8d11..c5973e430debcf354afb9c9288c9ba8c return &(wrapper_data_->cppgc_id); } diff --git a/src/env.cc b/src/env.cc -index ea0ae4e08ec7dd98721bc89d2fe80fa47eaddfec..0f9846baeef6fd490cdc43893e29ea2d0a731d1d 100644 +index 38802b1e9acf9b3e99fdc4f39770e896393befe3..e0433e29ca98c42a38d1da6d66085fdea1edde29 100644 --- a/src/env.cc +++ b/src/env.cc @@ -22,6 +22,7 @@ @@ -86,7 +86,7 @@ index ea0ae4e08ec7dd98721bc89d2fe80fa47eaddfec..0f9846baeef6fd490cdc43893e29ea2d constexpr uint16_t kDefaultCppGCEmbedderID = 0x90de; Mutex IsolateData::isolate_data_mutex_; std::unordered_map> -@@ -551,36 +559,16 @@ IsolateData::IsolateData(Isolate* isolate, +@@ -567,36 +575,16 @@ IsolateData::IsolateData(Isolate* isolate, v8::CppHeap* cpp_heap = isolate->GetCppHeap(); uint16_t cppgc_id = kDefaultCppGCEmbedderID; @@ -130,7 +130,7 @@ index ea0ae4e08ec7dd98721bc89d2fe80fa47eaddfec..0f9846baeef6fd490cdc43893e29ea2d { // GC could still be run after the IsolateData is destroyed, so we store -@@ -612,11 +600,12 @@ IsolateData::~IsolateData() { +@@ -628,11 +616,12 @@ IsolateData::~IsolateData() { } } @@ -146,10 +146,10 @@ index ea0ae4e08ec7dd98721bc89d2fe80fa47eaddfec..0f9846baeef6fd490cdc43893e29ea2d void IsolateData::MemoryInfo(MemoryTracker* tracker) const { diff --git a/src/env.h b/src/env.h -index c6cc2c874b603f595a008a7d3bc229d6b9834f55..f378e810e8b48dd07ec25c7eae7923767ef25270 100644 +index 7cb77fb4f35a60fbda5b868798321ac8b6340bfa..06746554e1d60a9377ff6d7d970220f3fa88e4ac 100644 --- a/src/env.h +++ b/src/env.h -@@ -164,10 +164,6 @@ class NODE_EXTERN_PRIVATE IsolateData : public MemoryRetainer { +@@ -174,10 +174,6 @@ class NODE_EXTERN_PRIVATE IsolateData : public MemoryRetainer { uint16_t* embedder_id_for_cppgc() const; uint16_t* embedder_id_for_non_cppgc() const; diff --git a/patches/node/src_stop_using_deprecated_fields_of_fastapicallbackoptions.patch b/patches/node/src_stop_using_deprecated_fields_of_fastapicallbackoptions.patch index b1b39f056f46..6aa803f63048 100644 --- a/patches/node/src_stop_using_deprecated_fields_of_fastapicallbackoptions.patch +++ b/patches/node/src_stop_using_deprecated_fields_of_fastapicallbackoptions.patch @@ -12,7 +12,7 @@ branch of Node.js. This patch can be removed when Electron upgrades to a stable Node release that contains the change. -- Charles) diff --git a/src/histogram.cc b/src/histogram.cc -index 4f58359fe58529329fca8b13d4d4655d87a097f2..18983209db834d10faad6c2a56658ab060bcd097 100644 +index 4dbdea9be5721486d71a9dda77311b4919d450a3..4aacaa2a5d12533a039b4b96cb7f1fd79063d50f 100644 --- a/src/histogram.cc +++ b/src/histogram.cc @@ -193,7 +193,8 @@ void HistogramBase::FastRecord(Local receiver, diff --git a/patches/node/src_use_new_v8_api_to_define_stream_accessor.patch b/patches/node/src_use_new_v8_api_to_define_stream_accessor.patch index d4f1f399615c..3688d4d25228 100644 --- a/patches/node/src_use_new_v8_api_to_define_stream_accessor.patch +++ b/patches/node/src_use_new_v8_api_to_define_stream_accessor.patch @@ -80,7 +80,7 @@ index 5c16d0d1b32e2d056f4fcfa0e01781292932a0fa..ce6277dec5a2b9313ecd3699b39ec175 // This is a bit of a hack. See the override in async_wrap.cc for details. virtual bool IsDoneInitializing() const; diff --git a/src/stream_base.cc b/src/stream_base.cc -index af714734f49b836de79ebb25e61f1376b757d5ed..a8f9f98d413c8573eb22960a4cefb47408215469 100644 +index d2649ea0a649bb2f6c6becf1891c0b6d773c1a62..9d855c2992492d3394d9f8af4e53781027a2dd83 100644 --- a/src/stream_base.cc +++ b/src/stream_base.cc @@ -492,6 +492,29 @@ Local StreamBase::GetObject() { diff --git a/patches/node/support_v8_sandboxed_pointers.patch b/patches/node/support_v8_sandboxed_pointers.patch index ff22a22a8325..abeae7e10dd3 100644 --- a/patches/node/support_v8_sandboxed_pointers.patch +++ b/patches/node/support_v8_sandboxed_pointers.patch @@ -7,7 +7,7 @@ This refactors several allocators to allocate within the V8 memory cage, allowing them to be compatible with the V8_SANDBOXED_POINTERS feature. diff --git a/src/api/environment.cc b/src/api/environment.cc -index 60be2353cf0e77287dfda965c820cf36655a7ce5..fe41619f45913fe31a59771c8d1af6cde3b89f66 100644 +index e0bf37f09dceb93af58990438ab577a9d4b843e8..b9098d102b40adad7fafcc331ac62870617019b9 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc @@ -101,6 +101,14 @@ MaybeLocal PrepareStackTraceCallback(Local context, @@ -105,10 +105,10 @@ index 63d971e1fe6b861e29c12f04563701b01fdfb976..f39652a6f5196531cd78ce74e91076b1 void SecureHeapUsed(const FunctionCallbackInfo& args) { #ifndef OPENSSL_IS_BORINGSSL diff --git a/src/crypto/crypto_util.h b/src/crypto/crypto_util.h -index 0ae2946e5e5884d6d095c039a3b4dc537e0f29a2..8c06e81de3ae93d82bf7eaf1bada77164a130695 100644 +index 4ba261014695cf1aa8eb53b21a2873f4c4ea8e43..b695d131bcdc331974f544924138bb5eedc50c9f 100644 --- a/src/crypto/crypto_util.h +++ b/src/crypto/crypto_util.h -@@ -280,7 +280,7 @@ class ByteSource { +@@ -285,7 +285,7 @@ class ByteSource { // Creates a v8::BackingStore that takes over responsibility for // any allocated data. The ByteSource will be reset with size = 0 // after being called. @@ -118,10 +118,10 @@ index 0ae2946e5e5884d6d095c039a3b4dc537e0f29a2..8c06e81de3ae93d82bf7eaf1bada7716 v8::Local ToArrayBuffer(Environment* env); diff --git a/src/node_i18n.cc b/src/node_i18n.cc -index d45325954d980724f80d49298bbe837197237a9b..ccea18080142bd9cba3765dbbec61c2a63406667 100644 +index 2aa7cd98ecc179519a6bb1932dafa86a38bda4f5..79376bef2e674f05fd95380dd419e8778cb98623 100644 --- a/src/node_i18n.cc +++ b/src/node_i18n.cc -@@ -105,7 +105,7 @@ namespace { +@@ -106,7 +106,7 @@ namespace { template MaybeLocal ToBufferEndian(Environment* env, MaybeStackBuffer* buf) { @@ -130,11 +130,38 @@ index d45325954d980724f80d49298bbe837197237a9b..ccea18080142bd9cba3765dbbec61c2a if (ret.IsEmpty()) return ret; +@@ -183,7 +183,7 @@ MaybeLocal TranscodeLatin1ToUcs2(Environment* env, + return {}; + } + +- return Buffer::New(env, &destbuf); ++ return Buffer::Copy(env, reinterpret_cast(destbuf.out()), destbuf.length() * sizeof(UChar)); + } + + MaybeLocal TranscodeFromUcs2(Environment* env, +@@ -228,7 +228,7 @@ MaybeLocal TranscodeUcs2FromUtf8(Environment* env, + return {}; + } + +- return Buffer::New(env, &destbuf); ++ return Buffer::Copy(env, reinterpret_cast(destbuf.out()), destbuf.length() * sizeof(UChar)); + } + + MaybeLocal TranscodeUtf8FromUcs2(Environment* env, +@@ -252,7 +252,7 @@ MaybeLocal TranscodeUtf8FromUcs2(Environment* env, + return {}; + } + +- return Buffer::New(env, &destbuf); ++ return Buffer::Copy(env, reinterpret_cast(destbuf.out()), destbuf.length() * sizeof(char)); + } + + constexpr const char* EncodingName(const enum encoding encoding) { diff --git a/src/node_internals.h b/src/node_internals.h -index e04fadd7f83e52fe965d8c73916a56f60425ba3d..5dff80ee287256ba40bfa496df6db60a18fbb9d7 100644 +index 6264f23d54d6028bb0158f12a9296ba67a846358..613300215766aeb108219b0d1c3b95ee02db964f 100644 --- a/src/node_internals.h +++ b/src/node_internals.h -@@ -118,7 +118,9 @@ v8::Maybe InitializePrimordials(v8::Local context); +@@ -117,7 +117,9 @@ v8::Maybe InitializePrimordials(v8::Local context); class NodeArrayBufferAllocator : public ArrayBufferAllocator { public: @@ -145,7 +172,7 @@ index e04fadd7f83e52fe965d8c73916a56f60425ba3d..5dff80ee287256ba40bfa496df6db60a void* Allocate(size_t size) override; // Defined in src/node.cc void* AllocateUninitialized(size_t size) override; -@@ -136,7 +138,7 @@ class NodeArrayBufferAllocator : public ArrayBufferAllocator { +@@ -135,7 +137,7 @@ class NodeArrayBufferAllocator : public ArrayBufferAllocator { } private: @@ -155,7 +182,7 @@ index e04fadd7f83e52fe965d8c73916a56f60425ba3d..5dff80ee287256ba40bfa496df6db60a // Delegate to V8's allocator for compatibility with the V8 memory cage. diff --git a/src/node_serdes.cc b/src/node_serdes.cc -index 6698a1df81cb4e0947c86fb30c2d77fca8e2d9d1..dad297652b347819805b09fbfd869f1d037e31c1 100644 +index 7a70997bc024efa4f3ff4cabe30d5e88dcc7bc78..438d6e581a2ee55216f9a9945204b07824fc28a0 100644 --- a/src/node_serdes.cc +++ b/src/node_serdes.cc @@ -29,6 +29,11 @@ using v8::ValueSerializer; @@ -238,7 +265,7 @@ index 6698a1df81cb4e0947c86fb30c2d77fca8e2d9d1..dad297652b347819805b09fbfd869f1d if (!buf.IsEmpty()) { args.GetReturnValue().Set(buf.ToLocalChecked()); diff --git a/src/node_trace_events.cc b/src/node_trace_events.cc -index c4960ee1427e3b29b873135a815a7a09bedcfb73..2c6d8cdeb37f7dce9f29b8f3b260036ae23e6fb5 100644 +index 9787b14352753c5e0f8dc2b90093680e7cd10f1a..31af9e62396368af1b81f8841a705fd313df2b9f 100644 --- a/src/node_trace_events.cc +++ b/src/node_trace_events.cc @@ -132,12 +132,28 @@ static void GetCategoryEnabledBuffer(const FunctionCallbackInfo& args) { diff --git a/patches/node/test_formally_mark_some_tests_as_flaky.patch b/patches/node/test_formally_mark_some_tests_as_flaky.patch index ec63de31410b..79b02f4e8577 100644 --- a/patches/node/test_formally_mark_some_tests_as_flaky.patch +++ b/patches/node/test_formally_mark_some_tests_as_flaky.patch @@ -7,7 +7,7 @@ Instead of disabling the tests, flag them as flaky so they still run but don't cause CI failures on flakes. diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status -index 28f25e4be7e3104894e53a22e50f5474e0b7bc76..2525b094e1eb936d311a0b57fc9579df360883d6 100644 +index 79a953df7da64b7d7580e099a5cc5160e7842999..94616df356cab50c8ef4099e7863f5986deed377 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -5,6 +5,16 @@ prefix parallel @@ -28,7 +28,7 @@ index 28f25e4be7e3104894e53a22e50f5474e0b7bc76..2525b094e1eb936d311a0b57fc9579df test-net-write-fully-async-hex-string: PASS, FLAKY # https://github.com/nodejs/node/issues/52273 diff --git a/test/sequential/sequential.status b/test/sequential/sequential.status -index ccab879b6e5fcdcc0d3a4b790b97db94d92f1a59..11339325697ae98f6996101163679590451c0b81 100644 +index a539649d5537376a6a2ac9a7a46051b8648f0cb1..a03c86b752772be7ae36fab31faeccf3b0ccff64 100644 --- a/test/sequential/sequential.status +++ b/test/sequential/sequential.status @@ -7,6 +7,18 @@ prefix sequential diff --git a/patches/node/test_match_wpt_streams_transferable_transform-stream-members_any_js.patch b/patches/node/test_match_wpt_streams_transferable_transform-stream-members_any_js.patch index 0209af3ab37b..6a0a9f4b9d14 100644 --- a/patches/node/test_match_wpt_streams_transferable_transform-stream-members_any_js.patch +++ b/patches/node/test_match_wpt_streams_transferable_transform-stream-members_any_js.patch @@ -7,10 +7,10 @@ Subject: test: match wpt/streams/transferable/transform-stream-members.any.js All four of this calls should fail - see third_party/blink/web_tests/external/wpt/streams/transferable/transform-stream-members.any-expected.txt diff --git a/test/wpt/status/streams.json b/test/wpt/status/streams.json -index 3b6e0ce6429f9dddb0b1a6882ce9e3a5158300e5..7ec49a378bfc84728b473d5df69675fff1dfdfef 100644 +index 5425c86bba85079a44745779d998337aaa063df1..775661cd59b14132c9a811e448792ea02198f949 100644 --- a/test/wpt/status/streams.json +++ b/test/wpt/status/streams.json -@@ -50,7 +50,9 @@ +@@ -60,7 +60,9 @@ "fail": { "expected": [ "Transferring [object TransformStream],[object ReadableStream] should fail",