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

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

Issue 2581483002: Add support for faster, more limited accessibility modes. (Closed)
Patch Set: Disable tests that can't pass on Android with TODO Created 4 years 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/render_accessibility_impl.cc
diff --git a/content/renderer/accessibility/render_accessibility_impl.cc b/content/renderer/accessibility/render_accessibility_impl.cc
index 7a7cf23dd213f68f65325f364b665b3d479d0546..6c1a9f72b9971faa837234cfa66e01cf2f1b541e 100644
--- a/content/renderer/accessibility/render_accessibility_impl.cc
+++ b/content/renderer/accessibility/render_accessibility_impl.cc
@@ -68,7 +68,7 @@ void RenderAccessibilityImpl::SnapshotAccessibilityTree(
WebAXObject root = context.root();
if (!root.updateLayoutAndCheckValidity())
return;
- BlinkAXTreeSource tree_source(render_frame);
+ BlinkAXTreeSource tree_source(render_frame, ACCESSIBILITY_MODE_COMPLETE);
tree_source.SetRoot(root);
ScopedFreezeBlinkAXTreeSource freeze(&tree_source);
BlinkAXTreeSerializer serializer(&tree_source);
@@ -76,10 +76,11 @@ void RenderAccessibilityImpl::SnapshotAccessibilityTree(
serializer.SerializeChanges(context.root(), response);
}
-RenderAccessibilityImpl::RenderAccessibilityImpl(RenderFrameImpl* render_frame)
+RenderAccessibilityImpl::RenderAccessibilityImpl(RenderFrameImpl* render_frame,
+ AccessibilityMode mode)
: RenderFrameObserver(render_frame),
render_frame_(render_frame),
- tree_source_(render_frame),
+ tree_source_(render_frame, mode),
serializer_(&tree_source_),
plugin_tree_source_(nullptr),
last_scroll_offset_(gfx::Size()),
@@ -98,8 +99,10 @@ RenderAccessibilityImpl::RenderAccessibilityImpl(RenderFrameImpl* render_frame)
#endif
#if !defined(OS_ANDROID)
- // Inline text boxes are enabled for all nodes on all except Android.
- settings->setInlineTextBoxAccessibilityEnabled(true);
+ // Inline text boxes can be enabled globally on all except Android.
+ // On Android they can be requested for just a specific node.
+ if (mode & ACCESSIBILITY_MODE_FLAG_INLINE_TEXT_BOXES)
+ settings->setInlineTextBoxAccessibilityEnabled(true);
#endif
const WebDocument& document = GetMainDocument();

Powered by Google App Engine
This is Rietveld 408576698