Tue, 06 Jan 2015 21:39:09 +0100
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 | }; |