Skip to content

Commit

Permalink
src: split up InitializeContext
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed Oct 23, 2019
1 parent ce72cd7 commit 5a8156f
Showing 1 changed file with 13 additions and 3 deletions.
16 changes: 13 additions & 3 deletions src/api/environment.cc
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,9 @@ MaybeLocal<Object> GetPerContextExports(Local<Context> context) {
return handle_scope.Escape(exports);
}

// Any initialization logic should be performed in
// InitializeContext, because embedders don't necessarily
// call NewContext and so they will experience breakages.
Local<Context> NewContext(Isolate* isolate,
Local<ObjectTemplate> object_template) {
auto context = Context::New(isolate, nullptr, object_template);
Expand All @@ -370,8 +373,6 @@ Local<Context> NewContext(Isolate* isolate,
return Local<Context>();
}

InitializeContextRuntime(context);

return context;
}

Expand Down Expand Up @@ -405,7 +406,7 @@ void InitializeContextRuntime(Local<Context> context) {
}
}

bool InitializeContext(Local<Context> context) {
bool InitializeContextForSnapshot(Local<Context> context) {
Isolate* isolate = context->GetIsolate();
HandleScope handle_scope(isolate);

Expand Down Expand Up @@ -459,6 +460,15 @@ bool InitializeContext(Local<Context> context) {
return true;
}

bool InitializeContext(Local<Context> context) {
if (!InitializeContextForSnapshot(context)) {
return false;
}

InitializeContextRuntime(context);
return true;
}

uv_loop_t* GetCurrentEventLoop(Isolate* isolate) {
HandleScope handle_scope(isolate);
Local<Context> context = isolate->GetCurrentContext();
Expand Down

0 comments on commit 5a8156f

Please sign in to comment.