v8::Persistent<v8::FunctionTemplate> V8TestNode::GetTemplate() { V8PerIsolateData* data = V8PerIsolateData::current(); V8PerIsolateData::TemplateMap::iterator result = data->templateMap().find(&info); if (result != data->templateMap().end()) return result->value; v8::HandleScope handleScope; v8::Persistent<v8::FunctionTemplate> templ = ConfigureV8TestNodeTemplate(GetRawTemplate()); data->templateMap().add(&info, templ); return templ; }
v8::Persistent<v8::FunctionTemplate> V8TestNode::GetTemplate(v8::Isolate* isolate, WrapperWorldType worldType) { V8PerIsolateData* data = V8PerIsolateData::from(isolate); V8PerIsolateData::TemplateMap::iterator result = data->templateMap(worldType).find(&info); if (result != data->templateMap(worldType).end()) return result->value; v8::HandleScope handleScope; v8::Persistent<v8::FunctionTemplate> templ = ConfigureV8TestNodeTemplate(data->rawTemplate(&info, worldType), isolate, worldType); data->templateMap(worldType).add(&info, templ); return templ; }