naiveproxy/components/arc/common/voice_interaction_arc_home.mojom
2018-12-09 21:59:24 -05:00

71 lines
2.1 KiB
Plaintext

// 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 "components/arc/common/gfx.mojom";
import "mojo/public/mojom/base/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_base.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<VoiceInteractionStructure> 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) => ();
};