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

Unified Diff: content/browser/accessibility/browser_accessibility.cc

Issue 880523002: Revert of Send Windows accessibility events based on tree updates. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@implicit_1_tests
Patch Set: Created 5 years, 11 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/browser/accessibility/browser_accessibility.cc
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
index 65d805bd3e2c2bf4d02b6eb75d0cdd417a985f3c..8cc30d138d8b6f2f423739449fbe833ea3b1a510 100644
--- a/content/browser/accessibility/browser_accessibility.cc
+++ b/content/browser/accessibility/browser_accessibility.cc
@@ -36,6 +36,11 @@
ui::AXNode* node) {
manager_ = manager;
node_ = node;
+}
+
+void BrowserAccessibility::OnDataChanged() {
+ GetStringAttribute(ui::AX_ATTR_NAME, &name_);
+ GetStringAttribute(ui::AX_ATTR_VALUE, &value_);
}
bool BrowserAccessibility::PlatformIsLeaf() const {
@@ -89,17 +94,6 @@
}
return result;
-}
-
-bool BrowserAccessibility::PlatformIsChildOfLeaf() const {
- BrowserAccessibility* ancestor = GetParent();
- while (ancestor) {
- if (ancestor->PlatformIsLeaf())
- return true;
- ancestor = ancestor->GetParent();
- }
-
- return false;
}
BrowserAccessibility* BrowserAccessibility::GetPreviousSibling() {
@@ -390,6 +384,9 @@
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;
@@ -560,6 +557,24 @@
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();
@@ -687,6 +702,17 @@
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());
« no previous file with comments | « content/browser/accessibility/browser_accessibility.h ('k') | content/browser/accessibility/browser_accessibility_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698