| 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 95615354d288cd0868ceaeec8f9609cd9d348b81..addc5758f1655b49c81747ff6d97e20860f7c601 100644
|
| --- a/content/renderer/accessibility/blink_ax_tree_source.cc
|
| +++ b/content/renderer/accessibility/blink_ax_tree_source.cc
|
| @@ -37,7 +37,7 @@
|
| using blink::WebDocument;
|
| using blink::WebDocumentType;
|
| using blink::WebElement;
|
| -using blink::WebFrame;
|
| +using blink::WebLocalFrame;
|
| using blink::WebNode;
|
| using blink::WebPlugin;
|
| using blink::WebPluginContainer;
|
| @@ -421,21 +421,6 @@
|
| dst->AddBoolAttribute(ui::AX_ATTR_IS_AX_TREE_HOST, true);
|
| }
|
| }
|
| -
|
| - // Out-of-process iframe.
|
| - if (is_iframe && node_to_frame_routing_id_map_) {
|
| - WebFrame* frame = WebFrame::fromFrameOwnerElement(element);
|
| -
|
| - if (frame->isWebRemoteFrame()) {
|
| - RenderFrameProxy* render_frame_proxy =
|
| - RenderFrameProxy::FromWebFrame(frame);
|
| -
|
| - DCHECK(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 (src.isInLiveRegion()) {
|
| @@ -492,6 +477,23 @@
|
| UTF16ToUTF8(doctype.name()));
|
| }
|
|
|
| + if (node_to_frame_routing_id_map_ && !src.equals(GetRoot())) {
|
| + WebLocalFrame* frame = document.frame();
|
| + RenderFrameImpl* render_frame = RenderFrameImpl::FromWebFrame(frame);
|
| + 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);
|
| + 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 (dst->role == ui::AX_ROLE_TABLE) {
|
|
|