From ce8f053adb91e2d78c67716bc5d1af797e6b2743 Mon Sep 17 00:00:00 2001 From: Mike Morris Date: Tue, 12 Jul 2016 16:16:45 -0400 Subject: [PATCH] [node] enter new v8::Context to avoid leaking v8::FunctionTemplate in NodeMap::request --- platform/node/src/node_map.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index 9a8941d79..00a3041f2 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -757,7 +757,12 @@ NodeMap::~NodeMap() { } std::unique_ptr NodeMap::request(const mbgl::Resource& resource, Callback callback_) { - Nan::HandleScope scope; + Nan::HandleScope handleScope; + + // Enter a new v8::Context to avoid leaking v8::FunctionTemplate + // from Nan::New + v8::Local context = v8::Context::New(v8::Isolate::GetCurrent()); + v8::Context::Scope scope(context); auto requestHandle = NodeRequest::Create(resource, callback_)->ToObject(); auto request = Nan::ObjectWrap::Unwrap(requestHandle);