chromium/ui/accessibility/mojom/ax_action_data.mojom

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module ax.mojom;

import "ui/accessibility/ax_enums.mojom";
import "ui/accessibility/mojom/ax_tree_id.mojom";
import "ui/gfx/geometry/mojom/geometry.mojom";

// A compact representation of an accessibility action and the arguments
// associated with that action. See ui::AXActionData for full documentation.
// Next version: 3
[Stable, Uuid="977807b3-17e0-4186-8398-deae1aeba2ec"]
struct AXActionData {
  Action action;
  ax.mojom.AXTreeID target_tree_id;
  string source_extension_id;
  // Note that `target_role` should not be set if `target_node_id` is set, or
  // vice versa.
  int32 target_node_id;
  int32 request_id;
  int32 flags;
  int32 anchor_node_id;
  int32 anchor_offset;
  int32 focus_node_id;
  int32 focus_offset;
  int32 custom_action_id;
  gfx.mojom.Rect target_rect;
  gfx.mojom.Point target_point;
  string value;
  Event hit_test_event_to_fire;
  ScrollAlignment horizontal_scroll_alignment;
  ScrollAlignment vertical_scroll_alignment;
  ScrollBehavior scroll_behavior;
  [MinVersion=1] ax.mojom.AXTreeID? child_tree_id;
  // Note that `target_role` should not be set if `target_node_id` is set, or
  // vice versa.
  [MinVersion=2] ax.mojom.Role target_role = ax.mojom.Role.kUnknown;
};