OLD | NEW |
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 "ui/views/accessibility/ax_window_obj_wrapper.h" | 5 #include "ui/views/accessibility/ax_window_obj_wrapper.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "ui/accessibility/ax_node_data.h" | 10 #include "ui/accessibility/ax_node_data.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 aura::Window::Windows children = window_->children(); | 36 aura::Window::Windows children = window_->children(); |
37 for (size_t i = 0; i < children.size(); ++i) { | 37 for (size_t i = 0; i < children.size(); ++i) { |
38 if (!children[i]->IsVisible()) | 38 if (!children[i]->IsVisible()) |
39 continue; | 39 continue; |
40 out_children->push_back( | 40 out_children->push_back( |
41 AXAuraObjCache::GetInstance()->GetOrCreate(children[i])); | 41 AXAuraObjCache::GetInstance()->GetOrCreate(children[i])); |
42 } | 42 } |
43 | 43 |
44 // Also consider any associated widgets as children. | 44 // Also consider any associated widgets as children. |
45 Widget* widget = Widget::GetWidgetForNativeView(window_); | 45 Widget* widget = Widget::GetWidgetForNativeView(window_); |
46 if (widget) | 46 if (widget && widget->IsVisible()) |
47 out_children->push_back(AXAuraObjCache::GetInstance()->GetOrCreate(widget)); | 47 out_children->push_back(AXAuraObjCache::GetInstance()->GetOrCreate(widget)); |
48 } | 48 } |
49 | 49 |
50 void AXWindowObjWrapper::Serialize(ui::AXNodeData* out_node_data) { | 50 void AXWindowObjWrapper::Serialize(ui::AXNodeData* out_node_data) { |
51 out_node_data->id = GetID(); | 51 out_node_data->id = GetID(); |
52 out_node_data->role = is_alert_ ? ui::AX_ROLE_ALERT : ui::AX_ROLE_WINDOW; | 52 out_node_data->role = is_alert_ ? ui::AX_ROLE_ALERT : ui::AX_ROLE_WINDOW; |
53 out_node_data->AddStringAttribute(ui::AX_ATTR_NAME, | 53 out_node_data->AddStringAttribute(ui::AX_ATTR_NAME, |
54 base::UTF16ToUTF8(window_->title())); | 54 base::UTF16ToUTF8(window_->title())); |
55 out_node_data->state = 0; | 55 out_node_data->state = 0; |
56 out_node_data->location = window_->bounds(); | 56 out_node_data->location = window_->bounds(); |
57 } | 57 } |
58 | 58 |
59 int32_t AXWindowObjWrapper::GetID() { | 59 int32_t AXWindowObjWrapper::GetID() { |
60 return AXAuraObjCache::GetInstance()->GetID(window_); | 60 return AXAuraObjCache::GetInstance()->GetID(window_); |
61 } | 61 } |
62 | 62 |
63 void AXWindowObjWrapper::OnWindowDestroyed(aura::Window* window) { | 63 void AXWindowObjWrapper::OnWindowDestroyed(aura::Window* window) { |
64 AXAuraObjCache::GetInstance()->Remove(window); | 64 AXAuraObjCache::GetInstance()->Remove(window); |
65 } | 65 } |
66 | 66 |
67 } // namespace views | 67 } // namespace views |
OLD | NEW |