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(); |
+ } |
} |
} |