Chromium Code Reviews| Index: content/renderer/accessibility/renderer_accessibility.cc |
| diff --git a/content/renderer/accessibility/renderer_accessibility.cc b/content/renderer/accessibility/renderer_accessibility.cc |
| index b8152bac21e896b281d16e09ec84e0fc6c121140..19fe5be49570d1feb37c9ff90f5fcbc0775f1b56 100644 |
| --- a/content/renderer/accessibility/renderer_accessibility.cc |
| +++ b/content/renderer/accessibility/renderer_accessibility.cc |
| @@ -25,11 +25,27 @@ using blink::WebLocalFrame; |
| using blink::WebNode; |
| using blink::WebPoint; |
| using blink::WebRect; |
| +using blink::WebScopedAXContext; |
| using blink::WebSettings; |
| using blink::WebView; |
| namespace content { |
| +// static |
| +void RendererAccessibility::SnapshotAccessibilityTree( |
| + RenderFrameImpl* render_frame, |
| + ui::AXTreeUpdate* response) { |
| + if (!render_frame || !render_frame->GetWebFrame()) |
|
dcheng
2015/04/10 22:49:00
Why would render_frame be null?
dmazzoni
2015/04/13 06:37:18
Shouldn't happen. Changed to DCHECK(render_frame).
|
| + return; |
| + |
| + WebDocument document = render_frame->GetWebFrame()->document(); |
| + WebScopedAXContext context(document); |
| + BlinkAXTreeSource tree_source(render_frame); |
| + tree_source.SetRoot(context.root()); |
| + ui::AXTreeSerializer<blink::WebAXObject> serializer(&tree_source); |
| + serializer.SerializeChanges(context.root(), response); |
| +} |
| + |
| RendererAccessibility::RendererAccessibility(RenderFrameImpl* render_frame) |
| : RenderFrameObserver(render_frame), |
| render_frame_(render_frame), |