Chromium Code Reviews| Index: content/browser/accessibility/browser_accessibility.cc |
| diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc |
| index cc91602febd3fd987baf0988db07df6333f8e171..1ca3d27f0a38e939764514fecdb216843d03b927 100644 |
| --- a/content/browser/accessibility/browser_accessibility.cc |
| +++ b/content/browser/accessibility/browser_accessibility.cc |
| @@ -99,7 +99,8 @@ uint32_t BrowserAccessibility::PlatformChildCount() const { |
| BrowserAccessibilityManager* child_manager = |
| BrowserAccessibilityManager::FromID( |
| GetIntAttribute(ui::AX_ATTR_CHILD_TREE_ID)); |
| - if (child_manager && child_manager->GetRoot()->GetParent() == this) |
| + if (child_manager && |
| + child_manager->GetRoot()->GetAccessibilityParent() == this) |
| return 1; |
| return 0; |
| @@ -120,8 +121,8 @@ bool BrowserAccessibility::IsDescendantOf( |
| if (this == ancestor) |
| return true; |
| - if (GetParent()) |
| - return GetParent()->IsDescendantOf(ancestor); |
| + if (GetAccessibilityParent()) |
| + return GetAccessibilityParent()->IsDescendantOf(ancestor); |
| return false; |
| } |
| @@ -134,8 +135,8 @@ bool BrowserAccessibility::IsTextOnlyObject() const { |
| bool BrowserAccessibility::IsLineBreakObject() const { |
| return GetRole() == ui::AX_ROLE_LINE_BREAK || |
| - (IsTextOnlyObject() && GetParent() && |
| - GetParent()->GetRole() == ui::AX_ROLE_LINE_BREAK); |
| + (IsTextOnlyObject() && GetAccessibilityParent() && |
| + GetAccessibilityParent()->GetRole() == ui::AX_ROLE_LINE_BREAK); |
| } |
| BrowserAccessibility* BrowserAccessibility::PlatformGetChild( |
| @@ -146,7 +147,8 @@ BrowserAccessibility* BrowserAccessibility::PlatformGetChild( |
| BrowserAccessibilityManager* child_manager = |
| BrowserAccessibilityManager::FromID( |
| GetIntAttribute(ui::AX_ATTR_CHILD_TREE_ID)); |
| - if (child_manager && child_manager->GetRoot()->GetParent() == this) |
| + if (child_manager && |
| + child_manager->GetRoot()->GetAccessibilityParent() == this) |
| result = child_manager->GetRoot(); |
| } else { |
| result = InternalGetChild(child_index); |
| @@ -177,18 +179,18 @@ BrowserAccessibility* BrowserAccessibility::GetClosestPlatformObject() const { |
| } |
| BrowserAccessibility* BrowserAccessibility::GetPreviousSibling() const { |
| - if (GetParent() && GetIndexInParent() > 0) |
| - return GetParent()->InternalGetChild(GetIndexInParent() - 1); |
| + if (GetAccessibilityParent() && GetIndexInParent() > 0) |
|
dmazzoni
2017/03/21 16:42:20
This actually brings up an interesting question -
|
| + return GetAccessibilityParent()->InternalGetChild(GetIndexInParent() - 1); |
| return nullptr; |
| } |
| BrowserAccessibility* BrowserAccessibility::GetNextSibling() const { |
| - if (GetParent() && |
| - GetIndexInParent() >= 0 && |
| - GetIndexInParent() < static_cast<int>( |
| - GetParent()->InternalChildCount() - 1)) { |
| - return GetParent()->InternalGetChild(GetIndexInParent() + 1); |
| + if (GetAccessibilityParent() && GetIndexInParent() >= 0 && |
| + GetIndexInParent() < |
| + static_cast<int>(GetAccessibilityParent()->InternalChildCount() - |
| + 1)) { |
| + return GetAccessibilityParent()->InternalGetChild(GetIndexInParent() + 1); |
| } |
| return nullptr; |
| @@ -307,7 +309,7 @@ BrowserAccessibility* BrowserAccessibility::InternalGetChild( |
| return manager_->GetFromAXNode(child_node); |
| } |
| -BrowserAccessibility* BrowserAccessibility::GetParent() const { |
| +BrowserAccessibility* BrowserAccessibility::GetAccessibilityParent() const { |
| if (!instance_active()) |
| return nullptr; |
| @@ -828,7 +830,8 @@ bool BrowserAccessibility::HasInheritedStringAttribute( |
| if (GetData().HasStringAttribute(attribute)) |
| return true; |
| - return GetParent() && GetParent()->HasInheritedStringAttribute(attribute); |
| + return GetAccessibilityParent() && |
| + GetAccessibilityParent()->HasInheritedStringAttribute(attribute); |
| } |
| const std::string& BrowserAccessibility::GetInheritedStringAttribute( |
| @@ -840,7 +843,7 @@ const std::string& BrowserAccessibility::GetInheritedStringAttribute( |
| do { |
| if (current_object->GetData().HasStringAttribute(attribute)) |
| return current_object->GetData().GetStringAttribute(attribute); |
| - current_object = current_object->GetParent(); |
| + current_object = current_object->GetAccessibilityParent(); |
| } while (current_object); |
| return base::EmptyString(); |
| } |
| @@ -855,8 +858,9 @@ bool BrowserAccessibility::GetInheritedStringAttribute( |
| if (GetData().GetStringAttribute(attribute, value)) |
| return true; |
| - return GetParent() && |
| - GetParent()->GetData().GetStringAttribute(attribute, value); |
| + return GetAccessibilityParent() && |
| + GetAccessibilityParent()->GetData().GetStringAttribute(attribute, |
| + value); |
| } |
| base::string16 BrowserAccessibility::GetInheritedString16Attribute( |
| @@ -868,7 +872,7 @@ base::string16 BrowserAccessibility::GetInheritedString16Attribute( |
| do { |
| if (current_object->GetData().HasStringAttribute(attribute)) |
| return current_object->GetData().GetString16Attribute(attribute); |
| - current_object = current_object->GetParent(); |
| + current_object = current_object->GetAccessibilityParent(); |
| } while (current_object); |
| return base::string16(); |
| } |
| @@ -883,8 +887,9 @@ bool BrowserAccessibility::GetInheritedString16Attribute( |
| if (GetData().GetString16Attribute(attribute, value)) |
| return true; |
| - return GetParent() && |
| - GetParent()->GetData().GetString16Attribute(attribute, value); |
| + return GetAccessibilityParent() && |
| + GetAccessibilityParent()->GetData().GetString16Attribute(attribute, |
| + value); |
| } |
| bool BrowserAccessibility::HasIntAttribute( |
| @@ -1018,7 +1023,7 @@ bool BrowserAccessibility::IsWebAreaForPresentationalIframe() const { |
| return false; |
| } |
| - BrowserAccessibility* parent = GetParent(); |
| + BrowserAccessibility* parent = GetAccessibilityParent(); |
| if (!parent) |
| return false; |
| @@ -1109,7 +1114,8 @@ bool BrowserAccessibility::IsSimpleTextControl() const { |
| // Indicates if this object is at the root of a rich edit text control. |
| bool BrowserAccessibility::IsRichTextControl() const { |
| return HasState(ui::AX_STATE_RICHLY_EDITABLE) && |
| - (!GetParent() || !GetParent()->HasState(ui::AX_STATE_RICHLY_EDITABLE)); |
| + (!GetAccessibilityParent() || |
| + !GetAccessibilityParent()->HasState(ui::AX_STATE_RICHLY_EDITABLE)); |
| } |
| std::string BrowserAccessibility::ComputeAccessibleNameFromDescendants() { |
| @@ -1194,7 +1200,7 @@ gfx::Rect BrowserAccessibility::RelativeToAbsoluteBounds( |
| node->manager()->GetFromID(node->GetData().offset_container_id); |
| if (!container) { |
| if (node == node->manager()->GetRoot() && !frame_only) { |
| - container = node->GetParent(); |
| + container = node->GetAccessibilityParent(); |
| } else { |
| container = node->manager()->GetRoot(); |
| } |
| @@ -1207,7 +1213,7 @@ gfx::Rect BrowserAccessibility::RelativeToAbsoluteBounds( |
| bounds.Offset(container_bounds.x(), container_bounds.y()); |
| if (container->manager()->UseRootScrollOffsetsWhenComputingBounds() || |
| - container->GetParent()) { |
| + container->GetAccessibilityParent()) { |
| int sx = 0; |
| int sy = 0; |
| if (container->GetIntAttribute(ui::AX_ATTR_SCROLL_X, &sx) && |