Index: ui/accessibility/platform/ax_platform_node.cc |
diff --git a/ui/accessibility/platform/ax_platform_node.cc b/ui/accessibility/platform/ax_platform_node.cc |
index ad4aa4c09e65bad997d79375aac330975cdf46a5..d3527916aab453459807feaf1b0887849034ef15 100644 |
--- a/ui/accessibility/platform/ax_platform_node.cc |
+++ b/ui/accessibility/platform/ax_platform_node.cc |
@@ -3,16 +3,16 @@ |
// found in the LICENSE file. |
#include "ui/accessibility/platform/ax_platform_node.h" |
+ |
+#include "ui/accessibility/ax_node_data.h" |
#include "ui/accessibility/platform/ax_platform_node_delegate.h" |
namespace ui { |
-#if !defined(OS_WIN) |
+#if !defined(OS_MACOSX) |
// static |
AXPlatformNode* AXPlatformNode::Create(AXPlatformNodeDelegate* delegate) { |
- AXPlatformNode* node = new AXPlatformNode(); |
- node->Init(delegate); |
- return node; |
+ return new AXPlatformNode; |
} |
#endif |
@@ -22,309 +22,12 @@ AXPlatformNode::AXPlatformNode() { |
AXPlatformNode::~AXPlatformNode() { |
} |
-void AXPlatformNode::Init(AXPlatformNodeDelegate* delegate) { |
- delegate_ = delegate; |
-} |
- |
-void AXPlatformNode::Detach() { |
+void AXPlatformNode::Destroy() { |
delegate_ = NULL; |
} |
gfx::NativeViewAccessible AXPlatformNode::GetNativeViewAccessible() { |
- return NULL; |
-} |
- |
-AXPlatformNode* AXPlatformNode::NextSibling() { |
- if (!delegate_) |
- return NULL; |
- |
- AXPlatformNode* parent = delegate_->GetParent(); |
- if (!parent) |
- return NULL; |
- |
- int next_index = delegate_->GetIndexInParent() + 1; |
- if (next_index >= 0 && next_index < parent->GetChildCount()) |
- return parent->ChildAtIndex(next_index); |
- |
- return NULL; |
-} |
- |
-AXPlatformNode* AXPlatformNode::PreviousSibling() { |
- if (!delegate_) |
- return NULL; |
- |
- AXPlatformNode* parent = delegate_->GetParent(); |
- if (!parent) |
- return NULL; |
- |
- int previous_index = delegate_->GetIndexInParent() - 1; |
- if (previous_index >= 0 && previous_index < parent->GetChildCount()) |
- return parent->ChildAtIndex(previous_index); |
- |
- return NULL; |
-} |
- |
-bool AXPlatformNode::HasBoolAttribute( |
- ui::AXBoolAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- for (size_t i = 0; i < data.bool_attributes.size(); ++i) { |
- if (data.bool_attributes[i].first == attribute) |
- return true; |
- } |
- |
- return false; |
-} |
- |
- |
-bool AXPlatformNode::GetBoolAttribute( |
- ui::AXBoolAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
-} |
- |
-bool AXPlatformNode::GetBoolAttribute( |
- ui::AXBoolAttribute attribute, bool* value) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
- } |
- } |
- |
- return false; |
-} |
- |
-bool AXPlatformNode::HasFloatAttribute( |
- ui::AXFloatAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- for (size_t i = 0; i < data.float_attributes.size(); ++i) { |
- if (data.float_attributes[i].first == attribute) |
- return true; |
- } |
- |
- return false; |
-} |
- |
-float AXPlatformNode::GetFloatAttribute( |
- ui::AXFloatAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
-} |
- |
-bool AXPlatformNode::GetFloatAttribute( |
- ui::AXFloatAttribute attribute, float* value) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
- } |
- } |
- |
- return false; |
-} |
- |
-bool AXPlatformNode::HasIntAttribute( |
- ui::AXIntAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- for (size_t i = 0; i < data.int_attributes.size(); ++i) { |
- if (data.int_attributes[i].first == attribute) |
- return true; |
- } |
- |
- return false; |
-} |
- |
-int AXPlatformNode::GetIntAttribute(ui::AXIntAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
-} |
- |
-bool AXPlatformNode::GetIntAttribute( |
- ui::AXIntAttribute attribute, int* value) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
- } |
- } |
- |
- return false; |
-} |
- |
-bool AXPlatformNode::HasStringAttribute( |
- ui::AXStringAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- for (size_t i = 0; i < data.string_attributes.size(); ++i) { |
- if (data.string_attributes[i].first == attribute) |
- return true; |
- } |
- |
- return false; |
-} |
- |
-const std::string& AXPlatformNode::GetStringAttribute( |
- ui::AXStringAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- CR_DEFINE_STATIC_LOCAL(std::string, empty_string, ()); |
- 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; |
-} |
- |
-bool AXPlatformNode::GetStringAttribute( |
- ui::AXStringAttribute attribute, std::string* value) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
- } |
- } |
- |
- return false; |
-} |
- |
-base::string16 AXPlatformNode::GetString16Attribute( |
- ui::AXStringAttribute attribute) const { |
- std::string value_utf8; |
- if (!GetStringAttribute(attribute, &value_utf8)) |
- return base::string16(); |
- return base::UTF8ToUTF16(value_utf8); |
-} |
- |
-bool AXPlatformNode::GetString16Attribute( |
- ui::AXStringAttribute attribute, |
- base::string16* value) const { |
- std::string value_utf8; |
- if (!GetStringAttribute(attribute, &value_utf8)) |
- return false; |
- *value = base::UTF8ToUTF16(value_utf8); |
- return true; |
-} |
- |
-bool AXPlatformNode::HasIntListAttribute( |
- ui::AXIntListAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- for (size_t i = 0; i < data.intlist_attributes.size(); ++i) { |
- if (data.intlist_attributes[i].first == attribute) |
- return true; |
- } |
- |
- return false; |
-} |
- |
-const std::vector<int32>& AXPlatformNode::GetIntListAttribute( |
- ui::AXIntListAttribute attribute) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- CR_DEFINE_STATIC_LOCAL(std::vector<int32>, empty_vector, ()); |
- 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; |
-} |
- |
-bool AXPlatformNode::GetIntListAttribute( |
- ui::AXIntListAttribute attribute, |
- std::vector<int32>* value) const { |
- ui::AXNodeData* data = delegate_->GetData(); |
- if (!data) |
- return false; |
- |
- 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; |
- } |
- } |
- |
- return false; |
-} |
- |
-bool AXPlatformNode::GetHtmlAttribute( |
- const char* html_attr, std::string* value) const { |
- for (size_t i = 0; i < GetHtmlAttributes().size(); ++i) { |
- const std::string& attr = GetHtmlAttributes()[i].first; |
- if (LowerCaseEqualsASCII(attr, html_attr)) { |
- *value = GetHtmlAttributes()[i].second; |
- return true; |
- } |
- } |
- |
- return false; |
-} |
- |
-bool AXPlatformNode::GetHtmlAttribute( |
- const char* html_attr, base::string16* value) const { |
- std::string value_utf8; |
- if (!GetHtmlAttribute(html_attr, &value_utf8)) |
- return false; |
- *value = base::UTF8ToUTF16(value_utf8); |
- return true; |
+ return this; |
} |
} // namespace ui |