void KJavaApplet::resizeAppletWidget( int width, int height ) { kdDebug(6100) << "KJavaApplet, id = " << id << ", ::resizeAppletWidget to " << width << ", " << height << endl; TQStringList sl; sl.push_back( TQString::number( 0 ) ); // applet itself has id 0 sl.push_back( TQString( "eval" ) ); // evaluate next script sl.push_back( TQString::number( KParts::LiveConnectExtension::TypeString ) ); sl.push_back( TQString( "this.setAttribute('WIDTH',%1);this.setAttribute('HEIGHT',%2)" ).arg( width ).arg( height ) ); jsData( sl ); }
nsresult UDPSocket::DispatchReceivedData(const nsACString& aRemoteAddress, const uint16_t& aRemotePort, const uint8_t* aData, const uint32_t& aDataLength) { AutoJSAPI jsapi; if (NS_WARN_IF(!jsapi.Init(GetOwner()))) { return NS_ERROR_FAILURE; } JSContext* cx = jsapi.cx(); // Copy packet data to ArrayBuffer JS::Rooted<JSObject*> arrayBuf(cx, ArrayBuffer::Create(cx, aDataLength, aData)); if (NS_WARN_IF(!arrayBuf)) { return NS_ERROR_FAILURE; } JS::Rooted<JS::Value> jsData(cx, JS::ObjectValue(*arrayBuf)); // Create DOM event RootedDictionary<UDPMessageEventInit> init(cx); init.mRemoteAddress = NS_ConvertUTF8toUTF16(aRemoteAddress); init.mRemotePort = aRemotePort; init.mData = jsData; RefPtr<UDPMessageEvent> udpEvent = UDPMessageEvent::Constructor(this, NS_LITERAL_STRING("message"), init); if (NS_WARN_IF(!udpEvent)) { return NS_ERROR_FAILURE; } udpEvent->SetTrusted(true); RefPtr<AsyncEventDispatcher> asyncDispatcher = new AsyncEventDispatcher(this, udpEvent); return asyncDispatcher->PostDOMEvent(); }
void EventSource::DispatchAllMessageEvents() { if (mReadyState == CLOSED || mFrozen) { return; } mGoingToDispatchAllMessages = false; nsresult rv = CheckInnerWindowCorrectness(); if (NS_FAILED(rv)) { return; } AutoJSAPI jsapi; if (NS_WARN_IF(!jsapi.Init(GetOwner()))) { return; } JSContext* cx = jsapi.cx(); while (mMessagesToDispatch.GetSize() > 0) { nsAutoPtr<Message> message(static_cast<Message*>(mMessagesToDispatch.PopFront())); // Now we can turn our string into a jsval JS::Rooted<JS::Value> jsData(cx); { JSString* jsString; jsString = JS_NewUCStringCopyN(cx, message->mData.get(), message->mData.Length()); NS_ENSURE_TRUE_VOID(jsString); jsData.setString(jsString); } // create an event that uses the MessageEvent interface, // which does not bubble, is not cancelable, and has no default action RefPtr<MessageEvent> event = NS_NewDOMMessageEvent(this, nullptr, nullptr); rv = event->InitMessageEvent(message->mEventName, false, false, jsData, mOrigin, message->mLastEventID, nullptr); if (NS_FAILED(rv)) { NS_WARNING("Failed to init the message event!!!"); return; } event->SetTrusted(true); rv = DispatchDOMEvent(nullptr, static_cast<Event*>(event), nullptr, nullptr); if (NS_FAILED(rv)) { NS_WARNING("Failed to dispatch the message event!!!"); return; } mLastEventID.Assign(message->mLastEventID); } }