1234567891011121314151617181920212223242526272829303132333435363738 |
- // Copyright 2019 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_tree_manager_map.h"
- #include "base/containers/contains.h"
- namespace ui {
- AXTreeManagerMap::AXTreeManagerMap() = default;
- AXTreeManagerMap::~AXTreeManagerMap() = default;
- void AXTreeManagerMap::AddTreeManager(const AXTreeID& tree_id,
- AXTreeManager* manager) {
- if (tree_id != AXTreeIDUnknown())
- map_[tree_id] = manager;
- }
- void AXTreeManagerMap::RemoveTreeManager(const AXTreeID& tree_id) {
- if (auto* manager = GetManager(tree_id)) {
- manager->WillBeRemovedFromMap();
- map_.erase(tree_id);
- }
- }
- AXTreeManager* AXTreeManagerMap::GetManager(const AXTreeID& tree_id) {
- if (tree_id == AXTreeIDUnknown())
- return nullptr;
- auto iter = map_.find(tree_id);
- if (iter == map_.end())
- return nullptr;
- return iter->second;
- }
- } // namespace ui
|