/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* 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/. */
/** * Used to organize and coalesce pending events.
*/ class EventQueue { protected: explicit EventQueue(DocAccessible* aDocument) : mDocument(aDocument) {
MOZ_ASSERT(mDocument, "There's no point creating an event queue for a null document");
}
/** * Put an accessible event into the queue to process it later.
*/ bool PushEvent(AccEvent* aEvent);
// Event queue processing /** * Coalesce redundant events from the queue.
*/ void CoalesceEvents();
/** * Coalesce events from the same subtree.
*/ void CoalesceReorderEvents(AccEvent* aTailEvent);
/** * Coalesce two selection change events within the same select control.
*/ void CoalesceSelChangeEvents(AccSelChangeEvent* aTailEvent,
AccSelChangeEvent* aThisEvent,
uint32_t aThisIndex);
protected: /** * The document accessible reference owning this queue.
*/
DocAccessible* mDocument;
/** * Pending events array. Don't make this an AutoTArray; we use * SwapElements() on it.
*/
nsTArray<RefPtr<AccEvent>> mEvents;
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.