void JSMessageChannelOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSMessageChannel* jsMessageChannel = jsCast<JSMessageChannel*>(handle.get().asCell()); DOMWrapperWorld& world = *static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, &jsMessageChannel->impl(), jsMessageChannel); jsMessageChannel->releaseImpl(); }
JSValue jsMessageChannelPort2(ExecState* exec, JSValue slotBase, const Identifier&) { JSMessageChannel* castedThis = static_cast<JSMessageChannel*>(asObject(slotBase)); UNUSED_PARAM(exec); MessageChannel* imp = static_cast<MessageChannel*>(castedThis->impl()); JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->port2())); return result; }
EncodedJSValue jsMessageChannelPort2(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue thisValue, PropertyName) { JSMessageChannel* castedThis = jsDynamicCast<JSMessageChannel*>(JSValue::decode(thisValue)); UNUSED_PARAM(slotBase); if (!castedThis) return throwVMTypeError(exec); UNUSED_PARAM(exec); MessageChannel& impl = castedThis->impl(); JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(impl.port2())); return JSValue::encode(result); }