Index: ui/views/accessibility/ax_window_obj_wrapper.cc |
diff --git a/ui/views/accessibility/ax_window_obj_wrapper.cc b/ui/views/accessibility/ax_window_obj_wrapper.cc |
index 4352db0109aaa9b011135308023987aed1fe1b2f..d46792b09b50f65414831493bd4accbc6610a4b1 100644 |
--- a/ui/views/accessibility/ax_window_obj_wrapper.cc |
+++ b/ui/views/accessibility/ax_window_obj_wrapper.cc |
@@ -54,7 +54,7 @@ void AXWindowObjWrapper::Serialize(ui::AXNodeData* out_node_data) { |
out_node_data->AddStringAttribute(ui::AX_ATTR_NAME, |
base::UTF16ToUTF8(window_->GetTitle())); |
out_node_data->state = 0; |
- out_node_data->location = gfx::RectF(window_->bounds()); |
+ out_node_data->location = gfx::RectF(window_->GetBoundsInScreen()); |
ui::AXTreeIDRegistry::AXTreeID child_ax_tree_id = |
window_->GetProperty(ui::kChildAXTreeID); |
@@ -85,6 +85,8 @@ void AXWindowObjWrapper::OnWindowHierarchyChanged( |
void AXWindowObjWrapper::OnWindowBoundsChanged(aura::Window* window, |
const gfx::Rect& old_bounds, |
const gfx::Rect& new_bounds) { |
+ AXAuraObjCache::GetInstance()->FireEvent(this, ui::AX_EVENT_LOCATION_CHANGED); |
+ |
Widget* widget = Widget::GetWidgetForNativeView(window); |
if (widget) { |
widget->GetRootView()->NotifyAccessibilityEvent( |
@@ -92,4 +94,13 @@ void AXWindowObjWrapper::OnWindowBoundsChanged(aura::Window* window, |
} |
} |
+void AXWindowObjWrapper::OnWindowPropertyChanged(aura::Window* window, |
+ const void* key, |
+ intptr_t old) { |
+ if (key == ui::kChildAXTreeID) { |
+ AXAuraObjCache::GetInstance()->FireEvent(this, |
+ ui::AX_EVENT_CHILDREN_CHANGED); |
+ } |
+} |
+ |
} // namespace views |