void JSTestNamedConstructorOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSTestNamedConstructor* jsTestNamedConstructor = jsCast<JSTestNamedConstructor*>(handle.get().asCell()); DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, jsTestNamedConstructor->impl(), jsTestNamedConstructor); jsTestNamedConstructor->releaseImpl(); }
EncodedJSValue jsTestNamedConstructorConstructor(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName) { JSTestNamedConstructor* domObject = jsDynamicCast<JSTestNamedConstructor*>(JSValue::decode(slotBase)); if (!domObject) return throwVMTypeError(exec); return JSValue::encode(JSTestNamedConstructor::getConstructor(exec->vm(), domObject->globalObject())); }
bool JSTestNamedConstructorOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSTestNamedConstructor* jsTestNamedConstructor = jsCast<JSTestNamedConstructor*>(handle.get().asCell()); if (jsTestNamedConstructor->impl().hasPendingActivity()) return true; UNUSED_PARAM(visitor); return false; }
JSValue jsTestNamedConstructorConstructor(ExecState* exec, JSValue slotBase, PropertyName) { JSTestNamedConstructor* domObject = jsCast<JSTestNamedConstructor*>(asObject(slotBase)); return JSTestNamedConstructor::getConstructor(exec, domObject->globalObject()); }