tor-browser

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

nsIAccessibleMacInterface.idl (2773B)


      1 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 #include "nsISupports.idl"
      7 
      8 %{C++
      9 #include <objc/objc.h>
     10 
     11 #define NS_ACCESSIBLE_MAC_EVENT_TOPIC "accessible-mac-event"
     12 %}
     13 
     14 native NativeObjectId(id);
     15 
     16 /**
     17 * A generic NSISupports wrapper for native NSObjects.
     18 */
     19 [scriptable, builtinclass, uuid(4582bb77-de03-4ed1-a9b4-d482d97c0129)]
     20 interface nsIAccessibleMacNSObjectWrapper : nsISupports
     21 {
     22  [noscript, notxpcom, nostdcall] NativeObjectId GetNativeObject();
     23 };
     24 
     25 [scriptable, builtinclass, uuid(9d27cf21-66fc-47dc-8a07-98edb18707b1)]
     26 interface nsIAccessibleMacInterface : nsISupports
     27 {
     28  /**
     29   * List of available attribute names for the object.
     30   * Emulates `AXUIElementCopyAttributeNames`.
     31   */
     32  readonly attribute Array<AString> attributeNames;
     33 
     34  /**
     35   * List of available parameterized attribute names for the object.
     36   * Emulates `AXUIElementCopyParameterizedAttributeNames`.
     37   */
     38  readonly attribute Array<AString> parameterizedAttributeNames;
     39 
     40  /**
     41   * List of available action names for tthe object.
     42   * Emulates `AXUIElementCopyActionNames`.
     43   */
     44  readonly attribute Array<AString> actionNames;
     45 
     46  /**
     47   * Returns the value of an attribute.
     48   * Emulates `AXUIElementCopyAttributeValue`.
     49   */
     50  [implicit_jscontext]
     51  jsval getAttributeValue(in AString attributeName);
     52 
     53  /**
     54   * Returns the value of an attribute given a name and a parameter.
     55   * Emulates `AXUIElementCopyParameterizedAttributeValue`.
     56   **/
     57  [implicit_jscontext]
     58  jsval getParameterizedAttributeValue(in AString attributeName, in jsval parameter);
     59 
     60  /**
     61   * Gets a description of the specified action.
     62   * Emulates `AXUIElementCopyActionDescription`.
     63   */
     64  AString getActionDescription(in AString actionName);
     65 
     66  /**
     67   * Requests that the accessibility object perform the specified action.
     68   * Emulates `AXUIElementPerformAction`.
     69   */
     70  void performAction(in AString actionName);
     71 
     72  /**
     73   * Returns true if the given attribute is settable on the object.
     74   * Emulates `AXUIElementIsAttributeSettable`.
     75   **/
     76  boolean isAttributeSettable(in AString attributeName);
     77 
     78  /**
     79   * Sets the given attribute with the given value on the object.
     80   * Emulates `AXUIElementSetAttributeValue`.
     81   **/
     82  [implicit_jscontext]
     83  void setAttributeValue(in AString attributeName, in jsval attributeValue);
     84 };
     85 
     86 [scriptable, builtinclass, uuid(6153f07b-2260-495b-9899-9699d9fe323e)]
     87 interface nsIAccessibleMacEvent : nsISupports
     88 {
     89  readonly attribute nsIAccessibleMacInterface macIface;
     90 
     91  [implicit_jscontext]
     92  readonly attribute jsval data;
     93 };