src: use the config binding to carry --no-browser-globals

Instead of setting it in the process object, since this is
a configure-time option. Also added a shim that can be
deprecated and removed some time later.

PR-URL: https://github.com/nodejs/node/pull/26228
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
Joyee Cheung 2019-02-21 11:46:58 +08:00 committed by Ruben Bridgewater
parent 4895927a0a
commit 03c71a95e2
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
4 changed files with 22 additions and 7 deletions

View File

@ -180,8 +180,7 @@ if (config.hasInspector) {
internalBinding('inspector').registerAsyncHook(enable, disable);
}
const browserGlobals = !process._noBrowserGlobals;
if (browserGlobals) {
if (!config.noBrowserGlobals) {
// Override global console from the one provided by the VM
// to the one implemented by Node.js
// https://console.spec.whatwg.org/#console-namespace

View File

@ -136,6 +136,20 @@ function initializeDeprecations() {
'DEP0103') :
types[name];
}
// TODO(joyeecheung): this is a legacy property exposed to process.
// Now that we use the config binding to carry this information, remove
// it from the process. We may consider exposing it properly in
// process.features.
const { noBrowserGlobals } = internalBinding('config');
if (noBrowserGlobals) {
Object.defineProperty(process, '_noBrowserGlobals', {
writable: false,
enumerable: true,
configurable: true,
value: noBrowserGlobals
});
}
}
function setupChildProcessIpcChannel() {

View File

@ -64,6 +64,13 @@ static void Initialize(Local<Object> target,
READONLY_FALSE_PROPERTY(target, "hasInspector");
#endif
// configure --no-browser-globals
#ifdef NODE_NO_BROWSER_GLOBALS
READONLY_TRUE_PROPERTY(target, "noBrowserGlobals");
#else
READONLY_FALSE_PROPERTY(target, "noBrowserGlobals");
#endif // NODE_NO_BROWSER_GLOBALS
READONLY_PROPERTY(target,
"bits",
Number::New(env->isolate(), 8 * sizeof(intptr_t)));

View File

@ -233,11 +233,6 @@ MaybeLocal<Object> CreateProcessObject(
READONLY_PROPERTY(process, "throwDeprecation", True(env->isolate()));
}
#ifdef NODE_NO_BROWSER_GLOBALS
// configure --no-browser-globals
READONLY_PROPERTY(process, "_noBrowserGlobals", True(env->isolate()));
#endif // NODE_NO_BROWSER_GLOBALS
// --prof-process
// TODO(addaleax): Remove this.
if (env->options()->prof_process) {