| Index: content/browser/accessibility/browser_accessibility.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
|
| index 18a24b4fed2eb7f9b9c36c72b53d437204146e4c..b6ce345f68f43ae229104da2d3f19d4f0eb65d49 100644
|
| --- a/content/browser/accessibility/browser_accessibility.cc
|
| +++ b/content/browser/accessibility/browser_accessibility.cc
|
| @@ -27,25 +27,25 @@ BrowserAccessibility* BrowserAccessibility::Create() {
|
|
|
| BrowserAccessibility::BrowserAccessibility()
|
| : manager_(NULL),
|
| - parent_(NULL),
|
| - index_in_parent_(0),
|
| - renderer_id_(0),
|
| - role_(0),
|
| - state_(0),
|
| + deprecated_parent_(NULL),
|
| + deprecated_index_in_parent_(0),
|
| instance_active_(false) {
|
| + data_.id = 0;
|
| + data_.role = ui::AX_ROLE_UNKNOWN;
|
| + data_.state = 0;
|
| }
|
|
|
| BrowserAccessibility::~BrowserAccessibility() {
|
| }
|
|
|
| bool BrowserAccessibility::PlatformIsLeaf() const {
|
| - if (child_count() == 0)
|
| + if (InternalChildCount() == 0)
|
| return true;
|
|
|
| // All of these roles may have children that we use as internal
|
| // implementation details, but we want to expose them as leaves
|
| // to platform accessibility APIs.
|
| - switch (role_) {
|
| + switch (GetRole()) {
|
| case ui::AX_ROLE_EDITABLE_TEXT:
|
| case ui::AX_ROLE_SLIDER:
|
| case ui::AX_ROLE_STATIC_TEXT:
|
| @@ -58,40 +58,32 @@ bool BrowserAccessibility::PlatformIsLeaf() const {
|
| }
|
|
|
| uint32 BrowserAccessibility::PlatformChildCount() const {
|
| - return PlatformIsLeaf() ? 0 : children_.size();
|
| + return PlatformIsLeaf() ? 0 : InternalChildCount();
|
| }
|
|
|
| void BrowserAccessibility::DetachTree(
|
| std::vector<BrowserAccessibility*>* nodes) {
|
| nodes->push_back(this);
|
| - for (size_t i = 0; i < children_.size(); ++i)
|
| - children_[i]->DetachTree(nodes);
|
| - children_.clear();
|
| - parent_ = NULL;
|
| + for (size_t i = 0; i < InternalChildCount(); ++i)
|
| + InternalGetChild(i)->DetachTree(nodes);
|
| + deprecated_children_.clear();
|
| + deprecated_parent_ = NULL;
|
| }
|
|
|
| void BrowserAccessibility::InitializeTreeStructure(
|
| BrowserAccessibilityManager* manager,
|
| BrowserAccessibility* parent,
|
| - int32 renderer_id,
|
| + int32 id,
|
| int32 index_in_parent) {
|
| manager_ = manager;
|
| - parent_ = parent;
|
| - renderer_id_ = renderer_id;
|
| - index_in_parent_ = index_in_parent;
|
| + deprecated_parent_ = parent;
|
| + data_.id = id;
|
| + deprecated_index_in_parent_ = index_in_parent;
|
| }
|
|
|
| void BrowserAccessibility::InitializeData(const ui::AXNodeData& src) {
|
| - DCHECK_EQ(renderer_id_, src.id);
|
| - role_ = src.role;
|
| - state_ = src.state;
|
| - string_attributes_ = src.string_attributes;
|
| - int_attributes_ = src.int_attributes;
|
| - float_attributes_ = src.float_attributes;
|
| - bool_attributes_ = src.bool_attributes;
|
| - intlist_attributes_ = src.intlist_attributes;
|
| - html_attributes_ = src.html_attributes;
|
| - location_ = src.location;
|
| + DCHECK_EQ(data_.id, src.id);
|
| + data_ = src;
|
| instance_active_ = true;
|
|
|
| GetStringAttribute(ui::AX_ATTR_NAME, &name_);
|
| @@ -106,25 +98,25 @@ bool BrowserAccessibility::IsNative() const {
|
|
|
| void BrowserAccessibility::SwapChildren(
|
| std::vector<BrowserAccessibility*>& children) {
|
| - children.swap(children_);
|
| + children.swap(deprecated_children_);
|
| }
|
|
|
| void BrowserAccessibility::UpdateParent(BrowserAccessibility* parent,
|
| int index_in_parent) {
|
| - parent_ = parent;
|
| - index_in_parent_ = index_in_parent;
|
| + deprecated_parent_ = parent;
|
| + deprecated_index_in_parent_ = index_in_parent;
|
| }
|
|
|
| void BrowserAccessibility::SetLocation(const gfx::Rect& new_location) {
|
| - location_ = new_location;
|
| + data_.location = new_location;
|
| }
|
|
|
| bool BrowserAccessibility::IsDescendantOf(
|
| BrowserAccessibility* ancestor) {
|
| if (this == ancestor) {
|
| return true;
|
| - } else if (parent_) {
|
| - return parent_->IsDescendantOf(ancestor);
|
| + } else if (GetParent()) {
|
| + return GetParent()->IsDescendantOf(ancestor);
|
| }
|
|
|
| return false;
|
| @@ -132,54 +124,54 @@ bool BrowserAccessibility::IsDescendantOf(
|
|
|
| BrowserAccessibility* BrowserAccessibility::PlatformGetChild(
|
| uint32 child_index) const {
|
| - DCHECK(child_index < children_.size());
|
| - return children_[child_index];
|
| + DCHECK(child_index < InternalChildCount());
|
| + return InternalGetChild(child_index);
|
| }
|
|
|
| BrowserAccessibility* BrowserAccessibility::GetPreviousSibling() {
|
| - if (parent_ && index_in_parent_ > 0)
|
| - return parent_->children_[index_in_parent_ - 1];
|
| + if (GetParent() && GetIndexInParent() > 0)
|
| + return GetParent()->InternalGetChild(GetIndexInParent() - 1);
|
|
|
| return NULL;
|
| }
|
|
|
| BrowserAccessibility* BrowserAccessibility::GetNextSibling() {
|
| - if (parent_ &&
|
| - index_in_parent_ >= 0 &&
|
| - index_in_parent_ < static_cast<int>(parent_->children_.size() - 1)) {
|
| - return parent_->children_[index_in_parent_ + 1];
|
| + if (GetParent() &&
|
| + GetIndexInParent() >= 0 &&
|
| + GetIndexInParent() < static_cast<int>(GetParent()->InternalChildCount() - 1)) {
|
| + return GetParent()->InternalGetChild(GetIndexInParent() + 1);
|
| }
|
|
|
| return NULL;
|
| }
|
|
|
| gfx::Rect BrowserAccessibility::GetLocalBoundsRect() const {
|
| - gfx::Rect bounds = location_;
|
| + gfx::Rect bounds = GetLocation();
|
|
|
| // Walk up the parent chain. Every time we encounter a Web Area, offset
|
| // based on the scroll bars and then offset based on the origin of that
|
| // nested web area.
|
| - BrowserAccessibility* parent = parent_;
|
| + BrowserAccessibility* parent = GetParent();
|
| bool need_to_offset_web_area =
|
| - (role_ == ui::AX_ROLE_WEB_AREA ||
|
| - role_ == ui::AX_ROLE_ROOT_WEB_AREA);
|
| + (GetRole() == ui::AX_ROLE_WEB_AREA ||
|
| + GetRole() == ui::AX_ROLE_ROOT_WEB_AREA);
|
| while (parent) {
|
| if (need_to_offset_web_area &&
|
| - parent->location().width() > 0 &&
|
| - parent->location().height() > 0) {
|
| - bounds.Offset(parent->location().x(), parent->location().y());
|
| + parent->GetLocation().width() > 0 &&
|
| + parent->GetLocation().height() > 0) {
|
| + bounds.Offset(parent->GetLocation().x(), parent->GetLocation().y());
|
| need_to_offset_web_area = false;
|
| }
|
|
|
| // On some platforms, we don't want to take the root scroll offsets
|
| // into account.
|
| - if (parent->role() == ui::AX_ROLE_ROOT_WEB_AREA &&
|
| + if (parent->GetRole() == ui::AX_ROLE_ROOT_WEB_AREA &&
|
| !manager()->UseRootScrollOffsetsWhenComputingBounds()) {
|
| break;
|
| }
|
|
|
| - if (parent->role() == ui::AX_ROLE_WEB_AREA ||
|
| - parent->role() == ui::AX_ROLE_ROOT_WEB_AREA) {
|
| + if (parent->GetRole() == ui::AX_ROLE_WEB_AREA ||
|
| + parent->GetRole() == ui::AX_ROLE_ROOT_WEB_AREA) {
|
| int sx = 0;
|
| int sy = 0;
|
| if (parent->GetIntAttribute(ui::AX_ATTR_SCROLL_X, &sx) &&
|
| @@ -188,7 +180,7 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsRect() const {
|
| }
|
| need_to_offset_web_area = true;
|
| }
|
| - parent = parent->parent();
|
| + parent = parent->GetParent();
|
| }
|
|
|
| return bounds;
|
| @@ -206,14 +198,14 @@ gfx::Rect BrowserAccessibility::GetGlobalBoundsRect() const {
|
|
|
| gfx::Rect BrowserAccessibility::GetLocalBoundsForRange(int start, int len)
|
| const {
|
| - if (role() != ui::AX_ROLE_STATIC_TEXT) {
|
| + if (GetRole() != ui::AX_ROLE_STATIC_TEXT) {
|
| // Apply recursively to all static text descendants. For example, if
|
| // you call it on a div with two text node children, it just calls
|
| // GetLocalBoundsForRange on each of the two children (adjusting
|
| // |start| for each one) and unions the resulting rects.
|
| gfx::Rect bounds;
|
| - for (size_t i = 0; i < children_.size(); ++i) {
|
| - BrowserAccessibility* child = children_[i];
|
| + for (size_t i = 0; i < InternalChildCount(); ++i) {
|
| + BrowserAccessibility* child = InternalGetChild(i);
|
| int child_len = child->GetStaticTextLenRecursive();
|
| if (start < child_len && start + len > 0) {
|
| gfx::Rect child_rect = child->GetLocalBoundsForRange(start, len);
|
| @@ -229,9 +221,9 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsForRange(int start, int len)
|
| int child_end = 0;
|
|
|
| gfx::Rect bounds;
|
| - for (size_t i = 0; i < children_.size() && child_end < start + len; ++i) {
|
| - BrowserAccessibility* child = children_[i];
|
| - DCHECK_EQ(child->role(), ui::AX_ROLE_INLINE_TEXT_BOX);
|
| + for (size_t i = 0; i < InternalChildCount() && child_end < start + len; ++i) {
|
| + BrowserAccessibility* child = InternalGetChild(i);
|
| + DCHECK_EQ(child->GetRole(), ui::AX_ROLE_INLINE_TEXT_BOX);
|
| std::string child_text;
|
| child->GetStringAttribute(ui::AX_ATTR_VALUE, &child_text);
|
| int child_len = static_cast<int>(child_text.size());
|
| @@ -247,7 +239,7 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsForRange(int start, int len)
|
| int local_start = overlap_start - child_start;
|
| int local_end = overlap_end - child_start;
|
|
|
| - gfx::Rect child_rect = child->location();
|
| + gfx::Rect child_rect = child->GetLocation();
|
| int text_direction = child->GetIntAttribute(
|
| ui::AX_ATTR_TEXT_DIRECTION);
|
| const std::vector<int32>& character_offsets = child->GetIntListAttribute(
|
| @@ -328,7 +320,7 @@ BrowserAccessibility* BrowserAccessibility::BrowserAccessibilityForPoint(
|
|
|
| // Skip table columns because cells are only contained in rows,
|
| // not columns.
|
| - if (child->role() == ui::AX_ROLE_COLUMN)
|
| + if (child->GetRole() == ui::AX_ROLE_COLUMN)
|
| continue;
|
|
|
| if (child->GetGlobalBoundsRect().Contains(point)) {
|
| @@ -358,12 +350,9 @@ BrowserAccessibility* BrowserAccessibility::BrowserAccessibilityForPoint(
|
| }
|
|
|
| void BrowserAccessibility::Destroy() {
|
| - for (std::vector<BrowserAccessibility*>::iterator iter = children_.begin();
|
| - iter != children_.end();
|
| - ++iter) {
|
| - (*iter)->Destroy();
|
| - }
|
| - children_.clear();
|
| + for (uint32 i = 0; i < InternalChildCount(); i++)
|
| + InternalGetChild(i)->Destroy();
|
| + deprecated_children_.clear();
|
|
|
| // Allow the object to fire a TextRemoved notification.
|
| name_.clear();
|
| @@ -383,8 +372,8 @@ void BrowserAccessibility::NativeReleaseReference() {
|
|
|
| bool BrowserAccessibility::HasBoolAttribute(
|
| ui::AXBoolAttribute attribute) const {
|
| - for (size_t i = 0; i < bool_attributes_.size(); ++i) {
|
| - if (bool_attributes_[i].first == attribute)
|
| + for (size_t i = 0; i < data_.bool_attributes.size(); ++i) {
|
| + if (data_.bool_attributes[i].first == attribute)
|
| return true;
|
| }
|
|
|
| @@ -394,9 +383,9 @@ bool BrowserAccessibility::HasBoolAttribute(
|
|
|
| bool BrowserAccessibility::GetBoolAttribute(
|
| ui::AXBoolAttribute attribute) const {
|
| - for (size_t i = 0; i < bool_attributes_.size(); ++i) {
|
| - if (bool_attributes_[i].first == attribute)
|
| - return bool_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.bool_attributes.size(); ++i) {
|
| + if (data_.bool_attributes[i].first == attribute)
|
| + return data_.bool_attributes[i].second;
|
| }
|
|
|
| return false;
|
| @@ -404,9 +393,9 @@ bool BrowserAccessibility::GetBoolAttribute(
|
|
|
| bool BrowserAccessibility::GetBoolAttribute(
|
| ui::AXBoolAttribute attribute, bool* value) const {
|
| - for (size_t i = 0; i < bool_attributes_.size(); ++i) {
|
| - if (bool_attributes_[i].first == attribute) {
|
| - *value = bool_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.bool_attributes.size(); ++i) {
|
| + if (data_.bool_attributes[i].first == attribute) {
|
| + *value = data_.bool_attributes[i].second;
|
| return true;
|
| }
|
| }
|
| @@ -416,8 +405,8 @@ bool BrowserAccessibility::GetBoolAttribute(
|
|
|
| bool BrowserAccessibility::HasFloatAttribute(
|
| ui::AXFloatAttribute attribute) const {
|
| - for (size_t i = 0; i < float_attributes_.size(); ++i) {
|
| - if (float_attributes_[i].first == attribute)
|
| + for (size_t i = 0; i < data_.float_attributes.size(); ++i) {
|
| + if (data_.float_attributes[i].first == attribute)
|
| return true;
|
| }
|
|
|
| @@ -426,9 +415,9 @@ bool BrowserAccessibility::HasFloatAttribute(
|
|
|
| float BrowserAccessibility::GetFloatAttribute(
|
| ui::AXFloatAttribute attribute) const {
|
| - for (size_t i = 0; i < float_attributes_.size(); ++i) {
|
| - if (float_attributes_[i].first == attribute)
|
| - return float_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.float_attributes.size(); ++i) {
|
| + if (data_.float_attributes[i].first == attribute)
|
| + return data_.float_attributes[i].second;
|
| }
|
|
|
| return 0.0;
|
| @@ -436,9 +425,9 @@ float BrowserAccessibility::GetFloatAttribute(
|
|
|
| bool BrowserAccessibility::GetFloatAttribute(
|
| ui::AXFloatAttribute attribute, float* value) const {
|
| - for (size_t i = 0; i < float_attributes_.size(); ++i) {
|
| - if (float_attributes_[i].first == attribute) {
|
| - *value = float_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.float_attributes.size(); ++i) {
|
| + if (data_.float_attributes[i].first == attribute) {
|
| + *value = data_.float_attributes[i].second;
|
| return true;
|
| }
|
| }
|
| @@ -448,8 +437,8 @@ bool BrowserAccessibility::GetFloatAttribute(
|
|
|
| bool BrowserAccessibility::HasIntAttribute(
|
| ui::AXIntAttribute attribute) const {
|
| - for (size_t i = 0; i < int_attributes_.size(); ++i) {
|
| - if (int_attributes_[i].first == attribute)
|
| + for (size_t i = 0; i < data_.int_attributes.size(); ++i) {
|
| + if (data_.int_attributes[i].first == attribute)
|
| return true;
|
| }
|
|
|
| @@ -457,9 +446,9 @@ bool BrowserAccessibility::HasIntAttribute(
|
| }
|
|
|
| int BrowserAccessibility::GetIntAttribute(ui::AXIntAttribute attribute) const {
|
| - for (size_t i = 0; i < int_attributes_.size(); ++i) {
|
| - if (int_attributes_[i].first == attribute)
|
| - return int_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.int_attributes.size(); ++i) {
|
| + if (data_.int_attributes[i].first == attribute)
|
| + return data_.int_attributes[i].second;
|
| }
|
|
|
| return 0;
|
| @@ -467,9 +456,9 @@ int BrowserAccessibility::GetIntAttribute(ui::AXIntAttribute attribute) const {
|
|
|
| bool BrowserAccessibility::GetIntAttribute(
|
| ui::AXIntAttribute attribute, int* value) const {
|
| - for (size_t i = 0; i < int_attributes_.size(); ++i) {
|
| - if (int_attributes_[i].first == attribute) {
|
| - *value = int_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.int_attributes.size(); ++i) {
|
| + if (data_.int_attributes[i].first == attribute) {
|
| + *value = data_.int_attributes[i].second;
|
| return true;
|
| }
|
| }
|
| @@ -479,8 +468,8 @@ bool BrowserAccessibility::GetIntAttribute(
|
|
|
| bool BrowserAccessibility::HasStringAttribute(
|
| ui::AXStringAttribute attribute) const {
|
| - for (size_t i = 0; i < string_attributes_.size(); ++i) {
|
| - if (string_attributes_[i].first == attribute)
|
| + for (size_t i = 0; i < data_.string_attributes.size(); ++i) {
|
| + if (data_.string_attributes[i].first == attribute)
|
| return true;
|
| }
|
|
|
| @@ -490,9 +479,9 @@ bool BrowserAccessibility::HasStringAttribute(
|
| const std::string& BrowserAccessibility::GetStringAttribute(
|
| ui::AXStringAttribute attribute) const {
|
| CR_DEFINE_STATIC_LOCAL(std::string, empty_string, ());
|
| - for (size_t i = 0; i < string_attributes_.size(); ++i) {
|
| - if (string_attributes_[i].first == attribute)
|
| - return string_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.string_attributes.size(); ++i) {
|
| + if (data_.string_attributes[i].first == attribute)
|
| + return data_.string_attributes[i].second;
|
| }
|
|
|
| return empty_string;
|
| @@ -500,9 +489,9 @@ const std::string& BrowserAccessibility::GetStringAttribute(
|
|
|
| bool BrowserAccessibility::GetStringAttribute(
|
| ui::AXStringAttribute attribute, std::string* value) const {
|
| - for (size_t i = 0; i < string_attributes_.size(); ++i) {
|
| - if (string_attributes_[i].first == attribute) {
|
| - *value = string_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.string_attributes.size(); ++i) {
|
| + if (data_.string_attributes[i].first == attribute) {
|
| + *value = data_.string_attributes[i].second;
|
| return true;
|
| }
|
| }
|
| @@ -530,20 +519,20 @@ bool BrowserAccessibility::GetString16Attribute(
|
|
|
| void BrowserAccessibility::SetStringAttribute(
|
| ui::AXStringAttribute attribute, const std::string& value) {
|
| - for (size_t i = 0; i < string_attributes_.size(); ++i) {
|
| - if (string_attributes_[i].first == attribute) {
|
| - string_attributes_[i].second = value;
|
| + for (size_t i = 0; i < data_.string_attributes.size(); ++i) {
|
| + if (data_.string_attributes[i].first == attribute) {
|
| + data_.string_attributes[i].second = value;
|
| return;
|
| }
|
| }
|
| if (!value.empty())
|
| - string_attributes_.push_back(std::make_pair(attribute, value));
|
| + data_.string_attributes.push_back(std::make_pair(attribute, value));
|
| }
|
|
|
| bool BrowserAccessibility::HasIntListAttribute(
|
| ui::AXIntListAttribute attribute) const {
|
| - for (size_t i = 0; i < intlist_attributes_.size(); ++i) {
|
| - if (intlist_attributes_[i].first == attribute)
|
| + for (size_t i = 0; i < data_.intlist_attributes.size(); ++i) {
|
| + if (data_.intlist_attributes[i].first == attribute)
|
| return true;
|
| }
|
|
|
| @@ -553,9 +542,9 @@ bool BrowserAccessibility::HasIntListAttribute(
|
| const std::vector<int32>& BrowserAccessibility::GetIntListAttribute(
|
| ui::AXIntListAttribute attribute) const {
|
| CR_DEFINE_STATIC_LOCAL(std::vector<int32>, empty_vector, ());
|
| - for (size_t i = 0; i < intlist_attributes_.size(); ++i) {
|
| - if (intlist_attributes_[i].first == attribute)
|
| - return intlist_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.intlist_attributes.size(); ++i) {
|
| + if (data_.intlist_attributes[i].first == attribute)
|
| + return data_.intlist_attributes[i].second;
|
| }
|
|
|
| return empty_vector;
|
| @@ -564,9 +553,9 @@ const std::vector<int32>& BrowserAccessibility::GetIntListAttribute(
|
| bool BrowserAccessibility::GetIntListAttribute(
|
| ui::AXIntListAttribute attribute,
|
| std::vector<int32>* value) const {
|
| - for (size_t i = 0; i < intlist_attributes_.size(); ++i) {
|
| - if (intlist_attributes_[i].first == attribute) {
|
| - *value = intlist_attributes_[i].second;
|
| + for (size_t i = 0; i < data_.intlist_attributes.size(); ++i) {
|
| + if (data_.intlist_attributes[i].first == attribute) {
|
| + *value = data_.intlist_attributes[i].second;
|
| return true;
|
| }
|
| }
|
| @@ -576,10 +565,10 @@ bool BrowserAccessibility::GetIntListAttribute(
|
|
|
| bool BrowserAccessibility::GetHtmlAttribute(
|
| const char* html_attr, std::string* value) const {
|
| - for (size_t i = 0; i < html_attributes_.size(); ++i) {
|
| - const std::string& attr = html_attributes_[i].first;
|
| + for (size_t i = 0; i < GetHtmlAttributes().size(); ++i) {
|
| + const std::string& attr = GetHtmlAttributes()[i].first;
|
| if (LowerCaseEqualsASCII(attr, html_attr)) {
|
| - *value = html_attributes_[i].second;
|
| + *value = GetHtmlAttributes()[i].second;
|
| return true;
|
| }
|
| }
|
| @@ -622,14 +611,14 @@ bool BrowserAccessibility::GetAriaTristate(
|
| }
|
|
|
| bool BrowserAccessibility::HasState(ui::AXState state_enum) const {
|
| - return (state_ >> state_enum) & 1;
|
| + return (GetState() >> state_enum) & 1;
|
| }
|
|
|
| bool BrowserAccessibility::IsEditableText() const {
|
| // These roles don't have readonly set, but they're not editable text.
|
| - if (role_ == ui::AX_ROLE_SCROLL_AREA ||
|
| - role_ == ui::AX_ROLE_COLUMN ||
|
| - role_ == ui::AX_ROLE_TABLE_HEADER_CONTAINER) {
|
| + if (GetRole() == ui::AX_ROLE_SCROLL_AREA ||
|
| + GetRole() == ui::AX_ROLE_COLUMN ||
|
| + GetRole() == ui::AX_ROLE_TABLE_HEADER_CONTAINER) {
|
| return false;
|
| }
|
|
|
| @@ -637,8 +626,8 @@ bool BrowserAccessibility::IsEditableText() const {
|
| // or contenteditable. We also check for editable text roles to cover
|
| // another element that has role=textbox set on it.
|
| return (!HasState(ui::AX_STATE_READ_ONLY) ||
|
| - role_ == ui::AX_ROLE_TEXT_FIELD ||
|
| - role_ == ui::AX_ROLE_TEXT_AREA);
|
| + GetRole() == ui::AX_ROLE_TEXT_FIELD ||
|
| + GetRole() == ui::AX_ROLE_TEXT_AREA);
|
| }
|
|
|
| std::string BrowserAccessibility::GetTextRecursive() const {
|
| @@ -653,12 +642,12 @@ std::string BrowserAccessibility::GetTextRecursive() const {
|
| }
|
|
|
| int BrowserAccessibility::GetStaticTextLenRecursive() const {
|
| - if (role_ == ui::AX_ROLE_STATIC_TEXT)
|
| + if (GetRole() == ui::AX_ROLE_STATIC_TEXT)
|
| return static_cast<int>(GetStringAttribute(ui::AX_ATTR_VALUE).size());
|
|
|
| int len = 0;
|
| - for (size_t i = 0; i < children_.size(); ++i)
|
| - len += children_[i]->GetStaticTextLenRecursive();
|
| + for (size_t i = 0; i < InternalChildCount(); ++i)
|
| + len += InternalGetChild(i)->GetStaticTextLenRecursive();
|
| return len;
|
| }
|
|
|
|
|