Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: ui/accessibility/ax_tree_id_registry.cc

Issue 2640123004: Initial support for native accessibility in ARC (Closed)
Patch Set: Rebase. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/accessibility/ax_tree_id_registry.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/accessibility/ax_tree_id_registry.h" 5 #include "ui/accessibility/ax_tree_id_registry.h"
6 6
7 #include "base/memory/singleton.h" 7 #include "base/memory/singleton.h"
8 8
9 namespace content { 9 namespace ui {
10 10
11 // static 11 // static
12 const AXTreeIDRegistry::AXTreeID AXTreeIDRegistry::kNoAXTreeID = -1; 12 const AXTreeIDRegistry::AXTreeID AXTreeIDRegistry::kNoAXTreeID = -1;
13 13
14 // static 14 // static
15 AXTreeIDRegistry* AXTreeIDRegistry::GetInstance() { 15 AXTreeIDRegistry* AXTreeIDRegistry::GetInstance() {
16 return base::Singleton<AXTreeIDRegistry>::get(); 16 return base::Singleton<AXTreeIDRegistry>::get();
17 } 17 }
18 18
19 AXTreeIDRegistry::AXTreeID AXTreeIDRegistry::GetOrCreateAXTreeID( 19 AXTreeIDRegistry::AXTreeID AXTreeIDRegistry::GetOrCreateAXTreeID(
20 int process_id, int routing_id) { 20 int process_id,
21 int routing_id) {
21 FrameID frame_id(process_id, routing_id); 22 FrameID frame_id(process_id, routing_id);
22 std::map<FrameID, AXTreeID>::iterator it; 23 std::map<FrameID, AXTreeID>::iterator it;
23 it = frame_to_ax_tree_id_map_.find(frame_id); 24 it = frame_to_ax_tree_id_map_.find(frame_id);
24 if (it != frame_to_ax_tree_id_map_.end()) 25 if (it != frame_to_ax_tree_id_map_.end())
25 return it->second; 26 return it->second;
26 27
27 AXTreeID new_id = ++ax_tree_id_counter_; 28 AXTreeID new_id = ++ax_tree_id_counter_;
28 frame_to_ax_tree_id_map_[frame_id] = new_id; 29 frame_to_ax_tree_id_map_[frame_id] = new_id;
29 ax_tree_to_frame_id_map_[new_id] = frame_id; 30 ax_tree_to_frame_id_map_[new_id] = frame_id;
30 31
31 return new_id; 32 return new_id;
32 } 33 }
33 34
35 int AXTreeIDRegistry::CreateID() {
36 return ++ax_tree_id_counter_;
37 }
38
34 AXTreeIDRegistry::FrameID AXTreeIDRegistry::GetFrameID( 39 AXTreeIDRegistry::FrameID AXTreeIDRegistry::GetFrameID(
35 AXTreeIDRegistry::AXTreeID ax_tree_id) { 40 AXTreeIDRegistry::AXTreeID ax_tree_id) {
36 std::map<AXTreeID, FrameID>::iterator it; 41 std::map<AXTreeID, FrameID>::iterator it;
37 it = ax_tree_to_frame_id_map_.find(ax_tree_id); 42 it = ax_tree_to_frame_id_map_.find(ax_tree_id);
38 if (it != ax_tree_to_frame_id_map_.end()) 43 if (it != ax_tree_to_frame_id_map_.end())
39 return it->second; 44 return it->second;
40 45
41 return FrameID(-1, -1); 46 return FrameID(-1, -1);
42 } 47 }
43 48
44 void AXTreeIDRegistry::RemoveAXTreeID(AXTreeIDRegistry::AXTreeID ax_tree_id) { 49 void AXTreeIDRegistry::RemoveAXTreeID(AXTreeIDRegistry::AXTreeID ax_tree_id) {
45 std::map<AXTreeID, FrameID>::iterator it; 50 std::map<AXTreeID, FrameID>::iterator it;
46 it = ax_tree_to_frame_id_map_.find(ax_tree_id); 51 it = ax_tree_to_frame_id_map_.find(ax_tree_id);
47 if (it != ax_tree_to_frame_id_map_.end()) { 52 if (it != ax_tree_to_frame_id_map_.end()) {
48 frame_to_ax_tree_id_map_.erase(it->second); 53 frame_to_ax_tree_id_map_.erase(it->second);
49 ax_tree_to_frame_id_map_.erase(it); 54 ax_tree_to_frame_id_map_.erase(it);
50 } 55 }
51 } 56 }
52 57
53 AXTreeIDRegistry::AXTreeIDRegistry() : ax_tree_id_counter_(-1) { 58 AXTreeIDRegistry::AXTreeIDRegistry() : ax_tree_id_counter_(-1) {
54 // Always populate default desktop tree value (0 -> 0, 0). 59 // Always populate default desktop tree value (0 -> 0, 0).
55 GetOrCreateAXTreeID(0, 0); 60 GetOrCreateAXTreeID(0, 0);
56 } 61 }
57 62
58 AXTreeIDRegistry::~AXTreeIDRegistry() { 63 AXTreeIDRegistry::~AXTreeIDRegistry() {}
59 }
60 64
61 } // namespace content 65 } // namespace ui
OLDNEW
« no previous file with comments | « ui/accessibility/ax_tree_id_registry.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698