other-licenses/ia2/AccessibleRole.idl

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 /*************************************************************************
michael@0 2 *
michael@0 3 * File Name (AccessibleRole.idl)
michael@0 4 *
michael@0 5 * IAccessible2 IDL Specification
michael@0 6 *
michael@0 7 * Copyright (c) 2007, 2013 Linux Foundation
michael@0 8 * Copyright (c) 2006 IBM Corporation
michael@0 9 * Copyright (c) 2000, 2006 Sun Microsystems, Inc.
michael@0 10 * All rights reserved.
michael@0 11 *
michael@0 12 *
michael@0 13 * Redistribution and use in source and binary forms, with or without
michael@0 14 * modification, are permitted provided that the following conditions
michael@0 15 * are met:
michael@0 16 *
michael@0 17 * 1. Redistributions of source code must retain the above copyright
michael@0 18 * notice, this list of conditions and the following disclaimer.
michael@0 19 *
michael@0 20 * 2. Redistributions in binary form must reproduce the above
michael@0 21 * copyright notice, this list of conditions and the following
michael@0 22 * disclaimer in the documentation and/or other materials
michael@0 23 * provided with the distribution.
michael@0 24 *
michael@0 25 * 3. Neither the name of the Linux Foundation nor the names of its
michael@0 26 * contributors may be used to endorse or promote products
michael@0 27 * derived from this software without specific prior written
michael@0 28 * permission.
michael@0 29 *
michael@0 30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
michael@0 31 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
michael@0 32 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@0 33 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
michael@0 34 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
michael@0 35 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@0 36 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
michael@0 37 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
michael@0 38 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
michael@0 39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
michael@0 40 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
michael@0 41 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
michael@0 42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
michael@0 43 *
michael@0 44 * This BSD License conforms to the Open Source Initiative "Simplified
michael@0 45 * BSD License" as published at:
michael@0 46 * http://www.opensource.org/licenses/bsd-license.php
michael@0 47 *
michael@0 48 * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
michael@0 49 * mark may be used in accordance with the Linux Foundation Trademark
michael@0 50 * Policy to indicate compliance with the IAccessible2 specification.
michael@0 51 *
michael@0 52 ************************************************************************/
michael@0 53
michael@0 54 import "objidl.idl";
michael@0 55
michael@0 56 /** Collection of roles
michael@0 57
michael@0 58 This enumerator defines an extended set of accessible roles of objects implementing
michael@0 59 the %IAccessible2 interface. These roles are in addition to the MSAA roles obtained
michael@0 60 through the MSAA get_accRole method. Examples are 'footnote', 'heading', and
michael@0 61 'label'. You obtain an object's %IAccessible2 roles by calling IAccessible2::role.
michael@0 62 */
michael@0 63 enum IA2Role {
michael@0 64
michael@0 65 /** Unknown role. The object contains some Accessible information, but its
michael@0 66 role is not known.
michael@0 67 */
michael@0 68 IA2_ROLE_UNKNOWN = 0,
michael@0 69
michael@0 70 /** An object that can be drawn into and to manage events from the objects
michael@0 71 drawn into it. Also refer to ::IA2_ROLE_FRAME,
michael@0 72 ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_LAYERED_PANE.
michael@0 73 */
michael@0 74 IA2_ROLE_CANVAS = 0x401,
michael@0 75
michael@0 76 /// A caption describing another object.
michael@0 77 IA2_ROLE_CAPTION,
michael@0 78
michael@0 79 /// Used for check buttons that are menu items.
michael@0 80 IA2_ROLE_CHECK_MENU_ITEM,
michael@0 81
michael@0 82 /// A specialized dialog that lets the user choose a color.
michael@0 83 IA2_ROLE_COLOR_CHOOSER,
michael@0 84
michael@0 85 /// A date editor.
michael@0 86 IA2_ROLE_DATE_EDITOR,
michael@0 87
michael@0 88 /** An iconified internal frame in an ::IA2_ROLE_DESKTOP_PANE.
michael@0 89 Also refer to ::IA2_ROLE_INTERNAL_FRAME.
michael@0 90 */
michael@0 91 IA2_ROLE_DESKTOP_ICON,
michael@0 92
michael@0 93 /** A desktop pane. A pane that supports internal frames and iconified
michael@0 94 versions of those internal frames. Also refer to ::IA2_ROLE_INTERNAL_FRAME.
michael@0 95 */
michael@0 96 IA2_ROLE_DESKTOP_PANE,
michael@0 97
michael@0 98 /** A directory pane. A pane that allows the user to navigate through
michael@0 99 and select the contents of a directory. May be used by a file chooser.
michael@0 100 Also refer to ::IA2_ROLE_FILE_CHOOSER.
michael@0 101 */
michael@0 102 IA2_ROLE_DIRECTORY_PANE,
michael@0 103
michael@0 104 /** An editable text object in a toolbar. <b>Deprecated.</b>
michael@0 105 The edit bar role was meant for a text area in a tool bar. However, to detect
michael@0 106 a text area in a tool bar the AT can query the parent.
michael@0 107 */
michael@0 108 IA2_ROLE_EDITBAR,
michael@0 109
michael@0 110 /// Embedded (OLE) object.
michael@0 111 IA2_ROLE_EMBEDDED_OBJECT,
michael@0 112
michael@0 113 /// Text that is used as an endnote (footnote at the end of a chapter or section).
michael@0 114 IA2_ROLE_ENDNOTE,
michael@0 115
michael@0 116 /** A file chooser. A specialized dialog that displays the files in the
michael@0 117 directory and lets the user select a file, browse a different directory,
michael@0 118 or specify a filename. May use the directory pane to show the contents of
michael@0 119 a directory.
michael@0 120 Also refer to ::IA2_ROLE_DIRECTORY_PANE.
michael@0 121 */
michael@0 122 IA2_ROLE_FILE_CHOOSER,
michael@0 123
michael@0 124 /** A font chooser. A font chooser is a component that lets the user pick
michael@0 125 various attributes for fonts.
michael@0 126 */
michael@0 127 IA2_ROLE_FONT_CHOOSER,
michael@0 128
michael@0 129 /** Footer of a document page.
michael@0 130 Also refer to ::IA2_ROLE_HEADER.
michael@0 131 */
michael@0 132 IA2_ROLE_FOOTER,
michael@0 133
michael@0 134 /// Text that is used as a footnote. Also refer to ::IA2_ROLE_ENDNOTE.
michael@0 135 IA2_ROLE_FOOTNOTE,
michael@0 136
michael@0 137 /** A container of form controls. An example of the use of this role is to
michael@0 138 represent an HTML FORM tag.
michael@0 139 */
michael@0 140 IA2_ROLE_FORM,
michael@0 141
michael@0 142 /** Frame role. A top level window with a title bar, border, menu bar, etc.
michael@0 143 It is often used as the primary window for an application. Also refer to
michael@0 144 ::IA2_ROLE_CANVAS and the MSAA roles of dialog and window.
michael@0 145 */
michael@0 146 IA2_ROLE_FRAME,
michael@0 147
michael@0 148 /** A glass pane. A pane that is guaranteed to be painted on top of all panes
michael@0 149 beneath it. Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_INTERNAL_FRAME, and
michael@0 150 ::IA2_ROLE_ROOT_PANE.
michael@0 151 */
michael@0 152 IA2_ROLE_GLASS_PANE,
michael@0 153
michael@0 154 /** Header of a document page.
michael@0 155 Also refer to ::IA2_ROLE_FOOTER.
michael@0 156 */
michael@0 157 IA2_ROLE_HEADER,
michael@0 158
michael@0 159 /// Heading. Use the IAccessible2::attributes level attribute to determine the heading level.
michael@0 160 IA2_ROLE_HEADING,
michael@0 161
michael@0 162 /// A small fixed size picture, typically used to decorate components.
michael@0 163 IA2_ROLE_ICON,
michael@0 164
michael@0 165 /** An image map object. Usually a graphic with multiple hotspots, where
michael@0 166 each hotspot can be activated resulting in the loading of another document
michael@0 167 or section of a document.
michael@0 168 */
michael@0 169 IA2_ROLE_IMAGE_MAP,
michael@0 170
michael@0 171 /** An object which is used to allow input of characters not found on a keyboard,
michael@0 172 such as the input of Chinese characters on a Western keyboard.
michael@0 173 */
michael@0 174 IA2_ROLE_INPUT_METHOD_WINDOW,
michael@0 175
michael@0 176 /** An internal frame. A frame-like object that is clipped by a desktop pane.
michael@0 177 The desktop pane, internal frame, and desktop icon objects are often used to
michael@0 178 create multiple document interfaces within an application.
michael@0 179 Also refer to ::IA2_ROLE_DESKTOP_ICON, ::IA2_ROLE_DESKTOP_PANE, and ::IA2_ROLE_FRAME.
michael@0 180 */
michael@0 181 IA2_ROLE_INTERNAL_FRAME,
michael@0 182
michael@0 183 /// An object used to present an icon or short string in an interface.
michael@0 184 IA2_ROLE_LABEL,
michael@0 185
michael@0 186 /** A layered pane. A specialized pane that allows its children to be drawn
michael@0 187 in layers, providing a form of stacking order. This is usually the pane that
michael@0 188 holds the menu bar as well as the pane that contains most of the visual
michael@0 189 components in a window.
michael@0 190 Also refer to ::IA2_ROLE_CANVAS, ::IA2_ROLE_GLASS_PANE, and ::IA2_ROLE_ROOT_PANE.
michael@0 191 */
michael@0 192 IA2_ROLE_LAYERED_PANE,
michael@0 193
michael@0 194 /** A section whose content is parenthetic or ancillary to the main content
michael@0 195 of the resource.
michael@0 196 */
michael@0 197 IA2_ROLE_NOTE,
michael@0 198
michael@0 199 /** A specialized pane whose primary use is inside a dialog.
michael@0 200 Also refer to MSAA's dialog role.
michael@0 201 */
michael@0 202 IA2_ROLE_OPTION_PANE,
michael@0 203
michael@0 204 /** An object representing a page of document content. It is used in documents
michael@0 205 which are accessed by the user on a page by page basis.
michael@0 206 */
michael@0 207 IA2_ROLE_PAGE,
michael@0 208
michael@0 209 /// A paragraph of text.
michael@0 210 IA2_ROLE_PARAGRAPH,
michael@0 211
michael@0 212 /** A radio button that is a menu item.
michael@0 213 Also refer to MSAA's button and menu item roles.
michael@0 214 */
michael@0 215 IA2_ROLE_RADIO_MENU_ITEM,
michael@0 216
michael@0 217 /** An object which is redundant with another object in the accessible hierarchy.
michael@0 218 ATs typically ignore objects with this role.
michael@0 219 */
michael@0 220 IA2_ROLE_REDUNDANT_OBJECT,
michael@0 221
michael@0 222 /** A root pane. A specialized pane that has a glass pane and a layered pane
michael@0 223 as its children.
michael@0 224 Also refer to ::IA2_ROLE_GLASS_PANE and ::IA2_ROLE_LAYERED_PANE
michael@0 225 */
michael@0 226 IA2_ROLE_ROOT_PANE,
michael@0 227
michael@0 228 /** A ruler such as those used in word processors.
michael@0 229 */
michael@0 230 IA2_ROLE_RULER,
michael@0 231
michael@0 232 /** A scroll pane. An object that allows a user to incrementally view a large
michael@0 233 amount of information. Its children can include scroll bars and a viewport.
michael@0 234 Also refer to ::IA2_ROLE_VIEW_PORT and MSAA's scroll bar role.
michael@0 235 */
michael@0 236 IA2_ROLE_SCROLL_PANE,
michael@0 237
michael@0 238 /** A container of document content. An example of the use of this role is to
michael@0 239 represent an HTML DIV tag. A section may be used as a region. A region is a
michael@0 240 group of elements that together form a perceivable unit. A region does not
michael@0 241 necessarily follow the logical structure of the content, but follows the
michael@0 242 perceivable structure of the page. A region may have an attribute in the set
michael@0 243 of IAccessible2::attributes which indicates that it is "live". A live region
michael@0 244 is content that is likely to change in response to a timed change, a user
michael@0 245 event, or some other programmed logic or event.
michael@0 246 */
michael@0 247 IA2_ROLE_SECTION,
michael@0 248
michael@0 249 /// Object with graphical representation used to represent content on draw pages.
michael@0 250 IA2_ROLE_SHAPE,
michael@0 251
michael@0 252 /** A split pane. A specialized panel that presents two other panels at the
michael@0 253 same time. Between the two panels is a divider the user can manipulate to make
michael@0 254 one panel larger and the other panel smaller.
michael@0 255 */
michael@0 256 IA2_ROLE_SPLIT_PANE,
michael@0 257
michael@0 258 /** An object that forms part of a menu system but which can be "undocked"
michael@0 259 from or "torn off" the menu system to exist as a separate window.
michael@0 260 */
michael@0 261 IA2_ROLE_TEAR_OFF_MENU,
michael@0 262
michael@0 263 /// An object used as a terminal emulator.
michael@0 264 IA2_ROLE_TERMINAL,
michael@0 265
michael@0 266 /// Collection of objects that constitute a logical text entity.
michael@0 267 IA2_ROLE_TEXT_FRAME,
michael@0 268
michael@0 269 /** A toggle button. A specialized push button that can be checked or unchecked,
michael@0 270 but does not provide a separate indicator for the current state.
michael@0 271 Also refer to MSAA's roles of push button, check box, and radio button.
michael@0 272 <BR><B>Note:</B> IA2_ROLE_TOGGLE_BUTTON should not be used. Instead, use MSAA's
michael@0 273 ROLE_SYSTEM_PUSHBUTTON and STATE_SYSTEM_PRESSED.
michael@0 274 */
michael@0 275 IA2_ROLE_TOGGLE_BUTTON,
michael@0 276
michael@0 277 /** A viewport. An object usually used in a scroll pane. It represents the
michael@0 278 portion of the entire data that the user can see. As the user manipulates
michael@0 279 the scroll bars, the contents of the viewport can change.
michael@0 280 Also refer to ::IA2_ROLE_SCROLL_PANE.
michael@0 281 */
michael@0 282 IA2_ROLE_VIEW_PORT,
michael@0 283
michael@0 284 /** An object containing content which is complementary to the main content of
michael@0 285 a document, but remains meaningful when separated from the main content. There
michael@0 286 are various types of content that would appropriately have this role. For example,
michael@0 287 in the case where content is delivered via a web portal to a web browser, this may
michael@0 288 include but not be limited to show times, current weather, related articles, or
michael@0 289 stocks to watch. The complementary role indicates that contained content is relevant
michael@0 290 to the main content. If the complementary content is completely separable main
michael@0 291 content, it may be appropriate to use a more general role.
michael@0 292 */
michael@0 293 IA2_ROLE_COMPLEMENTARY_CONTENT
michael@0 294
michael@0 295 };

mercurial