blob: 575db7f878243c65024fa7ad509088902247b9dd [file] [log] [blame]
// Copyright 2016 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.
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_export.h"
#include "ui/accessibility/ax_tree_id.h"
#include "ui/gfx/geometry/rect.h"
namespace ui {
// A compact representation of an accessibility action and the arguments
// associated with that action.
struct AX_EXPORT AXActionData {
AXActionData(const AXActionData& other);
// Return a string representation of this data, for debugging.
std::string ToString() const;
// This is a simple serializable struct. All member variables should be
// public and copyable.
// See the ax::mojom::Action enums in ax_enums.idl for explanations of which
// parameters apply.
// The action to take.
ax::mojom::Action action = ax::mojom::Action::kNone;
// The ID of the tree that this action should be performed on.
ui::AXTreeID target_tree_id = ui::AXTreeIDUnknown();
// The source extension id (if any) of this action.
std::string source_extension_id;
// The ID of the node that this action should be performed on.
int target_node_id = -1;
// The request id of this action tracked by the client.
int request_id = -1;
// Use enums from ax::mojom::ActionFlags
int flags = 0;
// For an action that creates a selection, the selection anchor and focus
// (see ax_tree_data.h for definitions).
int anchor_node_id = -1;
int anchor_offset = -1;
int focus_node_id = -1;
int focus_offset = -1;
// Start index of the text which should be queried for.
int32_t start_index = -1;
// End index of the text which should be queried for.
int32_t end_index = -1;
// For custom action.
int custom_action_id = -1;
// The target rect for the action.
gfx::Rect target_rect;
// The target point for the action.
gfx::Point target_point;
// The new value for a node, for the SET_VALUE action. UTF-8 encoded.
std::string value;
// The event to fire in response to a HIT_TEST action.
ax::mojom::Event hit_test_event_to_fire = ax::mojom::Event::kNone;
} // namespace ui