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

Side by Side Diff: ui/accessibility/platform/test_ax_node_wrapper.cc

Issue 2917363002: Automatically fire AX events on Mac based on tree changes (Closed)
Patch Set: Fix accidental shadowing of BrowserAccessibilityManager::OnAtomicUpdateFinished, caught by browser … Created 3 years, 6 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_unittest.cc ('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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "base/containers/hash_tables.h" 5 #include "base/containers/hash_tables.h"
6 #include "ui/accessibility/ax_action_data.h" 6 #include "ui/accessibility/ax_action_data.h"
7 #include "ui/accessibility/platform/test_ax_node_wrapper.h" 7 #include "ui/accessibility/platform/test_ax_node_wrapper.h"
8 #include "ui/gfx/geometry/rect_conversions.h" 8 #include "ui/gfx/geometry/rect_conversions.h"
9 9
10 namespace ui { 10 namespace ui {
11 11
12 namespace { 12 namespace {
13 13
14 // A global map from AXNodes to TestAXNodeWrappers. 14 // A global map from AXNodes to TestAXNodeWrappers.
15 base::hash_map<AXNode*, TestAXNodeWrapper*> g_node_to_wrapper_map; 15 base::hash_map<AXNode*, TestAXNodeWrapper*> g_node_to_wrapper_map;
16 16
17 // A global coordinate offset. 17 // A global coordinate offset.
18 gfx::Vector2d g_offset; 18 gfx::Vector2d g_offset;
19 19
20 // A simple implementation of AXTreeDelegate to catch when AXNodes are 20 // A simple implementation of AXTreeDelegate to catch when AXNodes are
21 // deleted so we can delete their wrappers. 21 // deleted so we can delete their wrappers.
22 class TestAXTreeDelegate : public AXTreeDelegate { 22 class TestAXTreeDelegate : public AXTreeDelegate {
23 void OnNodeDataWillChange(AXTree* tree, 23 void OnNodeDataWillChange(AXTree* tree,
24 const AXNodeData& old_node_data, 24 const AXNodeData& old_node_data,
25 const AXNodeData& new_node_data) override {} 25 const AXNodeData& new_node_data) override {}
26 void OnTreeDataChanged(AXTree* tree) override {} 26 void OnTreeDataChanged(AXTree* tree,
27 const ui::AXTreeData& old_data,
28 const ui::AXTreeData& new_data) override {}
27 void OnNodeWillBeDeleted(AXTree* tree, AXNode* node) override { 29 void OnNodeWillBeDeleted(AXTree* tree, AXNode* node) override {
28 auto iter = g_node_to_wrapper_map.find(node); 30 auto iter = g_node_to_wrapper_map.find(node);
29 if (iter != g_node_to_wrapper_map.end()) { 31 if (iter != g_node_to_wrapper_map.end()) {
30 TestAXNodeWrapper* wrapper = iter->second; 32 TestAXNodeWrapper* wrapper = iter->second;
31 delete wrapper; 33 delete wrapper;
32 g_node_to_wrapper_map.erase(iter->first); 34 g_node_to_wrapper_map.erase(iter->first);
33 } 35 }
34 } 36 }
35 void OnSubtreeWillBeDeleted(AXTree* tree, AXNode* node) override {} 37 void OnSubtreeWillBeDeleted(AXTree* tree, AXNode* node) override {}
36 void OnNodeWillBeReparented(AXTree* tree, AXNode* node) override {} 38 void OnNodeWillBeReparented(AXTree* tree, AXNode* node) override {}
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 return true; 125 return true;
124 } 126 }
125 127
126 TestAXNodeWrapper::TestAXNodeWrapper(AXTree* tree, AXNode* node) 128 TestAXNodeWrapper::TestAXNodeWrapper(AXTree* tree, AXNode* node)
127 : tree_(tree), 129 : tree_(tree),
128 node_(node), 130 node_(node),
129 platform_node_(AXPlatformNode::Create(this)) { 131 platform_node_(AXPlatformNode::Create(this)) {
130 } 132 }
131 133
132 } // namespace ui 134 } // namespace ui
OLDNEW
« no previous file with comments | « ui/accessibility/ax_tree_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698