blob: d87d85ab9e24fc5d6f2d75d2c6c94fde39814848 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package optimization_guide.proto;
option java_outer_classname = "CommonFeatureDataProto";
option java_package = "org.chromium.components.optimization_guide.features.proto";
option optimize_for = LITE_RUNTIME;
// DO NOT EDIT THIS FILE DIRECTLY!
//
// This file is generated in g3 and then synced to Chrome. Instead, please
// refer to http://go/chrome-intelligence-feature-protos (Google-internal link),
// and then changes will be synced with Chrome automatically.
// Next ID: 2
message FloatArray {
repeated float values = 1;
}
// Next ID: 2
message Embedding {
// The embedding vector. Note that future versions of this proto might not
// have this field set, as a new field may be added for quantized embeddings.
FloatArray floats = 1;
}
// Accessibility tree snapshot
// See
// https://source.chromium.org/chromium/chromium/src/+/main:ui/accessibility/ax_tree_update.h
// for details of this and related messages.
//
// Next ID: 4
message AXTreeUpdate {
optional AXTreeData tree_data = 1;
uint32 root_id = 2;
repeated AXNodeData nodes = 3;
}
// AX tree metadata, part of the a11y snapshot.
// Next ID: 16
message AXTreeData {
string doctype = 1;
bool loaded = 2;
float loading_progress = 3;
string mimetype = 4;
string title = 5;
uint32 focus_id = 6;
bool sel_is_backward = 7;
uint32 sel_anchor_object_id = 8;
uint32 sel_anchor_offset = 9;
AXTextAffinity sel_anchor_affinity = 10;
uint32 sel_focus_object_id = 11;
uint32 sel_focus_offset = 12;
AXTextAffinity sel_focus_affinity = 13;
uint32 root_scroller_id = 14;
repeated string metadata = 15;
}
// Per node accessibility data, part of the a11y snapshot.
// Next ID: 8
message AXNodeData {
uint32 id = 1;
AXRole role = 2;
uint32 state = 3;
uint64 actions = 4;
repeated AXAttribute attributes = 5;
repeated int32 child_ids = 6;
AXRelativeBounds relative_bounds = 7;
}
// AX node attribute, part of the a11y snapshot.
// Next ID: 15
message AXAttribute {
oneof attribute_key {
AXStringAttribute string_type = 1;
AXIntAttribute int_type = 2;
AXFloatAttribute float_type = 3;
AXBoolAttribute bool_type = 4;
AXIntListAttribute intlist_type = 5;
AXStringListAttribute stringlist_type = 6;
string html_attribute_name = 7;
}
oneof attribute_value {
string string_value = 8;
int32 int_value = 9;
float float_value = 10;
bool bool_value = 11;
AXIntList int_list_value = 12;
AXStringList string_list_value = 13;
string html_attribute_value = 14;
}
}
// Helper message for AX IntList.
message AXIntList {
repeated int32 value = 1;
}
// Helper message for AX StringList.
message AXStringList {
repeated string value = 1;
}
// AX Relative bounds.
// Next ID: 7
message AXRelativeBounds {
int32 offset_container_id = 1;
float x = 2;
float y = 3;
float width = 4;
float height = 5;
// If present, represents the transform as 16 floats.
repeated float transform = 6;
}
// Next ID: 10
message PageContext {
// The URL of the page that the form is on.
string url = 1;
// The title of the page that the form is on.
string title = 2;
// The AX tree representation of the page.
AXTreeUpdate ax_tree_data = 3;
// The inner text of the page the model is acting on (excluding x-origin
// frames).
string inner_text = 4;
// The offset of the focused element into the |inner_text|.
uint64 inner_text_offset = 5;
// The text passages of the page. Those passages are the result of the
// HtmlChunker algorithm implemented in Chrome (used by the History Search
// feature). See
// https://github.com/google/labs-prototypes/tree/main/seeds/chunker-python
repeated string page_passages = 9;
// A base64 encoded PNG of the tab screenshot.
string tab_screenshot = 6;
// The base64 encoded PDF representation of the page.
string pdf_data = 7;
// The page content represented as a tree of semantic chunks and (in the
// future) annotated with additional information about the page.
AnnotatedPageContent annotated_page_content = 8;
}
// The page content represented as a tree of semantic chunks and (in the
// future) annotated with additional information about the page.
// Next ID: 3
message AnnotatedPageContent {
AnnotatedPageContentVersion version = 1;
ContentNode root_node = 2;
}
// A ContentNode is a semantic chunk of information on a page. It could be a
// single DOM node or could represent multiple DOM nodes. It can represent
// text on the page or more structured content on the page. It can also be a
// container for other ContentNodes.
// Next ID: 3
message ContentNode {
repeated ContentNode children_nodes = 1;
ContentAttributes content_attributes = 2;
}
// Next ID: 10
message ContentAttributes {
// The IDs of the DOM nodes whose content is represented by this ContentNode.
// This is used to map the results of the receiver's action back to the
// original DOM node.
repeated int32 dom_node_ids = 1;
// If this content node has the content of an entire subtree, this is the ID
// of the common ancestor of all the nodes in the subtree.
int32 common_ancestor_dom_node_id = 2;
ContentAttributeType attribute_type = 3;
// This is the geometry of the common_ancestor_dom_node_id.
Geometry geometry = 4;
// There might be multiple text chunks in a single node; e.g. listitems.
repeated TextInfo text_info = 5;
// There may be multiple images in a single node; e.g. a table cell with two
// images.
repeated ImageInfo image_info = 6;
// Only set if attribute_type is CONTENT_ATTRIBUTE_FORM.
FormData form_data = 7;
// Only set if attribute_type is CONTENT_ATTRIBUTE_TABLE.
TableData table_data = 8;
// Provides metadata about the iframe if this ContentNode is of type
// CONTENT_ATTRIBUTE_IFRAME.
IframeData iframe_data = 9;
}
// The geometry of the content, in the page coordinate system.
// Next ID: 3
message Geometry {
// The bounding box of the content node, in the page coordinate system. This
// roughly corresponds to the element's local box used for hit testing.
BoundingRect outer_bounding_box = 1;
// Denotes which subset of this node is visible, in the page coordinate
// system. If the content is offscreen, this field will be empty.
BoundingRect visible_bounding_box = 2;
}
message BoundingRect {
int32 x = 1;
int32 y = 2;
int32 width = 3;
int32 height = 4;
}
// Next ID: 5
message TextInfo {
string text_content = 1;
BoundingRect text_bounding_box = 2;
TextStyle text_style = 3;
string url = 4;
}
// Next ID: 5
message TextStyle {
// A crude approximation of text size. The default is M. An ML model doesn't
// need to know the precise size of the text; it just needs to know whether
// it's relatively small or large. The default is M.
TextSize text_size = 1;
// Whether the text has inline semantics that denote emphasis. For example:
// bold, italics, underline, super/subscript, etc. An ML model doesn't need
// to know which specific semantic was used; only that the website author
// chose to emphasize the text in some way. The default is false.
bool has_emphasis = 2;
}
// Information about the image. In the future, this may include a pixmap.
// Next ID: 4
message ImageInfo {
BoundingRect image_bounding_box = 1;
string image_caption = 2;
// Provides the URL for this image if available. For example, data: URLs for
// inline images will be skipped.
string source_url = 3;
}
message FormData {
// The name by which autofill knows this form. This is generally either the
// name attribute or the id_attribute value, which-ever is non-empty with
// priority given to the name_attribute.
string form_name = 1;
// The fields contained in this form.
repeated FormFieldData fields = 2;
}
message FormFieldData {
// The name for the field.
string field_name = 1;
// The label for the field.
string field_label = 2;
// The value of the field.
string field_value = 3;
// Whether the field is visible.
bool is_visible = 4;
// Whether the field is focusable.
bool is_focusable = 5;
// The type of control for this form field.
FormControlType form_control_type = 6;
// The options for a select field, if applicable.
repeated SelectOption select_options = 7;
// The placeholder text for the field.
string placeholder = 8;
// The AX node ID of the form control for this field.
int32 form_control_ax_node_id = 9;
// Whether the field is eligible for filling and importing. This flag does not
// take the value of the field into consideration.
bool is_eligible = 10;
// Uniquely identifies the DOM element that this field represents among the
// field DOM elements in the same frame.
string global_id = 11;
}
// Represents an option in a select field. See below for example.
//
// HTML | value | text
// ------------------------------------------+--------+------
// <option value=Foo label=Bar>Baz</option> | "Foo" | "Bar"
// <option value=Foo>Bar</option> | "Foo" | "Bar"
// <option label=Bar>Foo</option> | "Foo" | "Bar"
// <option>Foo</option> | "Foo" | "Foo"
// <option value=Foo></option> | "Foo" | ""
// <option label=Bar></option> | "" | "Bar"
message SelectOption {
string value = 1;
string text = 2;
}
message TableData {
// The name of the table, coming from the caption.
string table_name = 1;
repeated TableRow header_rows = 2;
repeated TableRow body_rows = 3;
repeated TableRow footer_rows = 4;
}
message TableRow {
repeated ContentNode cells = 1;
}
message IframeData {
// The URL of the iframe.
string url = 1;
// Indicates whether the iframe is likely to be an ad frame. This is set for
// both the root ad frame and its descendants.
bool likely_ad_frame = 2;
}
message UserAnnotationsEntry {
// The row ID of this entry from the user annotations database. This is
// immutable except when retrieving the row from the database.
int64 entry_id = 1;
// The key for this entry. Not necessarily unique.
string key = 2;
// The value for this entry.
string value = 3;
}
message TabGroup {
// The label that describes this tab group.
string label = 1;
// The tabs that belong in this group.
repeated Tab tabs = 2;
// The id of the pre-existing tab group this corresponds to, if any.
optional string group_id = 3;
}
message Tab {
// A unique identifier for the tab.
int64 tab_id = 1;
// The title of the tab.
string title = 2;
// The URL of the tab.
string url = 3;
// The page context of the tab.
PageContext page_context = 4;
}
// The site engagement information for a single site.
message SiteEngagementEntry {
// The URL of the site.
string url = 1;
// On a scale of 0 to 100, the relative score of engagement with the site.
float score = 2;
}
// The site engagement information for the user.
message SiteEngagement {
// The site engagement information for the user.
repeated SiteEngagementEntry entries = 1;
}
// Selection text affinity, part of the a11y snapshot.
// Next ID: 3
enum AXTextAffinity {
AX_TEXT_AFFINITY_NONE = 0;
AX_TEXT_AFFINITY_DOWNSTREAM = 1;
AX_TEXT_AFFINITY_UPSTREAM = 2;
}
// AX Role.
// Next ID: 213
enum AXRole {
AX_ROLE_NONE = 0;
AX_ROLE_ABBR = 1;
AX_ROLE_ALERT = 2;
AX_ROLE_ALERTDIALOG = 3;
AX_ROLE_APPLICATION = 4;
AX_ROLE_ARTICLE = 5;
AX_ROLE_AUDIO = 6;
AX_ROLE_BANNER = 7;
AX_ROLE_BLOCKQUOTE = 8;
AX_ROLE_BUTTON = 9;
AX_ROLE_CANVAS = 10;
AX_ROLE_CAPTION = 11;
AX_ROLE_CARET = 12;
AX_ROLE_CELL = 13;
AX_ROLE_CHECKBOX = 14;
AX_ROLE_CLIENT = 15;
AX_ROLE_CODE = 16;
AX_ROLE_COLORWELL = 17;
AX_ROLE_COLUMN = 18;
AX_ROLE_COLUMNHEADER = 19;
AX_ROLE_COMBOBOXGROUPING = 20;
AX_ROLE_COMBOBOXMENUBUTTON = 21;
AX_ROLE_COMPLEMENTARY = 22;
AX_ROLE_COMMENT = 23;
AX_ROLE_CONTENTDELETION = 24;
AX_ROLE_CONTENTINSERTION = 25;
AX_ROLE_CONTENTINFO = 26;
AX_ROLE_DATE = 27;
AX_ROLE_DATETIME = 28;
AX_ROLE_DEFINITION = 29;
AX_ROLE_DESCRIPTIONLIST = 30;
AX_ROLE_DESCRIPTIONLISTDETAILDEPRECATED = 31;
AX_ROLE_DESCRIPTIONLISTTERMDEPRECATED = 32;
AX_ROLE_DESKTOP = 33;
AX_ROLE_DETAILS = 34;
AX_ROLE_DIALOG = 35;
AX_ROLE_DIRECTORYDEPRECATED = 36;
AX_ROLE_DISCLOSURETRIANGLE = 37;
AX_ROLE_DOCABSTRACT = 38;
AX_ROLE_DOCACKNOWLEDGMENTS = 39;
AX_ROLE_DOCAFTERWORD = 40;
AX_ROLE_DOCAPPENDIX = 41;
AX_ROLE_DOCBACKLINK = 42;
AX_ROLE_DOCBIBLIOENTRY = 43;
AX_ROLE_DOCBIBLIOGRAPHY = 44;
AX_ROLE_DOCBIBLIOREF = 45;
AX_ROLE_DOCCHAPTER = 46;
AX_ROLE_DOCCOLOPHON = 47;
AX_ROLE_DOCCONCLUSION = 48;
AX_ROLE_DOCCOVER = 49;
AX_ROLE_DOCCREDIT = 50;
AX_ROLE_DOCCREDITS = 51;
AX_ROLE_DOCDEDICATION = 52;
AX_ROLE_DOCENDNOTE = 53;
AX_ROLE_DOCENDNOTES = 54;
AX_ROLE_DOCEPIGRAPH = 55;
AX_ROLE_DOCEPILOGUE = 56;
AX_ROLE_DOCERRATA = 57;
AX_ROLE_DOCEXAMPLE = 58;
AX_ROLE_DOCFOOTNOTE = 59;
AX_ROLE_DOCFOREWORD = 60;
AX_ROLE_DOCGLOSSARY = 61;
AX_ROLE_DOCGLOSSREF = 62;
AX_ROLE_DOCINDEX = 63;
AX_ROLE_DOCINTRODUCTION = 64;
AX_ROLE_DOCNOTEREF = 65;
AX_ROLE_DOCNOTICE = 66;
AX_ROLE_DOCPAGEBREAK = 67;
AX_ROLE_DOCPAGEFOOTER = 68;
AX_ROLE_DOCPAGEHEADER = 69;
AX_ROLE_DOCPAGELIST = 70;
AX_ROLE_DOCPART = 71;
AX_ROLE_DOCPREFACE = 72;
AX_ROLE_DOCPROLOGUE = 73;
AX_ROLE_DOCPULLQUOTE = 74;
AX_ROLE_DOCQNA = 75;
AX_ROLE_DOCSUBTITLE = 76;
AX_ROLE_DOCTIP = 77;
AX_ROLE_DOCTOC = 78;
AX_ROLE_DOCUMENT = 79;
AX_ROLE_EMBEDDEDOBJECT = 80;
AX_ROLE_EMPHASIS = 81;
AX_ROLE_FEED = 82;
AX_ROLE_FIGCAPTION = 83;
AX_ROLE_FIGURE = 84;
AX_ROLE_FOOTER = 85;
AX_ROLE_SECTIONFOOTER = 86;
AX_ROLE_FORM = 87;
AX_ROLE_GENERICCONTAINER = 88;
AX_ROLE_GRAPHICSDOCUMENT = 89;
AX_ROLE_GRAPHICSOBJECT = 90;
AX_ROLE_GRAPHICSSYMBOL = 91;
AX_ROLE_GRID = 92;
AX_ROLE_GROUP = 93;
AX_ROLE_HEADER = 94;
AX_ROLE_SECTIONHEADER = 95;
AX_ROLE_HEADING = 96;
AX_ROLE_IFRAME = 97;
AX_ROLE_IFRAMEPRESENTATIONAL = 98;
AX_ROLE_IMAGE = 99;
AX_ROLE_IMECANDIDATE = 100;
AX_ROLE_INLINETEXTBOX = 101;
AX_ROLE_INPUTTIME = 102;
AX_ROLE_KEYBOARD = 103;
AX_ROLE_LABELTEXT = 104;
AX_ROLE_LAYOUTTABLE = 105;
AX_ROLE_LAYOUTTABLECELL = 106;
AX_ROLE_LAYOUTTABLEROW = 107;
AX_ROLE_LEGEND = 108;
AX_ROLE_LINEBREAK = 109;
AX_ROLE_LINK = 110;
AX_ROLE_LIST = 111;
AX_ROLE_LISTBOX = 112;
AX_ROLE_LISTBOXOPTION = 113;
AX_ROLE_LISTGRID = 114;
AX_ROLE_LISTITEM = 115;
AX_ROLE_LISTMARKER = 116;
AX_ROLE_LOG = 117;
AX_ROLE_MAIN = 118;
AX_ROLE_MARK = 119;
AX_ROLE_MARQUEE = 120;
AX_ROLE_MATH = 121;
AX_ROLE_MENU = 122;
AX_ROLE_MENUBAR = 123;
AX_ROLE_MENUITEM = 124;
AX_ROLE_MENUITEMCHECKBOX = 125;
AX_ROLE_MENUITEMRADIO = 126;
AX_ROLE_MENULISTOPTION = 127;
AX_ROLE_MENULISTPOPUP = 128;
AX_ROLE_METER = 129;
AX_ROLE_NAVIGATION = 130;
AX_ROLE_NOTE = 131;
AX_ROLE_PANE = 132;
AX_ROLE_PARAGRAPH = 133;
AX_ROLE_PDFACTIONABLEHIGHLIGHT = 134;
AX_ROLE_PDFROOT = 135;
AX_ROLE_PLUGINOBJECT = 136;
AX_ROLE_POPUPBUTTON = 137;
AX_ROLE_PORTALDEPRECATED = 138;
AX_ROLE_PREDEPRECATED = 139;
AX_ROLE_PROGRESSINDICATOR = 140;
AX_ROLE_RADIOBUTTON = 141;
AX_ROLE_RADIOGROUP = 142;
AX_ROLE_REGION = 143;
AX_ROLE_ROOTWEBAREA = 144;
AX_ROLE_ROW = 145;
AX_ROLE_ROWGROUP = 146;
AX_ROLE_ROWHEADER = 147;
AX_ROLE_RUBY = 148;
AX_ROLE_RUBYANNOTATION = 149;
AX_ROLE_SCROLLBAR = 150;
AX_ROLE_SCROLLVIEW = 151;
AX_ROLE_SEARCH = 152;
AX_ROLE_SEARCHBOX = 153;
AX_ROLE_SECTION = 154;
AX_ROLE_SLIDER = 155;
AX_ROLE_SPINBUTTON = 156;
AX_ROLE_SPLITTER = 157;
AX_ROLE_STATICTEXT = 158;
AX_ROLE_STATUS = 159;
AX_ROLE_STRONG = 160;
AX_ROLE_SUGGESTION = 161;
AX_ROLE_SVGROOT = 162;
AX_ROLE_SWITCH = 163;
AX_ROLE_TAB = 164;
AX_ROLE_TABLIST = 165;
AX_ROLE_TABPANEL = 166;
AX_ROLE_TABLE = 167;
AX_ROLE_TABLEHEADERCONTAINER = 168;
AX_ROLE_TERM = 169;
AX_ROLE_TEXTFIELD = 170;
AX_ROLE_TEXTFIELDWITHCOMBOBOX = 171;
AX_ROLE_TIME = 172;
AX_ROLE_TIMER = 173;
AX_ROLE_TITLEBAR = 174;
AX_ROLE_TOGGLEBUTTON = 175;
AX_ROLE_TOOLBAR = 176;
AX_ROLE_TOOLTIP = 177;
AX_ROLE_TREE = 178;
AX_ROLE_TREEGRID = 179;
AX_ROLE_TREEITEM = 180;
AX_ROLE_UNKNOWN = 181;
AX_ROLE_VIDEO = 182;
AX_ROLE_WEBVIEW = 183;
AX_ROLE_WINDOW = 184;
AX_ROLE_SUBSCRIPT = 185;
AX_ROLE_SUPERSCRIPT = 186;
AX_ROLE_MATHMLMATH = 187;
AX_ROLE_MATHMLFRACTION = 188;
AX_ROLE_MATHMLIDENTIFIER = 189;
AX_ROLE_MATHMLMULTISCRIPTS = 190;
AX_ROLE_MATHMLNONESCRIPT = 191;
AX_ROLE_MATHMLNUMBER = 192;
AX_ROLE_MATHMLOPERATOR = 193;
AX_ROLE_MATHMLOVER = 194;
AX_ROLE_MATHMLPRESCRIPTDELIMITER = 195;
AX_ROLE_MATHMLROOT = 196;
AX_ROLE_MATHMLROW = 197;
AX_ROLE_MATHMLSQUAREROOT = 198;
AX_ROLE_MATHMLSTRINGLITERAL = 199;
AX_ROLE_MATHMLSUB = 200;
AX_ROLE_MATHMLSUBSUP = 201;
AX_ROLE_MATHMLSUP = 202;
AX_ROLE_MATHMLTABLE = 203;
AX_ROLE_MATHMLTABLECELL = 204;
AX_ROLE_MATHMLTABLEROW = 205;
AX_ROLE_MATHMLTEXT = 206;
AX_ROLE_MATHMLUNDER = 207;
AX_ROLE_MATHMLUNDEROVER = 208;
AX_ROLE_COMBOBOXSELECT = 209;
AX_ROLE_DISCLOSURETRIANGLEGROUPED = 210;
AX_ROLE_SECTIONWITHOUTNAME = 211;
AX_ROLE_GRIDCELL = 212;
}
// AX String attribute enum.
// Next ID: 43
enum AXStringAttribute {
AX_SA_NONE = 0;
AX_SA_ACCESSKEY = 1;
AX_SA_APPID = 2;
AX_SA_ARIAINVALIDVALUEDEPRECATED = 3;
AX_SA_AUTOCOMPLETE = 4;
AX_SA_CHECKEDSTATEDESCRIPTION = 5;
AX_SA_CHILDTREEID = 6;
AX_SA_CHILDTREENODEAPPID = 7;
AX_SA_CLASSNAME = 8;
AX_SA_CONTAINERLIVERELEVANT = 9;
AX_SA_CONTAINERLIVESTATUS = 10;
AX_SA_DESCRIPTION = 11;
AX_SA_DISPLAY = 12;
AX_SA_FONTFAMILY = 13;
AX_SA_HTMLTAG = 14;
AX_SA_IMAGEANNOTATION = 15;
AX_SA_IMAGEDATAURL = 16;
AX_SA_MATHCONTENT = 17;
AX_SA_INPUTTYPE = 18;
AX_SA_KEYSHORTCUTS = 19;
AX_SA_LANGUAGE = 20;
AX_SA_NAME = 21;
AX_SA_LIVERELEVANT = 22;
AX_SA_LIVESTATUS = 23;
AX_SA_PLACEHOLDER = 24;
AX_SA_ROLE = 25;
AX_SA_ROLEDESCRIPTION = 26;
AX_SA_TOOLTIP = 27;
AX_SA_URL = 28;
AX_SA_VALUE = 29;
AX_SA_VIRTUALCONTENT = 30;
AX_SA_DODEFAULTLABEL = 31;
AX_SA_LONGCLICKLABEL = 32;
AX_SA_ARIABRAILLELABEL = 33;
AX_SA_ARIABRAILLEROLEDESCRIPTION = 34;
AX_SA_LINKTARGET = 35;
AX_SA_ARIANOTIFICATIONANNOUNCEMENTDEPRECATED = 36;
AX_SA_ARIANOTIFICATIONIDDEPRECATED = 37;
AX_SA_HTMLID = 38;
AX_SA_ARIACELLCOLUMNINDEXTEXT = 39;
AX_SA_ARIACELLROWINDEXTEXT = 40;
AX_SA_DATETIME = 41;
AX_SA_HTMLINPUTNAME = 42;
}
// AX Int attribute enum.
// Next ID: 68
enum AXIntAttribute {
AX_IA_NONE = 0;
AX_IA_DEFAULTACTIONVERB = 1;
AX_IA_SCROLLX = 2;
AX_IA_SCROLLXMIN = 3;
AX_IA_SCROLLXMAX = 4;
AX_IA_SCROLLY = 5;
AX_IA_SCROLLYMIN = 6;
AX_IA_SCROLLYMAX = 7;
AX_IA_TEXTSELSTART = 8;
AX_IA_TEXTSELEND = 9;
AX_IA_ARIACOLUMNCOUNT = 10;
AX_IA_ARIACELLCOLUMNINDEX = 11;
AX_IA_ARIACELLCOLUMNSPAN = 12;
AX_IA_ARIAROWCOUNT = 13;
AX_IA_ARIACELLROWINDEX = 14;
AX_IA_ARIACELLROWSPAN = 15;
AX_IA_TABLEROWCOUNT = 16;
AX_IA_TABLECOLUMNCOUNT = 17;
AX_IA_TABLEHEADERID = 18;
AX_IA_TABLEROWINDEX = 19;
AX_IA_TABLEROWHEADERID = 20;
AX_IA_TABLECOLUMNINDEX = 21;
AX_IA_TABLECOLUMNHEADERID = 22;
AX_IA_TABLECELLCOLUMNINDEX = 23;
AX_IA_TABLECELLCOLUMNSPAN = 24;
AX_IA_TABLECELLROWINDEX = 25;
AX_IA_TABLECELLROWSPAN = 26;
AX_IA_SORTDIRECTION = 27;
AX_IA_HIERARCHICALLEVEL = 28;
AX_IA_NAMEFROM = 29;
AX_IA_DESCRIPTIONFROM = 30;
AX_IA_ACTIVEDESCENDANTID = 31;
AX_IA_ERRORMESSAGEIDDEPRECATED = 32;
AX_IA_INPAGELINKTARGETID = 33;
AX_IA_MEMBEROFID = 34;
AX_IA_NEXTONLINEID = 35;
AX_IA_POPUPFORID = 36;
AX_IA_PREVIOUSONLINEID = 37;
AX_IA_RESTRICTION = 38;
AX_IA_SETSIZE = 39;
AX_IA_POSINSET = 40;
AX_IA_COLORVALUE = 41;
AX_IA_ARIACURRENTSTATE = 42;
AX_IA_BACKGROUNDCOLOR = 43;
AX_IA_COLOR = 44;
AX_IA_HASPOPUP = 45;
AX_IA_IMAGEANNOTATIONSTATUS = 46;
AX_IA_INVALIDSTATE = 47;
AX_IA_CHECKEDSTATE = 48;
AX_IA_LISTSTYLE = 49;
AX_IA_TEXTALIGN = 50;
AX_IA_TEXTDIRECTION = 51;
AX_IA_TEXTPOSITION = 52;
AX_IA_TEXTSTYLE = 53;
AX_IA_TEXTOVERLINESTYLE = 54;
AX_IA_TEXTSTRIKETHROUGHSTYLE = 55;
AX_IA_TEXTUNDERLINESTYLE = 56;
AX_IA_PREVIOUSFOCUSID = 57;
AX_IA_NEXTFOCUSID = 58;
AX_IA_DROPEFFECTDEPRECATED = 59;
AX_IA_DOMNODEIDDEPRECATED = 60;
AX_IA_ISPOPUP = 61;
AX_IA_NEXTWINDOWFOCUSID = 62;
AX_IA_PREVIOUSWINDOWFOCUSID = 63;
AX_IA_ARIANOTIFICATIONINTERRUPTDEPRECATED = 64;
AX_IA_ARIANOTIFICATIONPRIORITYDEPRECATED = 65;
AX_IA_DETAILSFROM = 66;
AX_IA_MAXLENGTH = 67;
}
// AX Float attribute enum.
// Next ID: 9
enum AXFloatAttribute {
AX_FA_NONE = 0;
AX_FA_VALUEFORRANGE = 1;
AX_FA_MINVALUEFORRANGE = 2;
AX_FA_MAXVALUEFORRANGE = 3;
AX_FA_STEPVALUEFORRANGE = 4;
AX_FA_FONTSIZE = 5;
AX_FA_FONTWEIGHT = 6;
AX_FA_TEXTINDENT = 7;
AX_FA_CHILDTREESCALE = 8;
}
// AX Bool attribute enum.
// Next ID: 23
enum AXBoolAttribute {
AX_BA_NONE = 0;
AX_BA_BUSY = 1;
AX_BA_NONATOMICTEXTFIELDROOT = 2;
AX_BA_CONTAINERLIVEATOMIC = 3;
AX_BA_CONTAINERLIVEBUSY = 4;
AX_BA_LIVEATOMIC = 5;
AX_BA_MODAL = 6;
AX_BA_UPDATELOCATIONONLY = 7;
AX_BA_CANVASHASFALLBACK = 8;
AX_BA_SCROLLABLE = 9;
AX_BA_CLICKABLE = 10;
AX_BA_CLIPSCHILDREN = 11;
AX_BA_NOTUSERSELECTABLESTYLE = 12;
AX_BA_SELECTED = 13;
AX_BA_SELECTEDFROMFOCUS = 14;
AX_BA_SUPPORTSTEXTLOCATION = 15;
AX_BA_GRABBEDDEPRECATED = 16;
AX_BA_ISLINEBREAKINGOBJECT = 17;
AX_BA_ISPAGEBREAKINGOBJECT = 18;
AX_BA_HASARIAATTRIBUTE = 19;
AX_BA_TOUCHPASSTHROUGHDEPRECATED = 20;
AX_BA_LONGCLICKABLE = 21;
AX_BA_HASHIDDENOFFSCREENNODES = 22;
}
// AX IntList attribute enum.
// Next ID: 30
enum AXIntListAttribute {
AX_ILA_NONE = 0;
AX_ILA_INDIRECTCHILDIDS = 1;
AX_ILA_ACTIONSIDS = 29;
AX_ILA_CONTROLSIDS = 2;
AX_ILA_DETAILSIDS = 3;
AX_ILA_DESCRIBEDBYIDS = 4;
AX_ILA_FLOWTOIDS = 5;
AX_ILA_LABELLEDBYIDS = 6;
AX_ILA_RADIOGROUPIDS = 7;
AX_ILA_MARKERTYPES = 8;
AX_ILA_MARKERSTARTS = 9;
AX_ILA_MARKERENDS = 10;
AX_ILA_CHARACTEROFFSETS = 11;
AX_ILA_LINESTARTS = 12;
AX_ILA_WORDSTARTS = 13;
AX_ILA_WORDENDS = 14;
AX_ILA_CUSTOMACTIONIDS = 15;
AX_ILA_CARETBOUNDS = 16;
AX_ILA_LINEENDS = 17;
AX_ILA_SENTENCESTARTS = 18;
AX_ILA_SENTENCEENDS = 19;
AX_ILA_HIGHLIGHTTYPES = 20;
AX_ILA_TEXTOPERATIONSTARTANCHORIDS = 21;
AX_ILA_TEXTOPERATIONSTARTOFFSETS = 22;
AX_ILA_TEXTOPERATIONENDANCHORIDS = 23;
AX_ILA_TEXTOPERATIONENDOFFSETS = 24;
AX_ILA_TEXTOPERATIONS = 25;
AX_ILA_ERRORMESSAGEIDS = 26;
AX_ILA_ARIANOTIFICATIONINTERRUPTPROPERTIES = 27;
AX_ILA_ARIANOTIFICATIONPRIORITYPROPERTIES = 28;
}
// AX StringList attribute enum.
// Next ID: 4
enum AXStringListAttribute {
AX_SLA_NONE = 0;
AX_SLA_CUSTOMACTIONDESCRIPTIONS = 1;
AX_SLA_ARIANOTIFICATIONANNOUNCEMENTS = 2;
AX_SLA_ARIANOTIFICATIONIDS = 3;
}
// This will be updated when there is a significant change in the parsing logic.
// Next ID: 2
enum AnnotatedPageContentVersion {
ANNOTATED_PAGE_CONTENT_VERSION_UNKNOWN = 0;
ANNOTATED_PAGE_CONTENT_VERSION_1_0 = 1;
}
// Content node types that are currently exposed by the Page Content Agent.
// When adding new types, please also update AIPageContentAttributeType in
// third_party/blink/public/mojom/content_extraction/ai_page_content.mojom.
// See crrev.com/c/6072788 for an example.
// Next ID: 20;
enum ContentAttributeType {
CONTENT_ATTRIBUTE_UNKNOWN = 0;
CONTENT_ATTRIBUTE_ROOT = 1;
CONTENT_ATTRIBUTE_CONTAINER = 2;
CONTENT_ATTRIBUTE_IFRAME = 3;
// Text chunks.
CONTENT_ATTRIBUTE_PARAGRAPH = 4;
CONTENT_ATTRIBUTE_HEADING = 5;
// Structured chunks.
CONTENT_ATTRIBUTE_ORDERED_LIST = 6;
CONTENT_ATTRIBUTE_UNORDERED_LIST = 7;
CONTENT_ATTRIBUTE_FORM = 8;
CONTENT_ATTRIBUTE_IMAGE = 9;
CONTENT_ATTRIBUTE_TABLE = 10;
CONTENT_ATTRIBUTE_TABLE_CELL = 11;
// Landmark/section chunks.
CONTENT_ATTRIBUTE_HEADER = 12;
CONTENT_ATTRIBUTE_NAV = 13;
CONTENT_ATTRIBUTE_SEARCH = 14;
CONTENT_ATTRIBUTE_MAIN = 15;
CONTENT_ATTRIBUTE_ARTICLE = 16;
CONTENT_ATTRIBUTE_SECTION = 17;
CONTENT_ATTRIBUTE_ASIDE = 18;
CONTENT_ATTRIBUTE_FOOTER = 19;
}
// Next ID: 5
enum TextSize {
TEXT_SIZE_M_DEFAULT = 0;
TEXT_SIZE_XS = 1;
TEXT_SIZE_S = 2;
TEXT_SIZE_L = 3;
TEXT_SIZE_XL = 4;
}
// Matches FormControlType in mojo, but off by one, because this list contains
// an "UNSPECIFIED" value at 0.
// https://source.chromium.org/chromium/chromium/src/+/main:components/autofill/core/common/mojom/autofill_types.mojom;l=17;drc=105770df485ace262780d95126bb60b1a16ec340;bpv=1;bpt=1
enum FormControlType {
FORM_CONTROL_TYPE_UNSPECIFIED = 0;
FORM_CONTROL_TYPE_CONTENT_EDITABLE = 1;
FORM_CONTROL_TYPE_INPUT_CHECKBOX = 2;
FORM_CONTROL_TYPE_INPUT_EMAIL = 3;
FORM_CONTROL_TYPE_INPUT_MONTH = 4;
FORM_CONTROL_TYPE_INPUT_NUMBER = 5;
FORM_CONTROL_TYPE_INPUT_PASSWORD = 6;
FORM_CONTROL_TYPE_INPUT_RADIO = 7;
FORM_CONTROL_TYPE_INPUT_SEARCH = 8;
FORM_CONTROL_TYPE_INPUT_TELEPHONE = 9;
FORM_CONTROL_TYPE_INPUT_TEXT = 10;
FORM_CONTROL_TYPE_INPUT_URL = 11;
FORM_CONTROL_TYPE_SELECT_ONE = 12;
FORM_CONTROL_TYPE_SELECT_MULTIPLE = 13;
FORM_CONTROL_TYPE_TEXT_AREA = 15;
}
// Whether or not status of the model's output is a success (i.e "is good") or
// is a failure (i.e "is bad").
// Next ID: 3
enum FinalModelStatus {
FINAL_MODEL_STATUS_UNSPECIFIED = 0;
FINAL_MODEL_STATUS_SUCCESS = 1;
FINAL_MODEL_STATUS_FAILURE = 2;
}
// Next ID: 3
enum UserFeedback {
USER_FEEDBACK_UNSPECIFIED = 0;
USER_FEEDBACK_THUMBS_DOWN = 1;
USER_FEEDBACK_THUMBS_UP = 2;
}