123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // Copyright 2021 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 crosapi.mojom;
- import "mojo/public/mojom/base/unguessable_token.mojom";
- import "mojo/public/mojom/base/values.mojom";
- import "ui/accessibility/mojom/ax_action_data.mojom";
- import "ui/accessibility/mojom/ax_event.mojom";
- import "ui/accessibility/mojom/ax_relative_bounds.mojom";
- import "ui/accessibility/mojom/ax_tree_update.mojom";
- import "ui/gfx/geometry/mojom/geometry.mojom";
- // Interface for automation clients. Implemented by lacros-chrome. Used by
- // ash-chrome to enable automation and to perform actions.
- // Next version: 3
- // Next method id: 7
- [Stable, Uuid="8dd5f2a7-c24b-47c3-a096-a5d28c4764bb"]
- interface AutomationClient {
- // Deprecated.
- PerformActionDeprecated@2(
- mojo_base.mojom.UnguessableToken tree_id, int32 automation_node_id,
- string action_type, int32 request_id,
- mojo_base.mojom.DeprecatedDictionaryValue optional_args);
- // Enables automation for the client. This will result in the client
- // repeatedly calling ReceiveEventPrototype() on the Automation interface.
- Enable@0();
- // Enables automation for a particular subtree of the client. This will
- // result in the client repeatedly calling ReceiveEventPrototype() on the
- // Automation interface.
- EnableTree@1(mojo_base.mojom.UnguessableToken token);
- // Disables automation in the client. This has the effect of turning off
- // accessibility within Lacros' instance of AutomationManagerAura. Calling
- // this method without calling Enable or calling it multiple times has no
- // adverse effects.
- [MinVersion=1] Disable@3();
- // Forwards the action described by AXActionData to all clients. Actions are
- // resolved by each client based on tree id, action type and other action data
- // fields.
- [MinVersion=1] PerformAction@4(ax.mojom.AXActionData action_data);
- // Notifies Lacros when all Ash automation extensions have been unloaded.
- [MinVersion=2] NotifyAllAutomationExtensionsGone@5();
- // Notifies Lacros when a new automation extension has added a listener.
- [MinVersion=2] NotifyExtensionListenerAdded@6();
- };
- // Interface for automation. Implemented by ash-chrome.
- // Next version: 5
- // Next method id: 6
- [Stable, Uuid="356a895e-b41a-4c45-9336-d8dc6d332f98"]
- interface Automation {
- // Deprecated.
- RegisterAutomationClientDeprecated@0(
- pending_remote<AutomationClient> client,
- mojo_base.mojom.UnguessableToken token);
- // Deprecated.
- ReceiveEventPrototypeDeprecated@1(
- string event_bundle, bool root, mojo_base.mojom.UnguessableToken token,
- string window_id);
- // Forwards an accessibility tree destroyed event from any accessibility tree
- // in Lacros to Ash.
- [MinVersion=1] DispatchTreeDestroyedEvent@2(
- mojo_base.mojom.UnguessableToken tree_id);
- // Forwards an action result from any accessibility tree in Lacros to Ash.
- [MinVersion=2] DispatchActionResult@3(
- ax.mojom.AXActionData data, bool result);
- // Forwards an event from any accessibility tree in Lacros to Ash.
- [MinVersion=3] DispatchAccessibilityEvents@4(
- mojo_base.mojom.UnguessableToken tree_id,
- array<ax.mojom.AXTreeUpdate> updates,
- gfx.mojom.Point mouse_location,
- array<ax.mojom.AXEvent> events);
- // Dispatches a location change for a specific node. Currently used by Blink
- // in RenderAccessibilityHost::HandleAXLocationChanges.
- [MinVersion=4] DispatchAccessibilityLocationChange@5(
- mojo_base.mojom.UnguessableToken tree_id,
- int32 node_id,
- ax.mojom.AXRelativeBounds bounds);
- };
- // A factory living in the Ash process which brokers connections to other
- // processes for automation.
- // Next version: 1
- // Next method id: 1
- [Stable, Uuid="87004779-69b3-4f35-980b-be259f002ac7"]
- interface AutomationFactory {
- // A binder which sends accessibility data, and receives accessibility actions
- // (e.g. Lacros).
- BindAutomation@0(
- pending_remote<AutomationClient> automation_client,
- pending_receiver<Automation> automation);
- };
|