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

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

Issue 2382343002: Fix issue with font family and language in accessibility tree (Closed)
Patch Set: Fix win expectation Created 4 years, 2 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/renderer/accessibility/blink_ax_tree_source.cc
diff --git a/content/renderer/accessibility/blink_ax_tree_source.cc b/content/renderer/accessibility/blink_ax_tree_source.cc
index 737a09f4d420343e087eda36ce3f16c7bee09dbf..1796e7fd1a2072ae2824687c3589e1701c6d241f 100644
--- a/content/renderer/accessibility/blink_ax_tree_source.cc
+++ b/content/renderer/accessibility/blink_ax_tree_source.cc
@@ -54,15 +54,20 @@ namespace content {
namespace {
+WebAXObject ParentObjectUnignored(WebAXObject child) {
+ WebAXObject parent = child.parentObject();
+ while (!parent.isDetached() && parent.accessibilityIsIgnored())
+ parent = parent.parentObject();
+ return parent;
+}
+
// Returns true if |ancestor| is the first unignored parent of |child|,
// which means that when walking up the parent chain from |child|,
// |ancestor| is the *first* ancestor that isn't marked as
// accessibilityIsIgnored().
bool IsParentUnignoredOf(WebAXObject ancestor,
WebAXObject child) {
- WebAXObject parent = child.parentObject();
- while (!parent.isDetached() && parent.accessibilityIsIgnored())
- parent = parent.parentObject();
+ WebAXObject parent = ParentObjectUnignored(child);
return parent.equals(ancestor);
}
@@ -359,8 +364,8 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src,
if (src.color())
dst->AddIntAttribute(ui::AX_ATTR_COLOR, src.color());
+ WebAXObject parent = ParentObjectUnignored(src);
if (src.fontFamily().length()) {
- WebAXObject parent = src.parentObject();
if (parent.isNull() || parent.fontFamily() != src.fontFamily())
dst->AddStringAttribute(ui::AX_ATTR_FONT_FAMILY, src.fontFamily().utf8());
}
@@ -448,7 +453,6 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src,
}
if (src.language().length()) {
- WebAXObject parent = src.parentObject();
if (parent.isNull() || parent.language() != src.language())
dst->AddStringAttribute(ui::AX_ATTR_LANGUAGE, src.language().utf8());
}

Powered by Google App Engine
This is Rietveld 408576698