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 1936535d32eca779153db6b86bb2eb95de799c1d..1985e34c0e99255c3e913f4f55ecd9d851840fae 100644 |
| --- a/content/renderer/accessibility/blink_ax_tree_source.cc |
| +++ b/content/renderer/accessibility/blink_ax_tree_source.cc |
| @@ -162,19 +162,22 @@ AXContentTreeData BlinkAXTreeSource::GetTreeData() const { |
| tree_data.sel_focus_offset = focus_offset; |
| } |
| - // Get the tree ID for this frame and possibly the parent frame. |
| + // Get the tree ID for this frame the parent frame. |
|
David Tseng
2016/03/04 16:50:21
nit remove: the parent frame
dmazzoni
2016/03/07 21:35:32
Changed to "and the parent frame", which is what I
|
| WebLocalFrame* web_frame = document.frame(); |
| if (web_frame) { |
| RenderFrame* render_frame = RenderFrame::FromWebFrame(web_frame); |
| tree_data.routing_id = render_frame->GetRoutingID(); |
| - // Get the tree ID for the parent frame, if it's remote. |
| - // (If it's local, it's already part of this same tree.) |
| + // Get the tree ID for the parent frame. |
| blink::WebFrame* parent_web_frame = web_frame->parent(); |
| if (parent_web_frame && parent_web_frame->isWebRemoteFrame()) { |
| RenderFrameProxy* parent_render_frame_proxy = |
| RenderFrameProxy::FromWebFrame(parent_web_frame); |
| tree_data.parent_routing_id = parent_render_frame_proxy->routing_id(); |
| + } else if (parent_web_frame && parent_web_frame->isWebLocalFrame()) { |
| + RenderFrame* parent_render_frame = RenderFrame::FromWebFrame( |
| + parent_web_frame); |
| + tree_data.parent_routing_id = parent_render_frame->GetRoutingID(); |
| } |
| } |
| @@ -465,10 +468,9 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src, |
| browser_plugin->browser_plugin_instance_id()); |
| } |
| - // Out-of-process iframe. |
| + // Iframe. |
| if (is_iframe) { |
| WebFrame* frame = WebFrame::fromFrameOwnerElement(element); |
| - |
| if (frame && frame->isWebRemoteFrame()) { |
| RenderFrameProxy* render_frame_proxy = |
| RenderFrameProxy::FromWebFrame(frame); |
| @@ -476,6 +478,12 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src, |
| dst->AddContentIntAttribute( |
| AX_CONTENT_ATTR_CHILD_ROUTING_ID, |
| render_frame_proxy->routing_id()); |
| + } else if (frame && frame->isWebLocalFrame()) { |
| + RenderFrame* render_frame = RenderFrame::FromWebFrame(frame); |
| + DCHECK(render_frame); |
| + dst->AddContentIntAttribute( |
| + AX_CONTENT_ATTR_CHILD_ROUTING_ID, |
| + render_frame->GetRoutingID()); |
| } |
| } |
| } |