Skip to content

Commit

Permalink
src: use the config binding to carry --no-browser-globals
Browse files Browse the repository at this point in the history
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: #26228
Reviewed-By: Daniel Bevenius <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ruben Bridgewater <[email protected]>
  • Loading branch information
joyeecheung authored and BridgeAR committed Mar 14, 2019
1 parent fe6c419 commit 0d810b7
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 7 deletions.
3 changes: 1 addition & 2 deletions lib/internal/bootstrap/node.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
14 changes: 14 additions & 0 deletions lib/internal/bootstrap/pre_execution.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,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() {
Expand Down
7 changes: 7 additions & 0 deletions src/node_config.cc
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,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)));
Expand Down
5 changes: 0 additions & 5 deletions src/node_process_object.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit 0d810b7

Please sign in to comment.