// Copyright 2017 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. // // Next MinVersion: 4 module arc.mojom; import "gfx.mojom"; import "mojo/common/string16.mojom"; // Represents view structure to be passed to ARC. The view // structure is synthesized from the AXStructure, which // is a simplified representation of the DOM tree. We // map each node of the AXStructure into a view element. // The naming convention of the fields kept consistent with // AccessibilitySnapshotNode.java used in Android Chromium. struct VoiceInteractionStructure { // Geometry of the view in pixels Rect rect; // Text of the view. mojo.common.mojom.String16 text; // Text properties float text_size; int32 color; int32 bgcolor; bool bold; bool italic; bool underline; bool line_through; // Selected portion of the text. Range? selection; // Fake Android view class name of the element. Each node is assigned // a closest approximation of Android's views. string class_name; // Children of current node array children; // Accessibility functionality of the node inferred from DOM or based on HTML // role attribute. [MinVersion=2] string? role; }; // Handles voice interaction queries from Android. // Next method ID: 3 interface VoiceInteractionArcHomeHost { // Returns view hierarchy of current window represented as // VoiceInteractionStructure. Returns empty if the request // fails. GetVoiceInteractionStructure@1() => (VoiceInteractionStructure? structure); // Notifies VoiceInteractionArcHomeHost that voice interaction OOBE setup // is done. [MinVersion=1] OnVoiceInteractionOobeSetupComplete@2(); }; // Connects with ArcHome. // Next method ID: 2 interface VoiceInteractionArcHomeInstance { // DEPRECATED: Please use Init@1 instead. InitDeprecated@0(VoiceInteractionArcHomeHost host_ptr); // Establishes full-duplex communication with the host. [MinVersion=3] Init@1(VoiceInteractionArcHomeHost host_ptr) => (); };