OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/accessibility/blink_ax_tree_source.h" | 5 #include "content/renderer/accessibility/blink_ax_tree_source.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 | 10 |
11 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
12 #include "base/strings/string_number_conversions.h" | 12 #include "base/strings/string_number_conversions.h" |
13 #include "base/strings/string_util.h" | 13 #include "base/strings/string_util.h" |
14 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
15 #include "build/build_config.h" | 15 #include "build/build_config.h" |
16 #include "content/common/accessibility_messages.h" | 16 #include "content/common/accessibility_messages.h" |
17 #include "content/renderer/accessibility/blink_ax_enum_conversion.h" | 17 #include "content/renderer/accessibility/blink_ax_enum_conversion.h" |
18 #include "content/renderer/accessibility/render_accessibility_impl.h" | 18 #include "content/renderer/accessibility/render_accessibility_impl.h" |
19 #include "content/renderer/browser_plugin/browser_plugin.h" | 19 #include "content/renderer/browser_plugin/browser_plugin.h" |
20 #include "content/renderer/render_frame_impl.h" | 20 #include "content/renderer/render_frame_impl.h" |
21 #include "content/renderer/render_frame_proxy.h" | 21 #include "content/renderer/render_frame_proxy.h" |
22 #include "content/renderer/render_view_impl.h" | 22 #include "content/renderer/render_view_impl.h" |
23 #include "content/renderer/web_frame_utils.h" | |
24 #include "third_party/WebKit/public/platform/WebFloatRect.h" | 23 #include "third_party/WebKit/public/platform/WebFloatRect.h" |
25 #include "third_party/WebKit/public/platform/WebRect.h" | 24 #include "third_party/WebKit/public/platform/WebRect.h" |
26 #include "third_party/WebKit/public/platform/WebSize.h" | 25 #include "third_party/WebKit/public/platform/WebSize.h" |
27 #include "third_party/WebKit/public/platform/WebString.h" | 26 #include "third_party/WebKit/public/platform/WebString.h" |
28 #include "third_party/WebKit/public/platform/WebVector.h" | 27 #include "third_party/WebKit/public/platform/WebVector.h" |
29 #include "third_party/WebKit/public/web/WebAXEnums.h" | 28 #include "third_party/WebKit/public/web/WebAXEnums.h" |
30 #include "third_party/WebKit/public/web/WebAXObject.h" | 29 #include "third_party/WebKit/public/web/WebAXObject.h" |
31 #include "third_party/WebKit/public/web/WebDocument.h" | 30 #include "third_party/WebKit/public/web/WebDocument.h" |
32 #include "third_party/WebKit/public/web/WebElement.h" | 31 #include "third_party/WebKit/public/web/WebElement.h" |
33 #include "third_party/WebKit/public/web/WebFormControlElement.h" | 32 #include "third_party/WebKit/public/web/WebFormControlElement.h" |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
282 // Get the tree ID for this frame and the parent frame. | 281 // Get the tree ID for this frame and the parent frame. |
283 WebLocalFrame* web_frame = document().GetFrame(); | 282 WebLocalFrame* web_frame = document().GetFrame(); |
284 if (web_frame) { | 283 if (web_frame) { |
285 RenderFrame* render_frame = RenderFrame::FromWebFrame(web_frame); | 284 RenderFrame* render_frame = RenderFrame::FromWebFrame(web_frame); |
286 tree_data->routing_id = render_frame->GetRoutingID(); | 285 tree_data->routing_id = render_frame->GetRoutingID(); |
287 | 286 |
288 // Get the tree ID for the parent frame. | 287 // Get the tree ID for the parent frame. |
289 blink::WebFrame* parent_web_frame = web_frame->Parent(); | 288 blink::WebFrame* parent_web_frame = web_frame->Parent(); |
290 if (parent_web_frame) { | 289 if (parent_web_frame) { |
291 tree_data->parent_routing_id = | 290 tree_data->parent_routing_id = |
292 GetRoutingIdForFrameOrProxy(parent_web_frame); | 291 RenderFrame::GetRoutingIdForWebFrame(parent_web_frame); |
293 } | 292 } |
294 } | 293 } |
295 | 294 |
296 return true; | 295 return true; |
297 } | 296 } |
298 | 297 |
299 blink::WebAXObject BlinkAXTreeSource::GetRoot() const { | 298 blink::WebAXObject BlinkAXTreeSource::GetRoot() const { |
300 if (frozen_) | 299 if (frozen_) |
301 return root_; | 300 return root_; |
302 else | 301 else |
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
827 BrowserPlugin* browser_plugin = BrowserPlugin::GetFromNode(element); | 826 BrowserPlugin* browser_plugin = BrowserPlugin::GetFromNode(element); |
828 if (browser_plugin) { | 827 if (browser_plugin) { |
829 dst->AddContentIntAttribute( | 828 dst->AddContentIntAttribute( |
830 AX_CONTENT_ATTR_CHILD_BROWSER_PLUGIN_INSTANCE_ID, | 829 AX_CONTENT_ATTR_CHILD_BROWSER_PLUGIN_INSTANCE_ID, |
831 browser_plugin->browser_plugin_instance_id()); | 830 browser_plugin->browser_plugin_instance_id()); |
832 } | 831 } |
833 | 832 |
834 // Frames and iframes. | 833 // Frames and iframes. |
835 WebFrame* frame = WebFrame::FromFrameOwnerElement(element); | 834 WebFrame* frame = WebFrame::FromFrameOwnerElement(element); |
836 if (frame) { | 835 if (frame) { |
837 dst->AddContentIntAttribute( | 836 dst->AddContentIntAttribute(AX_CONTENT_ATTR_CHILD_ROUTING_ID, |
838 AX_CONTENT_ATTR_CHILD_ROUTING_ID, | 837 RenderFrame::GetRoutingIdForWebFrame(frame)); |
839 GetRoutingIdForFrameOrProxy(frame)); | |
840 } | 838 } |
841 } | 839 } |
842 | 840 |
843 // Add the ids of *indirect* children - those who are children of this node, | 841 // Add the ids of *indirect* children - those who are children of this node, |
844 // but whose parent is *not* this node. One example is a table | 842 // but whose parent is *not* this node. One example is a table |
845 // cell, which is a child of both a row and a column. Because the cell's | 843 // cell, which is a child of both a row and a column. Because the cell's |
846 // parent is the row, the row adds it as a child, and the column adds it | 844 // parent is the row, the row adds it as a child, and the column adds it |
847 // as an indirect child. | 845 // as an indirect child. |
848 int child_count = src.ChildCount(); | 846 int child_count = src.ChildCount(); |
849 for (int i = 0; i < child_count; ++i) { | 847 for (int i = 0; i < child_count; ++i) { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 return WebAXObject(); | 888 return WebAXObject(); |
891 | 889 |
892 WebDocument document = render_frame_->GetWebFrame()->GetDocument(); | 890 WebDocument document = render_frame_->GetWebFrame()->GetDocument(); |
893 if (!document.IsNull()) | 891 if (!document.IsNull()) |
894 return document.AccessibilityObject(); | 892 return document.AccessibilityObject(); |
895 | 893 |
896 return WebAXObject(); | 894 return WebAXObject(); |
897 } | 895 } |
898 | 896 |
899 } // namespace content | 897 } // namespace content |
OLD | NEW |