summaryrefslogtreecommitdiffstats
path: root/accessible/interfaces/nsIAccessibleMacInterface.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--accessible/interfaces/nsIAccessibleMacInterface.idl87
1 files changed, 87 insertions, 0 deletions
diff --git a/accessible/interfaces/nsIAccessibleMacInterface.idl b/accessible/interfaces/nsIAccessibleMacInterface.idl
new file mode 100644
index 0000000000..384d09d5f0
--- /dev/null
+++ b/accessible/interfaces/nsIAccessibleMacInterface.idl
@@ -0,0 +1,87 @@
+/* -*- 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/. */
+
+#include "nsISupports.idl"
+
+%{C++
+#include <objc/objc.h>
+
+#define NS_ACCESSIBLE_MAC_EVENT_TOPIC "accessible-mac-event"
+%}
+
+native NativeObjectId(id);
+
+/**
+ * A generic NSISupports wrapper for native NSObjects.
+ */
+[scriptable, builtinclass, uuid(4582bb77-de03-4ed1-a9b4-d482d97c0129)]
+interface nsIAccessibleMacNSObjectWrapper : nsISupports
+{
+ [noscript, notxpcom, nostdcall] NativeObjectId GetNativeObject();
+};
+
+[scriptable, builtinclass, uuid(9d27cf21-66fc-47dc-8a07-98edb18707b1)]
+interface nsIAccessibleMacInterface : nsISupports
+{
+ /**
+ * List of available attribute names for the object.
+ * Emulates `AXUIElementCopyAttributeNames`.
+ */
+ readonly attribute Array<AString> attributeNames;
+
+ /**
+ * List of available parameterized attribute names for the object.
+ * Emulates `AXUIElementCopyParameterizedAttributeNames`.
+ */
+ readonly attribute Array<AString> parameterizedAttributeNames;
+
+ /**
+ * List of available action names for tthe object.
+ * Emulates `AXUIElementCopyActionNames`.
+ */
+ readonly attribute Array<AString> actionNames;
+
+ /**
+ * Returns the value of an attribute.
+ * Emulates `AXUIElementCopyAttributeValue`.
+ */
+ [implicit_jscontext]
+ jsval getAttributeValue(in AString attributeName);
+
+ /**
+ * Returns the value of an attribute given a name and a parameter.
+ * Emulates `AXUIElementCopyParameterizedAttributeValue`.
+ **/
+ [implicit_jscontext]
+ jsval getParameterizedAttributeValue(in AString attributeName, in jsval parameter);
+
+ /**
+ * Requests that the accessibility object perform the specified action.
+ * Emulatets `AXUIElementPerformAction`.
+ */
+ void performAction(in AString actionName);
+
+ /**
+ * Returns true if the given attribute is settable on the object.
+ * Emulates `AXUIElementIsAttributeSettable`.
+ **/
+ bool isAttributeSettable(in AString attributeName);
+
+ /**
+ * Sets the given attribute with the given value on the object.
+ * Emulates `AXUIElementSetAttributeValue`.
+ **/
+ [implicit_jscontext]
+ void setAttributeValue(in AString attributeName, in jsval attributeValue);
+};
+
+[scriptable, builtinclass, uuid(6153f07b-2260-495b-9899-9699d9fe323e)]
+interface nsIAccessibleMacEvent : nsISupports
+{
+ readonly attribute nsIAccessibleMacInterface macIface;
+
+ [implicit_jscontext]
+ readonly attribute jsval data;
+};