Chromium Code Reviews| Index: content/renderer/accessibility/blink_ax_tree_source.cc |
| diff --git a/content/renderer/accessibility/blink_ax_tree_source.cc b/content/renderer/accessibility/blink_ax_tree_source.cc |
| index addc5758f1655b49c81747ff6d97e20860f7c601..9d8d47e6f0f11804e07cd3f6e80ea35d082ed20d 100644 |
| --- a/content/renderer/accessibility/blink_ax_tree_source.cc |
| +++ b/content/renderer/accessibility/blink_ax_tree_source.cc |
| @@ -480,17 +480,33 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src, |
| if (node_to_frame_routing_id_map_ && !src.equals(GetRoot())) { |
| WebLocalFrame* frame = document.frame(); |
| RenderFrameImpl* render_frame = RenderFrameImpl::FromWebFrame(frame); |
| + RenderFrameProxy* render_frame_proxy = nullptr; |
| + |
| if (render_frame) { |
| (*node_to_frame_routing_id_map_)[dst->id] = |
| render_frame->GetRoutingID(); |
| - dst->AddBoolAttribute(ui::AX_ATTR_IS_AX_TREE_HOST, true); |
| } else { |
| - RenderFrameProxy* render_frame_proxy = |
| - RenderFrameProxy::FromWebFrame(frame); |
| + render_frame_proxy = RenderFrameProxy::FromWebFrame(frame); |
| if (render_frame_proxy) { |
| (*node_to_frame_routing_id_map_)[dst->id] = |
| render_frame_proxy->routing_id(); |
| - dst->AddBoolAttribute(ui::AX_ATTR_IS_AX_TREE_HOST, true); |
| + } |
| + } |
| + |
| + if (render_frame || render_frame_proxy) { |
| + dst->AddBoolAttribute(ui::AX_ATTR_IS_AX_TREE_HOST, true); |
| + |
| + WebAXObject anchorObject, focusObject; |
|
dmazzoni
2015/07/16 19:50:23
This code doesn't make sense here - it's in a bloc
|
| + int anchorOffset, focusOffset; |
| + src.selection(anchorObject, anchorOffset, focusObject, focusOffset); |
| + if (!anchorObject.isNull() && !focusObject.isNull() && |
| + anchorOffset >= 0 && focusOffset >= 0) { |
| + int anchorId = anchorObject.axID(); |
|
dmazzoni
2015/07/16 19:50:23
nit: anchor_id, etc.
|
| + int focusId = focusObject.axID(); |
| + dst->AddIntAttribute(ui::AX_ATTR_ANCHOR_OBJECT_ID, anchorId); |
| + dst->AddIntAttribute(ui::AX_ATTR_ANCHOR_OFFSET, anchorOffset); |
| + dst->AddIntAttribute(ui::AX_ATTR_FOCUS_OBJECT_ID, focusId); |
| + dst->AddIntAttribute(ui::AX_ATTR_FOCUS_OFFSET, focusOffset); |
| } |
| } |
| } |