Skip to content

Commit 39fcda0

Browse files
codebyterejasnell
authored andcommittedOct 21, 2018
src,test: add public wrapper for Environment::GetCurrent
PR-URL: #23676 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
1 parent 6c7d8b4 commit 39fcda0

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed
 

‎src/node.cc

+5
Original file line numberDiff line numberDiff line change
@@ -2760,6 +2760,11 @@ void FreeEnvironment(Environment* env) {
27602760
}
27612761

27622762

2763+
Environment* GetCurrentEnvironment(Local<Context> context) {
2764+
return Environment::GetCurrent(context);
2765+
}
2766+
2767+
27632768
MultiIsolatePlatform* GetMainThreadMultiIsolatePlatform() {
27642769
return v8_platform.Platform();
27652770
}

‎src/node.h

+3
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,9 @@ NODE_EXTERN Environment* CreateEnvironment(IsolateData* isolate_data,
265265
NODE_EXTERN void LoadEnvironment(Environment* env);
266266
NODE_EXTERN void FreeEnvironment(Environment* env);
267267

268+
// This may return nullptr if context is not associated with a Node instance.
269+
NODE_EXTERN Environment* GetCurrentEnvironment(v8::Local<v8::Context> context);
270+
268271
// This returns the MultiIsolatePlatform used in the main thread of Node.js.
269272
// If NODE_USE_V8_PLATFORM haven't been defined when Node.js was built,
270273
// it returns nullptr.

‎test/cctest/test_environment.cc

+3
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,16 @@ TEST_F(EnvironmentTest, NonNodeJSContext) {
8080
node::Environment* env = *test_env;
8181
EXPECT_EQ(node::Environment::GetCurrent(isolate_), env);
8282
EXPECT_EQ(node::Environment::GetCurrent(env->context()), env);
83+
EXPECT_EQ(node::GetCurrentEnvironment(env->context()), env);
8384

8485
v8::Local<v8::Context> context = v8::Context::New(isolate_);
8586
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
87+
EXPECT_EQ(node::GetCurrentEnvironment(context), nullptr);
8688
EXPECT_EQ(node::Environment::GetCurrent(isolate_), env);
8789

8890
v8::Context::Scope context_scope(context);
8991
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
92+
EXPECT_EQ(node::GetCurrentEnvironment(context), nullptr);
9093
EXPECT_EQ(node::Environment::GetCurrent(isolate_), nullptr);
9194
}
9295

0 commit comments

Comments
 (0)