| 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 8ae828e97ed634b76b2567f3a32e6905dc35e660..f7b00533962e522d56d296f04c1f6d070e051d19 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::WebAXObject;
|
| using blink::WebDocument;
|
| using blink::WebDocumentType;
|
| using blink::WebElement;
|
| -using blink::WebLocalFrame;
|
| +using blink::WebFrame;
|
| using blink::WebNode;
|
| using blink::WebPlugin;
|
| using blink::WebPluginContainer;
|
| @@ -431,6 +431,21 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src,
|
| 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()) {
|
| @@ -498,24 +513,6 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src,
|
| const gfx::Size& max_offset = document.maximumScrollOffset();
|
| dst->AddIntAttribute(ui::AX_ATTR_SCROLL_X_MAX, max_offset.width());
|
| dst->AddIntAttribute(ui::AX_ATTR_SCROLL_Y_MAX, max_offset.height());
|
| -
|
| - 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) {
|
|
|