diff --git a/patches/node/.patches b/patches/node/.patches index bfb9038e2deb1..b8ea3d73c4d74 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -17,15 +17,10 @@ fix_suppress_clang_-wdeprecated-declarations_in_libuv.patch fix_serdes_test.patch feat_add_knostartdebugsignalhandler_to_environment_to_prevent.patch feat_add_uv_loop_interrupt_on_io_change_option_to_uv_loop_configure.patch -json_parse_errors_made_user-friendly.patch support_v8_sandboxed_pointers.patch build_ensure_v8_pointer_compression_sandbox_is_enabled_on_64bit.patch build_ensure_native_module_compilation_fails_if_not_using_a_new.patch -fix_override_createjob_in_node_platform.patch -v8_api_advance_api_deprecation.patch -fix_parallel_test-v8-stats.patch fix_expose_the_built-in_electron_module_via_the_esm_loader.patch -api_pass_oomdetails_to_oomerrorcallback.patch fix_expose_lookupandcompile_with_parameters.patch enable_crashpad_linux_node_processes.patch fix_lazyload_fs_in_esm_loaders_to_apply_asar_patches.patch diff --git a/patches/node/api_pass_oomdetails_to_oomerrorcallback.patch b/patches/node/api_pass_oomdetails_to_oomerrorcallback.patch deleted file mode 100644 index 79d0d2fb1c0c9..0000000000000 --- a/patches/node/api_pass_oomdetails_to_oomerrorcallback.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Shelley Vohr -Date: Wed, 12 Oct 2022 21:25:49 +0200 -Subject: Pass OOMDetails to OOMErrorCallback - -Introduced in https://chromium-review.googlesource.com/c/v8/v8/+/3647827. - -This patch can be removed when Electron updates to Node.js v20. - -diff --git a/src/node_errors.cc b/src/node_errors.cc -index e58e45be7bbb642f2277361d6312d444cfa27d16..54402bd5663666425b17fd267ba05ba7b800791c 100644 ---- a/src/node_errors.cc -+++ b/src/node_errors.cc -@@ -521,9 +521,9 @@ static void ReportFatalException(Environment* env, - ABORT(); - } - --[[noreturn]] void OOMErrorHandler(const char* location, bool is_heap_oom) { -+[[noreturn]] void OOMErrorHandler(const char* location, const v8::OOMDetails& details) { - const char* message = -- is_heap_oom ? "Allocation failed - JavaScript heap out of memory" -+ details.is_heap_oom ? "Allocation failed - JavaScript heap out of memory" - : "Allocation failed - process out of memory"; - if (location) { - FPrintF(stderr, "FATAL ERROR: %s %s\n", location, message); -diff --git a/src/node_errors.h b/src/node_errors.h -index cc336536af0170e63cf9ccde99f9fa0a0be3f216..1687eed35717ae385aedad952c03ebab4f0f3bf7 100644 ---- a/src/node_errors.h -+++ b/src/node_errors.h -@@ -21,7 +21,7 @@ void AppendExceptionLine(Environment* env, - - [[noreturn]] void FatalError(const char* location, const char* message); - [[noreturn]] void OnFatalError(const char* location, const char* message); --[[noreturn]] void OOMErrorHandler(const char* location, bool is_heap_oom); -+[[noreturn]] void OOMErrorHandler(const char* location, const v8::OOMDetails& details); - - // Helpers to construct errors similar to the ones provided by - // lib/internal/errors.js. diff --git a/patches/node/fix_override_createjob_in_node_platform.patch b/patches/node/fix_override_createjob_in_node_platform.patch deleted file mode 100644 index 613719c06cfc7..0000000000000 --- a/patches/node/fix_override_createjob_in_node_platform.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Keeley Hammond -Date: Tue, 2 Aug 2022 12:52:02 -0700 -Subject: fix: override createjob in node_platform - -Refs https://github.com/nodejs/node/pull/44741/commits/507dd20ef957acf261ec521fcbd81d745b17983c - -V8Platform::CreateJob was changed to an abstract method in https://chromium-review.googlesource.com/c/v8/v8/+/3779694, -and is called by V8Platform::PostJob, so we should only call -CreateJob in order to most closely match V8Platform default behavior. - -This patch can be removed when Electron updates to Node.js v20. - -diff --git a/src/node_platform.cc b/src/node_platform.cc -index 7dd0526e6ece5fd86ab3847be592e778e48b5d37..a20622adb2ee8a2e3b05b336e481193624d5b810 100644 ---- a/src/node_platform.cc -+++ b/src/node_platform.cc -@@ -528,7 +528,7 @@ bool NodePlatform::FlushForegroundTasks(Isolate* isolate) { - return per_isolate->FlushForegroundTasksInternal(); - } - --std::unique_ptr NodePlatform::PostJob(v8::TaskPriority priority, -+std::unique_ptr NodePlatform::CreateJob(v8::TaskPriority priority, - std::unique_ptr job_task) { - return v8::platform::NewDefaultJobHandle( - this, priority, std::move(job_task), NumberOfWorkerThreads()); -diff --git a/src/node_platform.h b/src/node_platform.h -index 4a05f3bba58c8e875d0ab67f292589edbb3b812b..1062f3b1b9c386a7bde8dca366c6f008bb183ab7 100644 ---- a/src/node_platform.h -+++ b/src/node_platform.h -@@ -155,7 +155,7 @@ class NodePlatform : public MultiIsolatePlatform { - double CurrentClockTimeMillis() override; - v8::TracingController* GetTracingController() override; - bool FlushForegroundTasks(v8::Isolate* isolate) override; -- std::unique_ptr PostJob( -+ std::unique_ptr CreateJob( - v8::TaskPriority priority, - std::unique_ptr job_task) override; - diff --git a/patches/node/fix_parallel_test-v8-stats.patch b/patches/node/fix_parallel_test-v8-stats.patch deleted file mode 100644 index 4f185aaf4f696..0000000000000 --- a/patches/node/fix_parallel_test-v8-stats.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jeremy Rose -Date: Thu, 29 Sep 2022 16:30:17 -0700 -Subject: fix parallel/test-v8-stats - -Refs https://chromium-review.googlesource.com/c/v8/v8/+/3967841 -Refs https://chromium-review.googlesource.com/c/v8/v8/+/3892950. - -Heap spaces were added/removed in v8 - this patch updates test expectations -to match. - -This patch can be removed when Electron updates to Node.js v20. - -diff --git a/test/parallel/test-v8-stats.js b/test/parallel/test-v8-stats.js -index 2eaa3c5b0609149271afb85d7ecc33272e0ada2e..83b375bd3c5b5dbd5189d48ad560580883ac91f6 100644 ---- a/test/parallel/test-v8-stats.js -+++ b/test/parallel/test-v8-stats.js -@@ -42,11 +42,12 @@ const expectedHeapSpaces = [ - 'code_large_object_space', - 'code_space', - 'large_object_space', -- 'map_space', - 'new_large_object_space', - 'new_space', - 'old_space', - 'read_only_space', -+ 'shared_large_object_space', -+ 'shared_space' - ]; - const heapSpaceStatistics = v8.getHeapSpaceStatistics(); - const actualHeapSpaceNames = heapSpaceStatistics.map((s) => s.space_name); diff --git a/patches/node/json_parse_errors_made_user-friendly.patch b/patches/node/json_parse_errors_made_user-friendly.patch deleted file mode 100644 index 9c204e2065ce6..0000000000000 --- a/patches/node/json_parse_errors_made_user-friendly.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: John Kleinschmidt -Date: Thu, 26 May 2022 17:08:33 -0400 -Subject: JSON.parse errors made user-friendly - -Update tests for https://chromium-review.googlesource.com/c/v8/v8/+/3513684 - -diff --git a/test/es-module/test-esm-data-urls.js b/test/es-module/test-esm-data-urls.js -index 5be45d0f7af3b6dd483fe3b185c76e41a1bf533b..a99dde30c3d977dfc226a33f632f5f69638892af 100644 ---- a/test/es-module/test-esm-data-urls.js -+++ b/test/es-module/test-esm-data-urls.js -@@ -76,7 +76,7 @@ function createBase64URL(mime, body) { - import('data:application/json;foo="test,",0', - { assert: { type: 'json' } }), { - name: 'SyntaxError', -- message: /Unexpected end of JSON input/ -+ message: 'data:application/json;foo="test,",0: Unterminated string in JSON at position 3 (line 1 column 4)' - }); - } - { -diff --git a/test/es-module/test-esm-invalid-pjson.js b/test/es-module/test-esm-invalid-pjson.js -index f3a38018637aa349ad79617ab9835e61d7058fe9..bc78b870c84c4baedecdd7ffc1157c86c307cebf 100644 ---- a/test/es-module/test-esm-invalid-pjson.js -+++ b/test/es-module/test-esm-invalid-pjson.js -@@ -18,7 +18,7 @@ describe('ESM: Package.json', { concurrency: true }, () => { - stderr.includes( - `[ERR_INVALID_PACKAGE_CONFIG]: Invalid package config ${invalidJson} ` + - `while importing "invalid-pjson" from ${entry}. ` + -- `Unexpected token } in JSON at position ${12 + checkoutEOL.length * 2}` -+ `Expected ':' after property name in JSON at position ${12 + checkoutEOL.length * 2}` - ), - stderr - ); diff --git a/patches/node/v8_api_advance_api_deprecation.patch b/patches/node/v8_api_advance_api_deprecation.patch deleted file mode 100644 index 92933aeca8488..0000000000000 --- a/patches/node/v8_api_advance_api_deprecation.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: deepak1556 -Date: Fri, 26 Aug 2022 00:03:44 +0900 -Subject: v8: [api] Advance API deprecation - -Refs https://chromium-review.googlesource.com/c/v8/v8/+/3702449 - -This can be removed when Electron upgrades to Node.js v20. - -diff --git a/src/inspector_agent.cc b/src/inspector_agent.cc -index 4c9f7f636aeeb19a87150ac5a05e28159503f051..6f3821247f7a1b9e4615c2f21d4098114e64d798 100644 ---- a/src/inspector_agent.cc -+++ b/src/inspector_agent.cc -@@ -219,7 +219,8 @@ class ChannelImpl final : public v8_inspector::V8Inspector::Channel, - bool prevent_shutdown) - : delegate_(std::move(delegate)), prevent_shutdown_(prevent_shutdown), - retaining_context_(false) { -- session_ = inspector->connect(CONTEXT_GROUP_ID, this, StringView()); -+ session_ = inspector->connect( -+ CONTEXT_GROUP_ID, this, StringView(),V8Inspector::kFullyTrusted); - node_dispatcher_ = std::make_unique(this); - tracing_agent_ = - std::make_unique(env, main_thread_);