| // 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. |
| |
| edition = "2023"; |
| |
| 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-mqls-onboarding (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 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // 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 { |
| AXTreeData tree_data = 1 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 root_id = 2 [features = { field_presence: EXPLICIT }]; |
| |
| repeated AXNodeData nodes = 3; |
| } |
| |
| // AX tree metadata, part of the a11y snapshot. |
| // Next ID: 16 |
| message AXTreeData { |
| string doctype = 1 [features = { field_presence: EXPLICIT }]; |
| |
| bool loaded = 2 [features = { field_presence: EXPLICIT }]; |
| |
| float loading_progress = 3 [features = { field_presence: EXPLICIT }]; |
| |
| string mimetype = 4 [features = { field_presence: EXPLICIT }]; |
| |
| string title = 5 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 focus_id = 6 [features = { field_presence: EXPLICIT }]; |
| |
| bool sel_is_backward = 7 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 sel_anchor_object_id = 8 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 sel_anchor_offset = 9 [features = { field_presence: EXPLICIT }]; |
| |
| AXTextAffinity sel_anchor_affinity = 10 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 sel_focus_object_id = 11 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 sel_focus_offset = 12 [features = { field_presence: EXPLICIT }]; |
| |
| AXTextAffinity sel_focus_affinity = 13 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 root_scroller_id = 14 [features = { field_presence: EXPLICIT }]; |
| |
| repeated string metadata = 15; |
| } |
| |
| // Per node accessibility data, part of the a11y snapshot. |
| // Next ID: 8 |
| message AXNodeData { |
| uint32 id = 1 [features = { field_presence: EXPLICIT }]; |
| |
| AXRole role = 2 [features = { field_presence: EXPLICIT }]; |
| |
| uint32 state = 3 [features = { field_presence: EXPLICIT }]; |
| |
| uint64 actions = 4 [features = { field_presence: EXPLICIT }]; |
| |
| repeated AXAttribute attributes = 5; |
| |
| repeated int32 child_ids = 6; |
| |
| AXRelativeBounds relative_bounds = 7 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // 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 [features = { field_presence: EXPLICIT }]; |
| |
| float x = 2 [features = { field_presence: EXPLICIT }]; |
| |
| float y = 3 [features = { field_presence: EXPLICIT }]; |
| |
| float width = 4 [features = { field_presence: EXPLICIT }]; |
| |
| float height = 5 [features = { field_presence: EXPLICIT }]; |
| |
| // If present, represents the transform as 16 floats. |
| repeated float transform = 6; |
| } |
| |
| // Next ID: 11 |
| message PageContext { |
| // The URL of the page that the form is on. |
| string url = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The title of the page that the form is on. |
| string title = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The AX tree representation of the page. |
| AXTreeUpdate ax_tree_data = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The inner text of the page the model is acting on (excluding x-origin |
| // frames). |
| string inner_text = 4 [features = { field_presence: EXPLICIT }]; |
| |
| // The offset of the focused element into the |inner_text|. |
| uint64 inner_text_offset = 5 [features = { field_presence: EXPLICIT }]; |
| |
| // 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 [features = { field_presence: EXPLICIT }]; |
| |
| // The base64 encoded PDF representation of the page. |
| string pdf_data = 7 [features = { field_presence: EXPLICIT }]; |
| |
| // 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 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The page content represented as a tree of semantic chunks and (in the |
| // future) annotated with additional information about the page. |
| // Next ID: 8 |
| message AnnotatedPageContent { |
| // The version of the proto. Each time a backwards incompatible change is made |
| // to the proto, the version should be incremented. |
| AnnotatedPageContentVersion version = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The mode used to extract this proto. The data in the proto depends on the |
| // mode. See comments to understand which data is available for each mode. |
| AnnotatedPageContentMode mode = 6 [features = { field_presence: EXPLICIT }]; |
| |
| // The root node of the ContentNode tree. |
| ContentNode root_node = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The data for the main frame of the page. |
| FrameData main_frame_data = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The interaction information for the page--the subtree represented by the |
| // AnnotatedPageContent. This is for top-level interactions, such as the mouse |
| // position and focused element, for which there can only be one unique value |
| // for the entire page. Includes interaction information for the main frame |
| // and embedded iframes. |
| PageInteractionInfo page_interaction_info = 4 [features = { field_presence: EXPLICIT }]; |
| |
| // The rect of the viewport for the tab. i.e., screenshot dimensions. |
| // Dimensions are in captured pixels. |
| BoundingRect viewport_geometry = 5 [features = { field_presence: EXPLICIT }]; |
| |
| // The id of the tab that the page content was extracted from. Guaranteed to |
| // be unique within the browsing session. |
| int32 tab_id = 7 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The ContentNode tree is a sparse representation of the DOM tree for a web |
| // page, i.e., not every DOM node generates a ContentNode. For example, a `div` |
| // used only for styling or layout the subtree will not generate a ContentNode. |
| // |
| // The ContentNode is roughly 1:1 with a DOM node but there are exceptions: |
| // |
| // - Some DOM nodes can generate multiple ContentNodes. For example, a |
| // `::before` pseudo-element would have text and image ContentNodes for it's |
| // content specified in CSS. |
| // |
| // - A form with `<input type="image">` will have ContentNodes for the input |
| // element and it's image. |
| // |
| // - We currently don't coalesce text content from multiple DOM nodes into a |
| // single ContentNode but that maybe added in the future. |
| // |
| // Note: The ContentNode tree including content from all embedded iframes. |
| // Next ID: 3 |
| message ContentNode { |
| // Note: CONTENT_ATTRIBUTE_TEXT and CONTENT_ATTRIBUTE_IMAGE are leaf nodes |
| // which don't have any children nodes. |
| repeated ContentNode children_nodes = 1; |
| |
| ContentAttributes content_attributes = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Next ID: 28 |
| message ContentAttributes { |
| oneof content_data { |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_TEXT. |
| TextInfo text_data = 10; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_IMAGE. |
| ImageInfo image_data = 11; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_SVG. |
| SVGData svg_data = 23; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_CANVAS. |
| CanvasData canvas_data = 24; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_VIDEO. |
| VideoData video_data = 27; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_ANCHOR. |
| AnchorData anchor_data = 14; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_FORM. |
| FormInfo form_data = 19; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_FORM_CONTROL. |
| FormControlData form_control_data = 20; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_TABLE. |
| TableData table_data = 8; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_IFRAME. |
| IframeData iframe_data = 9; |
| |
| // Only set if attribute_type is CONTENT_ATTRIBUTE_TABLE_ROW. |
| TableRowData table_row_data = 13; |
| } |
| |
| // A unique identifier for the DOM node which generated this ContentNode. |
| // |
| // Note: This field is only set if the ContentNode corresponds to a DOM |
| // node. There are cases where the browser generates layout nodes which don't |
| // map to a single DOM node, such as pseudo elements. In such cases, this |
| // field will not be set. |
| // |
| // The identifier's lifetime is tied to its Document's lifetime in the |
| // browser's renderer process. |
| int32 common_ancestor_dom_node_id = 2 [features = { field_presence: EXPLICIT }]; |
| |
| ContentAttributeType attribute_type = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // This is the geometry of the common_ancestor_dom_node_id. |
| // |
| // In the default mode, this is only populated if this is the |
| // `accessibility_focused_dom_node_id`. |
| // |
| // Populated for all nodes in |
| // `ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS.` |
| Geometry geometry = 4 [features = { field_presence: EXPLICIT }]; |
| |
| // The interaction information for the content node. |
| // Note: The information in InteractionInfo is configured based on the |
| // AnnotatedPageContentMode. See comments on the message definition for |
| // details. |
| InteractionInfo interaction_info = 21 [features = { field_presence: EXPLICIT }]; |
| |
| // These can come from the aria role, the html tag, or are assumed from some |
| // properties of the page. |
| repeated AnnotatedRole annotated_roles = 15; |
| |
| // A textual description of the content node from sources that may not be part |
| // of the tree because the content is not rendered. For example, `aria-label` |
| // and `aria-labelledby` attributes. |
| // |
| // Only populated for ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS.` |
| string label = 16 [features = { field_presence: EXPLICIT }]; |
| |
| // If this is a label node associated with an input node using `for`, provides |
| // the DOM node ID of the input node. This will match the |
| // `common_ancestor_dom_node_id` of the ContentNode of the input node, if it |
| // exists. |
| // Note: The label may be an ancestor of the input node. |
| // |
| // Only populated for ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS. |
| int32 label_for_dom_node_id = 25 [features = { field_presence: EXPLICIT }]; |
| |
| // The role of this ContentNode derived from the aria-role attribute. |
| // |
| // Only populated for ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS. |
| AXRole aria_role = 26 [features = { field_presence: EXPLICIT }]; |
| |
| reserved 5, 6, 7, 17, 18, 1, 22; |
| } |
| |
| // The geometry of the content, in the page coordinate system. |
| // Next ID: 6 |
| // NOTE: If `visual_bounding_box` is empty, i.e., the content is offscreen and |
| // it's in an iframe, the `outer_bounding_box` may be incorrect. See crbug.com/384996050 |
| // for details. |
| // |
| // Only populated for ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS. |
| 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 [features = { field_presence: EXPLICIT }]; |
| |
| // 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 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the content node is fixed or sticky position. This may suggest |
| // that the node is a header, footer, or sidebar. |
| bool is_fixed_or_sticky_position = 3 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| reserved 4, 5; |
| } |
| |
| message BoundingRect { |
| int32 x = 1 [features = { field_presence: EXPLICIT }]; |
| |
| int32 y = 2 [features = { field_presence: EXPLICIT }]; |
| |
| int32 width = 3 [features = { field_presence: EXPLICIT }]; |
| |
| int32 height = 4 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The interaction information for the content node. This indicates whether the |
| // node is interactive and what type of interaction it supports. |
| // |
| // Note: ScrollerInfo is populated for ANNOTATED_PAGE_CONTENT_MODE_DEFAULT. The |
| // rest of the fields are only populated for |
| // ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS. |
| // Next ID: 16 |
| message InteractionInfo { |
| // Set if the content node is scrollable. |
| ScrollerInfo scroller_info = 12 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the content node is selectable. |
| bool is_selectable = 3 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| // Whether the content node is editable; i.e. whether the user can type into |
| // it. This refers to the text actually being editable, not whether the |
| // content node is a text field. |
| bool is_editable = 4 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| // Whether the content node can be resized. This is relevant for scroll |
| // containers and iframes which have the CSS resize behavior. |
| bool can_resize_horizontal = 5 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| bool can_resize_vertical = 6 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| // Whether the content node is focusable. |
| bool is_focusable = 7 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the content node is draggable. |
| bool is_draggable = 9 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| // Whether the content node is clickable. This checks for whether the node is |
| // a clickable control (e.g. form control elements) or has activation |
| // behavior. It also checks for whether the node has a click handler. |
| bool is_clickable = 10 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| // The z-order of the content node relative to other nodes in the same |
| // Document. A higher value means the node is in front of other nodes with |
| // lower values. |
| // |
| // Since all content within a Document is rendered as a single layer, nodes |
| // behind the iframe in the embedder draw behind all nodes inside the |
| // iframe's Document (similar for nodes on top of the iframe node). |
| // |
| // Note: This value is only set for nodes in the viewport. |
| int32 document_scoped_z_order = 13 [features = { field_presence: EXPLICIT }]; |
| |
| // If this node is detected to be is_clickable, provides the reason which |
| // caused that. |
| // Note: This may not capture all the reasons. |
| // Deprecated: Use clickability_reasons instead. |
| repeated ClickabilityReason debug_clickability_reasons = 14 [deprecated = true]; |
| |
| // Provides signals which indicate whether the node is actionable. The action |
| // may be triggered by clicking or hovering on the element. |
| repeated ClickabilityReason clickability_reasons = 15; |
| |
| reserved 8, 1, 2, 11; |
| } |
| |
| // The coordinate space for the dimensions here is physical coordinates (not |
| // logical coordinates). This means it's the same irrespective of the writing |
| // mode. |
| // The dimensions also exclude non-overlay scrollbars. |
| message ScrollerInfo { |
| // The complete layout dimensions of the scroller. This is the total area |
| // that can be revealed through a scroll operation. |
| BoundingSize scrolling_bounds = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The subset of this scroller's content which is currently scrolled to. This |
| // is relative to the origin of `scrolling_bounds`. |
| BoundingRect visible_area = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // Indicates whether this can be scrolled by the user in horizontal or |
| // vertical directions. These nodes can still be scrolled by script. |
| bool user_scrollable_horizontal = 3 [features = { field_presence: EXPLICIT }]; |
| |
| bool user_scrollable_vertical = 4 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message BoundingSize { |
| int32 width = 1 [features = { field_presence: EXPLICIT }]; |
| |
| int32 height = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Next ID: 5 |
| message TextInfo { |
| string text_content = 1 [features = { field_presence: EXPLICIT }]; |
| |
| TextStyle text_style = 3 [features = { field_presence: EXPLICIT }]; |
| |
| reserved 2, 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 [features = { field_presence: EXPLICIT }]; |
| |
| // 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 [features = { field_presence: EXPLICIT }]; |
| |
| // The color of the text in RGBA format. |
| uint32 color = 3 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Information about the image. In the future, this may include a pixmap. |
| // Next ID: 5 |
| message ImageInfo { |
| string image_caption = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // Provides the source origin for the image. |
| SecurityOrigin security_origin = 4 [features = { field_presence: EXPLICIT }]; |
| |
| reserved 1, 3; |
| } |
| |
| // The source origin for the web content in AnnotatedPageContent. This maps to |
| // the origin concept in the spec: https://url.spec.whatwg.org/#origin. |
| // |
| // This is distinct from URLs. There are cases where the URL for a Document, |
| // example about:blank, is different from the origin that the Document's data |
| // should be attributed to. |
| // |
| // Next ID: 3 |
| message SecurityOrigin { |
| // Whether the origin is opaque. |
| bool opaque = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The raw value of the origin. It is set to the nonce for opaque origins and |
| // scheme-host-port string for non-opaque origins. |
| string value = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message SVGData { |
| // The inner text for the SVG subtree. |
| string inner_text = 1 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message CanvasData { |
| int32 layout_width = 1 [features = { field_presence: EXPLICIT }]; |
| |
| int32 layout_height = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message VideoData { |
| // The URL of the video. |
| string url = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The source origin for the video. |
| SecurityOrigin security_origin = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message AnchorData { |
| string url = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The relationship between the linked URL and the current document. |
| repeated AnchorRel rel = 2; |
| } |
| |
| message FormInfo { |
| // The of the form. |
| string form_name = 1 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Next ID: 9 |
| message FormControlData { |
| // The name for the field. |
| string field_name = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The value of the field. |
| string field_value = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The type of control for this form field. |
| FormControlType form_control_type = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The options for a select field, if applicable. |
| repeated SelectOption select_options = 4; |
| |
| // The placeholder text for the field. This is only applicable to text fields. |
| string placeholder = 5 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the field is checked. This is only applicable to checkbox and radio |
| // button fields. |
| bool is_checked = 6 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the field is required. |
| bool is_required = 7 [features = { field_presence: EXPLICIT }]; |
| |
| // Redaction decision for form fields. |
| RedactionDecision redaction_decision = 8 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // 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 [features = { field_presence: EXPLICIT }]; |
| |
| string text = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the option is selected. |
| // Not set for FormsAI purposes, but used in PCA. |
| bool is_selected = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the option is disabled. |
| // Not set for FormsAI purposes, but used in PCA. |
| bool is_disabled = 4 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message TableData { |
| // The name of the table, coming from the caption. |
| string table_name = 1 [features = { field_presence: EXPLICIT }]; |
| |
| reserved 2, 3, 4; |
| } |
| |
| message IframeData { |
| oneof data { |
| FrameData frame_data = 3; |
| |
| RedactedFrameMetadata redacted_frame_metadata = 4; |
| } |
| |
| // 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 [features = { field_presence: EXPLICIT }]; |
| |
| message RedactedFrameMetadata { |
| Reason reason = 1 [features = { field_presence: EXPLICIT }]; |
| |
| enum Reason { |
| REASON_UNSPECIFIED = 0; |
| |
| // This iframe was redacted because it is not on the same eTLD+1 site as |
| // the top-level frame. |
| REASON_CROSS_SITE = 1; |
| |
| // This iframe was redacted because it is not on the same origin as the |
| // top-level frame. |
| REASON_CROSS_ORIGIN = 2; |
| } |
| } |
| |
| reserved 1; |
| } |
| |
| // The data for a frame in the web page. This is the common data structure for |
| // both the root frame and embedded iframes. |
| // Next ID: 12 |
| message FrameData { |
| // The security origin of the frame. |
| SecurityOrigin security_origin = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // Interaction information for the frame. |
| FrameInteractionInfo frame_interaction_info = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // Identifies the document in a frame. |
| DocumentIdentifier document_identifier = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The URL of the frame. |
| string url = 4 [features = { field_presence: EXPLICIT }]; |
| |
| // The title of the frame. |
| string title = 5 [features = { field_presence: EXPLICIT }]; |
| |
| // Information about paid content in the frame. Only set |
| // if paid content was checked. |
| PaidContentMetadata paid_content_metadata = 6 [features = { field_presence: EXPLICIT }]; |
| |
| // Information about the media in the frame. This information is only added |
| // for the frame which controls the media session associated with this page. |
| // Only one frame can control the media session at a time via the media |
| // session web API. |
| MediaData media_data = 8 [features = { field_presence: EXPLICIT }]; |
| |
| // The set of tools supported by this Document. |
| repeated ScriptTool script_tools = 9; |
| |
| // The results of executing script tools. |
| // TODO(khushalsagar): Remove this field once all consumers move to using |
| // the field in ActionsResult. |
| repeated ScriptToolResult script_tool_results = 11; |
| |
| reserved 7, 10; |
| } |
| |
| // The interaction information for the frame. This is for interactions that |
| // are specific to the frame, such as the current selection. |
| // Next ID: 2 |
| message FrameInteractionInfo { |
| // The current selection. |
| Selection selection = 1 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Represents a selection in the page. This is a frame-level concept. |
| message Selection { |
| // The content node ID of the start node. Note that this could be the same as |
| // the end node ID. This node is always before or equal to the end node. |
| int32 start_node_id = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The character offset of the start of the selection from the start of the |
| // text contained in start node. |
| int32 start_offset = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The content node ID of the end node. Note that this could be the same as |
| // the start node ID. This node is always after or equal to the start node. |
| int32 end_node_id = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The character offset of the end of the selection from the start of the |
| // text contained in end node. |
| int32 end_offset = 4 [features = { field_presence: EXPLICIT }]; |
| |
| // The selected text. |
| string selected_text = 5 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Directs the action to a specific Document in a frame in Chrome. |
| // Next ID: 3 |
| message DocumentIdentifier { |
| // A unique identifier for a Document loaded in the browser. This ID is |
| // guaranteed to be unique across all Documents for the browser's lifetime. |
| // The ID is also stable for the Document's lifetime. It can be used to |
| // identify the Document across APC calls. |
| string serialized_token = 1 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Metadata about paid content in the frame. |
| // Next ID: 2 |
| message PaidContentMetadata { |
| // Whether the frame contains paid content. |
| bool contains_paid_content = 1 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The media data for a frame in the web page. If the frame has multiple media |
| // elements, only one of them is controlled by the media session. The |
| // transcripts are always attached if any have been generated for past media or |
| // current media in this frame, while other fields are only populated if there |
| // is an active media session in the frame. |
| // Next ID: 9 |
| message MediaData { |
| // Type of the media in the frame. |
| MediaDataType media_data_type = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // A list of text segments which can be combined to represent the |
| // transcriptions of the media content that have been heard by the user. |
| // The transcripts are in ascending order by start timestamps. |
| repeated MediaTranscript transcripts = 2; |
| |
| // The overall duration of the media. |
| int64 duration_milliseconds = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The current timestamp position of the media. |
| int64 current_position_milliseconds = 4 [features = { field_presence: EXPLICIT }]; |
| |
| // Whether the media is currently playing or paused. |
| bool is_playing = 5 [features = { field_presence: EXPLICIT }]; |
| |
| // The title of the media. Must be non-empty and set by the website or default |
| // to the web page title. |
| string title = 6 [features = { field_presence: EXPLICIT }]; |
| |
| // The artist of the media. May be empty. |
| string artist = 7 [features = { field_presence: EXPLICIT }]; |
| |
| // The album of the media. May be empty. |
| string album = 8 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // A segment of the media transcript. |
| // Next ID: 3 |
| message MediaTranscript { |
| // A segment of text for the media transcript. |
| string text = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // Non-negative time since the start of the media. |
| int64 start_timestamp_milliseconds = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The data for tools exposed by the Document. |
| message ScriptTool { |
| // The name of the tool. This must be unique within the source Document's |
| // scope. |
| string name = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // A description of the tool used to understand the capabilities of the tool. |
| string description = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // A JSON schema string describing the input expected by the tool. |
| string input_schema = 4 [features = { field_presence: EXPLICIT }]; |
| |
| // Annotations for the tool. |
| ScriptToolAnnotations annotations = 5 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Annotations for the script tool. |
| message ScriptToolAnnotations { |
| bool read_only = 1 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Result of executing a script tool. |
| // Next ID: 3 |
| // TODO(khushalsagar): Move this to actions_data.proto. |
| message ScriptToolResult { |
| // The index of the ScriptToolAction in the Actions proto. This is used to |
| // match the result to the corresponding action. |
| int32 index_of_script_tool_action = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The result from executing the tool, if the execution was successful. |
| string result = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message TableRowData { |
| TableRowType type = 1 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Represents the interaction information for the page. This is for top-level |
| // interactions, such as the mouse position and focused element, for which |
| // there can only be one unique value. Includes interaction information for |
| // the main frame and embedded iframes. |
| // Next ID: 4 |
| message PageInteractionInfo { |
| // The content node ID of the content node that is currently focused. |
| int32 focused_node_id = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The content node ID of the content node that is currently focused by a |
| // screen reader. If this is set, it means that a screen reader is being used. |
| int32 accessibility_focused_node_id = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The last known mouse position, in the page coordinate system. |
| Point mouse_position = 3 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message Point { |
| int32 x = 1 [features = { field_presence: EXPLICIT }]; |
| |
| int32 y = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Uniquely identifies a DOM elements across all frames. |
| message AutofillGlobalId { |
| string frame_token = 1 [features = { field_presence: EXPLICIT }]; |
| |
| uint64 renderer_id = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| 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 [features = { field_presence: EXPLICIT }]; |
| |
| // The fields contained in this form. |
| repeated FormFieldData fields = 2; |
| |
| // Only set during data collection, not in prediction requests. |
| AutofillGlobalId global_id = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // Autofill's internal identifier for the form. Can change when the form |
| // changes dynamically. |
| // Only set during data collection, not in prediction requests. |
| uint64 form_signature = 4 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // Next ID: 14 |
| message FormFieldData { |
| // The name for the field. |
| string field_name = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The label for the field. |
| string field_label = 2 [features = { field_presence: EXPLICIT }]; |
| |
| string field_value = 3 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| bool is_visible = 4 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| // Whether the field is focusable. |
| // Only set during data collection, not in prediction requests. |
| bool is_focusable = 5 [features = { field_presence: EXPLICIT }]; |
| |
| // The type of control for this form field. |
| FormControlType form_control_type = 6 [features = { field_presence: EXPLICIT }]; |
| |
| // The options for a select field, if applicable. |
| repeated SelectOption select_options = 7; |
| |
| // The placeholder text for the field. |
| string placeholder = 8 [features = { field_presence: EXPLICIT }]; |
| |
| // The AX node ID of the form control for this field. |
| int32 form_control_ax_node_id = 9 [features = { field_presence: EXPLICIT }]; |
| |
| bool is_eligible = 10 [ |
| deprecated = true, |
| features = { field_presence: EXPLICIT } |
| ]; |
| |
| // Only set during data collection, not in prediction requests. |
| AutofillGlobalId global_id = 11 [features = { field_presence: EXPLICIT }]; |
| |
| // Autofill's internal identifier for the field. Can change when the form |
| // changes dynamically. |
| // Only set during data collection, not in prediction requests. |
| uint32 field_signature = 12 [features = { field_presence: EXPLICIT }]; |
| |
| // The text of the elements denoted by the aria-labelledby attribute of field |
| // or the value of its aria-label attribute, with priority given to the |
| // aria-labelledby attribute. |
| // TODO(crbug.com/389631485): The client doesn't set this for model requests at the |
| // moment. But it can and should be used for inference since it is contained |
| // in the metadata pipeline. |
| string aria_label = 13 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message TableRow { |
| repeated ContentNode cells = 1; |
| } |
| |
| 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 [features = { field_presence: EXPLICIT }]; |
| |
| // The key for this entry. Not necessarily unique. |
| string key = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The value for this entry. |
| string value = 3 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message TabGroup { |
| // The label that describes this tab group. |
| string label = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The tabs that belong in this group. |
| repeated Tab tabs = 2; |
| |
| // The id of the pre-existing tab group this corresponds to, if any. |
| string group_id = 3 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| message Tab { |
| // A unique identifier for the tab. |
| int64 tab_id = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The title of the tab. |
| string title = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The URL of the tab. |
| string url = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The page context of the tab. |
| PageContext page_context = 4 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The site engagement information for a single site. |
| message SiteEngagementEntry { |
| // The URL of the site. |
| string url = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // On a scale of 0 to 100, the relative score of engagement with the site. |
| float score = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The site engagement information for the user. |
| message SiteEngagement { |
| // The site engagement information for the user. |
| repeated SiteEngagementEntry entries = 1; |
| } |
| |
| // The coordinates of a point. |
| // Next ID: 3 |
| message Coordinate { |
| int32 x = 1 [features = { field_presence: EXPLICIT }]; |
| |
| int32 y = 2 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // 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: 214 |
| 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_MENUITEMSEPARATOR = 213; |
| |
| 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: 69 |
| 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_IA_PAINTORDER = 68; |
| } |
| |
| // 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_ARIANOTIFICATIONTYPES = 3; |
| } |
| |
| // This will be updated when there is a significant change in the parsing logic. |
| // Next ID: 3 |
| enum AnnotatedPageContentVersion { |
| ANNOTATED_PAGE_CONTENT_VERSION_UNKNOWN = 0; |
| |
| ANNOTATED_PAGE_CONTENT_VERSION_1_0 = 1; |
| |
| // DEPRECATED: Use AnnotatedPageContentMode mode instead. |
| // TODO(khushalsagar): Maintain both on the client until all users have been |
| // switched over. |
| ANNOTATED_PAGE_CONTENT_VERSION_ONLY_ACTIONABLE_ELEMENTS_1_0 = 2 [deprecated = true]; |
| } |
| |
| // The extraction on the client can be configured to a specific mode. This |
| // tracks the mode used to extract this proto. |
| enum AnnotatedPageContentMode { |
| ANNOTATED_PAGE_CONTENT_MODE_DEFAULT = 0; |
| |
| // This mode is strictly a superset of the default mode. It includes |
| // additional information to understand which content a user can interact |
| // with. |
| // |
| // Note: This mode is under active development and backwards incompatible |
| // changes are expected. |
| ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS = 1; |
| } |
| |
| // Indicates the structure of the ContentNode. Suggests which type of |
| // content_data will be found in the ContentNode. |
| // 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: 28 |
| enum ContentAttributeType { |
| // Unknown is not a valid attribute type and should never be used by the |
| // client. You can consider discarding ContentNodes with this attribute type. |
| 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; |
| |
| CONTENT_ATTRIBUTE_TEXT = 20; |
| |
| CONTENT_ATTRIBUTE_ANCHOR = 22; |
| |
| // Image chunks. |
| CONTENT_ATTRIBUTE_IMAGE = 9; |
| |
| CONTENT_ATTRIBUTE_SVG = 25; |
| |
| CONTENT_ATTRIBUTE_CANVAS = 26; |
| |
| CONTENT_ATTRIBUTE_VIDEO = 27; |
| |
| // Structured chunks. |
| CONTENT_ATTRIBUTE_ORDERED_LIST = 6; |
| |
| CONTENT_ATTRIBUTE_UNORDERED_LIST = 7; |
| |
| CONTENT_ATTRIBUTE_LIST_ITEM = 23; |
| |
| CONTENT_ATTRIBUTE_FORM = 8; |
| |
| CONTENT_ATTRIBUTE_FORM_CONTROL = 24; |
| |
| CONTENT_ATTRIBUTE_TABLE = 10; |
| |
| CONTENT_ATTRIBUTE_TABLE_ROW = 21; |
| |
| CONTENT_ATTRIBUTE_TABLE_CELL = 11; |
| |
| reserved 12, 13, 14, 15, 16, 17, 18, 19; |
| } |
| |
| // The reason why a node is clickable. |
| // Next ID: 12 |
| enum ClickabilityReason { |
| // The node is a native form control. |
| CLICKABILITY_REASON_CLICKABLE_CONTROL = 0; |
| |
| // The node has a click event handler. |
| CLICKABILITY_REASON_CLICK_HANDLER = 1; |
| |
| // The node has mouse event handlers like mouseup, mousedown, mouseover and |
| // mouseenter. |
| CLICKABILITY_REASON_MOUSE_EVENTS = 2; |
| |
| // The node has keyboard event handlers like keydown, keypress, keyup. |
| CLICKABILITY_REASON_KEY_EVENTS = 3; |
| |
| // The node's text can be edited. |
| CLICKABILITY_REASON_EDITABLE = 4; |
| |
| // The node uses cursor css to indicate the element is interactive. |
| CLICKABILITY_REASON_CURSOR_POINTER = 5; |
| |
| // The node has a clickable aria role. |
| CLICKABILITY_REASON_ARIA_ROLE = 6; |
| |
| // The node has the aria-haspopup attribute indicating it opens a popup on |
| // activation. |
| CLICKABILITY_REASON_ARIA_HAS_POPUP = 7; |
| |
| // The node has the aria-expanded attribute indicating it controls the |
| // visibility of other elements. This reason implies that the associated |
| // control is currently expanded. |
| CLICKABILITY_REASON_ARIA_EXPANDED_TRUE = 8; |
| |
| // The node has the aria-expanded attribute indicating it controls the |
| // visibility of other elements. This reason implies that the associated |
| // control is currently collapsed. |
| CLICKABILITY_REASON_ARIA_EXPANDED_FALSE = 9; |
| |
| // The node has the tabIndex attribute set to a valid value. |
| CLICKABILITY_REASON_TAB_INDEX = 10; |
| |
| // The node has autocomplete, as indicated by the same-named attribute or |
| // aria-autocomplete. |
| CLICKABILITY_REASON_AUTOCOMPLETE = 11; |
| } |
| |
| // 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; |
| } |
| |
| // The relationship between the linked URL and the current document. |
| // https://html.spec.whatwg.org/multipage/links.html#linkTypes |
| enum AnchorRel { |
| ANCHOR_REL_UNKNOWN = 0; |
| |
| ANCHOR_REL_NO_REFERRER = 1; |
| |
| ANCHOR_REL_NO_OPENER = 2; |
| |
| ANCHOR_REL_OPENER = 3; |
| |
| ANCHOR_REL_PRIVACY_POLICY = 4; |
| |
| ANCHOR_REL_TERMS_OF_SERVICE = 5; |
| } |
| |
| // 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 |
| // Next ID: 34 |
| 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; |
| |
| FORM_CONTROL_TYPE_BUTTON_BUTTON = 16; |
| |
| FORM_CONTROL_TYPE_BUTTON_SUBMIT = 17; |
| |
| FORM_CONTROL_TYPE_BUTTON_RESET = 18; |
| |
| FORM_CONTROL_TYPE_BUTTON_POPOVER = 19; |
| |
| FORM_CONTROL_TYPE_FIELDSET = 20; |
| |
| FORM_CONTROL_TYPE_INPUT_BUTTON = 21; |
| |
| FORM_CONTROL_TYPE_INPUT_COLOR = 22; |
| |
| FORM_CONTROL_TYPE_INPUT_DATE = 23; |
| |
| FORM_CONTROL_TYPE_INPUT_DATETIME_LOCAL = 24; |
| |
| FORM_CONTROL_TYPE_INPUT_FILE = 25; |
| |
| FORM_CONTROL_TYPE_INPUT_HIDDEN = 26; |
| |
| FORM_CONTROL_TYPE_INPUT_IMAGE = 27; |
| |
| FORM_CONTROL_TYPE_INPUT_RANGE = 28; |
| |
| FORM_CONTROL_TYPE_INPUT_RESET = 29; |
| |
| FORM_CONTROL_TYPE_INPUT_SUBMIT = 30; |
| |
| FORM_CONTROL_TYPE_INPUT_TIME = 31; |
| |
| FORM_CONTROL_TYPE_INPUT_WEEK = 32; |
| |
| FORM_CONTROL_TYPE_OUTPUT = 33; |
| } |
| |
| enum RedactionDecision { |
| // No redaction necessary for this node type. |
| REDACTION_DECISION_NO_REDACTION_NECESSARY = 0; |
| |
| // Empty password inputs are not redacted. |
| REDACTION_DECISION_UNREDACTED_EMPTY_PASSWORD = 1; |
| |
| // Is a password input or was in the past. |
| REDACTION_DECISION_REDACTED_HAS_BEEN_PASSWORD = 2; |
| } |
| |
| // Indicates the type of media in the media data. |
| // Next ID: 3 |
| enum MediaDataType { |
| MEDIA_DATA_TYPE_UNKNOWN = 0; |
| |
| MEDIA_DATA_TYPE_VIDEO = 1; |
| |
| MEDIA_DATA_TYPE_AUDIO = 2; |
| } |
| |
| enum TableRowType { |
| TABLE_ROW_TYPE_UNKNOWN = 0; |
| |
| TABLE_ROW_TYPE_HEADER = 1; |
| |
| TABLE_ROW_TYPE_BODY = 2; |
| |
| TABLE_ROW_TYPE_FOOTER = 3; |
| } |
| |
| // Indicates the semantic role of the content. These can come from the aria |
| // role, the html tag, or are assumed from some properties of the page. |
| // When adding new roles, please also update AIPageContentAnnotatedRole in |
| // third_party/blink/public/mojom/content_extraction/ai_page_content.mojom. |
| // Next ID: 15 |
| enum AnnotatedRole { |
| ANNOTATED_ROLE_UNKNOWN = 0; |
| |
| // Landmark/section chunks. |
| ANNOTATED_ROLE_HEADER = 5; |
| |
| ANNOTATED_ROLE_NAV = 6; |
| |
| ANNOTATED_ROLE_SEARCH = 7; |
| |
| ANNOTATED_ROLE_MAIN = 8; |
| |
| ANNOTATED_ROLE_ARTICLE = 9; |
| |
| ANNOTATED_ROLE_SECTION = 10; |
| |
| ANNOTATED_ROLE_ASIDE = 11; |
| |
| ANNOTATED_ROLE_FOOTER = 12; |
| |
| // Indicates that the subtree for this ContentNode is hidden from the user but |
| // accessible via features like find-in-page. See `hidden=until-found` in |
| // https://developer.mozilla.org/en-US/docs/Wecrbug.com/HTML/Global_attributes/hidden |
| // for details. |
| // |
| // Note: This is different from Geometry.visible_bounding_box being empty |
| // which indicates whether the content is offscreen. The visible_bounding_box |
| // for nodes in a hidden subtree may be non-empty, depending on whether the |
| // content would be in the viewport if the user searched for it. |
| ANNOTATED_ROLE_CONTENT_HIDDEN = 13; |
| |
| // Indicates that the subtree for this ContentNode contains content marked as |
| // isAccessibleForFree=false by a schema.org CreativeWork declaration, as |
| // described at |
| // https://developers.google.com/search/docs/appearance/structured-data/paywalled-content. |
| ANNOTATED_ROLE_PAID_CONTENT = 14; |
| |
| reserved 1 to 4; |
| } |
| |
| // 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; |
| } |