| 489 | } |
| 490 | |
| 491 | JSValueRef V8JavaScriptContext::newWrappedObject(const Ref<RefCountable>& wrappedObject, |
| 492 | JSExceptionTracker& exceptionTracker) { |
| 493 | v8::HandleScope handleScope(_isolate); |
| 494 | v8::Local<v8::Context> context = v8::Local<v8::Context>::New(_isolate, _context); |
| 495 | |
| 496 | auto valdiObjectTemplate = _valdiObjectTemplate.Get(_isolate); |
| 497 | v8::Local<v8::Object> val; |
| 498 | if (!valdiObjectTemplate->NewInstance(context).ToLocal(&val)) { |
| 499 | exceptionTracker.onError("Cannot create wrapper object"); |
| 500 | return JSValueRef(); |
| 501 | } |
| 502 | |
| 503 | auto externalData = |
| 504 | IndirectV8Persistent::makeWeakExternal(_isolate, unsafeBridgeRetain(wrappedObject.get()), freeWrappedPointer); |
| 505 | |
| 506 | val->SetInternalField(static_cast<int>(InternalFieldSlot::DataSlot), externalData); |
| 507 | return toRetainedJSValueRef(IndirectV8Persistent::make(_isolate, val)); |
| 508 | } |
| 509 | |
| 510 | JSValueRef V8JavaScriptContext::newNativeClass(const Ref<RefCountable>& /*classOpaque*/, |
| 511 | const JSClassDefinition& /*classDefinition*/, |
no test coverage detected