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

Unified Diff: content/browser/renderer_host/render_view_host_impl.cc

Issue 15741009: Native Android accessibility. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address most reviewer feedback Created 7 years, 6 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/browser/renderer_host/render_view_host_impl.cc
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 28c993993af1b246f8bcd808c490c22cc8ce7cbc..96e9285d4acde35812b9fe382d7e4ea030495b6f 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -1916,18 +1916,35 @@ void RenderViewHostImpl::OnAccessibilityNotifications(
const AccessibilityHostMsg_NotificationParams& param = params[i];
AccessibilityNotification src_type = param.notification_type;
- if ((src_type == AccessibilityNotificationLayoutComplete ||
- src_type == AccessibilityNotificationLoadComplete) &&
- save_accessibility_tree_for_testing_) {
- MakeAccessibilityNodeDataTree(param.nodes, &accessibility_tree_);
+ bool is_about_blank = false;
+ for (unsigned j = 0; j < param.nodes.size(); j++) {
+ typedef AccessibilityNodeData::StringAttribute StringAttribute;
+ std::map<StringAttribute, string16>::const_iterator iter;
+ iter = param.nodes[j].string_attributes.find(
+ AccessibilityNodeData::ATTR_DOC_URL);
+ if (iter != param.nodes[j].string_attributes.end()) {
+ string16 doc_url = iter->second;
+ if (doc_url == ASCIIToUTF16(kAboutBlankURL)) {
+ is_about_blank = true;
+ break;
+ }
+ }
}
- if (src_type == AccessibilityNotificationLayoutComplete) {
- accessibility_layout_callback_.Run();
- } else if (src_type == AccessibilityNotificationLoadComplete) {
- accessibility_load_callback_.Run();
- } else {
- accessibility_other_callback_.Run();
+ if (!is_about_blank) {
+ if ((src_type == AccessibilityNotificationLayoutComplete ||
+ src_type == AccessibilityNotificationLoadComplete) &&
+ save_accessibility_tree_for_testing_) {
+ MakeAccessibilityNodeDataTree(param.nodes, &accessibility_tree_);
+ }
+
+ if (src_type == AccessibilityNotificationLayoutComplete) {
+ accessibility_layout_callback_.Run();
+ } else if (src_type == AccessibilityNotificationLoadComplete) {
+ accessibility_load_callback_.Run();
+ } else {
+ accessibility_other_callback_.Run();
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698