File: ax_event.h

package info (click to toggle)
chromium 138.0.7204.183-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,908 kB
  • sloc: cpp: 34,937,088; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (67 lines) | stat: -rw-r--r-- 2,378 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 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.

#ifndef UI_ACCESSIBILITY_AX_EVENT_H_
#define UI_ACCESSIBILITY_AX_EVENT_H_

#include <string>
#include <vector>

#include "ui/accessibility/ax_base_export.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/accessibility/ax_event_intent.h"
#include "ui/accessibility/ax_node_data.h"

namespace ui {

struct AX_BASE_EXPORT AXEvent final {
  AXEvent();
  AXEvent(AXNodeData::AXID id,
          ax::mojom::Event event_type,
          ax::mojom::EventFrom event_from = ax::mojom::EventFrom::kNone,
          ax::mojom::Action event_from_action = ax::mojom::Action::kNone,
          const std::vector<AXEventIntent>& event_intents = {},
          int action_request_id = -1);
  ~AXEvent();

  AXEvent& operator=(AXEvent&& event);
  AXEvent(AXEvent&& other);

  // TODO(accessibility): try to = delete these or finish auditing all sites.
  AXEvent(const AXEvent& event);
  AXEvent& operator=(const AXEvent& event);

  // The id of the node in the AXTree that the event should be fired on.
  AXNodeData::AXID id = AXNodeData::kInvalidAXID;

  // The type of event.
  ax::mojom::Event event_type = ax::mojom::Event::kNone;

  // The source of the event.
  ax::mojom::EventFrom event_from = ax::mojom::EventFrom::kNone;

  // The accessibility action that caused the event. The difference between
  // event_from_action and event_intents is that event_from_action refers to
  // an action from an accessibility API call, while event_intents refers to
  // user actions.
  ax::mojom::Action event_from_action = ax::mojom::Action::kNone;

  // Describes what caused an accessibility event to be raised. For example, in
  // the case of a selection changed event, the selection could have been
  // extended to the beginning of the previous word, or it could have been moved
  // to the end of the next line. Note that there could be multiple causes that
  // resulted in an event.
  std::vector<AXEventIntent> event_intents;

  // The action request ID that was passed in if this event was fired in
  // direct response to a ax::mojom::Action.
  int action_request_id = -1;

  // Returns a string representation of this data, for debugging.
  std::string ToString() const;
};

}  // namespace ui

#endif  // UI_ACCESSIBILITY_AX_EVENT_H_