Index: content/browser/accessibility/browser_accessibility.cc |
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc |
index 0a3719d4aaf401902b67ef3a8ffe55232bf0e35e..9e8f3e8d1e71203cc0c4e6f0ec3e00c72bd0f129 100644 |
--- a/content/browser/accessibility/browser_accessibility.cc |
+++ b/content/browser/accessibility/browser_accessibility.cc |
@@ -38,11 +38,6 @@ void BrowserAccessibility::Init(BrowserAccessibilityManager* manager, |
node_ = node; |
} |
-void BrowserAccessibility::OnDataChanged() { |
- GetStringAttribute(ui::AX_ATTR_NAME, &name_); |
- GetStringAttribute(ui::AX_ATTR_VALUE, &value_); |
-} |
- |
bool BrowserAccessibility::PlatformIsLeaf() const { |
if (InternalChildCount() == 0) |
return true; |
@@ -96,6 +91,17 @@ BrowserAccessibility* BrowserAccessibility::PlatformGetChild( |
return result; |
} |
+bool BrowserAccessibility::PlatformIsChildOfLeaf() const { |
aboxhall
2015/01/22 21:22:09
Is this something we could or should reasonably ca
dmazzoni
2015/01/23 23:26:13
Worth considering! Right now our bottlenecks are m
|
+ BrowserAccessibility* ancestor = GetParent(); |
+ while (ancestor) { |
+ if (ancestor->PlatformIsLeaf()) |
+ return true; |
+ ancestor = ancestor->GetParent(); |
+ } |
+ |
+ return false; |
+} |
+ |
BrowserAccessibility* BrowserAccessibility::GetPreviousSibling() { |
if (GetParent() && GetIndexInParent() > 0) |
return GetParent()->InternalGetChild(GetIndexInParent() - 1); |
@@ -384,9 +390,6 @@ BrowserAccessibility* BrowserAccessibility::BrowserAccessibilityForPoint( |
void BrowserAccessibility::Destroy() { |
// Allow the object to fire a TextRemoved notification. |
- name_.clear(); |
- value_.clear(); |
- |
manager_->NotifyAccessibilityEvent(ui::AX_EVENT_HIDE, this); |
node_ = NULL; |
manager_ = NULL; |
@@ -557,24 +560,6 @@ bool BrowserAccessibility::GetString16Attribute( |
return true; |
} |
-void BrowserAccessibility::SetStringAttribute( |
- ui::AXStringAttribute attribute, const std::string& value) { |
- if (!node_) |
- return; |
- ui::AXNodeData data = GetData(); |
- for (size_t i = 0; i < data.string_attributes.size(); ++i) { |
- if (data.string_attributes[i].first == attribute) { |
- data.string_attributes[i].second = value; |
- node_->SetData(data); |
- return; |
- } |
- } |
- if (!value.empty()) { |
- data.string_attributes.push_back(std::make_pair(attribute, value)); |
- node_->SetData(data); |
- } |
-} |
- |
bool BrowserAccessibility::HasIntListAttribute( |
ui::AXIntListAttribute attribute) const { |
const ui::AXNodeData& data = GetData(); |
@@ -702,17 +687,6 @@ bool BrowserAccessibility::IsWebAreaForPresentationalIframe() const { |
return grandparent->GetRole() == ui::AX_ROLE_IFRAME_PRESENTATIONAL; |
} |
-std::string BrowserAccessibility::GetTextRecursive() const { |
- if (!name_.empty()) { |
- return name_; |
- } |
- |
- std::string result; |
- for (uint32 i = 0; i < PlatformChildCount(); ++i) |
- result += PlatformGetChild(i)->GetTextRecursive(); |
- return result; |
-} |
- |
int BrowserAccessibility::GetStaticTextLenRecursive() const { |
if (GetRole() == ui::AX_ROLE_STATIC_TEXT) |
return static_cast<int>(GetStringAttribute(ui::AX_ATTR_VALUE).size()); |