other-licenses/ia2/AccessibleStates.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.

     1 /*************************************************************************
     2  *
     3  *  File Name (AccessibleStates.idl)
     4  * 
     5  *  IAccessible2 IDL Specification 
     6  * 
     7  *  Copyright (c) 2007, 2010 Linux Foundation 
     8  *  Copyright (c) 2006 IBM Corporation 
     9  *  Copyright (c) 2000, 2006 Sun Microsystems, Inc. 
    10  *  All rights reserved. 
    11  *   
    12  *   
    13  *  Redistribution and use in source and binary forms, with or without 
    14  *  modification, are permitted provided that the following conditions 
    15  *  are met: 
    16  *   
    17  *   1. Redistributions of source code must retain the above copyright 
    18  *      notice, this list of conditions and the following disclaimer. 
    19  *   
    20  *   2. Redistributions in binary form must reproduce the above 
    21  *      copyright notice, this list of conditions and the following 
    22  *      disclaimer in the documentation and/or other materials 
    23  *      provided with the distribution. 
    24  *
    25  *   3. Neither the name of the Linux Foundation nor the names of its 
    26  *      contributors may be used to endorse or promote products 
    27  *      derived from this software without specific prior written 
    28  *      permission. 
    29  *   
    30  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 
    31  *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 
    32  *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
    33  *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
    34  *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 
    35  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
    36  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
    37  *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
    38  *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
    39  *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
    40  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
    41  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
    42  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
    43  *   
    44  *  This BSD License conforms to the Open Source Initiative "Simplified 
    45  *  BSD License" as published at: 
    46  *  http://www.opensource.org/licenses/bsd-license.php 
    47  *   
    48  *  IAccessible2 is a trademark of the Linux Foundation. The IAccessible2 
    49  *  mark may be used in accordance with the Linux Foundation Trademark 
    50  *  Policy to indicate compliance with the IAccessible2 specification. 
    51  * 
    52  ************************************************************************/ 
    54 import "objidl.idl";
    56 typedef long AccessibleStates;
    58 /** %IAccessible2 specific state bit constants
    60   This enum defines the state bits returned by IAccessible2::states.  The 
    61   %IAccessible2 state bits are in addition to those returned by MSAA.
    62 */
    63 enum IA2States {
    65 /** Indicates a window is currently the active window, or is an active subelement 
    66   within a container or table.
    68  This state can be used to indicate the current active item in a container, even 
    69   if the container itself is not currently active. In other words this would indicate
    70   the item that will get focus if you tab to the container.
    72  This information is important for knowing what to report for trees and potentially 
    73   other containers in a virtual buffer.
    75  Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
    76 */
    77 IA2_STATE_ACTIVE =					0x1,
    79 /** Indicates that the object is armed.
    81  Used to indicate that the control is "pressed" and will be invoked when the 
    82   actuator, e.g. a mouse button, is "released".  An AT which either monitors the 
    83   mouse or synthesizes mouse events might need to know that, and possibly a talking
    84   interface would even let the user know about it.  It could also potentially be
    85   useful to on screen keyboards or test tools since the information does indicate
    86   something about the state of the interface, for example, code operating asynchronously
    87   might need to wait for the armed state to change before doing something else.
    89 */
    90 IA2_STATE_ARMED =					0x2,
    92 /** Indicates the user interface object corresponding to this object no longer exists. */
    93 IA2_STATE_DEFUNCT =					0x4,
    95 /** An object with this state has a caret and implements the IAccessibleText interface.
    97  Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination
    98   with IA2_STATE_EDITABLE.
   100 */
   101 IA2_STATE_EDITABLE =				0x8,
   103 /** Indicates the orientation of this object is horizontal. */
   104 IA2_STATE_HORIZONTAL =				0x10,
   106 /** Indicates this object is minimized and is represented only by an icon. */
   107 IA2_STATE_ICONIFIED =				0x20,
   109 /** Indicates an input validation failure. */
   110 IA2_STATE_INVALID_ENTRY =			0x40,
   112 /** Indicates that this object manages its children.
   114  Note: Due to the fact that MSAA's WinEvents don't allow the active child index
   115   to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
   116   descendants	scheme can't be used.  Instead the active child object has to fire
   117   MSAA's EVENT_OBJECT_FOCUS.  In a future release a new event mechanism may be
   118   added to provide for event specific data to be passed with the event.  At that
   119   time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
   120   IA2_STATE_MANAGES_DESCENDANTS state would be useful.
   121 */
   122 IA2_STATE_MANAGES_DESCENDANTS =		0x80,
   124 /** Indicates that an object is modal.
   126  Modal objects have the behavior that something must be done with the object 
   127   before the user can interact with an object in a different window.
   128 */
   129 IA2_STATE_MODAL =					0x100,
   131 /** Indicates this text object can contain multiple lines of text. */
   132 IA2_STATE_MULTI_LINE =				0x200,
   134 /** Indicates this object paints every pixel within its rectangular region. */
   135 IA2_STATE_OPAQUE =					0x400,
   137 /** Indicates that user interaction is required.
   139  An example of when this state is used is when a field in a form must be filled 
   140   before a form can be processed.
   141 */
   142 IA2_STATE_REQUIRED =				0x800,
   144 /** Indicates an object which supports text selection.
   146  Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
   147 */
   148 IA2_STATE_SELECTABLE_TEXT =			0x1000,
   150 /** Indicates that this text object can contain only a single line of text. */
   151 IA2_STATE_SINGLE_LINE =				0x2000,
   153 /** Indicates that the accessible object is stale.
   155  This state is used when the accessible object no longer accurately 
   156   represents the state of the object which it is representing such as when an
   157   object is transient or when an object has been or is in the process of being
   158   destroyed or when the object's index in its parent has changed.
   159 */
   160 IA2_STATE_STALE =					0x4000,
   162 /** Indicates that the object implements autocompletion.
   164  This state indicates that a text control will respond to the input of 
   165  one ore more characters and cause a sub-item to become selected.  The 
   166  selection may also result in events fired on the parent object.
   167 */
   168 IA2_STATE_SUPPORTS_AUTOCOMPLETION =	0x8000,
   170 /** Indicates this object is transient.
   172  An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS.
   173  For example, a list item object may be managed by its parent list object and may only 
   174  exist as long as the object is actually rendered.  Similarly a table cell's accessible 
   175  object may exist only while the cell has focus.  However, from the perspective of an 
   176  assistive technology a transient object behaves like a non-transient object.  As a 
   177  result it is likely that this state is not of use to an assistive technology, but it 
   178  is provided in case an assistive technology determines that knowledge of the transient 
   179  nature of the object is useful and also for harmony with the Linux accessibility API.
   181  Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
   182  */
   183 IA2_STATE_TRANSIENT =				0x10000,
   185 /** Indicates the orientation of this object is vertical. */
   186 IA2_STATE_VERTICAL =				0x20000,
   188 /** Indicates this object is checkable.
   190  The standard checkable objects are check boxes, radio buttons, check box menu
   191  items, radio menu items, and toggle buttons.  Since assistive technology will
   192  determine that these objects are checkable via the object's role the checkable
   193  state is not required.  However, this state is necessary in those cases where
   194  an object has a role which is not one of the previously mentioned roles.  An
   195  example is a table cell which indicates whether or not an email has an attachment,
   196  whether or not an mail is considered spam, and whether or not an email has been read.
   197  */
   198 IA2_STATE_CHECKABLE =				0x40000,
   200 /** Indicates this object is pinned.
   202  This state indicates that an object is fixed at a certain location.  One example
   203  is a browser tab that when pinned cannot be moved until unpinned.  Another example
   204  is a movable or floating object that when pinned remains in its pinned location
   205  until being unpinned.
   206  */
   207 IA2_STATE_PINNED =					0x80000
   209 };

mercurial