Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4887)

Unified Diff: chrome/common/extensions/api/automation.idl

Issue 2601333002: Update json_schema_compiler to handle the Automation extension API (Closed)
Patch Set: Rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/api/automation.idl
diff --git a/chrome/common/extensions/api/automation.idl b/chrome/common/extensions/api/automation.idl
index f0fba7fda510459b5c92743caa9d4387e5f4f976..ff4ecdbb2edf6fa72cbdc6997b91d9ae6cdaf500 100644
--- a/chrome/common/extensions/api/automation.idl
+++ b/chrome/common/extensions/api/automation.idl
@@ -263,6 +263,16 @@
nodeRemoved
};
+ // Where the node's name is from.
+ enum NameFromType {
+ uninitialized,
+ attribute,
+ contents,
+ placeholder,
+ related_element,
+ value
+ };
+
dictionary Rect {
long left;
long top;
@@ -358,108 +368,113 @@
// A single node in an Automation tree.
[nocompile, noinline_doc] dictionary AutomationNode {
// The root node of the tree containing this AutomationNode.
- AutomationNode root;
+ AutomationNode? root;
// Whether this AutomationNode is a root node.
boolean isRootNode;
// The role of this node.
- automation.RoleType role;
+ RoleType? role;
// The $(ref:automation.StateType)s describing this node.
- object state;
+ // <jsexterns>@type {Object<chrome.automation.StateType, boolean>}
+ // </jsexterns>
+ object? state;
// The rendered location (as a bounding box) of this node in global
// screen coordinates.
- automation.Rect location;
+ Rect? location;
// Computes the bounding box of a subrange of this node in global screen
// coordinates. Returns the same as |location| if range information
// is not available. The start and end indices are zero-based offsets
// into the node's "name" string attribute.
- static automation.Rect boundsForRange(long startIndex, long endIndex);
+ static Rect boundsForRange(long startIndex, long endIndex);
// The purpose of the node, other than the role, if any.
- DOMString description;
+ DOMString? description;
- // The help text for the node, if any.
- DOMString help;
+ // The placeholder for this text field, if any.
+ DOMString? placeholder;
// The accessible name for this node, via the
// <a href="http://www.w3.org/TR/wai-aria/roles#namecalculation">
// Accessible Name Calculation</a> process.
- DOMString name;
+ DOMString? name;
+
+ // The source of the name.
+ NameFromType? nameFrom;
// The value for this node: for example the <code>value</code> attribute of
// an <code>&lt;input&gt; element.
- DOMString value;
+ DOMString? value;
// The HTML tag for this element, if this node is an HTML element.
- DOMString htmlTag;
+ DOMString? htmlTag;
// The level of a heading or tree item.
- long hierarchicalLevel;
+ long? hierarchicalLevel;
// The start and end index of each word in an inline text box.
- long[] wordStarts;
- long[] wordEnds;
+ long[]? wordStarts;
+ long[]? wordEnds;
// The nodes, if any, which this node is specified to control via
// <a href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-controls">
// <code>aria-controls</code></a>.
- AutomationNode[] controls;
+ AutomationNode[]? controls;
// The nodes, if any, which form a description for this node.
- AutomationNode[] describedBy;
+ AutomationNode[]? describedBy;
// The nodes, if any, which may optionally be navigated to after this
// one. See
// <a href="http://www.w3.org/TR/wai-aria/states_and_properties#aria-flowto">
// <code>aria-flowto</code></a>.
- AutomationNode[] flowTo;
+ AutomationNode[]? flowTo;
// The nodes, if any, which form a label for this element. Generally, the
// text from these elements will also be exposed as the element's accessible
// name, via the $(ref:automation.AutomationNode.name) attribute.
- AutomationNode[] labelledBy;
+ AutomationNode[]? labelledBy;
// The node referred to by <code>aria-activedescendant</code>, where
// applicable
- AutomationNode activedescendant;
+ AutomationNode? activeDescendant;
//
// Link attributes.
//
// The URL that this link will navigate to.
- DOMString url;
+ DOMString? url;
//
// Document attributes.
//
// The URL of this document.
- DOMString docUrl;
+ DOMString? docUrl;
// The title of this document.
- DOMString docTitle;
+ DOMString? docTitle;
// Whether this document has finished loading.
- boolean docLoaded;
+ boolean? docLoaded;
// The proportion (out of 1.0) that this doc has completed loading.
- double docLoadingProgress;
+ double? docLoadingProgress;
//
// Scrollable container attributes.
//
- long scrollX;
- long scrollXMin;
- long scrollXMax;
- long scrollY;
- long scrollYMin;
- long scrollYMax;
+ long? scrollX;
+ long? scrollXMin;
+ long? scrollXMax;
+ long? scrollY;
+ long? scrollYMin;
+ long? scrollYMax;
//
// Editable text field attributes.
@@ -467,14 +482,27 @@
// The character index of the start of the selection within this editable
// text element; -1 if no selection.
- long textSelStart;
+ long? textSelStart;
// The character index of the end of the selection within this editable
// text element; -1 if no selection.
- long textSelEnd;
+ long? textSelEnd;
// The input type, like email or number.
- DOMString textInputType;
+ DOMString? textInputType;
+
+ // An array of indexes of the break between lines in editable text.
+ long[] lineBreaks;
+
+ // An array of indexes of the start position of each text marker.
+ long[] markerStarts;
+
+ // An array of indexes of the end position of each text marker.
+ long[] markerEnds;
+
+ // An array of numerical types indicating the type of each text marker,
+ // such as a spelling error.
+ long[] markerTypes;
//
// Tree selection attributes (available on root nodes only)
@@ -484,49 +512,69 @@
AutomationNode? anchorObject;
// The anchor offset of the tree selection, if any.
long? anchorOffset;
+ // The affinity of the tree selection anchor, if any.
+ DOMString? anchorAffinity;
// The focus node of the tree selection, if any.
AutomationNode? focusObject;
// The focus offset of the tree selection, if any.
long? focusOffset;
+ // The affinity of the tree selection focus, if any.
+ DOMString? focusAffinity;
//
// Range attributes.
//
// The current value for this range.
- double valueForRange;
+ double? valueForRange;
// The minimum possible value for this range.
- double minValueForRange;
+ double? minValueForRange;
// The maximum possible value for this range.
- double maxValueForRange;
+ double? maxValueForRange;
+
+ //
+ // List attributes.
+ //
+
+ // The 1-based index of an item in a set.
+ long? posInSet;
+
+ // The number of items in a set;
+ long? setSize;
//
// Table attributes.
//
// The number of rows in this table.
- long tableRowCount;
+ long? tableRowCount;
// The number of columns in this table.
- long tableColumnCount;
+ long? tableColumnCount;
//
// Table cell attributes.
//
// The zero-based index of the column that this cell is in.
- long tableCellColumnIndex;
+ long? tableCellColumnIndex;
// The number of columns that this cell spans (default is 1).
- long tableCellColumnSpan;
+ long? tableCellColumnSpan;
// The zero-based index of the row that this cell is in.
- long tableCellRowIndex;
+ long? tableCellRowIndex;
// The number of rows that this cell spans (default is 1).
- long tableCellRowSpan;
+ long? tableCellRowSpan;
+
+ // The corresponding column header for this cell.
+ AutomationNode? tableColumnHeader;
+
+ // The corresponding row header for this cell.
+ AutomationNode? tableRowHeader;
//
// Live region attributes.
@@ -534,39 +582,82 @@
// The type of region if this is the root of a live region.
// Possible values are 'polite' and 'assertive'.
- DOMString liveStatus;
+ DOMString? liveStatus;
// The value of aria-relevant for a live region.
- DOMString liveRelevant;
+ DOMString? liveRelevant;
// The value of aria-atomic for a live region.
- boolean liveAtomic;
+ boolean? liveAtomic;
// The value of aria-busy for a live region.
- boolean liveBusy;
+ boolean? liveBusy;
// The type of live region if this node is inside a live region.
- DOMString containerLiveStatus;
+ DOMString? containerLiveStatus;
// The value of aria-relevant if this node is inside a live region.
- DOMString containerLiveRelevant;
+ DOMString? containerLiveRelevant;
// The value of aria-atomic if this node is inside a live region.
- boolean containerLiveAtomic;
+ boolean? containerLiveAtomic;
// The value of aria-busy if this node is inside a live region.
- boolean containerLiveBusy;
+ boolean? containerLiveBusy;
+
+ //
+ // Miscellaneous attributes.
+ //
+
+ // A map containing all HTML attributes and their values
+ // <jsexterns>@type {Object<string>}</jsexterns>
+ object? htmlAttributes;
+
+ // The input type of a text field, such as "text" or "email".
+ DOMString? inputType;
+
+ // The key that activates this widget.
+ DOMString? accessKey;
+
+ // The value of the aria-invalid attribute, indicating the error type.
+ DOMString? ariaInvalidValue;
+
+ // The value of the aria-readonly attribute, if applicable.
+ boolean? ariaReadonly;
+
+ // The CSS display attribute for this node, if applicable.
+ DOMString? display;
+
+ // A data url with the contents of this object's image or thumbnail.
+ DOMString? imageDataUrl;
+
+ // The language code for this subtree.
+ DOMString? language;
+
+ // If a checkbox or toggle button is in the mixed state.
+ boolean? buttonMixed;
+
+ // The RGBA foreground color of this subtree, as an integer.
+ long? color;
+
+ // The RGBA background color of this subtree, as an integer.
+ long? backgroundColor;
+
+ // The RGBA color of an input element whose value is a color.
+ long? colorValue;
//
// Walking the tree.
//
AutomationNode[] children;
- AutomationNode parent;
- AutomationNode firstChild;
- AutomationNode lastChild;
- AutomationNode previousSibling;
- AutomationNode nextSibling;
+ AutomationNode? parent;
+ AutomationNode? firstChild;
+ AutomationNode? lastChild;
+ AutomationNode? previousSibling;
+ AutomationNode? nextSibling;
+ AutomationNode? nextOnLine;
+ AutomationNode? previousOnLine;
// The index of this node in its parent node's list of children. If this is
// the root node, this will be undefined.
@@ -600,6 +691,21 @@
// time the user presses Tab or Shift+Tab.
static void setSequentialFocusNavigationStartingPoint();
+ // Show the context menu for this element, as if the user right-clicked.
+ static void showContextMenu();
+
+ // Resume playing any media within this tree.
+ static void resumeMedia();
+
+ // Start ducking any media within this tree.
+ static void startDuckingMedia();
+
+ // Stop ducking any media within this tree.
+ static void stopDuckingMedia();
+
+ // Suspend any media playing within this tree.
+ static void suspendMedia();
+
// Adds a listener for the given event type and event phase.
static void addEventListener(
EventType eventType, AutomationListener listener, boolean capture);

Powered by Google App Engine
This is Rietveld 408576698