1 /* clang-format off */ 2 /* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 3 /* clang-format on */ 4 /* This Source Code Form is subject to the terms of the Mozilla Public 5 * License, v. 2.0. If a copy of the MPL was not distributed with this 6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 7 8 #ifndef mozilla_a11y_DocAccessibleWrap_h__ 9 #define mozilla_a11y_DocAccessibleWrap_h__ 10 11 #include "DocAccessible.h" 12 #include "nsTHashSet.h" 13 14 namespace mozilla { 15 16 class PresShell; 17 18 namespace a11y { 19 20 class DocAccessibleWrap : public DocAccessible { 21 public: 22 DocAccessibleWrap(dom::Document* aDocument, PresShell* aPresShell); 23 24 virtual ~DocAccessibleWrap(); 25 26 virtual void Shutdown() override; 27 28 virtual void AttributeChanged(dom::Element* aElement, int32_t aNameSpaceID, 29 nsAtom* aAttribute, int32_t aModType, 30 const nsAttrValue* aOldValue) override; 31 32 void QueueNewLiveRegion(LocalAccessible* aAccessible); 33 34 void ProcessNewLiveRegions(); 35 36 protected: 37 virtual void DoInitialUpdate() override; 38 39 private: 40 nsTHashSet<void*> mNewLiveRegions; 41 }; 42 43 } // namespace a11y 44 } // namespace mozilla 45 46 #endif 47