void setJSWebSocketOnclose(ExecState* exec, JSObject* thisObject, JSValue value) { UNUSED_PARAM(exec); WebSocket* imp = static_cast<WebSocket*>(static_cast<JSWebSocket*>(thisObject)->impl()); JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec); if (!globalObject) return; imp->setOnclose(globalObject->createJSAttributeEventListener(value)); }
JSValue jsWebSocketOnclose(ExecState* exec, const Identifier&, const PropertySlot& slot) { JSWebSocket* castedThis = static_cast<JSWebSocket*>(asObject(slot.slotBase())); UNUSED_PARAM(exec); WebSocket* imp = static_cast<WebSocket*>(castedThis->impl()); if (EventListener* listener = imp->onclose()) { if (JSObject* jsFunction = listener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } return jsNull(); }
JSValue jsWebSocketOnclose(ExecState* exec, JSValue slotBase, const Identifier&) { JSWebSocket* castedThis = static_cast<JSWebSocket*>(asObject(slotBase)); UNUSED_PARAM(exec); WebSocket* imp = static_cast<WebSocket*>(castedThis->impl()); if (EventListener* listener = imp->onclose()) { if (const JSEventListener* jsListener = JSEventListener::cast(listener)) { if (JSObject* jsFunction = jsListener->jsFunction(imp->scriptExecutionContext())) return jsFunction; } } return jsNull(); }