blob: 0b3461407015bdb156c5c81b9217af87a05646ea [file] [log] [blame]
Dominic Mazzoniccbaa9b2018-06-06 07:44:231// Copyright 2018 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ui/accessibility/ax_event.h"
6
7#include "base/strings/string_number_conversions.h"
8#include "ui/accessibility/ax_enum_util.h"
Dominic Mazzoniccbaa9b2018-06-06 07:44:239
10namespace ui {
11
Nektarios Paisios56ee9982020-04-22 07:53:0612AXEvent::AXEvent() = default;
13
Nektarios Paisios488275d2020-04-25 04:56:3714AXEvent::AXEvent(AXNodeData::AXID id,
Nektarios Paisios56ee9982020-04-22 07:53:0615 ax::mojom::Event event_type,
16 ax::mojom::EventFrom event_from,
Akihiro Otadacc8a52021-03-16 02:25:3817 ax::mojom::Action event_from_action,
Nektarios Paisios488275d2020-04-25 04:56:3718 const std::vector<AXEventIntent>& event_intents,
Nektarios Paisios56ee9982020-04-22 07:53:0619 int action_request_id)
20 : id(id),
21 event_type(event_type),
22 event_from(event_from),
Akihiro Otadacc8a52021-03-16 02:25:3823 event_from_action(event_from_action),
Nektarios Paisios488275d2020-04-25 04:56:3724 event_intents(event_intents),
Nektarios Paisios56ee9982020-04-22 07:53:0625 action_request_id(action_request_id) {}
Dominic Mazzoniccbaa9b2018-06-06 07:44:2326
James Cook36cab7c2019-10-29 23:26:4027AXEvent::~AXEvent() = default;
Dominic Mazzoniccbaa9b2018-06-06 07:44:2328
Nektarios Paisios56ee9982020-04-22 07:53:0629AXEvent::AXEvent(const AXEvent& event) = default;
30
31AXEvent& AXEvent::operator=(const AXEvent& event) = default;
32
Dominic Mazzoniccbaa9b2018-06-06 07:44:2333std::string AXEvent::ToString() const {
Nektarios Paisiosb349b652020-06-18 12:39:0534 std::string result = "AXEvent ";
Dominic Mazzoniccbaa9b2018-06-06 07:44:2335
36 result += ui::ToString(event_type);
37 result += " on node id=" + base::NumberToString(id);
38 if (event_from != ax::mojom::EventFrom::kNone)
39 result += std::string(" from ") + ui::ToString(event_from);
Akihiro Otadacc8a52021-03-16 02:25:3840 if (event_from_action != ax::mojom::Action::kNone)
41 result += std::string(" from accessibility action ") +
42 ui::ToString(event_from_action);
Nektarios Paisios488275d2020-04-25 04:56:3743 if (!event_intents.empty()) {
44 result += " caused by [ ";
45 for (const AXEventIntent& intent : event_intents) {
46 result += intent.ToString() + ' ';
47 }
48 result += ']';
49 }
Dominic Mazzoniccbaa9b2018-06-06 07:44:2350 if (action_request_id)
51 result += " action_request_id=" + base::NumberToString(action_request_id);
52 return result;
53}
54
55} // namespace ui