// Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. module ax.mojom; import "mojo/public/mojom/base/string16.mojom"; import "ui/gfx/geometry/mojo/geometry.mojom"; import "ui/gfx/range/mojo/range.mojom"; import "url/mojom/url.mojom"; // Tree structure for assistant. The tree is represented as a flat array of // nodes, each containing a children_indices vector that points to its child // nodes. The purpose is to work around max depth restriction of recursive // data structure in mojo. struct AssistantTree { array nodes; }; // Represents view structure to be passed to assistant. The view structure is // synthesized from the AXNode. struct AssistantNode { array children_indices; // Geometry of the view in pixels gfx.mojom.Rect rect; // Text of the view. mojo_base.mojom.String16 text; // Text properties float text_size; uint32 color; uint32 bgcolor; bool bold; bool italic; bool underline; bool line_through; // Selected portion of the text. gfx.mojom.Range? selection; // Fake Android view class name of the element. Each node is assigned // a closest approximation of Android's views to keep the server happy. string class_name; // Accessibility functionality of the node inferred from DOM or based on HTML // role attribute. string? role; }; // Additional information to current context. struct AssistantExtra { url.mojom.Url url; gfx.mojom.Rect bounds_pixel; mojo_base.mojom.String16 title; };