123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // 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/mojom/geometry.mojom";
- import "ui/gfx/range/mojom/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<AssistantNode> nodes;
- };
- // Represents view structure to be passed to assistant. The view structure is
- // synthesized from the AXNode.
- struct AssistantNode {
- array<int32> 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;
- };
- // Assistant structure, including Assistant tree and extra.
- struct AssistantStructure {
- AssistantTree? assistant_tree;
- AssistantExtra? assistant_extra;
- };
|