Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1681)

Unified Diff: content/renderer/accessibility/blink_ax_tree_source.cc

Issue 1761633002: One accessibility tree per frame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix is-richly-editable test Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..b4094e0ded3c604bcc591f5515576fec3c302cec 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 and the parent frame.
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());
}
}
}
« no previous file with comments | « content/common/accessibility_messages.h ('k') | content/renderer/accessibility/renderer_accessibility_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698