refactor: load electron builtin modules with process._linkedBinding (#17247)

* refactor: load electron builtin modules with process._linkedBinding

NODE_BUILTING_MODULE_CONTEXT_AWARE and process.binding are
removed in https://github.com/nodejs/node/pull/25829. This changes
uses the alternative available without any functionality change.

* chore: roll node
This commit is contained in:
Robo 2019-03-08 23:59:52 +05:30 committed by Jeremy Apthorp
parent e5e6aa207c
commit 5afb7dc715
52 changed files with 58 additions and 52 deletions

View file

@ -144,4 +144,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_asar, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_asar, Initialize)

View file

@ -227,4 +227,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_clipboard, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_clipboard, Initialize)

View file

@ -58,4 +58,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_command_line, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_command_line, Initialize)

View file

@ -66,4 +66,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_crash_reporter, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_crash_reporter, Initialize)

View file

@ -623,4 +623,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_native_image, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_native_image, Initialize)

View file

@ -170,4 +170,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_shell, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_shell, Initialize)

View file

@ -126,4 +126,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_v8_util, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_v8_util, Initialize)

View file

@ -61,4 +61,4 @@ void Initialize(v8::Local<v8::Object> exports,
} // namespace
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_common_features, Initialize)
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_common_features, Initialize)

View file

@ -84,7 +84,7 @@
// __attribute__((constructor)), we call the _register_<modname>
// function for each built-in modules explicitly. This is only
// forward declaration. The definitions are in each module's
// implementation when calling the NODE_BUILTIN_MODULE_CONTEXT_AWARE.
// implementation when calling the NODE_LINKED_MODULE_CONTEXT_AWARE.
#define V(modname) void _register_##modname();
ELECTRON_BUILTIN_MODULES(V)
#if BUILDFLAG(ENABLE_VIEW_API)

View file

@ -53,6 +53,12 @@
#include "node_options.h"
#include "node_platform.h"
// Alternative to NODE_MODULE_CONTEXT_AWARE_X.
// Allows to explicitly register builtin modules instead of using
// __attribute__((constructor)).
#define NODE_LINKED_MODULE_CONTEXT_AWARE(modname, regfunc) \
NODE_MODULE_CONTEXT_AWARE_CPP(modname, regfunc, nullptr, NM_F_LINKED)
#pragma pop_macro("ASSERT")
#pragma pop_macro("CHECK")
#pragma pop_macro("CHECK_EQ")