7120c58297
* chore: bump node in DEPS to v20.12.0 * chore: update build_add_gn_build_files.patch * chore: update patches * chore: bump node in DEPS to v20.12.1 * chore: update patches * build: encode non-ASCII Latin1 characters as one byte in JS2C https://github.com/nodejs/node/pull/51605 * crypto: use EVP_MD_fetch and cache EVP_MD for hashes https://github.com/nodejs/node/pull/51034 * chore: update filenames.json * chore: bump node in DEPS to v20.12.2 * chore: update patches * src: support configurable snapshot https://github.com/nodejs/node/pull/50453 * test: remove test-domain-error-types flaky designation https://github.com/nodejs/node/pull/51717 * src: avoid draining platform tasks at FreeEnvironment https://github.com/nodejs/node/pull/51290 * chore: fix accidentally deleted v8 dep * lib: define FormData and fetch etc. in the built-in snapshot https://github.com/nodejs/node/pull/51598 * chore: rebase on main * chore: remove stray log --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Cheng <zcbenz@gmail.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
59 lines
2.3 KiB
Diff
59 lines
2.3 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 2cac503e92640a4683a4be6969f1ed40e42785a0..f9a090f5c3e04403602ba383032e7f3230669a92 100644
|
|
--- a/src/node_builtins.cc
|
|
+++ b/src/node_builtins.cc
|
|
@@ -491,6 +491,18 @@ MaybeLocal<Value> BuiltinLoader::CompileAndCall(Local<Context> context,
|
|
return fn->Call(context, undefined, argc, argv);
|
|
}
|
|
|
|
+MaybeLocal<Function> BuiltinLoader::LookupAndCompile(
|
|
+ Local<Context> context,
|
|
+ const char* id,
|
|
+ std::vector<Local<String>>* parameters,
|
|
+ Realm* optional_realm) {
|
|
+ Isolate* isolate = context->GetIsolate();
|
|
+
|
|
+ MaybeLocal<Function> maybe = LookupAndCompileInternal(
|
|
+ context, id, parameters, optional_realm);
|
|
+ return maybe;
|
|
+}
|
|
+
|
|
bool BuiltinLoader::CompileAllBuiltinsAndCopyCodeCache(
|
|
Local<Context> context,
|
|
const std::vector<std::string>& eager_builtins,
|
|
diff --git a/src/node_builtins.h b/src/node_builtins.h
|
|
index a1a9fe7d592f0d57b70dcee8c865b99d71248bf2..3279aac04fd20080db258eafa2826c2dda614b90 100644
|
|
--- a/src/node_builtins.h
|
|
+++ b/src/node_builtins.h
|
|
@@ -99,6 +99,12 @@ class NODE_EXTERN_PRIVATE BuiltinLoader {
|
|
const char* id,
|
|
Realm* optional_realm);
|
|
|
|
+ v8::MaybeLocal<v8::Function> LookupAndCompile(
|
|
+ v8::Local<v8::Context> context,
|
|
+ const char* id,
|
|
+ std::vector<v8::Local<v8::String>>* parameters,
|
|
+ Realm* optional_realm);
|
|
+
|
|
v8::MaybeLocal<v8::Value> CompileAndCall(v8::Local<v8::Context> context,
|
|
const char* id,
|
|
int argc,
|
|
@@ -109,6 +115,7 @@ class NODE_EXTERN_PRIVATE BuiltinLoader {
|
|
const char* id,
|
|
Realm* realm);
|
|
|
|
+
|
|
// Returns config.gypi as a JSON string
|
|
v8::Local<v8::String> GetConfigString(v8::Isolate* isolate);
|
|
bool Exists(const char* id);
|