Bug 1877642 - Disable browser_fullscreen-tab-close-race.js on apple_silicon !debug...
[gecko.git] / accessible / interfaces / nsIAccessibleMacInterface.idl
blob952ac2a9fece6e31d0e9fcaee4346a2eada017e7
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/. */
6 #include "nsISupports.idl"
8 %{C++
9 #include <objc/objc.h>
11 #define NS_ACCESSIBLE_MAC_EVENT_TOPIC "accessible-mac-event"
14 native NativeObjectId(id);
16 /**
17 * A generic NSISupports wrapper for native NSObjects.
19 [scriptable, builtinclass, uuid(4582bb77-de03-4ed1-a9b4-d482d97c0129)]
20 interface nsIAccessibleMacNSObjectWrapper : nsISupports
22 [noscript, notxpcom, nostdcall] NativeObjectId GetNativeObject();
25 [scriptable, builtinclass, uuid(9d27cf21-66fc-47dc-8a07-98edb18707b1)]
26 interface nsIAccessibleMacInterface : nsISupports
28 /**
29 * List of available attribute names for the object.
30 * Emulates `AXUIElementCopyAttributeNames`.
32 readonly attribute Array<AString> attributeNames;
34 /**
35 * List of available parameterized attribute names for the object.
36 * Emulates `AXUIElementCopyParameterizedAttributeNames`.
38 readonly attribute Array<AString> parameterizedAttributeNames;
40 /**
41 * List of available action names for tthe object.
42 * Emulates `AXUIElementCopyActionNames`.
44 readonly attribute Array<AString> actionNames;
46 /**
47 * Returns the value of an attribute.
48 * Emulates `AXUIElementCopyAttributeValue`.
50 [implicit_jscontext]
51 jsval getAttributeValue(in AString attributeName);
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);
60 /**
61 * Requests that the accessibility object perform the specified action.
62 * Emulatets `AXUIElementPerformAction`.
64 void performAction(in AString actionName);
66 /**
67 * Returns true if the given attribute is settable on the object.
68 * Emulates `AXUIElementIsAttributeSettable`.
69 **/
70 boolean isAttributeSettable(in AString attributeName);
72 /**
73 * Sets the given attribute with the given value on the object.
74 * Emulates `AXUIElementSetAttributeValue`.
75 **/
76 [implicit_jscontext]
77 void setAttributeValue(in AString attributeName, in jsval attributeValue);
80 [scriptable, builtinclass, uuid(6153f07b-2260-495b-9899-9699d9fe323e)]
81 interface nsIAccessibleMacEvent : nsISupports
83 readonly attribute nsIAccessibleMacInterface macIface;
85 [implicit_jscontext]
86 readonly attribute jsval data;