void MediaRecorder::DispatchSimpleEvent(const nsAString & aStr) { NS_ABORT_IF_FALSE(NS_IsMainThread(), "Not running on main thread"); nsresult rv = CheckInnerWindowCorrectness(); if (NS_FAILED(rv)) { return; } nsCOMPtr<nsIDOMEvent> event; rv = NS_NewDOMEvent(getter_AddRefs(event), this, nullptr, nullptr); if (NS_FAILED(rv)) { NS_WARNING("Failed to create the error event!!!"); return; } rv = event->InitEvent(aStr, false, false); if (NS_FAILED(rv)) { NS_WARNING("Failed to init the error event!!!"); return; } event->SetTrusted(true); rv = DispatchDOMEvent(nullptr, event, nullptr, nullptr); if (NS_FAILED(rv)) { NS_ERROR("Failed to dispatch the event!!!"); return; } }
void EventSource::AnnounceConnection() { if (mReadyState == CLOSED) { return; } if (mReadyState != CONNECTING) { NS_WARNING("Unexpected mReadyState!!!"); return; } // When a user agent is to announce the connection, the user agent must set // the readyState attribute to OPEN and queue a task to fire a simple event // named open at the EventSource object. mReadyState = OPEN; nsresult rv = CheckInnerWindowCorrectness(); if (NS_FAILED(rv)) { return; } RefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); // it doesn't bubble, and it isn't cancelable event->InitEvent(NS_LITERAL_STRING("open"), false, false); event->SetTrusted(true); rv = DispatchDOMEvent(nullptr, event, nullptr, nullptr); if (NS_FAILED(rv)) { NS_WARNING("Failed to dispatch the open event!!!"); return; } }
void EventSource::FailConnection() { if (mReadyState == CLOSED) { return; } nsresult rv = ConsoleError(); if (NS_FAILED(rv)) { NS_WARNING("Failed to print to the console error"); } // When a user agent is to fail the connection, the user agent must set the // readyState attribute to CLOSED and queue a task to fire a simple event // named error at the EventSource object. Close(); // it sets mReadyState to CLOSED rv = CheckInnerWindowCorrectness(); if (NS_FAILED(rv)) { return; } RefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); // it doesn't bubble, and it isn't cancelable event->InitEvent(NS_LITERAL_STRING("error"), false, false); event->SetTrusted(true); rv = DispatchDOMEvent(nullptr, event, nullptr, nullptr); if (NS_FAILED(rv)) { NS_WARNING("Failed to dispatch the error event!!!"); return; } }
nsresult DOMEventTargetHelper::DispatchTrustedEvent(const nsAString& aEventName) { RefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); event->InitEvent(aEventName, false, false); return DispatchTrustedEvent(event); }
nsresult DOMEventTargetHelper::DispatchTrustedEvent(const nsAString& aEventName) { nsRefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); nsresult rv = event->InitEvent(aEventName, false, false); NS_ENSURE_SUCCESS(rv, rv); return DispatchTrustedEvent(event); }
void TextTrackList::CreateAndDispatchChangeEvent() { RefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); event->InitEvent(NS_LITERAL_STRING("change"), false, false); event->SetTrusted(true); nsCOMPtr<nsIRunnable> eventRunner = new TrackEventRunner(this, event); NS_DispatchToMainThread(eventRunner); }
void TextTrackList::CreateAndDispatchChangeEvent() { nsRefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); nsresult rv = event->InitEvent(NS_LITERAL_STRING("change"), false, false); if (NS_FAILED(rv)) { NS_WARNING("Failed to init the change event!"); return; } event->SetTrusted(true); nsCOMPtr<nsIRunnable> eventRunner = new TrackEventRunner(this, event); NS_DispatchToMainThread(eventRunner); }
void DesktopNotification::DispatchNotificationEvent(const nsString& aName) { if (NS_FAILED(CheckInnerWindowCorrectness())) { return; } nsCOMPtr<nsIDOMEvent> event; nsresult rv = NS_NewDOMEvent(getter_AddRefs(event), this, nullptr, nullptr); if (NS_SUCCEEDED(rv)) { // it doesn't bubble, and it isn't cancelable rv = event->InitEvent(aName, false, false); if (NS_SUCCEEDED(rv)) { event->SetTrusted(true); DispatchDOMEvent(nullptr, event, nullptr, nullptr); } } }
void nsInProcessTabChildGlobal::DelayedDisconnect() { // Don't let the event escape mOwner = nsnull; // Fire the "unload" event nsCOMPtr<nsIDOMEvent> event; NS_NewDOMEvent(getter_AddRefs(event), nsnull, nsnull); if (event) { event->InitEvent(NS_LITERAL_STRING("unload"), PR_FALSE, PR_FALSE); nsCOMPtr<nsIPrivateDOMEvent> privateEvent(do_QueryInterface(event)); privateEvent->SetTrusted(PR_TRUE); PRBool dummy; nsDOMEventTargetHelper::DispatchEvent(event, &dummy); } // Continue with the Disconnect cleanup nsCOMPtr<nsIDOMWindow> win = do_GetInterface(mDocShell); nsCOMPtr<nsPIDOMWindow> pwin = do_QueryInterface(win); if (pwin) { pwin->SetChromeEventHandler(pwin->GetChromeEventHandler()); } mDocShell = nsnull; mChromeMessageManager = nsnull; if (mMessageManager) { static_cast<nsFrameMessageManager*>(mMessageManager.get())->Disconnect(); mMessageManager = nsnull; } if (mListenerManager) { mListenerManager->Disconnect(); } if (!mLoadingScript) { if (mCx) { DestroyCx(); } } else { mDelayedDisconnect = PR_TRUE; } }
void TextTrackList::CreateAndDispatchChangeEvent() { MOZ_ASSERT(NS_IsMainThread()); if (!mPendingTextTrackChange) { nsPIDOMWindowInner* win = GetOwner(); if (!win) { return; } mPendingTextTrackChange = true; RefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); event->InitEvent(NS_LITERAL_STRING("change"), false, false); event->SetTrusted(true); nsCOMPtr<nsIRunnable> eventRunner = new ChangeEventRunner(this, event); nsGlobalWindow::Cast(win)->Dispatch( "TextTrackList::CreateAndDispatchChangeEvent", TaskCategory::Other, eventRunner.forget()); } }
void EventSource::ReestablishConnection() { if (mReadyState == CLOSED) { return; } nsresult rv = ResetConnection(); if (NS_FAILED(rv)) { NS_WARNING("Failed to reset the connection!!!"); return; } rv = CheckInnerWindowCorrectness(); if (NS_FAILED(rv)) { return; } RefPtr<Event> event = NS_NewDOMEvent(this, nullptr, nullptr); // it doesn't bubble, and it isn't cancelable event->InitEvent(NS_LITERAL_STRING("error"), false, false); event->SetTrusted(true); rv = DispatchDOMEvent(nullptr, event, nullptr, nullptr); if (NS_FAILED(rv)) { NS_WARNING("Failed to dispatch the error event!!!"); return; } rv = SetReconnectionTimeout(); if (NS_FAILED(rv)) { NS_WARNING("Failed to set the timeout for reestablishing the connection!!!"); return; } }