1d9a4ab02c
* chore: bump node in DEPS to v18.13.0 * child_process: validate arguments for null bytes https://github.com/nodejs/node/pull/44782 * bootstrap: merge main thread and worker thread initializations https://github.com/nodejs/node/pull/44869 * module: ensure relative requires work from deleted directories https://github.com/nodejs/node/pull/42384 * src: add support for externally shared js builtins https://github.com/nodejs/node/issues/44000 * lib: disambiguate `native module` to `binding` https://github.com/nodejs/node/pull/45673 * test: convert test-debugger-pid to async/await https://github.com/nodejs/node/pull/45179 * deps: upgrade to libuv 1.44.2 https://github.com/nodejs/node/pull/42340 * src: fix cppgc incompatibility in v8 https://github.com/nodejs/node/pull/43521 * src: use qualified `std::move` call in node_http2 https://github.com/nodejs/node/pull/45555 * build: fix env.h for cpp20 https://github.com/nodejs/node/pull/45516 * test: remove experimental-wasm-threads flag https://github.com/nodejs/node/pull/45074 * src: iwyu in cleanup_queue.cc https://github.com/nodejs/node/pull/44983 * src: add missing include for `std::all_of` https://github.com/nodejs/node/pull/45541 * deps: update ICU to 72.1 https://github.com/nodejs/node/pull/45068 * chore: fixup patch indices * chore: remove errant semicolons - https://github.com/nodejs/node/pull/44179 - https://github.com/nodejs/node/pull/44193 * src: add support for externally shared js builtins https://github.com/nodejs/node/pull/44376 * chore: add missing GN filenames * deps: update nghttp2 to 1.51.0 https://github.com/nodejs/node/pull/45537 * chore: disable more Node.js snapshot tests The Snapshot feature is currently disabled * chore: disable ICU timezone tests Node.js uses a different version of ICU than Electron so they will often be out of sync. * chore: disable threadpool event tracing test Event tracing is not enabled in embedded Node.js * chore: fixup patch indices * chore: comments from review Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
54 lines
2 KiB
Diff
54 lines
2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Thu, 13 Oct 2022 17:10:01 +0200
|
|
Subject: fix: expose LookupAndCompile with parameters
|
|
|
|
Node.js removed custom parameters from the public version of LookupAndCompile,
|
|
which we use in Electron. This patch re-exposes a wrapper to allow custom
|
|
parameters.
|
|
|
|
This should be upstreamed.
|
|
|
|
diff --git a/src/node_builtins.cc b/src/node_builtins.cc
|
|
index 6e1a55adbd0b01383f3e54e924864dfeb6a57f0b..25b02f9904127780c68db9b451a7dfcf02a6fc5e 100644
|
|
--- a/src/node_builtins.cc
|
|
+++ b/src/node_builtins.cc
|
|
@@ -438,6 +438,22 @@ MaybeLocal<Function> BuiltinLoader::LookupAndCompile(
|
|
return maybe;
|
|
}
|
|
|
|
+MaybeLocal<Function> BuiltinLoader::LookupAndCompile(
|
|
+ Local<Context> context,
|
|
+ const char* id,
|
|
+ std::vector<Local<String>>* parameters,
|
|
+ Environment* optional_env) {
|
|
+ Result result;
|
|
+ Isolate* isolate = context->GetIsolate();
|
|
+
|
|
+ MaybeLocal<Function> maybe = GetInstance()->LookupAndCompileInternal(
|
|
+ context, id, parameters, &result);
|
|
+ if (optional_env != nullptr) {
|
|
+ RecordResult(id, result, optional_env);
|
|
+ }
|
|
+ return maybe;
|
|
+}
|
|
+
|
|
bool BuiltinLoader::CompileAllBuiltins(Local<Context> context) {
|
|
BuiltinLoader* loader = GetInstance();
|
|
std::vector<std::string> ids = loader->GetBuiltinIds();
|
|
diff --git a/src/node_builtins.h b/src/node_builtins.h
|
|
index 8228e57d27b2f883d87ec12274f2745628caa6e1..b07c34a6d247a050f4f307940c9e157fb14d6166 100644
|
|
--- a/src/node_builtins.h
|
|
+++ b/src/node_builtins.h
|
|
@@ -53,6 +53,11 @@ class NODE_EXTERN_PRIVATE BuiltinLoader {
|
|
v8::Local<v8::Context> context,
|
|
const char* id,
|
|
Environment* optional_env);
|
|
+ static v8::MaybeLocal<v8::Function> LookupAndCompile(
|
|
+ v8::Local<v8::Context> context,
|
|
+ const char* id,
|
|
+ std::vector<v8::Local<v8::String>>* parameters,
|
|
+ Environment* optional_env);
|
|
|
|
static v8::Local<v8::Object> GetSourceObject(v8::Local<v8::Context> context);
|
|
// Returns config.gypi as a JSON string
|