mirror of
https://github.com/electron/electron.git
synced 2026-02-06 13:15:05 -05:00
* chore: bump node in DEPS to v12.7.0 * chore: update node patches v12.6 to v12.7 Removed patches that are no longer necessary because we've upstreamed few changes already, and 3 way merge others * fix: update build gn patch * chore: bump node in DEPS to v12.8.0 * chore: update node patches v12.7 to v12.8 Removed patches that are no longer necessary because we've upstreamed few changes already, and 3 way merge others * fix: Add patch to revert crypto createhash changes The original node commit contains changes/calls to functions that are not supported in boringssl. * disable node tests * Remove outdated patch, already merged upstream
48 lines
2.2 KiB
Diff
48 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Attard <sattard@slack-corp.com>
|
|
Date: Thu, 4 Jul 2019 15:57:09 -0700
|
|
Subject: src: expose MaybeInitializeContext to allow existing contexts
|
|
|
|
Splits the node.js specific tweak intialization of NewContext into a new
|
|
helper MaybeInitializeContext so that embedders with existing contexts
|
|
can still use them in a node Environment now that primordials are
|
|
initialized and required so early.
|
|
|
|
diff --git a/src/api/environment.cc b/src/api/environment.cc
|
|
index 35e8666ef771c56a1bcd441c99d4483a0d3e90bf..443f49320b2e6720f932fcfcefdbe6e539594964 100644
|
|
--- a/src/api/environment.cc
|
|
+++ b/src/api/environment.cc
|
|
@@ -357,6 +357,13 @@ Local<Context> NewContext(Isolate* isolate,
|
|
Local<ObjectTemplate> object_template) {
|
|
auto context = Context::New(isolate, nullptr, object_template);
|
|
if (context.IsEmpty()) return context;
|
|
+
|
|
+ return MaybeInitializeContext(context, object_template);
|
|
+}
|
|
+
|
|
+Local<Context> MaybeInitializeContext(Local<Context> context,
|
|
+ Local<ObjectTemplate> object_template) {
|
|
+ Isolate* isolate = context->GetIsolate();
|
|
HandleScope handle_scope(isolate);
|
|
|
|
context->SetEmbedderData(ContextEmbedderIndex::kAllowWasmCodeGeneration,
|
|
diff --git a/src/node.h b/src/node.h
|
|
index a2b47d1cf984ec36994b477b371cdf262191ab9c..c51fb1a6a6e497a091e2ba0b147e3d7b6a4d685c 100644
|
|
--- a/src/node.h
|
|
+++ b/src/node.h
|
|
@@ -303,6 +303,14 @@ NODE_EXTERN v8::Local<v8::Context> NewContext(
|
|
v8::Local<v8::ObjectTemplate> object_template =
|
|
v8::Local<v8::ObjectTemplate>());
|
|
|
|
+// Runs Node.js-specific tweaks on an already constructed context
|
|
+// This is not dead code, it is exposed for embedders so that they
|
|
+// can construct their own context and still use it in a node Environment.
|
|
+NODE_EXTERN v8::Local<v8::Context> MaybeInitializeContext(
|
|
+ v8::Local<v8::Context> context,
|
|
+ v8::Local<v8::ObjectTemplate> object_template =
|
|
+ v8::Local<v8::ObjectTemplate>());
|
|
+
|
|
// If `platform` is passed, it will be used to register new Worker instances.
|
|
// It can be `nullptr`, in which case creating new Workers inside of
|
|
// Environments that use this `IsolateData` will not work.
|