/* -*- Mode: c++; c-basic-offset: 2; tab-width: 20; indent-tabs-mode: nil; -*- * vim: set sw=2 ts=4 expandtab: * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/** * EventDispatcher is the Gecko counterpart to the Java EventDispatcher class. * Together, they make up a unified event bus. Events dispatched from the Java * side may notify event listeners on the Gecko side, and vice versa.
*/ class EventDispatcher final
: public nsIGeckoViewEventDispatcher, public java::EventDispatcher::Natives<EventDispatcher> { using NativesBase = java::EventDispatcher::Natives<EventDispatcher>;
struct ListenersList {
nsCOMArray<nsIGeckoViewEventListener> listeners{/* count */ 1}; // 0 if the list can be modified
uint32_t lockCount{0}; // true if this list has a listener that is being unregistered bool unregistering{false};
};
using ListenersMap = nsClassHashtable<nsStringHashKey, ListenersList>;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.