blob: 0f6b43ee2f62c81ff01e45c7b074a6d4193c0639 [file] [log] [blame]
Avi Drissman3e1a26c2022-09-15 20:26:031// Copyright 2020 The Chromium Authors
Mario Sanchez Prada1b559ffe2020-07-14 12:58:302// 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_action_handler_base.h"
6
Erik Chen2ccece52021-03-18 01:59:157#include "ui/accessibility/ax_action_handler_registry.h"
Nektarios Paisios85d68d8b2024-10-02 19:31:118#include "ui/accessibility/ax_tree_id.h"
Mario Sanchez Prada1b559ffe2020-07-14 12:58:309
10namespace ui {
11
12bool AXActionHandlerBase::RequiresPerformActionPointInPixels() const {
13 return false;
14}
15
16AXActionHandlerBase::AXActionHandlerBase()
Jacques Newmana4149e852024-08-28 23:35:4217 : AXActionHandlerBase(AXTreeIDUnknown()) {}
Mario Sanchez Prada1b559ffe2020-07-14 12:58:3018
19AXActionHandlerBase::AXActionHandlerBase(const AXTreeID& ax_tree_id)
20 : tree_id_(ax_tree_id) {}
21
22AXActionHandlerBase::~AXActionHandlerBase() {
Erik Chen2ccece52021-03-18 01:59:1523 AXActionHandlerRegistry::GetInstance()->RemoveAXTreeID(tree_id_);
Mario Sanchez Prada1b559ffe2020-07-14 12:58:3024}
25
26void AXActionHandlerBase::SetAXTreeID(AXTreeID new_ax_tree_id) {
Jacques Newmana4149e852024-08-28 23:35:4227 DCHECK_NE(new_ax_tree_id, AXTreeIDUnknown());
Erik Chen2ccece52021-03-18 01:59:1528 AXActionHandlerRegistry::GetInstance()->RemoveAXTreeID(tree_id_);
Mario Sanchez Prada1b559ffe2020-07-14 12:58:3029 tree_id_ = new_ax_tree_id;
Erik Chen2ccece52021-03-18 01:59:1530 AXActionHandlerRegistry::GetInstance()->SetAXTreeID(tree_id_, this);
Mario Sanchez Prada1b559ffe2020-07-14 12:58:3031}
32
Nektarios Paisios85d68d8b2024-10-02 19:31:1133void AXActionHandlerBase::RemoveAXTreeID() {
34 DCHECK_NE(tree_id_, ui::AXTreeIDUnknown());
35 AXActionHandlerRegistry::GetInstance()->RemoveAXTreeID(tree_id_);
36 tree_id_ = AXTreeIDUnknown();
37}
38
Mario Sanchez Prada1b559ffe2020-07-14 12:58:3039} // namespace ui