tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

xpcAccessible.h (4259B)


      1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set ts=2 et sw=2 tw=80: */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #ifndef mozilla_a11y_xpcAccessible_h_
      8 #define mozilla_a11y_xpcAccessible_h_
      9 
     10 #include "nsIAccessible.h"
     11 
     12 class nsIAccessible;
     13 
     14 namespace mozilla {
     15 namespace a11y {
     16 
     17 class Accessible;
     18 class LocalAccessible;
     19 
     20 /**
     21 * XPCOM nsIAccessible interface implementation, used by xpcAccessibleGeneric
     22 * class.
     23 */
     24 class xpcAccessible : public nsIAccessible {
     25 public:
     26  // nsIAccessible
     27  NS_IMETHOD GetParent(nsIAccessible** aParent) final;
     28  NS_IMETHOD GetNextSibling(nsIAccessible** aNextSibling) final;
     29  NS_IMETHOD GetPreviousSibling(nsIAccessible** aPreviousSibling) final;
     30  NS_IMETHOD GetFirstChild(nsIAccessible** aFirstChild) final;
     31  NS_IMETHOD GetLastChild(nsIAccessible** aLastChild) final;
     32  NS_IMETHOD GetChildCount(int32_t* aChildCount) final;
     33  NS_IMETHOD GetChildAt(int32_t aChildIndex, nsIAccessible** aChild) final;
     34  NS_IMETHOD GetChildren(nsIArray** aChildren) final;
     35  NS_IMETHOD GetIndexInParent(int32_t* aIndexInParent) final;
     36 
     37  NS_IMETHOD GetUniqueID(int64_t* aUniqueID) final;
     38  NS_IMETHOD GetDOMNode(nsINode** aDOMNode) final;
     39  NS_IMETHOD GetId(nsAString& aID) final;
     40  NS_IMETHOD GetDocument(nsIAccessibleDocument** aDocument) final;
     41  NS_IMETHOD GetRootDocument(nsIAccessibleDocument** aRootDocument) final;
     42 
     43  NS_IMETHOD GetRole(uint32_t* aRole) final;
     44  NS_IMETHOD GetState(uint32_t* aState, uint32_t* aExtraState) final;
     45 
     46  NS_IMETHOD GetDescription(nsAString& aDescription) final;
     47  NS_IMETHOD GetName(nsAString& aName) final;
     48  NS_IMETHOD GetLanguage(nsAString& aLanguage) final;
     49  NS_IMETHOD GetValue(nsAString& aValue) final;
     50 
     51  NS_IMETHOD GetAccessKey(nsAString& aAccessKey) final;
     52  NS_IMETHOD GetKeyboardShortcut(nsAString& aKeyBinding) final;
     53 
     54  NS_IMETHOD GetAttributes(nsIPersistentProperties** aAttributes) final;
     55 
     56  NS_IMETHOD GetCache(nsIPersistentProperties** aCachedFields) final;
     57 
     58  NS_IMETHOD GetNativeInterface(nsISupports** aNativeInterface) final;
     59 
     60  NS_IMETHOD GetBounds(int32_t* aX, int32_t* aY, int32_t* aWidth,
     61                       int32_t* aHeight) final;
     62  NS_IMETHOD GetBoundsInCSSPixels(int32_t* aX, int32_t* aY, int32_t* aWidth,
     63                                  int32_t* aHeight) final;
     64  NS_IMETHOD GroupPosition(int32_t* aGroupLevel, int32_t* aSimilarItemsInGroup,
     65                           int32_t* aPositionInGroup) final;
     66  NS_IMETHOD GetRelationByType(uint32_t aType,
     67                               nsIAccessibleRelation** aRelation) final;
     68  NS_IMETHOD GetRelations(nsIArray** aRelations) final;
     69 
     70  NS_IMETHOD GetFocusedChild(nsIAccessible** aChild) final;
     71  NS_IMETHOD GetChildAtPoint(int32_t aX, int32_t aY,
     72                             nsIAccessible** aAccessible) final;
     73  NS_IMETHOD GetDeepestChildAtPoint(int32_t aX, int32_t aY,
     74                                    nsIAccessible** aAccessible) final;
     75  NS_IMETHOD GetDeepestChildAtPointInProcess(int32_t aX, int32_t aY,
     76                                             nsIAccessible** aAccessible) final;
     77 
     78  NS_IMETHOD SetSelected(bool aSelect) final;
     79  NS_IMETHOD TakeSelection() final;
     80  NS_IMETHOD TakeFocus() final;
     81 
     82  NS_IMETHOD GetActionCount(uint8_t* aActionCount) final;
     83  NS_IMETHOD GetActionName(uint8_t aIndex, nsAString& aName) final;
     84  NS_IMETHOD GetActionDescription(uint8_t aIndex,
     85                                  nsAString& aDescription) final;
     86  NS_IMETHOD DoAction(uint8_t aIndex) final;
     87 
     88  MOZ_CAN_RUN_SCRIPT
     89  NS_IMETHOD ScrollTo(uint32_t aHow) final;
     90  NS_IMETHOD ScrollToPoint(uint32_t aCoordinateType, int32_t aX,
     91                           int32_t aY) final;
     92 
     93  NS_IMETHOD Announce(const nsAString& aAnnouncement, uint16_t aPriority) final;
     94 
     95  NS_IMETHOD GetComputedARIARole(nsAString& aRole) final;
     96 
     97 protected:
     98  xpcAccessible() {}
     99  virtual ~xpcAccessible() {}
    100 
    101 private:
    102  LocalAccessible* Intl();
    103  Accessible* IntlGeneric();
    104 
    105  xpcAccessible(const xpcAccessible&) = delete;
    106  xpcAccessible& operator=(const xpcAccessible&) = delete;
    107 };
    108 
    109 }  // namespace a11y
    110 }  // namespace mozilla
    111 
    112 #endif