diff options
author | dmazzoni@google.com <dmazzoni@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-06 22:30:54 +0000 |
---|---|---|
committer | dmazzoni@google.com <dmazzoni@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-06 22:30:54 +0000 |
commit | 5eec2f56c9ad54bbb2ed150d67a2b46d9a01cc68 (patch) | |
tree | 73f3a82eb83f997dd4454fca180da67640dce643 /content/browser | |
parent | 06173a82fdb09588840ceea826486beb83fbe4fd (diff) | |
download | chromium_src-5eec2f56c9ad54bbb2ed150d67a2b46d9a01cc68.zip chromium_src-5eec2f56c9ad54bbb2ed150d67a2b46d9a01cc68.tar.gz chromium_src-5eec2f56c9ad54bbb2ed150d67a2b46d9a01cc68.tar.bz2 |
Refactor content/ to use ui::AXNodeData instead of blink.
This is a huge change, but it's all refactoring / renaming.
There should be no new logic.
BUG=316726
R=dtseng@chromium.org, jam@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/116293005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243187 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
29 files changed, 1316 insertions, 1317 deletions
diff --git a/content/browser/accessibility/accessibility_tree_formatter_android.cc b/content/browser/accessibility/accessibility_tree_formatter_android.cc index 33b5196..65f8fa3 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_android.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_android.cc @@ -14,7 +14,6 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "content/browser/accessibility/browser_accessibility_android.h" -#include "content/common/accessibility_node_data.h" using base::StringPrintf; diff --git a/content/browser/accessibility/accessibility_tree_formatter_win.cc b/content/browser/accessibility/accessibility_tree_formatter_win.cc index 401f89b..76db849 100644 --- a/content/browser/accessibility/accessibility_tree_formatter_win.cc +++ b/content/browser/accessibility/accessibility_tree_formatter_win.cc @@ -15,7 +15,6 @@ #include "content/browser/accessibility/accessibility_tree_formatter_utils_win.h" #include "content/browser/accessibility/browser_accessibility_manager.h" #include "content/browser/accessibility/browser_accessibility_win.h" -#include "content/common/accessibility_node_data.h" #include "third_party/iaccessible2/ia2_api_all.h" #include "ui/base/win/atl_module.h" diff --git a/content/browser/accessibility/accessibility_win_browsertest.cc b/content/browser/accessibility/accessibility_win_browsertest.cc index b94e145..10e5bd6 100644 --- a/content/browser/accessibility/accessibility_win_browsertest.cc +++ b/content/browser/accessibility/accessibility_win_browsertest.cc @@ -149,7 +149,7 @@ void AccessibilityWinBrowserTest::LoadInitialAccessibilityTreeFromHtml( const std::string& html) { AccessibilityNotificationWaiter waiter( shell(), AccessibilityModeComplete, - blink::WebAXEventLoadComplete); + ui::AX_EVENT_LOAD_COMPLETE); GURL html_data_url("data:text/html," + html); NavigateToURL(shell(), html_data_url); waiter.WaitForNotification(); @@ -505,7 +505,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, scoped_ptr<AccessibilityNotificationWaiter> waiter( new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventFocus)); + ui::AX_EVENT_FOCUS)); ExecuteScript(L"document.body.children[0].focus()"); waiter->WaitForNotification(); @@ -517,7 +517,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, // Set the active descendant of the radio group waiter.reset(new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventFocus)); + ui::AX_EVENT_FOCUS)); ExecuteScript( L"document.body.children[0].setAttribute('aria-activedescendant', 'li')"); waiter->WaitForNotification(); @@ -550,7 +550,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, scoped_ptr<AccessibilityNotificationWaiter> waiter( new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventCheckedStateChanged)); + ui::AX_EVENT_CHECKED_STATE_CHANGED)); ExecuteScript(L"document.body.children[0].checked=true"); waiter->WaitForNotification(); @@ -578,7 +578,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventChildrenChanged)); + ui::AX_EVENT_CHILDREN_CHANGED)); ExecuteScript(L"document.body.innerHTML='<b>new text</b>'"); waiter->WaitForNotification(); @@ -603,7 +603,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, scoped_ptr<AccessibilityNotificationWaiter> waiter( new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventChildrenChanged)); + ui::AX_EVENT_CHILDREN_CHANGED)); ExecuteScript(L"document.body.children[0].style.visibility='visible'"); waiter->WaitForNotification(); @@ -636,7 +636,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, scoped_ptr<AccessibilityNotificationWaiter> waiter( new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventFocus)); + ui::AX_EVENT_FOCUS)); ExecuteScript(L"document.body.children[0].focus()"); waiter->WaitForNotification(); @@ -650,7 +650,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, waiter.reset( new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventBlur)); + ui::AX_EVENT_BLUR)); base::win::ScopedComPtr<IAccessible> document_accessible( GetRendererAccessible()); ASSERT_NE(document_accessible.get(), reinterpret_cast<IAccessible*>(NULL)); @@ -686,7 +686,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, scoped_ptr<AccessibilityNotificationWaiter> waiter( new AccessibilityNotificationWaiter( shell(), AccessibilityModeComplete, - blink::WebAXEventValueChanged)); + ui::AX_EVENT_VALUE_CHANGE)); ExecuteScript(L"document.body.children[0].value='new value'"); waiter->WaitForNotification(); diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc index 1fa15e0..452f01b 100644 --- a/content/browser/accessibility/browser_accessibility.cc +++ b/content/browser/accessibility/browser_accessibility.cc @@ -13,11 +13,6 @@ namespace content { -typedef AccessibilityNodeData::BoolAttribute BoolAttribute; -typedef AccessibilityNodeData::FloatAttribute FloatAttribute; -typedef AccessibilityNodeData::IntAttribute IntAttribute; -typedef AccessibilityNodeData::StringAttribute StringAttribute; - #if !defined(OS_MACOSX) && \ !defined(OS_WIN) && \ !defined(TOOLKIT_GTK) && \ @@ -51,11 +46,11 @@ bool BrowserAccessibility::PlatformIsLeaf() const { // implementation details, but we want to expose them as leaves // to platform accessibility APIs. switch (role_) { - case blink::WebAXRoleEditableText: - case blink::WebAXRoleSlider: - case blink::WebAXRoleStaticText: - case blink::WebAXRoleTextArea: - case blink::WebAXRoleTextField: + case ui::AX_ROLE_EDITABLE_TEXT: + case ui::AX_ROLE_SLIDER: + case ui::AX_ROLE_STATIC_TEXT: + case ui::AX_ROLE_TEXT_AREA: + case ui::AX_ROLE_TEXT_FIELD: return true; default: return false; @@ -86,7 +81,7 @@ void BrowserAccessibility::InitializeTreeStructure( index_in_parent_ = index_in_parent; } -void BrowserAccessibility::InitializeData(const AccessibilityNodeData& src) { +void BrowserAccessibility::InitializeData(const ui::AXNodeData& src) { DCHECK_EQ(renderer_id_, src.id); role_ = src.role; state_ = src.state; @@ -99,8 +94,8 @@ void BrowserAccessibility::InitializeData(const AccessibilityNodeData& src) { location_ = src.location; instance_active_ = true; - GetStringAttribute(AccessibilityNodeData::ATTR_NAME, &name_); - GetStringAttribute(AccessibilityNodeData::ATTR_VALUE, &value_); + GetStringAttribute(ui::AX_ATTR_NAME, &name_); + GetStringAttribute(ui::AX_ATTR_VALUE, &value_); PreInitialize(); } @@ -166,8 +161,8 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsRect() const { // nested web area. BrowserAccessibility* parent = parent_; bool need_to_offset_web_area = - (role_ == blink::WebAXRoleWebArea || - role_ == blink::WebAXRoleRootWebArea); + (role_ == ui::AX_ROLE_WEB_AREA || + role_ == ui::AX_ROLE_ROOT_WEB_AREA); while (parent) { if (need_to_offset_web_area && parent->location().width() > 0 && @@ -178,17 +173,17 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsRect() const { // On some platforms, we don't want to take the root scroll offsets // into account. - if (parent->role() == blink::WebAXRoleRootWebArea && + if (parent->role() == ui::AX_ROLE_ROOT_WEB_AREA && !manager()->UseRootScrollOffsetsWhenComputingBounds()) { break; } - if (parent->role() == blink::WebAXRoleWebArea || - parent->role() == blink::WebAXRoleRootWebArea) { + if (parent->role() == ui::AX_ROLE_WEB_AREA || + parent->role() == ui::AX_ROLE_ROOT_WEB_AREA) { int sx = 0; int sy = 0; - if (parent->GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_X, &sx) && - parent->GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_Y, &sy)) { + if (parent->GetIntAttribute(ui::AX_ATTR_SCROLL_X, &sx) && + parent->GetIntAttribute(ui::AX_ATTR_SCROLL_Y, &sy)) { bounds.Offset(-sx, -sy); } need_to_offset_web_area = true; @@ -211,7 +206,7 @@ gfx::Rect BrowserAccessibility::GetGlobalBoundsRect() const { gfx::Rect BrowserAccessibility::GetLocalBoundsForRange(int start, int len) const { - if (role_ != blink::WebAXRoleStaticText) { + if (role() != 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 @@ -236,9 +231,9 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsForRange(int start, int len) gfx::Rect bounds; for (size_t i = 0; i < children_.size() && child_end < start + len; ++i) { BrowserAccessibility* child = children_[i]; - DCHECK_EQ(child->role(), blink::WebAXRoleInlineTextBox); + DCHECK_EQ(child->role(), ui::AX_ROLE_INLINE_TEXT_BOX); std::string child_text; - child->GetStringAttribute(AccessibilityNodeData::ATTR_VALUE, &child_text); + child->GetStringAttribute(ui::AX_ATTR_VALUE, &child_text); int child_len = static_cast<int>(child_text.size()); child_start = child_end; child_end += child_len; @@ -254,9 +249,9 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsForRange(int start, int len) gfx::Rect child_rect = child->location(); int text_direction = child->GetIntAttribute( - AccessibilityNodeData::ATTR_TEXT_DIRECTION); + ui::AX_ATTR_TEXT_DIRECTION); const std::vector<int32>& character_offsets = child->GetIntListAttribute( - AccessibilityNodeData::ATTR_CHARACTER_OFFSETS); + ui::AX_ATTR_CHARACTER_OFFSETS); int start_pixel_offset = local_start > 0 ? character_offsets[local_start - 1] : 0; int end_pixel_offset = @@ -264,28 +259,28 @@ gfx::Rect BrowserAccessibility::GetLocalBoundsForRange(int start, int len) gfx::Rect child_overlap_rect; switch (text_direction) { - case blink::WebAXTextDirectionLR: { + case ui::AX_TEXT_DIRECTION_LR: { int left = child_rect.x() + start_pixel_offset; int right = child_rect.x() + end_pixel_offset; child_overlap_rect = gfx::Rect(left, child_rect.y(), right - left, child_rect.height()); break; } - case blink::WebAXTextDirectionRL: { + case ui::AX_TEXT_DIRECTION_RL: { int right = child_rect.right() - start_pixel_offset; int left = child_rect.right() - end_pixel_offset; child_overlap_rect = gfx::Rect(left, child_rect.y(), right - left, child_rect.height()); break; } - case blink::WebAXTextDirectionTB: { + case ui::AX_TEXT_DIRECTION_TB: { int top = child_rect.y() + start_pixel_offset; int bottom = child_rect.y() + end_pixel_offset; child_overlap_rect = gfx::Rect(child_rect.x(), top, child_rect.width(), bottom - top); break; } - case blink::WebAXTextDirectionBT: { + case ui::AX_TEXT_DIRECTION_BT: { int bottom = child_rect.bottom() - start_pixel_offset; int top = child_rect.bottom() - end_pixel_offset; child_overlap_rect = gfx::Rect(child_rect.x(), top, @@ -341,8 +336,7 @@ void BrowserAccessibility::Destroy() { value_.clear(); PostInitialize(); - manager_->NotifyAccessibilityEvent( - blink::WebAXEventHide, this); + manager_->NotifyAccessibilityEvent(ui::AX_EVENT_HIDE, this); instance_active_ = false; manager_->RemoveNode(this); @@ -353,7 +347,8 @@ void BrowserAccessibility::NativeReleaseReference() { delete this; } -bool BrowserAccessibility::HasBoolAttribute(BoolAttribute attribute) const { +bool BrowserAccessibility::HasBoolAttribute( + ui::AXBoolAttribute attribute) const { for (size_t i = 0; i < bool_attributes_.size(); ++i) { if (bool_attributes_[i].first == attribute) return true; @@ -363,7 +358,8 @@ bool BrowserAccessibility::HasBoolAttribute(BoolAttribute attribute) const { } -bool BrowserAccessibility::GetBoolAttribute(BoolAttribute attribute) const { +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; @@ -373,7 +369,7 @@ bool BrowserAccessibility::GetBoolAttribute(BoolAttribute attribute) const { } bool BrowserAccessibility::GetBoolAttribute( - BoolAttribute attribute, bool* value) const { + 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; @@ -384,7 +380,8 @@ bool BrowserAccessibility::GetBoolAttribute( return false; } -bool BrowserAccessibility::HasFloatAttribute(FloatAttribute attribute) const { +bool BrowserAccessibility::HasFloatAttribute( + ui::AXFloatAttribute attribute) const { for (size_t i = 0; i < float_attributes_.size(); ++i) { if (float_attributes_[i].first == attribute) return true; @@ -393,7 +390,8 @@ bool BrowserAccessibility::HasFloatAttribute(FloatAttribute attribute) const { return false; } -float BrowserAccessibility::GetFloatAttribute(FloatAttribute attribute) const { +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; @@ -403,7 +401,7 @@ float BrowserAccessibility::GetFloatAttribute(FloatAttribute attribute) const { } bool BrowserAccessibility::GetFloatAttribute( - FloatAttribute attribute, float* value) const { + 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; @@ -414,7 +412,8 @@ bool BrowserAccessibility::GetFloatAttribute( return false; } -bool BrowserAccessibility::HasIntAttribute(IntAttribute attribute) const { +bool BrowserAccessibility::HasIntAttribute( + ui::AXIntAttribute attribute) const { for (size_t i = 0; i < int_attributes_.size(); ++i) { if (int_attributes_[i].first == attribute) return true; @@ -423,7 +422,7 @@ bool BrowserAccessibility::HasIntAttribute(IntAttribute attribute) const { return false; } -int BrowserAccessibility::GetIntAttribute(IntAttribute attribute) const { +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; @@ -433,7 +432,7 @@ int BrowserAccessibility::GetIntAttribute(IntAttribute attribute) const { } bool BrowserAccessibility::GetIntAttribute( - IntAttribute attribute, int* value) const { + 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; @@ -444,7 +443,8 @@ bool BrowserAccessibility::GetIntAttribute( return false; } -bool BrowserAccessibility::HasStringAttribute(StringAttribute attribute) const { +bool BrowserAccessibility::HasStringAttribute( + ui::AXStringAttribute attribute) const { for (size_t i = 0; i < string_attributes_.size(); ++i) { if (string_attributes_[i].first == attribute) return true; @@ -454,7 +454,7 @@ bool BrowserAccessibility::HasStringAttribute(StringAttribute attribute) const { } const std::string& BrowserAccessibility::GetStringAttribute( - StringAttribute attribute) const { + 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) @@ -465,7 +465,7 @@ const std::string& BrowserAccessibility::GetStringAttribute( } bool BrowserAccessibility::GetStringAttribute( - StringAttribute attribute, std::string* value) const { + 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; @@ -477,7 +477,7 @@ bool BrowserAccessibility::GetStringAttribute( } base::string16 BrowserAccessibility::GetString16Attribute( - StringAttribute attribute) const { + ui::AXStringAttribute attribute) const { std::string value_utf8; if (!GetStringAttribute(attribute, &value_utf8)) return base::string16(); @@ -485,7 +485,7 @@ base::string16 BrowserAccessibility::GetString16Attribute( } bool BrowserAccessibility::GetString16Attribute( - StringAttribute attribute, + ui::AXStringAttribute attribute, base::string16* value) const { std::string value_utf8; if (!GetStringAttribute(attribute, &value_utf8)) @@ -495,7 +495,7 @@ bool BrowserAccessibility::GetString16Attribute( } void BrowserAccessibility::SetStringAttribute( - StringAttribute attribute, const std::string& value) { + 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; @@ -507,7 +507,7 @@ void BrowserAccessibility::SetStringAttribute( } bool BrowserAccessibility::HasIntListAttribute( - AccessibilityNodeData::IntListAttribute attribute) const { + ui::AXIntListAttribute attribute) const { for (size_t i = 0; i < intlist_attributes_.size(); ++i) { if (intlist_attributes_[i].first == attribute) return true; @@ -517,7 +517,7 @@ bool BrowserAccessibility::HasIntListAttribute( } const std::vector<int32>& BrowserAccessibility::GetIntListAttribute( - AccessibilityNodeData::IntListAttribute attribute) const { + 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) @@ -528,7 +528,7 @@ const std::vector<int32>& BrowserAccessibility::GetIntListAttribute( } bool BrowserAccessibility::GetIntListAttribute( - AccessibilityNodeData::IntListAttribute attribute, + ui::AXIntListAttribute attribute, std::vector<int32>* value) const { for (size_t i = 0; i < intlist_attributes_.size(); ++i) { if (intlist_attributes_[i].first == attribute) { @@ -587,24 +587,24 @@ bool BrowserAccessibility::GetAriaTristate( return false; // Not set } -bool BrowserAccessibility::HasState(blink::WebAXState state_enum) const { +bool BrowserAccessibility::HasState(ui::AXState state_enum) const { return (state_ >> state_enum) & 1; } bool BrowserAccessibility::IsEditableText() const { // These roles don't have readonly set, but they're not editable text. - if (role_ == blink::WebAXRoleScrollArea || - role_ == blink::WebAXRoleColumn || - role_ == blink::WebAXRoleTableHeaderContainer) { + if (role_ == ui::AX_ROLE_SCROLL_AREA || + role_ == ui::AX_ROLE_COLUMN || + role_ == ui::AX_ROLE_TABLE_HEADER_CONTAINER) { return false; } // Note: WebAXStateReadonly being false means it's either a text control, // or contenteditable. We also check for editable text roles to cover // another element that has role=textbox set on it. - return (!HasState(blink::WebAXStateReadonly) || - role_ == blink::WebAXRoleTextField || - role_ == blink::WebAXRoleTextArea); + return (!HasState(ui::AX_STATE_READONLY) || + role_ == ui::AX_ROLE_TEXT_FIELD || + role_ == ui::AX_ROLE_TEXT_AREA); } std::string BrowserAccessibility::GetTextRecursive() const { @@ -619,10 +619,8 @@ std::string BrowserAccessibility::GetTextRecursive() const { } int BrowserAccessibility::GetStaticTextLenRecursive() const { - if (role_ == blink::WebAXRoleStaticText) { - return static_cast<int>( - GetStringAttribute(AccessibilityNodeData::ATTR_VALUE).size()); - } + if (role_ == blink::WebAXRoleStaticText) + return static_cast<int>(GetStringAttribute(ui::AX_ATTR_VALUE).size()); int len = 0; for (size_t i = 0; i < children_.size(); ++i) diff --git a/content/browser/accessibility/browser_accessibility.h b/content/browser/accessibility/browser_accessibility.h index 781ccff..d1df6b9 100644 --- a/content/browser/accessibility/browser_accessibility.h +++ b/content/browser/accessibility/browser_accessibility.h @@ -12,9 +12,9 @@ #include "base/basictypes.h" #include "base/strings/string16.h" #include "build/build_config.h" -#include "content/common/accessibility_node_data.h" #include "content/common/content_export.h" #include "third_party/WebKit/public/web/WebAXEnums.h" +#include "ui/accessibility/ax_node_data.h" #if defined(OS_MACOSX) && __OBJC__ @class BrowserAccessibilityCocoa; @@ -70,7 +70,7 @@ class CONTENT_EXPORT BrowserAccessibility { int32 index_in_parent); // Initialize this object's data. - void InitializeData(const AccessibilityNodeData& src); + void InitializeData(const ui::AXNodeData& src); virtual void SwapChildren(std::vector<BrowserAccessibility*>& children); @@ -197,43 +197,37 @@ class CONTENT_EXPORT BrowserAccessibility { // attribute is not present. In addition, strings can be returned as // either std::string or base::string16, for convenience. - bool HasBoolAttribute(AccessibilityNodeData::BoolAttribute attr) const; - bool GetBoolAttribute(AccessibilityNodeData::BoolAttribute attr) const; - bool GetBoolAttribute(AccessibilityNodeData::BoolAttribute attr, - bool* value) const; + bool HasBoolAttribute(ui::AXBoolAttribute attr) const; + bool GetBoolAttribute(ui::AXBoolAttribute attr) const; + bool GetBoolAttribute(ui::AXBoolAttribute attr, bool* value) const; - bool HasFloatAttribute(AccessibilityNodeData::FloatAttribute attr) const; - float GetFloatAttribute(AccessibilityNodeData::FloatAttribute attr) const; - bool GetFloatAttribute(AccessibilityNodeData::FloatAttribute attr, - float* value) const; + bool HasFloatAttribute(ui::AXFloatAttribute attr) const; + float GetFloatAttribute(ui::AXFloatAttribute attr) const; + bool GetFloatAttribute(ui::AXFloatAttribute attr, float* value) const; - bool HasIntAttribute(AccessibilityNodeData::IntAttribute attribute) const; - int GetIntAttribute(AccessibilityNodeData::IntAttribute attribute) const; - bool GetIntAttribute(AccessibilityNodeData::IntAttribute attribute, - int* value) const; + bool HasIntAttribute(ui::AXIntAttribute attribute) const; + int GetIntAttribute(ui::AXIntAttribute attribute) const; + bool GetIntAttribute(ui::AXIntAttribute attribute, int* value) const; bool HasStringAttribute( - AccessibilityNodeData::StringAttribute attribute) const; - const std::string& GetStringAttribute( - AccessibilityNodeData::StringAttribute attribute) const; - bool GetStringAttribute(AccessibilityNodeData::StringAttribute attribute, + ui::AXStringAttribute attribute) const; + const std::string& GetStringAttribute(ui::AXStringAttribute attribute) const; + bool GetStringAttribute(ui::AXStringAttribute attribute, std::string* value) const; - bool GetString16Attribute(AccessibilityNodeData::StringAttribute attribute, + bool GetString16Attribute(ui::AXStringAttribute attribute, base::string16* value) const; base::string16 GetString16Attribute( - AccessibilityNodeData::StringAttribute attribute) const; + ui::AXStringAttribute attribute) const; - bool HasIntListAttribute( - AccessibilityNodeData::IntListAttribute attribute) const; + bool HasIntListAttribute(ui::AXIntListAttribute attribute) const; const std::vector<int32>& GetIntListAttribute( - AccessibilityNodeData::IntListAttribute attribute) const; - bool GetIntListAttribute(AccessibilityNodeData::IntListAttribute attribute, + ui::AXIntListAttribute attribute) const; + bool GetIntListAttribute(ui::AXIntListAttribute attribute, std::vector<int32>* value) const; - void SetStringAttribute( - AccessibilityNodeData::StringAttribute attribute, - const std::string& value); + void SetStringAttribute(ui::AXStringAttribute attribute, + const std::string& value); // Retrieve the value of a html attribute from the attribute map and // returns true if found. @@ -257,7 +251,7 @@ class CONTENT_EXPORT BrowserAccessibility { bool* is_mixed) const; // Returns true if the bit corresponding to the given state enum is 1. - bool HasState(blink::WebAXState state_enum) const; + bool HasState(ui::AXState state_enum) const; // Returns true if this node is an editable text field of any kind. bool IsEditableText() const; @@ -299,15 +293,15 @@ class CONTENT_EXPORT BrowserAccessibility { std::string name_; std::string value_; std::vector<std::pair< - AccessibilityNodeData::BoolAttribute, bool> > bool_attributes_; + ui::AXBoolAttribute, bool> > bool_attributes_; std::vector<std::pair< - AccessibilityNodeData::FloatAttribute, float> > float_attributes_; + ui::AXFloatAttribute, float> > float_attributes_; std::vector<std::pair< - AccessibilityNodeData::IntAttribute, int> > int_attributes_; + ui::AXIntAttribute, int> > int_attributes_; std::vector<std::pair< - AccessibilityNodeData::StringAttribute, std::string> > string_attributes_; + ui::AXStringAttribute, std::string> > string_attributes_; std::vector<std::pair< - AccessibilityNodeData::IntListAttribute, std::vector<int32> > > + ui::AXIntListAttribute, std::vector<int32> > > intlist_attributes_; std::vector<std::pair<std::string, std::string> > html_attributes_; int32 role_; diff --git a/content/browser/accessibility/browser_accessibility_android.cc b/content/browser/accessibility/browser_accessibility_android.cc index b070475..b86374a 100644 --- a/content/browser/accessibility/browser_accessibility_android.cc +++ b/content/browser/accessibility/browser_accessibility_android.cc @@ -7,7 +7,6 @@ #include "base/strings/utf_string_conversions.h" #include "content/browser/accessibility/browser_accessibility_manager_android.h" #include "content/common/accessibility_messages.h" -#include "content/common/accessibility_node_data.h" namespace { @@ -62,8 +61,8 @@ bool BrowserAccessibilityAndroid::PlatformIsLeaf() const { // Iframes are always allowed to contain children. if (IsIframe() || - role() == blink::WebAXRoleRootWebArea || - role() == blink::WebAXRoleWebArea) { + role() == ui::AX_ROLE_ROOT_WEB_AREA || + role() == ui::AX_ROLE_WEB_AREA) { return false; } @@ -73,11 +72,11 @@ bool BrowserAccessibilityAndroid::PlatformIsLeaf() const { // Headings with text can drop their children. base::string16 name = GetText(); - if (role() == blink::WebAXRoleHeading && !name.empty()) + if (role() == ui::AX_ROLE_HEADING && !name.empty()) return true; // Focusable nodes with text can drop their children. - if (HasState(blink::WebAXStateFocusable) && !name.empty()) + if (HasState(ui::AX_STATE_FOCUSABLE) && !name.empty()) return true; // Nodes with only static text as children can drop their children. @@ -92,18 +91,18 @@ bool BrowserAccessibilityAndroid::IsCheckable() const { bool is_aria_pressed_defined; bool is_mixed; GetAriaTristate("aria-pressed", &is_aria_pressed_defined, &is_mixed); - if (role() == blink::WebAXRoleCheckBox || - role() == blink::WebAXRoleRadioButton || + if (role() == ui::AX_ROLE_CHECK_BOX || + role() == ui::AX_ROLE_RADIO_BUTTON || is_aria_pressed_defined) { checkable = true; } - if (HasState(blink::WebAXStateChecked)) + if (HasState(ui::AX_STATE_CHECKED)) checkable = true; return checkable; } bool BrowserAccessibilityAndroid::IsChecked() const { - return HasState(blink::WebAXStateChecked); + return HasState(ui::AX_STATE_CHECKED); } bool BrowserAccessibilityAndroid::IsClickable() const { @@ -111,21 +110,21 @@ bool BrowserAccessibilityAndroid::IsClickable() const { } bool BrowserAccessibilityAndroid::IsCollection() const { - return (role() == blink::WebAXRoleGrid || - role() == blink::WebAXRoleList || - role() == blink::WebAXRoleListBox || - role() == blink::WebAXRoleTable || - role() == blink::WebAXRoleTree); + return (role() == ui::AX_ROLE_GRID || + role() == ui::AX_ROLE_LIST || + role() == ui::AX_ROLE_LIST_BOX || + role() == ui::AX_ROLE_TABLE || + role() == ui::AX_ROLE_TREE); } bool BrowserAccessibilityAndroid::IsCollectionItem() const { - return (role() == blink::WebAXRoleCell || - role() == blink::WebAXRoleColumnHeader || - role() == blink::WebAXRoleDescriptionListTerm || - role() == blink::WebAXRoleListBoxOption || - role() == blink::WebAXRoleListItem || - role() == blink::WebAXRoleRowHeader || - role() == blink::WebAXRoleTreeItem); + return (role() == ui::AX_ROLE_CELL || + role() == ui::AX_ROLE_COLUMN_HEADER || + role() == ui::AX_ROLE_DESCRIPTION_LIST_TERM || + role() == ui::AX_ROLE_LIST_BOX_OPTION || + role() == ui::AX_ROLE_LIST_ITEM || + role() == ui::AX_ROLE_ROW_HEADER || + role() == ui::AX_ROLE_TREE_ITEM); } bool BrowserAccessibilityAndroid::IsContentInvalid() const { @@ -138,13 +137,13 @@ bool BrowserAccessibilityAndroid::IsDismissable() const { } bool BrowserAccessibilityAndroid::IsEnabled() const { - return HasState(blink::WebAXStateEnabled); + return HasState(ui::AX_STATE_ENABLED); } bool BrowserAccessibilityAndroid::IsFocusable() const { - bool focusable = HasState(blink::WebAXStateFocusable); + bool focusable = HasState(ui::AX_STATE_FOCUSABLE); if (IsIframe() || - role() == blink::WebAXRoleWebArea) { + role() == ui::AX_ROLE_WEB_AREA) { focusable = false; } return focusable; @@ -155,96 +154,96 @@ bool BrowserAccessibilityAndroid::IsFocused() const { } bool BrowserAccessibilityAndroid::IsHeading() const { - return (role() == blink::WebAXRoleColumnHeader || - role() == blink::WebAXRoleHeading || - role() == blink::WebAXRoleRowHeader); + return (role() == ui::AX_ROLE_COLUMN_HEADER || + role() == ui::AX_ROLE_HEADING || + role() == ui::AX_ROLE_ROW_HEADER); } bool BrowserAccessibilityAndroid::IsHierarchical() const { - return (role() == blink::WebAXRoleList || - role() == blink::WebAXRoleTree); + return (role() == ui::AX_ROLE_LIST || + role() == ui::AX_ROLE_TREE); } bool BrowserAccessibilityAndroid::IsMultiLine() const { - return role() == blink::WebAXRoleTextArea; + return role() == ui::AX_ROLE_TEXT_AREA; } bool BrowserAccessibilityAndroid::IsPassword() const { - return HasState(blink::WebAXStateProtected); + return HasState(ui::AX_STATE_PROTECTED); } bool BrowserAccessibilityAndroid::IsRangeType() const { - return (role() == blink::WebAXRoleProgressIndicator || - role() == blink::WebAXRoleScrollBar || - role() == blink::WebAXRoleSlider); + return (role() == ui::AX_ROLE_PROGRESS_INDICATOR || + role() == ui::AX_ROLE_SCROLL_BAR || + role() == ui::AX_ROLE_SLIDER); } bool BrowserAccessibilityAndroid::IsScrollable() const { int dummy; - return GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_X_MAX, &dummy); + return GetIntAttribute(ui::AX_ATTR_SCROLL_X_MAX, &dummy); } bool BrowserAccessibilityAndroid::IsSelected() const { - return HasState(blink::WebAXStateSelected); + return HasState(ui::AX_STATE_SELECTED); } bool BrowserAccessibilityAndroid::IsVisibleToUser() const { - return !HasState(blink::WebAXStateInvisible); + return !HasState(ui::AX_STATE_INVISIBLE); } bool BrowserAccessibilityAndroid::CanOpenPopup() const { - return HasState(blink::WebAXStateHaspopup); + return HasState(ui::AX_STATE_HASPOPUP); } const char* BrowserAccessibilityAndroid::GetClassName() const { const char* class_name = NULL; switch(role()) { - case blink::WebAXRoleEditableText: - case blink::WebAXRoleSpinButton: - case blink::WebAXRoleTextArea: - case blink::WebAXRoleTextField: + case ui::AX_ROLE_EDITABLE_TEXT: + case ui::AX_ROLE_SPIN_BUTTON: + case ui::AX_ROLE_TEXT_AREA: + case ui::AX_ROLE_TEXT_FIELD: class_name = "android.widget.EditText"; break; - case blink::WebAXRoleSlider: + case ui::AX_ROLE_SLIDER: class_name = "android.widget.SeekBar"; break; - case blink::WebAXRoleComboBox: + case ui::AX_ROLE_COMBO_BOX: class_name = "android.widget.Spinner"; break; - case blink::WebAXRoleButton: - case blink::WebAXRoleMenuButton: - case blink::WebAXRolePopUpButton: + case ui::AX_ROLE_BUTTON: + case ui::AX_ROLE_MENU_BUTTON: + case ui::AX_ROLE_POP_UP_BUTTON: class_name = "android.widget.Button"; break; - case blink::WebAXRoleCheckBox: + case ui::AX_ROLE_CHECK_BOX: class_name = "android.widget.CheckBox"; break; - case blink::WebAXRoleRadioButton: + case ui::AX_ROLE_RADIO_BUTTON: class_name = "android.widget.RadioButton"; break; - case blink::WebAXRoleToggleButton: + case ui::AX_ROLE_TOGGLE_BUTTON: class_name = "android.widget.ToggleButton"; break; - case blink::WebAXRoleCanvas: - case blink::WebAXRoleImage: + case ui::AX_ROLE_CANVAS: + case ui::AX_ROLE_IMAGE: class_name = "android.widget.Image"; break; - case blink::WebAXRoleProgressIndicator: + case ui::AX_ROLE_PROGRESS_INDICATOR: class_name = "android.widget.ProgressBar"; break; - case blink::WebAXRoleTabList: + case ui::AX_ROLE_TAB_LIST: class_name = "android.widget.TabWidget"; break; - case blink::WebAXRoleGrid: - case blink::WebAXRoleTable: + case ui::AX_ROLE_GRID: + case ui::AX_ROLE_TABLE: class_name = "android.widget.GridView"; break; - case blink::WebAXRoleList: - case blink::WebAXRoleListBox: + case ui::AX_ROLE_LIST: + case ui::AX_ROLE_LIST_BOX: class_name = "android.widget.ListView"; break; - case blink::WebAXRoleDialog: + case ui::AX_ROLE_DIALOG: class_name = "android.app.Dialog"; break; default: @@ -257,12 +256,12 @@ const char* BrowserAccessibilityAndroid::GetClassName() const { base::string16 BrowserAccessibilityAndroid::GetText() const { if (IsIframe() || - role() == blink::WebAXRoleWebArea) { + role() == ui::AX_ROLE_WEB_AREA) { return base::string16(); } base::string16 description = GetString16Attribute( - AccessibilityNodeData::ATTR_DESCRIPTION); + ui::AX_ATTR_DESCRIPTION); base::string16 text; if (!name().empty()) text = base::UTF8ToUTF16(name()); @@ -281,13 +280,13 @@ base::string16 BrowserAccessibilityAndroid::GetText() const { } switch(role()) { - case blink::WebAXRoleImageMapLink: - case blink::WebAXRoleLink: + case ui::AX_ROLE_IMAGE_MAP_LINK: + case ui::AX_ROLE_LINK: if (!text.empty()) text += base::ASCIIToUTF16(" "); text += base::ASCIIToUTF16("Link"); break; - case blink::WebAXRoleHeading: + case ui::AX_ROLE_HEADING: // Only append "heading" if this node already has text. if (!text.empty()) text += base::ASCIIToUTF16(" Heading"); @@ -300,16 +299,16 @@ base::string16 BrowserAccessibilityAndroid::GetText() const { int BrowserAccessibilityAndroid::GetItemIndex() const { int index = 0; switch(role()) { - case blink::WebAXRoleListItem: - case blink::WebAXRoleListBoxOption: - case blink::WebAXRoleTreeItem: + case ui::AX_ROLE_LIST_ITEM: + case ui::AX_ROLE_LIST_BOX_OPTION: + case ui::AX_ROLE_TREE_ITEM: index = index_in_parent(); break; - case blink::WebAXRoleSlider: - case blink::WebAXRoleProgressIndicator: { + case ui::AX_ROLE_SLIDER: + case ui::AX_ROLE_PROGRESS_INDICATOR: { float value_for_range; if (GetFloatAttribute( - AccessibilityNodeData::ATTR_VALUE_FOR_RANGE, &value_for_range)) { + ui::AX_ATTR_VALUE_FOR_RANGE, &value_for_range)) { index = static_cast<int>(value_for_range); } break; @@ -321,14 +320,14 @@ int BrowserAccessibilityAndroid::GetItemIndex() const { int BrowserAccessibilityAndroid::GetItemCount() const { int count = 0; switch(role()) { - case blink::WebAXRoleList: - case blink::WebAXRoleListBox: + case ui::AX_ROLE_LIST: + case ui::AX_ROLE_LIST_BOX: count = PlatformChildCount(); break; - case blink::WebAXRoleSlider: - case blink::WebAXRoleProgressIndicator: { + case ui::AX_ROLE_SLIDER: + case ui::AX_ROLE_PROGRESS_INDICATOR: { float max_value_for_range; - if (GetFloatAttribute(AccessibilityNodeData::ATTR_MAX_VALUE_FOR_RANGE, + if (GetFloatAttribute(ui::AX_ATTR_MAX_VALUE_FOR_RANGE, &max_value_for_range)) { count = static_cast<int>(max_value_for_range); } @@ -340,25 +339,25 @@ int BrowserAccessibilityAndroid::GetItemCount() const { int BrowserAccessibilityAndroid::GetScrollX() const { int value = 0; - GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_X, &value); + GetIntAttribute(ui::AX_ATTR_SCROLL_X, &value); return value; } int BrowserAccessibilityAndroid::GetScrollY() const { int value = 0; - GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_Y, &value); + GetIntAttribute(ui::AX_ATTR_SCROLL_Y, &value); return value; } int BrowserAccessibilityAndroid::GetMaxScrollX() const { int value = 0; - GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_X_MAX, &value); + GetIntAttribute(ui::AX_ATTR_SCROLL_X_MAX, &value); return value; } int BrowserAccessibilityAndroid::GetMaxScrollY() const { int value = 0; - GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_Y_MAX, &value); + GetIntAttribute(ui::AX_ATTR_SCROLL_Y_MAX, &value); return value; } @@ -414,13 +413,13 @@ base::string16 BrowserAccessibilityAndroid::GetTextChangeBeforeText() const { int BrowserAccessibilityAndroid::GetSelectionStart() const { int sel_start = 0; - GetIntAttribute(AccessibilityNodeData::ATTR_TEXT_SEL_START, &sel_start); + GetIntAttribute(ui::AX_ATTR_TEXT_SEL_START, &sel_start); return sel_start; } int BrowserAccessibilityAndroid::GetSelectionEnd() const { int sel_end = 0; - GetIntAttribute(AccessibilityNodeData::ATTR_TEXT_SEL_END, &sel_end); + GetIntAttribute(ui::AX_ATTR_TEXT_SEL_END, &sel_end); return sel_end; } @@ -430,7 +429,7 @@ int BrowserAccessibilityAndroid::GetEditableTextLength() const { int BrowserAccessibilityAndroid::AndroidInputType() const { std::string html_tag = GetStringAttribute( - AccessibilityNodeData::ATTR_HTML_TAG); + ui::AX_ATTR_HTML_TAG); if (html_tag != "input") return ANDROID_TEXT_INPUTTYPE_TYPE_NULL; @@ -466,7 +465,7 @@ int BrowserAccessibilityAndroid::AndroidInputType() const { int BrowserAccessibilityAndroid::AndroidLiveRegionType() const { std::string live = GetStringAttribute( - AccessibilityNodeData::ATTR_LIVE_STATUS); + ui::AX_ATTR_LIVE_STATUS); if (live == "polite") return ANDROID_VIEW_VIEW_ACCESSIBILITY_LIVE_REGION_POLITE; else if (live == "assertive") @@ -479,14 +478,14 @@ int BrowserAccessibilityAndroid::AndroidRangeType() const { } int BrowserAccessibilityAndroid::RowCount() const { - if (role() == blink::WebAXRoleGrid || - role() == blink::WebAXRoleTable) { - return CountChildrenWithRole(blink::WebAXRoleRow); + if (role() == ui::AX_ROLE_GRID || + role() == ui::AX_ROLE_TABLE) { + return CountChildrenWithRole(ui::AX_ROLE_ROW); } - if (role() == blink::WebAXRoleList || - role() == blink::WebAXRoleListBox || - role() == blink::WebAXRoleTree) { + if (role() == ui::AX_ROLE_LIST || + role() == ui::AX_ROLE_LIST_BOX || + role() == ui::AX_ROLE_TREE) { return PlatformChildCount(); } @@ -494,45 +493,45 @@ int BrowserAccessibilityAndroid::RowCount() const { } int BrowserAccessibilityAndroid::ColumnCount() const { - if (role() == blink::WebAXRoleGrid || - role() == blink::WebAXRoleTable) { - return CountChildrenWithRole(blink::WebAXRoleColumn); + if (role() == ui::AX_ROLE_GRID || + role() == ui::AX_ROLE_TABLE) { + return CountChildrenWithRole(ui::AX_ROLE_COLUMN); } return 0; } int BrowserAccessibilityAndroid::RowIndex() const { - if (role() == blink::WebAXRoleListItem || - role() == blink::WebAXRoleListBoxOption || - role() == blink::WebAXRoleTreeItem) { + if (role() == ui::AX_ROLE_LIST_ITEM || + role() == ui::AX_ROLE_LIST_BOX_OPTION || + role() == ui::AX_ROLE_TREE_ITEM) { return index_in_parent(); } - return GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX); + return GetIntAttribute(ui::AX_ATTR_TABLE_CELL_ROW_INDEX); } int BrowserAccessibilityAndroid::RowSpan() const { - return GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_ROW_SPAN); + return GetIntAttribute(ui::AX_ATTR_TABLE_CELL_ROW_SPAN); } int BrowserAccessibilityAndroid::ColumnIndex() const { - return GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX); + return GetIntAttribute(ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX); } int BrowserAccessibilityAndroid::ColumnSpan() const { - return GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN); + return GetIntAttribute(ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN); } float BrowserAccessibilityAndroid::RangeMin() const { - return GetFloatAttribute(AccessibilityNodeData::ATTR_MIN_VALUE_FOR_RANGE); + return GetFloatAttribute(ui::AX_ATTR_MIN_VALUE_FOR_RANGE); } float BrowserAccessibilityAndroid::RangeMax() const { - return GetFloatAttribute(AccessibilityNodeData::ATTR_MAX_VALUE_FOR_RANGE); + return GetFloatAttribute(ui::AX_ATTR_MAX_VALUE_FOR_RANGE); } float BrowserAccessibilityAndroid::RangeCurrentValue() const { - return GetFloatAttribute(AccessibilityNodeData::ATTR_VALUE_FOR_RANGE); + return GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE); } bool BrowserAccessibilityAndroid::HasFocusableChild() const { @@ -540,7 +539,7 @@ bool BrowserAccessibilityAndroid::HasFocusableChild() const { // from within this! for (uint32 i = 0; i < child_count(); i++) { BrowserAccessibility* child = children()[i]; - if (child->HasState(blink::WebAXStateFocusable)) + if (child->HasState(ui::AX_STATE_FOCUSABLE)) return true; if (static_cast<BrowserAccessibilityAndroid*>(child)->HasFocusableChild()) return true; @@ -553,7 +552,7 @@ bool BrowserAccessibilityAndroid::HasOnlyStaticTextChildren() const { // from within this! for (uint32 i = 0; i < child_count(); i++) { BrowserAccessibility* child = children()[i]; - if (child->role() != blink::WebAXRoleStaticText) + if (child->role() != ui::AX_ROLE_STATIC_TEXT) return false; } return true; @@ -561,7 +560,7 @@ bool BrowserAccessibilityAndroid::HasOnlyStaticTextChildren() const { bool BrowserAccessibilityAndroid::IsIframe() const { base::string16 html_tag = GetString16Attribute( - AccessibilityNodeData::ATTR_HTML_TAG); + ui::AX_ATTR_HTML_TAG); return html_tag == base::ASCIIToUTF16("iframe"); } @@ -575,12 +574,12 @@ void BrowserAccessibilityAndroid::PostInitialize() { } } - if (role() == blink::WebAXRoleAlert && first_time_) - manager()->NotifyAccessibilityEvent(blink::WebAXEventAlert, this); + if (role() == ui::AX_ROLE_ALERT && first_time_) + manager()->NotifyAccessibilityEvent(ui::AX_EVENT_ALERT, this); base::string16 live; if (GetString16Attribute( - AccessibilityNodeData::ATTR_CONTAINER_LIVE_STATUS, &live)) { + ui::AX_ATTR_CONTAINER_LIVE_STATUS, &live)) { NotifyLiveRegionUpdate(live); } @@ -596,15 +595,14 @@ void BrowserAccessibilityAndroid::NotifyLiveRegionUpdate( base::string16 text = GetText(); if (cached_text_ != text) { if (!text.empty()) { - manager()->NotifyAccessibilityEvent(blink::WebAXEventShow, + manager()->NotifyAccessibilityEvent(ui::AX_EVENT_SHOW, this); } cached_text_ = text; } } -int BrowserAccessibilityAndroid::CountChildrenWithRole( - blink::WebAXRole role) const { +int BrowserAccessibilityAndroid::CountChildrenWithRole(ui::AXRole role) const { int count = 0; for (uint32 i = 0; i < PlatformChildCount(); i++) { if (PlatformGetChild(i)->role() == role) diff --git a/content/browser/accessibility/browser_accessibility_android.h b/content/browser/accessibility/browser_accessibility_android.h index 2968184..b51a468 100644 --- a/content/browser/accessibility/browser_accessibility_android.h +++ b/content/browser/accessibility/browser_accessibility_android.h @@ -87,7 +87,7 @@ class BrowserAccessibilityAndroid : public BrowserAccessibility { void NotifyLiveRegionUpdate(base::string16& aria_live); - int CountChildrenWithRole(blink::WebAXRole role) const; + int CountChildrenWithRole(ui::AXRole role) const; base::string16 cached_text_; bool first_time_; diff --git a/content/browser/accessibility/browser_accessibility_cocoa.h b/content/browser/accessibility/browser_accessibility_cocoa.h index 9ac751f..11b44ac 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.h +++ b/content/browser/accessibility/browser_accessibility_cocoa.h @@ -10,7 +10,6 @@ #import "base/mac/scoped_nsobject.h" #include "content/browser/accessibility/browser_accessibility.h" #import "content/browser/accessibility/browser_accessibility_delegate_mac.h" -#include "third_party/WebKit/public/web/WebAXEnums.h" // BrowserAccessibilityCocoa is a cocoa wrapper around the BrowserAccessibility // object. The renderer converts webkit's accessibility tree into a @@ -40,7 +39,7 @@ // Convenience method to get the internal, cross-platform role // from browserAccessibility_. -- (blink::WebAXRole)internalRole; +- (ui::AXRole)internalRole; // Return the method name for the given attribute. For testing only. - (NSString*)methodNameForAttribute:(NSString*)attribute; diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm index 6164f8a..9e3e771 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm @@ -22,16 +22,16 @@ // this object. extern "C" void NSAccessibilityUnregisterUniqueIdForUIElement(id element); -using content::AccessibilityNodeData; +using ui::AXNodeData; using content::BrowserAccessibility; using content::BrowserAccessibilityManager; using content::BrowserAccessibilityManagerMac; using content::ContentClient; -typedef AccessibilityNodeData::StringAttribute StringAttribute; +typedef ui::AXStringAttribute StringAttribute; namespace { -// Returns an autoreleased copy of the AccessibilityNodeData's attribute. +// Returns an autoreleased copy of the AXNodeData's attribute. NSString* NSStringForStringAttribute( BrowserAccessibility* browserAccessibility, StringAttribute attribute) { @@ -40,129 +40,126 @@ NSString* NSStringForStringAttribute( } struct MapEntry { - blink::WebAXRole webKitValue; + ui::AXRole webKitValue; NSString* nativeValue; }; -typedef std::map<blink::WebAXRole, NSString*> RoleMap; +typedef std::map<ui::AXRole, NSString*> RoleMap; -// GetState checks the bitmask used in AccessibilityNodeData to check +// GetState checks the bitmask used in AXNodeData to check // if the given state was set on the accessibility object. -bool GetState(BrowserAccessibility* accessibility, blink::WebAXState state) { +bool GetState(BrowserAccessibility* accessibility, ui::AXState state) { return ((accessibility->state() >> state) & 1); } RoleMap BuildRoleMap() { const MapEntry roles[] = { - { blink::WebAXRoleAlert, NSAccessibilityGroupRole }, - { blink::WebAXRoleAlertDialog, NSAccessibilityGroupRole }, - { blink::WebAXRoleAnnotation, NSAccessibilityUnknownRole }, - { blink::WebAXRoleApplication, NSAccessibilityGroupRole }, - { blink::WebAXRoleArticle, NSAccessibilityGroupRole }, - { blink::WebAXRoleBrowser, NSAccessibilityBrowserRole }, - { blink::WebAXRoleBusyIndicator, NSAccessibilityBusyIndicatorRole }, - { blink::WebAXRoleButton, NSAccessibilityButtonRole }, - { blink::WebAXRoleCanvas, NSAccessibilityImageRole }, - { blink::WebAXRoleCell, @"AXCell" }, - { blink::WebAXRoleCheckBox, NSAccessibilityCheckBoxRole }, - { blink::WebAXRoleColorWell, NSAccessibilityColorWellRole }, - { blink::WebAXRoleComboBox, NSAccessibilityComboBoxRole }, - { blink::WebAXRoleColumn, NSAccessibilityColumnRole }, - { blink::WebAXRoleColumnHeader, @"AXCell" }, - { blink::WebAXRoleDefinition, NSAccessibilityGroupRole }, - { blink::WebAXRoleDescriptionListDetail, NSAccessibilityGroupRole }, - { blink::WebAXRoleDescriptionListTerm, NSAccessibilityGroupRole }, - { blink::WebAXRoleDialog, NSAccessibilityGroupRole }, - { blink::WebAXRoleDirectory, NSAccessibilityListRole }, - { blink::WebAXRoleDisclosureTriangle, - NSAccessibilityDisclosureTriangleRole }, - { blink::WebAXRoleDiv, NSAccessibilityGroupRole }, - { blink::WebAXRoleDocument, NSAccessibilityGroupRole }, - { blink::WebAXRoleDrawer, NSAccessibilityDrawerRole }, - { blink::WebAXRoleEditableText, NSAccessibilityTextFieldRole }, - { blink::WebAXRoleFooter, NSAccessibilityGroupRole }, - { blink::WebAXRoleForm, NSAccessibilityGroupRole }, - { blink::WebAXRoleGrid, NSAccessibilityGridRole }, - { blink::WebAXRoleGroup, NSAccessibilityGroupRole }, - { blink::WebAXRoleGrowArea, NSAccessibilityGrowAreaRole }, - { blink::WebAXRoleHeading, @"AXHeading" }, - { blink::WebAXRoleHelpTag, NSAccessibilityHelpTagRole }, - { blink::WebAXRoleHorizontalRule, NSAccessibilityGroupRole }, - { blink::WebAXRoleIgnored, NSAccessibilityUnknownRole }, - { blink::WebAXRoleImage, NSAccessibilityImageRole }, - { blink::WebAXRoleImageMap, NSAccessibilityGroupRole }, - { blink::WebAXRoleImageMapLink, NSAccessibilityLinkRole }, - { blink::WebAXRoleIncrementor, NSAccessibilityIncrementorRole }, - { blink::WebAXRoleLabel, NSAccessibilityGroupRole }, - { blink::WebAXRoleApplication, NSAccessibilityGroupRole }, - { blink::WebAXRoleBanner, NSAccessibilityGroupRole }, - { blink::WebAXRoleComplementary, NSAccessibilityGroupRole }, - { blink::WebAXRoleContentInfo, NSAccessibilityGroupRole }, - { blink::WebAXRoleMain, NSAccessibilityGroupRole }, - { blink::WebAXRoleNavigation, NSAccessibilityGroupRole }, - { blink::WebAXRoleSearch, NSAccessibilityGroupRole }, - { blink::WebAXRoleLink, NSAccessibilityLinkRole }, - { blink::WebAXRoleList, NSAccessibilityListRole }, - { blink::WebAXRoleListItem, NSAccessibilityGroupRole }, - { blink::WebAXRoleListMarker, @"AXListMarker" }, - { blink::WebAXRoleListBox, NSAccessibilityListRole }, - { blink::WebAXRoleListBoxOption, NSAccessibilityStaticTextRole }, - { blink::WebAXRoleLog, NSAccessibilityGroupRole }, - { blink::WebAXRoleMarquee, NSAccessibilityGroupRole }, - { blink::WebAXRoleMath, NSAccessibilityGroupRole }, - { blink::WebAXRoleMatte, NSAccessibilityMatteRole }, - { blink::WebAXRoleMenu, NSAccessibilityMenuRole }, - { blink::WebAXRoleMenuBar, NSAccessibilityMenuBarRole }, - { blink::WebAXRoleMenuItem, NSAccessibilityMenuItemRole }, - { blink::WebAXRoleMenuButton, NSAccessibilityButtonRole }, - { blink::WebAXRoleMenuListOption, NSAccessibilityMenuItemRole }, - { blink::WebAXRoleMenuListPopup, NSAccessibilityUnknownRole }, - { blink::WebAXRoleNote, NSAccessibilityGroupRole }, - { blink::WebAXRoleOutline, NSAccessibilityOutlineRole }, - { blink::WebAXRoleParagraph, NSAccessibilityGroupRole }, - { blink::WebAXRolePopUpButton, NSAccessibilityPopUpButtonRole }, - { blink::WebAXRolePresentational, NSAccessibilityGroupRole }, - { blink::WebAXRoleProgressIndicator, - NSAccessibilityProgressIndicatorRole }, - { blink::WebAXRoleRadioButton, NSAccessibilityRadioButtonRole }, - { blink::WebAXRoleRadioGroup, NSAccessibilityRadioGroupRole }, - { blink::WebAXRoleRegion, NSAccessibilityGroupRole }, - { blink::WebAXRoleRootWebArea, @"AXWebArea" }, - { blink::WebAXRoleRow, NSAccessibilityRowRole }, - { blink::WebAXRoleRowHeader, @"AXCell" }, - { blink::WebAXRoleRuler, NSAccessibilityRulerRole }, - { blink::WebAXRoleRulerMarker, NSAccessibilityRulerMarkerRole }, + { ui::AX_ROLE_ALERT, NSAccessibilityGroupRole }, + { ui::AX_ROLE_ALERT_DIALOG, NSAccessibilityGroupRole }, + { ui::AX_ROLE_ANNOTATION, NSAccessibilityUnknownRole }, + { ui::AX_ROLE_APPLICATION, NSAccessibilityGroupRole }, + { ui::AX_ROLE_ARTICLE, NSAccessibilityGroupRole }, + { ui::AX_ROLE_BANNER, NSAccessibilityGroupRole }, + { ui::AX_ROLE_BROWSER, NSAccessibilityBrowserRole }, + { ui::AX_ROLE_BUSY_INDICATOR, NSAccessibilityBusyIndicatorRole }, + { ui::AX_ROLE_BUTTON, NSAccessibilityButtonRole }, + { ui::AX_ROLE_CANVAS, NSAccessibilityImageRole }, + { ui::AX_ROLE_CELL, @"AXCell" }, + { ui::AX_ROLE_CHECK_BOX, NSAccessibilityCheckBoxRole }, + { ui::AX_ROLE_COLOR_WELL, NSAccessibilityColorWellRole }, + { ui::AX_ROLE_COLUMN, NSAccessibilityColumnRole }, + { ui::AX_ROLE_COLUMN_HEADER, @"AXCell" }, + { ui::AX_ROLE_COMBO_BOX, NSAccessibilityComboBoxRole }, + { ui::AX_ROLE_COMPLEMENTARY, NSAccessibilityGroupRole }, + { ui::AX_ROLE_CONTENT_INFO, NSAccessibilityGroupRole }, + { ui::AX_ROLE_DEFINITION, NSAccessibilityGroupRole }, + { ui::AX_ROLE_DESCRIPTION_LIST_DETAIL, NSAccessibilityGroupRole }, + { ui::AX_ROLE_DESCRIPTION_LIST_TERM, NSAccessibilityGroupRole }, + { ui::AX_ROLE_DIALOG, NSAccessibilityGroupRole }, + { ui::AX_ROLE_DIRECTORY, NSAccessibilityListRole }, + { ui::AX_ROLE_DISCLOSURE_TRIANGLE, NSAccessibilityDisclosureTriangleRole }, + { ui::AX_ROLE_DIV, NSAccessibilityGroupRole }, + { ui::AX_ROLE_DOCUMENT, NSAccessibilityGroupRole }, + { ui::AX_ROLE_DRAWER, NSAccessibilityDrawerRole }, + { ui::AX_ROLE_EDITABLE_TEXT, NSAccessibilityTextFieldRole }, + { ui::AX_ROLE_FOOTER, NSAccessibilityGroupRole }, + { ui::AX_ROLE_FORM, NSAccessibilityGroupRole }, + { ui::AX_ROLE_GRID, NSAccessibilityGridRole }, + { ui::AX_ROLE_GROUP, NSAccessibilityGroupRole }, + { ui::AX_ROLE_GROW_AREA, NSAccessibilityGrowAreaRole }, + { ui::AX_ROLE_HEADING, @"AXHeading" }, + { ui::AX_ROLE_HELP_TAG, NSAccessibilityHelpTagRole }, + { ui::AX_ROLE_HORIZONTAL_RULE, NSAccessibilityGroupRole }, + { ui::AX_ROLE_IGNORED, NSAccessibilityUnknownRole }, + { ui::AX_ROLE_IMAGE, NSAccessibilityImageRole }, + { ui::AX_ROLE_IMAGE_MAP, NSAccessibilityGroupRole }, + { ui::AX_ROLE_IMAGE_MAP_LINK, NSAccessibilityLinkRole }, + { ui::AX_ROLE_INCREMENTOR, NSAccessibilityIncrementorRole }, + { ui::AX_ROLE_LABEL, NSAccessibilityGroupRole }, + { ui::AX_ROLE_LINK, NSAccessibilityLinkRole }, + { ui::AX_ROLE_LIST, NSAccessibilityListRole }, + { ui::AX_ROLE_LIST_BOX, NSAccessibilityListRole }, + { ui::AX_ROLE_LIST_BOX_OPTION, NSAccessibilityStaticTextRole }, + { ui::AX_ROLE_LIST_ITEM, NSAccessibilityGroupRole }, + { ui::AX_ROLE_LIST_MARKER, @"AXListMarker" }, + { ui::AX_ROLE_LOG, NSAccessibilityGroupRole }, + { ui::AX_ROLE_MAIN, NSAccessibilityGroupRole }, + { ui::AX_ROLE_MARQUEE, NSAccessibilityGroupRole }, + { ui::AX_ROLE_MATH, NSAccessibilityGroupRole }, + { ui::AX_ROLE_MATTE, NSAccessibilityMatteRole }, + { ui::AX_ROLE_MENU, NSAccessibilityMenuRole }, + { ui::AX_ROLE_MENU_BAR, NSAccessibilityMenuBarRole }, + { ui::AX_ROLE_MENU_BUTTON, NSAccessibilityButtonRole }, + { ui::AX_ROLE_MENU_ITEM, NSAccessibilityMenuItemRole }, + { ui::AX_ROLE_MENU_LIST_OPTION, NSAccessibilityMenuItemRole }, + { ui::AX_ROLE_MENU_LIST_POPUP, NSAccessibilityUnknownRole }, + { ui::AX_ROLE_NAVIGATION, NSAccessibilityGroupRole }, + { ui::AX_ROLE_NOTE, NSAccessibilityGroupRole }, + { ui::AX_ROLE_OUTLINE, NSAccessibilityOutlineRole }, + { ui::AX_ROLE_PARAGRAPH, NSAccessibilityGroupRole }, + { ui::AX_ROLE_POP_UP_BUTTON, NSAccessibilityPopUpButtonRole }, + { ui::AX_ROLE_PRESENTATIONAL, NSAccessibilityGroupRole }, + { ui::AX_ROLE_PROGRESS_INDICATOR, NSAccessibilityProgressIndicatorRole }, + { ui::AX_ROLE_RADIO_BUTTON, NSAccessibilityRadioButtonRole }, + { ui::AX_ROLE_RADIO_GROUP, NSAccessibilityRadioGroupRole }, + { ui::AX_ROLE_REGION, NSAccessibilityGroupRole }, + { ui::AX_ROLE_ROOT_WEB_AREA, @"AXWebArea" }, + { ui::AX_ROLE_ROW, NSAccessibilityRowRole }, + { ui::AX_ROLE_ROW_HEADER, @"AXCell" }, + { ui::AX_ROLE_RULER, NSAccessibilityRulerRole }, + { ui::AX_ROLE_RULER_MARKER, NSAccessibilityRulerMarkerRole }, + { ui::AX_ROLE_SCROLL_BAR, NSAccessibilityScrollBarRole }, + { ui::AX_ROLE_SEARCH, NSAccessibilityGroupRole }, + { ui::AX_ROLE_SHEET, NSAccessibilitySheetRole }, + { ui::AX_ROLE_SLIDER, NSAccessibilitySliderRole }, + { ui::AX_ROLE_SLIDER_THUMB, NSAccessibilityValueIndicatorRole }, + { ui::AX_ROLE_SPIN_BUTTON, NSAccessibilitySliderRole }, + { ui::AX_ROLE_SPLITTER, NSAccessibilitySplitterRole }, + { ui::AX_ROLE_SPLIT_GROUP, NSAccessibilitySplitGroupRole }, + { ui::AX_ROLE_STATIC_TEXT, NSAccessibilityStaticTextRole }, + { ui::AX_ROLE_STATUS, NSAccessibilityGroupRole }, + { ui::AX_ROLE_SVG_ROOT, NSAccessibilityGroupRole }, + { ui::AX_ROLE_SYSTEM_WIDE, NSAccessibilityUnknownRole }, + { ui::AX_ROLE_TAB, NSAccessibilityRadioButtonRole }, + { ui::AX_ROLE_TABLE, NSAccessibilityTableRole }, + { ui::AX_ROLE_TABLE_HEADER_CONTAINER, NSAccessibilityGroupRole }, + { ui::AX_ROLE_TAB_LIST, NSAccessibilityTabGroupRole }, + { ui::AX_ROLE_TAB_PANEL, NSAccessibilityGroupRole }, + { ui::AX_ROLE_TEXT_AREA, NSAccessibilityTextAreaRole }, + { ui::AX_ROLE_TEXT_FIELD, NSAccessibilityTextFieldRole }, + { ui::AX_ROLE_TIMER, NSAccessibilityGroupRole }, + { ui::AX_ROLE_TOGGLE_BUTTON, NSAccessibilityButtonRole }, + { ui::AX_ROLE_TOOLBAR, NSAccessibilityToolbarRole }, + { ui::AX_ROLE_TOOLTIP, NSAccessibilityGroupRole }, + { ui::AX_ROLE_TREE, NSAccessibilityOutlineRole }, + { ui::AX_ROLE_TREE_GRID, NSAccessibilityTableRole }, + { ui::AX_ROLE_TREE_ITEM, NSAccessibilityRowRole }, + { ui::AX_ROLE_VALUE_INDICATOR, NSAccessibilityValueIndicatorRole }, + { ui::AX_ROLE_WEB_AREA, @"AXWebArea" }, + { ui::AX_ROLE_WINDOW, NSAccessibilityWindowRole }, + // TODO(dtseng): we don't correctly support the attributes for these roles. - // { blink::WebAXRoleScrollArea, NSAccessibilityScrollAreaRole }, - { blink::WebAXRoleScrollBar, NSAccessibilityScrollBarRole }, - { blink::WebAXRoleSheet, NSAccessibilitySheetRole }, - { blink::WebAXRoleSlider, NSAccessibilitySliderRole }, - { blink::WebAXRoleSliderThumb, NSAccessibilityValueIndicatorRole }, - { blink::WebAXRoleSpinButton, NSAccessibilitySliderRole }, - { blink::WebAXRoleSplitter, NSAccessibilitySplitterRole }, - { blink::WebAXRoleSplitGroup, NSAccessibilitySplitGroupRole }, - { blink::WebAXRoleStaticText, NSAccessibilityStaticTextRole }, - { blink::WebAXRoleStatus, NSAccessibilityGroupRole }, - { blink::WebAXRoleSVGRoot, NSAccessibilityGroupRole }, - { blink::WebAXRoleSystemWide, NSAccessibilityUnknownRole }, - { blink::WebAXRoleTab, NSAccessibilityRadioButtonRole }, - { blink::WebAXRoleTabList, NSAccessibilityTabGroupRole }, - { blink::WebAXRoleTabPanel, NSAccessibilityGroupRole }, - { blink::WebAXRoleTable, NSAccessibilityTableRole }, - { blink::WebAXRoleTableHeaderContainer, NSAccessibilityGroupRole }, - { blink::WebAXRoleTextArea, NSAccessibilityTextAreaRole }, - { blink::WebAXRoleTextField, NSAccessibilityTextFieldRole }, - { blink::WebAXRoleTimer, NSAccessibilityGroupRole }, - { blink::WebAXRoleToggleButton, NSAccessibilityButtonRole }, - { blink::WebAXRoleToolbar, NSAccessibilityToolbarRole }, - { blink::WebAXRoleUserInterfaceTooltip, NSAccessibilityGroupRole }, - { blink::WebAXRoleTree, NSAccessibilityOutlineRole }, - { blink::WebAXRoleTreeGrid, NSAccessibilityTableRole }, - { blink::WebAXRoleTreeItem, NSAccessibilityRowRole }, - { blink::WebAXRoleValueIndicator, NSAccessibilityValueIndicatorRole }, - { blink::WebAXRoleLink, NSAccessibilityLinkRole }, - { blink::WebAXRoleWebArea, @"AXWebArea" }, - { blink::WebAXRoleWindow, NSAccessibilityWindowRole }, + // { ui::AX_ROLE_SCROLL_AREA, NSAccessibilityScrollAreaRole }, }; RoleMap role_map; @@ -172,8 +169,8 @@ RoleMap BuildRoleMap() { } // A mapping of webkit roles to native roles. -NSString* NativeRoleFromAccessibilityNodeDataRole( - const blink::WebAXRole& role) { +NSString* NativeRoleFromAXRole( + const ui::AXRole& role) { CR_DEFINE_STATIC_LOCAL(RoleMap, web_accessibility_to_native_role, (BuildRoleMap())); RoleMap::iterator it = web_accessibility_to_native_role.find(role); @@ -185,32 +182,32 @@ NSString* NativeRoleFromAccessibilityNodeDataRole( RoleMap BuildSubroleMap() { const MapEntry subroles[] = { - { blink::WebAXRoleAlert, @"AXApplicationAlert" }, - { blink::WebAXRoleAlertDialog, @"AXApplicationAlertDialog" }, - { blink::WebAXRoleArticle, @"AXDocumentArticle" }, - { blink::WebAXRoleDefinition, @"AXDefinition" }, - { blink::WebAXRoleDescriptionListDetail, @"AXDescription" }, - { blink::WebAXRoleDescriptionListTerm, @"AXTerm" }, - { blink::WebAXRoleDialog, @"AXApplicationDialog" }, - { blink::WebAXRoleDocument, @"AXDocument" }, - { blink::WebAXRoleFooter, @"AXLandmarkContentInfo" }, - { blink::WebAXRoleApplication, @"AXLandmarkApplication" }, - { blink::WebAXRoleBanner, @"AXLandmarkBanner" }, - { blink::WebAXRoleComplementary, @"AXLandmarkComplementary" }, - { blink::WebAXRoleContentInfo, @"AXLandmarkContentInfo" }, - { blink::WebAXRoleMain, @"AXLandmarkMain" }, - { blink::WebAXRoleNavigation, @"AXLandmarkNavigation" }, - { blink::WebAXRoleSearch, @"AXLandmarkSearch" }, - { blink::WebAXRoleLog, @"AXApplicationLog" }, - { blink::WebAXRoleMarquee, @"AXApplicationMarquee" }, - { blink::WebAXRoleMath, @"AXDocumentMath" }, - { blink::WebAXRoleNote, @"AXDocumentNote" }, - { blink::WebAXRoleRegion, @"AXDocumentRegion" }, - { blink::WebAXRoleStatus, @"AXApplicationStatus" }, - { blink::WebAXRoleTabPanel, @"AXTabPanel" }, - { blink::WebAXRoleTimer, @"AXApplicationTimer" }, - { blink::WebAXRoleUserInterfaceTooltip, @"AXUserInterfaceTooltip" }, - { blink::WebAXRoleTreeItem, NSAccessibilityOutlineRowSubrole }, + { ui::AX_ROLE_ALERT, @"AXApplicationAlert" }, + { ui::AX_ROLE_ALERT_DIALOG, @"AXApplicationAlertDialog" }, + { ui::AX_ROLE_ARTICLE, @"AXDocumentArticle" }, + { ui::AX_ROLE_DEFINITION, @"AXDefinition" }, + { ui::AX_ROLE_DESCRIPTION_LIST_DETAIL, @"AXDescription" }, + { ui::AX_ROLE_DESCRIPTION_LIST_TERM, @"AXTerm" }, + { ui::AX_ROLE_DIALOG, @"AXApplicationDialog" }, + { ui::AX_ROLE_DOCUMENT, @"AXDocument" }, + { ui::AX_ROLE_FOOTER, @"AXLandmarkContentInfo" }, + { ui::AX_ROLE_APPLICATION, @"AXLandmarkApplication" }, + { ui::AX_ROLE_BANNER, @"AXLandmarkBanner" }, + { ui::AX_ROLE_COMPLEMENTARY, @"AXLandmarkComplementary" }, + { ui::AX_ROLE_CONTENT_INFO, @"AXLandmarkContentInfo" }, + { ui::AX_ROLE_MAIN, @"AXLandmarkMain" }, + { ui::AX_ROLE_NAVIGATION, @"AXLandmarkNavigation" }, + { ui::AX_ROLE_SEARCH, @"AXLandmarkSearch" }, + { ui::AX_ROLE_LOG, @"AXApplicationLog" }, + { ui::AX_ROLE_MARQUEE, @"AXApplicationMarquee" }, + { ui::AX_ROLE_MATH, @"AXDocumentMath" }, + { ui::AX_ROLE_NOTE, @"AXDocumentNote" }, + { ui::AX_ROLE_REGION, @"AXDocumentRegion" }, + { ui::AX_ROLE_STATUS, @"AXApplicationStatus" }, + { ui::AX_ROLE_TAB_PANEL, @"AXTabPanel" }, + { ui::AX_ROLE_TIMER, @"AXApplicationTimer" }, + { ui::AX_ROLE_TOOLTIP, @"AXUserInterfaceTooltip" }, + { ui::AX_ROLE_TREE_ITEM, NSAccessibilityOutlineRowSubrole }, }; RoleMap subrole_map; @@ -220,8 +217,8 @@ RoleMap BuildSubroleMap() { } // A mapping of webkit roles to native subroles. -NSString* NativeSubroleFromAccessibilityNodeDataRole( - const blink::WebAXRole& role) { +NSString* NativeSubroleFromAXRole( + const ui::AXRole& role) { CR_DEFINE_STATIC_LOCAL(RoleMap, web_accessibility_to_native_subrole, (BuildSubroleMap())); RoleMap::iterator it = web_accessibility_to_native_subrole.find(role); @@ -324,29 +321,29 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSString*)accessKey { return NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_ACCESS_KEY); + browserAccessibility_, ui::AX_ATTR_ACCESS_KEY); } - (NSNumber*)ariaAtomic { bool boolValue = browserAccessibility_->GetBoolAttribute( - AccessibilityNodeData::ATTR_LIVE_ATOMIC); + ui::AX_ATTR_LIVE_ATOMIC); return [NSNumber numberWithBool:boolValue]; } - (NSNumber*)ariaBusy { bool boolValue = browserAccessibility_->GetBoolAttribute( - AccessibilityNodeData::ATTR_LIVE_BUSY); + ui::AX_ATTR_LIVE_BUSY); return [NSNumber numberWithBool:boolValue]; } - (NSString*)ariaLive { return NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_LIVE_STATUS); + browserAccessibility_, ui::AX_ATTR_LIVE_STATUS); } - (NSString*)ariaRelevant { return NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_LIVE_RELEVANT); + browserAccessibility_, ui::AX_ATTR_LIVE_RELEVANT); } // Returns an array of BrowserAccessibilityCocoa objects, representing the @@ -368,7 +365,7 @@ NSDictionary* attributeToMethodNameMap = nil; // Also, add indirect children (if any). const std::vector<int32>& indirectChildIds = browserAccessibility_->GetIntListAttribute( - AccessibilityNodeData::ATTR_INDIRECT_CHILD_IDS); + ui::AX_ATTR_INDIRECT_CHILD_IDS); for (uint32 i = 0; i < indirectChildIds.size(); ++i) { int32 child_id = indirectChildIds[i]; BrowserAccessibility* child = @@ -396,35 +393,35 @@ NSDictionary* attributeToMethodNameMap = nil; } - (NSArray*)columnHeaders { - if ([self internalRole] != blink::WebAXRoleTable && - [self internalRole] != blink::WebAXRoleGrid) { + if ([self internalRole] != ui::AX_ROLE_TABLE && + [self internalRole] != ui::AX_ROLE_GRID) { return nil; } NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease]; const std::vector<int32>& uniqueCellIds = browserAccessibility_->GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); for (size_t i = 0; i < uniqueCellIds.size(); ++i) { int id = uniqueCellIds[i]; BrowserAccessibility* cell = browserAccessibility_->manager()->GetFromRendererID(id); - if (cell && cell->role() == blink::WebAXRoleColumnHeader) + if (cell && cell->role() == ui::AX_ROLE_COLUMN_HEADER) [ret addObject:cell->ToBrowserAccessibilityCocoa()]; } return ret; } - (NSValue*)columnIndexRange { - if ([self internalRole] != blink::WebAXRoleCell) + if ([self internalRole] != ui::AX_ROLE_CELL) return nil; int column = -1; int colspan = -1; browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX, &column); + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX, &column); browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN, &colspan); + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN, &colspan); if (column >= 0 && colspan >= 1) return [NSValue valueWithRange:NSMakeRange(column, colspan)]; return nil; @@ -442,7 +439,7 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSString*)description { std::string description; if (browserAccessibility_->GetStringAttribute( - AccessibilityNodeData::ATTR_DESCRIPTION, &description)) { + ui::AX_ATTR_DESCRIPTION, &description)) { return base::SysUTF8ToNSString(description); } @@ -451,7 +448,7 @@ NSDictionary* attributeToMethodNameMap = nil; if (![[self role] isEqualToString:NSAccessibilityImageRole]) return @""; if (browserAccessibility_->HasStringAttribute( - AccessibilityNodeData::ATTR_NAME)) { + ui::AX_ATTR_NAME)) { return @""; } if ([self titleUIElement]) @@ -461,7 +458,7 @@ NSDictionary* attributeToMethodNameMap = nil; // Return the base part of the filename as the description. std::string url; if (browserAccessibility_->GetStringAttribute( - AccessibilityNodeData::ATTR_URL, &url)) { + ui::AX_ATTR_URL, &url)) { // Given a url like http://foo.com/bar/baz.png, just return the // base name, e.g., "baz.png". size_t leftIndex = url.rfind('/'); @@ -474,9 +471,9 @@ NSDictionary* attributeToMethodNameMap = nil; } - (NSNumber*)disclosing { - if ([self internalRole] == blink::WebAXRoleTreeItem) { + if ([self internalRole] == ui::AX_ROLE_TREE_ITEM) { return [NSNumber numberWithBool: - GetState(browserAccessibility_, blink::WebAXStateExpanded)]; + GetState(browserAccessibility_, ui::AX_STATE_EXPANDED)]; } else { return nil; } @@ -489,11 +486,11 @@ NSDictionary* attributeToMethodNameMap = nil; } - (NSNumber*)disclosureLevel { - blink::WebAXRole role = [self internalRole]; - if (role == blink::WebAXRoleRow || - role == blink::WebAXRoleTreeItem) { + ui::AXRole role = [self internalRole]; + if (role == ui::AX_ROLE_ROW || + role == ui::AX_ROLE_TREE_ITEM) { int level = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_HIERARCHICAL_LEVEL); + ui::AX_ATTR_HIERARCHICAL_LEVEL); // Mac disclosureLevel is 0-based, but web levels are 1-based. if (level > 0) level--; @@ -510,7 +507,7 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSNumber*)enabled { return [NSNumber numberWithBool: - GetState(browserAccessibility_, blink::WebAXStateEnabled)]; + GetState(browserAccessibility_, ui::AX_STATE_ENABLED)]; } - (NSNumber*)focused { @@ -522,16 +519,16 @@ NSDictionary* attributeToMethodNameMap = nil; - (id)header { int headerElementId = -1; - if ([self internalRole] == blink::WebAXRoleTable || - [self internalRole] == blink::WebAXRoleGrid) { + if ([self internalRole] == ui::AX_ROLE_TABLE || + [self internalRole] == ui::AX_ROLE_GRID) { browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_HEADER_ID, &headerElementId); - } else if ([self internalRole] == blink::WebAXRoleColumn) { + ui::AX_ATTR_TABLE_HEADER_ID, &headerElementId); + } else if ([self internalRole] == ui::AX_ROLE_COLUMN) { browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_HEADER_ID, &headerElementId); - } else if ([self internalRole] == blink::WebAXRoleRow) { + ui::AX_ATTR_TABLE_COLUMN_HEADER_ID, &headerElementId); + } else if ([self internalRole] == ui::AX_ROLE_ROW) { browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_HEADER_ID, &headerElementId); + ui::AX_ATTR_TABLE_ROW_HEADER_ID, &headerElementId); } if (headerElementId > 0) { @@ -545,17 +542,17 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSString*)help { return NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_HELP); + browserAccessibility_, ui::AX_ATTR_HELP); } - (NSNumber*)index { - if ([self internalRole] == blink::WebAXRoleColumn) { + if ([self internalRole] == ui::AX_ROLE_COLUMN) { int columnIndex = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_INDEX); + ui::AX_ATTR_TABLE_COLUMN_INDEX); return [NSNumber numberWithInt:columnIndex]; - } else if ([self internalRole] == blink::WebAXRoleRow) { + } else if ([self internalRole] == ui::AX_ROLE_ROW) { int rowIndex = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_INDEX); + ui::AX_ATTR_TABLE_ROW_INDEX); return [NSNumber numberWithInt:rowIndex]; } @@ -586,29 +583,29 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSNumber*)loadingProgress { float floatValue = browserAccessibility_->GetFloatAttribute( - AccessibilityNodeData::ATTR_DOC_LOADING_PROGRESS); + ui::AX_ATTR_DOC_LOADING_PROGRESS); return [NSNumber numberWithFloat:floatValue]; } - (NSNumber*)maxValue { float floatValue = browserAccessibility_->GetFloatAttribute( - AccessibilityNodeData::ATTR_MAX_VALUE_FOR_RANGE); + ui::AX_ATTR_MAX_VALUE_FOR_RANGE); return [NSNumber numberWithFloat:floatValue]; } - (NSNumber*)minValue { float floatValue = browserAccessibility_->GetFloatAttribute( - AccessibilityNodeData::ATTR_MIN_VALUE_FOR_RANGE); + ui::AX_ATTR_MIN_VALUE_FOR_RANGE); return [NSNumber numberWithFloat:floatValue]; } - (NSString*)orientation { // We present a spin button as a vertical slider, with a role description // of "spin button". - if ([self internalRole] == blink::WebAXRoleSpinButton) + if ([self internalRole] == ui::AX_ROLE_SPIN_BUTTON) return NSAccessibilityVerticalOrientationValue; - if (GetState(browserAccessibility_, blink::WebAXStateVertical)) + if (GetState(browserAccessibility_, ui::AX_STATE_VERTICAL)) return NSAccessibilityVerticalOrientationValue; else return NSAccessibilityHorizontalOrientationValue; @@ -650,23 +647,23 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSNumber*)required { return [NSNumber numberWithBool: - GetState(browserAccessibility_, blink::WebAXStateRequired)]; + GetState(browserAccessibility_, ui::AX_STATE_REQUIRED)]; } // Returns an enum indicating the role from browserAccessibility_. -- (blink::WebAXRole)internalRole { - return static_cast<blink::WebAXRole>(browserAccessibility_->role()); +- (ui::AXRole)internalRole { + return static_cast<ui::AXRole>(browserAccessibility_->role()); } // Returns a string indicating the NSAccessibility role of this object. - (NSString*)role { - blink::WebAXRole role = [self internalRole]; - if (role == blink::WebAXRoleCanvas && + ui::AXRole role = [self internalRole]; + if (role == ui::AX_ROLE_CANVAS && browserAccessibility_->GetBoolAttribute( - AccessibilityNodeData::ATTR_CANVAS_HAS_FALLBACK)) { + ui::AX_ATTR_CANVAS_HAS_FALLBACK)) { return NSAccessibilityGroupRole; } - return NativeRoleFromAccessibilityNodeDataRole(role); + return NativeRoleFromAXRole(role); } // Returns a string indicating the role description of this object. @@ -695,10 +692,10 @@ NSDictionary* attributeToMethodNameMap = nil; [role isEqualToString:NSAccessibilityRadioButtonRole]) { std::string role; if (browserAccessibility_->GetHtmlAttribute("role", &role)) { - blink::WebAXRole internalRole = [self internalRole]; - if ((internalRole != blink::WebAXRoleGroup && - internalRole != blink::WebAXRoleListItem) || - internalRole == blink::WebAXRoleTab) { + ui::AXRole internalRole = [self internalRole]; + if ((internalRole != ui::AX_ROLE_GROUP && + internalRole != ui::AX_ROLE_LIST_ITEM) || + internalRole == ui::AX_ROLE_TAB) { // TODO(dtseng): This is not localized; see crbug/84814. return base::SysUTF8ToNSString(role); } @@ -706,10 +703,10 @@ NSDictionary* attributeToMethodNameMap = nil; } switch([self internalRole]) { - case blink::WebAXRoleFooter: + case ui::AX_ROLE_FOOTER: return base::SysUTF16ToNSString(content_client->GetLocalizedString( IDS_AX_ROLE_FOOTER)); - case blink::WebAXRoleSpinButton: + case ui::AX_ROLE_SPIN_BUTTON: // This control is similar to what VoiceOver calls a "stepper". return base::SysUTF16ToNSString(content_client->GetLocalizedString( IDS_AX_ROLE_STEPPER)); @@ -721,35 +718,35 @@ NSDictionary* attributeToMethodNameMap = nil; } - (NSArray*)rowHeaders { - if ([self internalRole] != blink::WebAXRoleTable && - [self internalRole] != blink::WebAXRoleGrid) { + if ([self internalRole] != ui::AX_ROLE_TABLE && + [self internalRole] != ui::AX_ROLE_GRID) { return nil; } NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease]; const std::vector<int32>& uniqueCellIds = browserAccessibility_->GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); for (size_t i = 0; i < uniqueCellIds.size(); ++i) { int id = uniqueCellIds[i]; BrowserAccessibility* cell = browserAccessibility_->manager()->GetFromRendererID(id); - if (cell && cell->role() == blink::WebAXRoleRowHeader) + if (cell && cell->role() == ui::AX_ROLE_ROW_HEADER) [ret addObject:cell->ToBrowserAccessibilityCocoa()]; } return ret; } - (NSValue*)rowIndexRange { - if ([self internalRole] != blink::WebAXRoleCell) + if ([self internalRole] != ui::AX_ROLE_CELL) return nil; int row = -1; int rowspan = -1; browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX, &row); + ui::AX_ATTR_TABLE_CELL_ROW_INDEX, &row); browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_SPAN, &rowspan); + ui::AX_ATTR_TABLE_CELL_ROW_SPAN, &rowspan); if (row >= 0 && rowspan >= 1) return [NSValue valueWithRange:NSMakeRange(row, rowspan)]; return nil; @@ -758,16 +755,16 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSArray*)rows { NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease]; - if ([self internalRole] == blink::WebAXRoleTable|| - [self internalRole] == blink::WebAXRoleGrid) { + if ([self internalRole] == ui::AX_ROLE_TABLE|| + [self internalRole] == ui::AX_ROLE_GRID) { for (BrowserAccessibilityCocoa* child in [self children]) { if ([[child role] isEqualToString:NSAccessibilityRowRole]) [ret addObject:child]; } - } else if ([self internalRole] == blink::WebAXRoleColumn) { + } else if ([self internalRole] == ui::AX_ROLE_COLUMN) { const std::vector<int32>& indirectChildIds = browserAccessibility_->GetIntListAttribute( - AccessibilityNodeData::ATTR_INDIRECT_CHILD_IDS); + ui::AX_ATTR_INDIRECT_CHILD_IDS); for (uint32 i = 0; i < indirectChildIds.size(); ++i) { int id = indirectChildIds[i]; BrowserAccessibility* rowElement = @@ -788,16 +785,16 @@ NSDictionary* attributeToMethodNameMap = nil; // Returns a subrole based upon the role. - (NSString*) subrole { - blink::WebAXRole browserAccessibilityRole = [self internalRole]; - if (browserAccessibilityRole == blink::WebAXRoleTextField && - GetState(browserAccessibility_, blink::WebAXStateProtected)) { + ui::AXRole browserAccessibilityRole = [self internalRole]; + if (browserAccessibilityRole == ui::AX_ROLE_TEXT_FIELD && + GetState(browserAccessibility_, ui::AX_STATE_PROTECTED)) { return @"AXSecureTextField"; } NSString* htmlTag = NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_HTML_TAG); + browserAccessibility_, ui::AX_ATTR_HTML_TAG); - if (browserAccessibilityRole == blink::WebAXRoleList) { + if (browserAccessibilityRole == ui::AX_ROLE_LIST) { if ([htmlTag isEqualToString:@"ul"] || [htmlTag isEqualToString:@"ol"]) { return @"AXContentList"; @@ -806,14 +803,14 @@ NSDictionary* attributeToMethodNameMap = nil; } } - return NativeSubroleFromAccessibilityNodeDataRole(browserAccessibilityRole); + return NativeSubroleFromAXRole(browserAccessibilityRole); } // Returns all tabs in this subtree. - (NSArray*)tabs { NSMutableArray* tabSubtree = [[[NSMutableArray alloc] init] autorelease]; - if ([self internalRole] == blink::WebAXRoleTab) + if ([self internalRole] == ui::AX_ROLE_TAB) [tabSubtree addObject:self]; for (uint i=0; i < [[self children] count]; ++i) { @@ -827,13 +824,13 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSString*)title { return NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_NAME); + browserAccessibility_, ui::AX_ATTR_NAME); } - (id)titleUIElement { int titleElementId; if (browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TITLE_UI_ELEMENT, &titleElementId)) { + ui::AX_ATTR_TITLE_UI_ELEMENT, &titleElementId)) { BrowserAccessibility* titleElement = browserAccessibility_->manager()->GetFromRendererID(titleElementId); if (titleElement) @@ -845,8 +842,8 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSString*)url { StringAttribute urlAttribute = [[self role] isEqualToString:@"AXWebArea"] ? - AccessibilityNodeData::ATTR_DOC_URL : - AccessibilityNodeData::ATTR_URL; + ui::AX_ATTR_DOC_URL : + ui::AX_ATTR_URL; return NSStringForStringAttribute(browserAccessibility_, urlAttribute); } @@ -858,7 +855,7 @@ NSDictionary* attributeToMethodNameMap = nil; if ([role isEqualToString:@"AXHeading"]) { int level = 0; if (browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_HIERARCHICAL_LEVEL, &level)) { + ui::AX_ATTR_HIERARCHICAL_LEVEL, &level)) { return [NSNumber numberWithInt:level]; } } else if ([role isEqualToString:NSAccessibilityButtonRole]) { @@ -868,14 +865,14 @@ NSDictionary* attributeToMethodNameMap = nil; [role isEqualToString:NSAccessibilityRadioButtonRole]) { int value = 0; value = GetState( - browserAccessibility_, blink::WebAXStateChecked) ? 1 : 0; + browserAccessibility_, ui::AX_STATE_CHECKED) ? 1 : 0; value = GetState( - browserAccessibility_, blink::WebAXStateSelected) ? + browserAccessibility_, ui::AX_STATE_SELECTED) ? 1 : value; if (browserAccessibility_->GetBoolAttribute( - AccessibilityNodeData::ATTR_BUTTON_MIXED)) { + ui::AX_ATTR_BUTTON_MIXED)) { value = 2; } return [NSNumber numberWithInt:value]; @@ -884,28 +881,28 @@ NSDictionary* attributeToMethodNameMap = nil; [role isEqualToString:NSAccessibilityScrollBarRole]) { float floatValue; if (browserAccessibility_->GetFloatAttribute( - AccessibilityNodeData::ATTR_VALUE_FOR_RANGE, &floatValue)) { + ui::AX_ATTR_VALUE_FOR_RANGE, &floatValue)) { return [NSNumber numberWithFloat:floatValue]; } } else if ([role isEqualToString:NSAccessibilityColorWellRole]) { int r = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_COLOR_VALUE_RED); + ui::AX_ATTR_COLOR_VALUE_RED); int g = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_COLOR_VALUE_GREEN); + ui::AX_ATTR_COLOR_VALUE_GREEN); int b = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_COLOR_VALUE_BLUE); + ui::AX_ATTR_COLOR_VALUE_BLUE); // This string matches the one returned by a native Mac color well. return [NSString stringWithFormat:@"rgb %7.5f %7.5f %7.5f 1", r / 255., g / 255., b / 255.]; } return NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_VALUE); + browserAccessibility_, ui::AX_ATTR_VALUE); } - (NSString*)valueDescription { return NSStringForStringAttribute( - browserAccessibility_, AccessibilityNodeData::ATTR_VALUE); + browserAccessibility_, ui::AX_ATTR_VALUE); } - (NSValue*)visibleCharacterRange { @@ -917,7 +914,7 @@ NSDictionary* attributeToMethodNameMap = nil; NSMutableArray* ret = [[[NSMutableArray alloc] init] autorelease]; const std::vector<int32>& uniqueCellIds = browserAccessibility_->GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); for (size_t i = 0; i < uniqueCellIds.size(); ++i) { int id = uniqueCellIds[i]; BrowserAccessibility* cell = @@ -938,7 +935,7 @@ NSDictionary* attributeToMethodNameMap = nil; - (NSNumber*)visited { return [NSNumber numberWithBool: - GetState(browserAccessibility_, blink::WebAXStateVisited)]; + GetState(browserAccessibility_, ui::AX_STATE_VISITED)]; } - (id)window { @@ -963,9 +960,9 @@ NSDictionary* attributeToMethodNameMap = nil; // TODO(dtseng): refactor remaining attributes. int selStart, selEnd; if (browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TEXT_SEL_START, &selStart) && + ui::AX_ATTR_TEXT_SEL_START, &selStart) && browserAccessibility_-> - GetIntAttribute(AccessibilityNodeData::ATTR_TEXT_SEL_END, &selEnd)) { + GetIntAttribute(ui::AX_ATTR_TEXT_SEL_END, &selEnd)) { if (selStart > selEnd) std::swap(selStart, selEnd); int selLength = selEnd - selStart; @@ -973,7 +970,7 @@ NSDictionary* attributeToMethodNameMap = nil; NSAccessibilityInsertionPointLineNumberAttribute]) { const std::vector<int32>& line_breaks = browserAccessibility_->GetIntListAttribute( - AccessibilityNodeData::ATTR_LINE_BREAKS); + ui::AX_ATTR_LINE_BREAKS); for (int i = 0; i < static_cast<int>(line_breaks.size()); ++i) { if (line_breaks[i] > selStart) return [NSNumber numberWithInt:i]; @@ -982,7 +979,7 @@ NSDictionary* attributeToMethodNameMap = nil; } if ([attribute isEqualToString:NSAccessibilitySelectedTextAttribute]) { std::string value = browserAccessibility_->GetStringAttribute( - AccessibilityNodeData::ATTR_VALUE); + ui::AX_ATTR_VALUE); return base::SysUTF8ToNSString(value.substr(selStart, selLength)); } if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute]) { @@ -1001,14 +998,14 @@ NSDictionary* attributeToMethodNameMap = nil; const std::vector<int32>& line_breaks = browserAccessibility_->GetIntListAttribute( - AccessibilityNodeData::ATTR_LINE_BREAKS); + ui::AX_ATTR_LINE_BREAKS); int len = static_cast<int>(browserAccessibility_->value().size()); if ([attribute isEqualToString: NSAccessibilityStringForRangeParameterizedAttribute]) { NSRange range = [(NSValue*)parameter rangeValue]; std::string value = browserAccessibility_->GetStringAttribute( - AccessibilityNodeData::ATTR_VALUE); + ui::AX_ATTR_VALUE); return base::SysUTF8ToNSString(value.substr(range.location, range.length)); } @@ -1036,8 +1033,8 @@ NSDictionary* attributeToMethodNameMap = nil; if ([attribute isEqualToString: NSAccessibilityCellForColumnAndRowParameterizedAttribute]) { - if ([self internalRole] != blink::WebAXRoleTable && - [self internalRole] != blink::WebAXRoleGrid) { + if ([self internalRole] != ui::AX_ROLE_TABLE && + [self internalRole] != ui::AX_ROLE_GRID) { return nil; } if (![parameter isKindOfClass:[NSArray self]]) @@ -1046,9 +1043,9 @@ NSDictionary* attributeToMethodNameMap = nil; int column = [[array objectAtIndex:0] intValue]; int row = [[array objectAtIndex:1] intValue]; int num_columns = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT); + ui::AX_ATTR_TABLE_COLUMN_COUNT); int num_rows = browserAccessibility_->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_COUNT); + ui::AX_ATTR_TABLE_ROW_COUNT); if (column < 0 || column >= num_columns || row < 0 || row >= num_rows) { return nil; @@ -1057,11 +1054,11 @@ NSDictionary* attributeToMethodNameMap = nil; i < browserAccessibility_->PlatformChildCount(); ++i) { BrowserAccessibility* child = browserAccessibility_->PlatformGetChild(i); - if (child->role() != blink::WebAXRoleRow) + if (child->role() != ui::AX_ROLE_ROW) continue; int rowIndex; if (!child->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_INDEX, &rowIndex)) { + ui::AX_ATTR_TABLE_ROW_INDEX, &rowIndex)) { continue; } if (rowIndex < row) @@ -1072,11 +1069,11 @@ NSDictionary* attributeToMethodNameMap = nil; j < child->PlatformChildCount(); ++j) { BrowserAccessibility* cell = child->PlatformGetChild(j); - if (cell->role() != blink::WebAXRoleCell) + if (cell->role() != ui::AX_ROLE_CELL) continue; int colIndex; if (!cell->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX, + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX, &colIndex)) { continue; } @@ -1091,7 +1088,7 @@ NSDictionary* attributeToMethodNameMap = nil; if ([attribute isEqualToString: NSAccessibilityBoundsForRangeParameterizedAttribute]) { - if ([self internalRole] != blink::WebAXRoleStaticText) + if ([self internalRole] != ui::AX_ROLE_STATIC_TEXT) return nil; NSRange range = [(NSValue*)parameter rangeValue]; gfx::Rect rect = browserAccessibility_->GetGlobalBoundsForRange( @@ -1144,7 +1141,7 @@ NSDictionary* attributeToMethodNameMap = nil; NSAccessibilityStyleRangeForIndexParameterizedAttribute, nil]; } - if ([self internalRole] == blink::WebAXRoleStaticText) { + if ([self internalRole] == ui::AX_ROLE_STATIC_TEXT) { return [NSArray arrayWithObjects: NSAccessibilityBoundsForRangeParameterizedAttribute, nil]; @@ -1317,14 +1314,14 @@ NSDictionary* attributeToMethodNameMap = nil; // Live regions. if (browserAccessibility_->HasStringAttribute( - AccessibilityNodeData::ATTR_LIVE_STATUS)) { + ui::AX_ATTR_LIVE_STATUS)) { [ret addObjectsFromArray:[NSArray arrayWithObjects: @"AXARIALive", @"AXARIARelevant", nil]]; } if (browserAccessibility_->HasStringAttribute( - AccessibilityNodeData::ATTR_CONTAINER_LIVE_STATUS)) { + ui::AX_ATTR_CONTAINER_LIVE_STATUS)) { [ret addObjectsFromArray:[NSArray arrayWithObjects: @"AXARIAAtomic", @"AXARIABusy", @@ -1333,7 +1330,7 @@ NSDictionary* attributeToMethodNameMap = nil; // Title UI Element. if (browserAccessibility_->HasIntAttribute( - AccessibilityNodeData::ATTR_TITLE_UI_ELEMENT)) { + ui::AX_ATTR_TITLE_UI_ELEMENT)) { [ret addObjectsFromArray:[NSArray arrayWithObjects: NSAccessibilityTitleUIElementAttribute, nil]]; @@ -1364,10 +1361,10 @@ NSDictionary* attributeToMethodNameMap = nil; if ([attribute isEqualToString:NSAccessibilityFocusedAttribute]) return GetState(browserAccessibility_, - blink::WebAXStateFocusable); + ui::AX_STATE_FOCUSABLE); if ([attribute isEqualToString:NSAccessibilityValueAttribute]) { return browserAccessibility_->GetBoolAttribute( - AccessibilityNodeData::ATTR_CAN_SET_VALUE); + ui::AX_ATTR_CAN_SET_VALUE); } if ([attribute isEqualToString:NSAccessibilitySelectedTextRangeAttribute] && ([[self role] isEqualToString:NSAccessibilityTextFieldRole] || diff --git a/content/browser/accessibility/browser_accessibility_gtk.cc b/content/browser/accessibility/browser_accessibility_gtk.cc index 06a164c..8c61952 100644 --- a/content/browser/accessibility/browser_accessibility_gtk.cc +++ b/content/browser/accessibility/browser_accessibility_gtk.cc @@ -105,7 +105,7 @@ static void browser_accessibility_get_current_value( return; float float_val; - if (obj->GetFloatAttribute(AccessibilityNodeData::ATTR_VALUE_FOR_RANGE, + if (obj->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE, &float_val)) { memset(value, 0, sizeof(*value)); g_value_init(value, G_TYPE_FLOAT); @@ -120,7 +120,7 @@ static void browser_accessibility_get_minimum_value( return; float float_val; - if (obj->GetFloatAttribute(AccessibilityNodeData::ATTR_MIN_VALUE_FOR_RANGE, + if (obj->GetFloatAttribute(ui::AX_ATTR_MIN_VALUE_FOR_RANGE, &float_val)) { memset(value, 0, sizeof(*value)); g_value_init(value, G_TYPE_FLOAT); @@ -135,7 +135,7 @@ static void browser_accessibility_get_maximum_value( return; float float_val; - if (obj->GetFloatAttribute(AccessibilityNodeData::ATTR_MAX_VALUE_FOR_RANGE, + if (obj->GetFloatAttribute(ui::AX_ATTR_MAX_VALUE_FOR_RANGE, &float_val)) { memset(value, 0, sizeof(*value)); g_value_init(value, G_TYPE_FLOAT); @@ -179,7 +179,7 @@ static const gchar* browser_accessibility_get_name(AtkObject* atk_object) { if (!obj) return NULL; - return obj->GetStringAttribute(AccessibilityNodeData::ATTR_NAME).c_str(); + return obj->GetStringAttribute(ui::AX_ATTR_NAME).c_str(); } static const gchar* browser_accessibility_get_description( @@ -189,7 +189,7 @@ static const gchar* browser_accessibility_get_description( return NULL; return obj->GetStringAttribute( - AccessibilityNodeData::ATTR_DESCRIPTION).c_str(); + ui::AX_ATTR_DESCRIPTION).c_str(); } static AtkObject* browser_accessibility_get_parent(AtkObject* atk_object) { @@ -255,7 +255,7 @@ static AtkStateSet* browser_accessibility_ref_state_set(AtkObject* atk_object) { ref_state_set(atk_object); int32 state = obj->state(); - if (state & (1 << blink::WebAXStateFocusable)) + if (state & (1 << ui::AX_STATE_FOCUSABLE)) atk_state_set_add_state(state_set, ATK_STATE_FOCUSABLE); if (obj->manager()->GetFocus(NULL) == obj) atk_state_set_add_state(state_set, ATK_STATE_FOCUSED); @@ -364,9 +364,9 @@ static int GetInterfaceMaskFromObject(BrowserAccessibilityGtk* obj) { interface_mask |= 1 << ATK_COMPONENT_INTERFACE; int role = obj->role(); - if (role == blink::WebAXRoleProgressIndicator || - role == blink::WebAXRoleScrollBar || - role == blink::WebAXRoleSlider) { + if (role == ui::AX_ROLE_PROGRESS_INDICATOR || + role == ui::AX_ROLE_SCROLL_BAR || + role == ui::AX_ROLE_SLIDER) { interface_mask |= 1 << ATK_VALUE_INTERFACE; } @@ -476,37 +476,37 @@ bool BrowserAccessibilityGtk::IsNative() const { void BrowserAccessibilityGtk::InitRoleAndState() { switch(role()) { - case blink::WebAXRoleDocument: - case blink::WebAXRoleRootWebArea: - case blink::WebAXRoleWebArea: + case ui::AX_ROLE_DOCUMENT: + case ui::AX_ROLE_ROOT_WEB_AREA: + case ui::AX_ROLE_WEB_AREA: atk_role_ = ATK_ROLE_DOCUMENT_WEB; break; - case blink::WebAXRoleGroup: - case blink::WebAXRoleDiv: + case ui::AX_ROLE_GROUP: + case ui::AX_ROLE_DIV: atk_role_ = ATK_ROLE_SECTION; break; - case blink::WebAXRoleButton: + case ui::AX_ROLE_BUTTON: atk_role_ = ATK_ROLE_PUSH_BUTTON; break; - case blink::WebAXRoleCheckBox: + case ui::AX_ROLE_CHECK_BOX: atk_role_ = ATK_ROLE_CHECK_BOX; break; - case blink::WebAXRoleComboBox: + case ui::AX_ROLE_COMBO_BOX: atk_role_ = ATK_ROLE_COMBO_BOX; break; - case blink::WebAXRoleLink: + case ui::AX_ROLE_LINK: atk_role_ = ATK_ROLE_LINK; break; - case blink::WebAXRoleRadioButton: + case ui::AX_ROLE_RADIO_BUTTON: atk_role_ = ATK_ROLE_RADIO_BUTTON; break; - case blink::WebAXRoleStaticText: + case ui::AX_ROLE_STATIC_TEXT: atk_role_ = ATK_ROLE_TEXT; break; - case blink::WebAXRoleTextArea: + case ui::AX_ROLE_TEXT_AREA: atk_role_ = ATK_ROLE_ENTRY; break; - case blink::WebAXRoleTextField: + case ui::AX_ROLE_TEXT_FIELD: atk_role_ = ATK_ROLE_ENTRY; break; default: diff --git a/content/browser/accessibility/browser_accessibility_mac_unittest.mm b/content/browser/accessibility/browser_accessibility_mac_unittest.mm index 5ff0a38..843b258 100644 --- a/content/browser/accessibility/browser_accessibility_mac_unittest.mm +++ b/content/browser/accessibility/browser_accessibility_mac_unittest.mm @@ -64,28 +64,28 @@ class BrowserAccessibilityTest : public ui::CocoaTest { protected: void RebuildAccessibilityTree() { - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1000; root.location.set_width(500); root.location.set_height(100); - root.role = blink::WebAXRoleRootWebArea; - root.AddStringAttribute(AccessibilityNodeData::ATTR_HELP, "HelpText"); + root.role = ui::AX_ROLE_ROOT_WEB_AREA; + root.AddStringAttribute(ui::AX_ATTR_HELP, "HelpText"); root.child_ids.push_back(1001); root.child_ids.push_back(1002); - AccessibilityNodeData child1; + ui::AXNodeData child1; child1.id = 1001; child1.SetName("Child1"); child1.location.set_width(250); child1.location.set_height(100); - child1.role = blink::WebAXRoleButton; + child1.role = ui::AX_ROLE_BUTTON; - AccessibilityNodeData child2; + ui::AXNodeData child2; child2.id = 1002; child2.location.set_x(250); child2.location.set_width(250); child2.location.set_height(100); - child2.role = blink::WebAXRoleHeading; + child2.role = ui::AX_ROLE_HEADING; delegate_.reset([[MockAccessibilityDelegate alloc] init]); manager_.reset( diff --git a/content/browser/accessibility/browser_accessibility_manager.cc b/content/browser/accessibility/browser_accessibility_manager.cc index 3511852..c667377 100644 --- a/content/browser/accessibility/browser_accessibility_manager.cc +++ b/content/browser/accessibility/browser_accessibility_manager.cc @@ -22,7 +22,7 @@ BrowserAccessibility* BrowserAccessibilityFactory::Create() { // and Win. For any other platform, instantiate the base class. // static BrowserAccessibilityManager* BrowserAccessibilityManager::Create( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) { return new BrowserAccessibilityManager(src, delegate, factory); @@ -40,7 +40,7 @@ BrowserAccessibilityManager::BrowserAccessibilityManager( } BrowserAccessibilityManager::BrowserAccessibilityManager( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) : delegate_(delegate), @@ -56,8 +56,8 @@ BrowserAccessibilityManager::~BrowserAccessibilityManager() { root_->Destroy(); } -void BrowserAccessibilityManager::Initialize(const AccessibilityNodeData src) { - std::vector<AccessibilityNodeData> nodes; +void BrowserAccessibilityManager::Initialize(const ui::AXNodeData src) { + std::vector<ui::AXNodeData> nodes; nodes.push_back(src); if (!UpdateNodes(nodes)) return; @@ -66,10 +66,10 @@ void BrowserAccessibilityManager::Initialize(const AccessibilityNodeData src) { } // static -AccessibilityNodeData BrowserAccessibilityManager::GetEmptyDocument() { - AccessibilityNodeData empty_document; +ui::AXNodeData BrowserAccessibilityManager::GetEmptyDocument() { + ui::AXNodeData empty_document; empty_document.id = 0; - empty_document.role = blink::WebAXRoleRootWebArea; + empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA; return empty_document; } @@ -93,7 +93,7 @@ void BrowserAccessibilityManager::GotFocus(bool touch_event_context) { if (!focus_) return; - NotifyAccessibilityEvent(blink::WebAXEventFocus, focus_); + NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, focus_); } void BrowserAccessibilityManager::WasHidden() { @@ -102,7 +102,7 @@ void BrowserAccessibilityManager::WasHidden() { void BrowserAccessibilityManager::GotMouseDown() { osk_state_ = OSK_ALLOWED_WITHIN_FOCUSED_OBJECT; - NotifyAccessibilityEvent(blink::WebAXEventFocus, focus_); + NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, focus_); } bool BrowserAccessibilityManager::IsOSKAllowed(const gfx::Rect& bounds) { @@ -135,8 +135,8 @@ void BrowserAccessibilityManager::OnAccessibilityEvents( return; // Set initial focus when a page is loaded. - blink::WebAXEvent event_type = param.event_type; - if (event_type == blink::WebAXEventLoadComplete) { + ui::AXEvent event_type = param.event_type; + if (event_type == ui::AX_EVENT_LOAD_COMPLETE) { if (!focus_) { SetFocus(root_, false); should_send_initial_focus = true; @@ -146,7 +146,7 @@ void BrowserAccessibilityManager::OnAccessibilityEvents( if (should_send_initial_focus && (!delegate_ || delegate_->HasFocus())) { - NotifyAccessibilityEvent(blink::WebAXEventFocus, focus_); + NotifyAccessibilityEvent(ui::AX_EVENT_FOCUS, focus_); } // Now iterate over the events again and fire the events. @@ -159,9 +159,9 @@ void BrowserAccessibilityManager::OnAccessibilityEvents( if (!node) continue; - blink::WebAXEvent event_type = param.event_type; - if (event_type == blink::WebAXEventFocus || - event_type == blink::WebAXEventBlur) { + ui::AXEvent event_type = param.event_type; + if (event_type == ui::AX_EVENT_FOCUS || + event_type == ui::AX_EVENT_BLUR) { SetFocus(node, false); if (osk_state_ != OSK_DISALLOWED_BECAUSE_TAB_HIDDEN && @@ -245,32 +245,32 @@ gfx::Rect BrowserAccessibilityManager::GetViewBounds() { } void BrowserAccessibilityManager::UpdateNodesForTesting( - const AccessibilityNodeData& node1, - const AccessibilityNodeData& node2 /* = AccessibilityNodeData() */, - const AccessibilityNodeData& node3 /* = AccessibilityNodeData() */, - const AccessibilityNodeData& node4 /* = AccessibilityNodeData() */, - const AccessibilityNodeData& node5 /* = AccessibilityNodeData() */, - const AccessibilityNodeData& node6 /* = AccessibilityNodeData() */, - const AccessibilityNodeData& node7 /* = AccessibilityNodeData() */) { - std::vector<AccessibilityNodeData> nodes; + const ui::AXNodeData& node1, + const ui::AXNodeData& node2 /* = ui::AXNodeData() */, + const ui::AXNodeData& node3 /* = ui::AXNodeData() */, + const ui::AXNodeData& node4 /* = ui::AXNodeData() */, + const ui::AXNodeData& node5 /* = ui::AXNodeData() */, + const ui::AXNodeData& node6 /* = ui::AXNodeData() */, + const ui::AXNodeData& node7 /* = ui::AXNodeData() */) { + std::vector<ui::AXNodeData> nodes; nodes.push_back(node1); - if (node2.id != AccessibilityNodeData().id) + if (node2.id != ui::AXNodeData().id) nodes.push_back(node2); - if (node3.id != AccessibilityNodeData().id) + if (node3.id != ui::AXNodeData().id) nodes.push_back(node3); - if (node4.id != AccessibilityNodeData().id) + if (node4.id != ui::AXNodeData().id) nodes.push_back(node4); - if (node5.id != AccessibilityNodeData().id) + if (node5.id != ui::AXNodeData().id) nodes.push_back(node5); - if (node6.id != AccessibilityNodeData().id) + if (node6.id != ui::AXNodeData().id) nodes.push_back(node6); - if (node7.id != AccessibilityNodeData().id) + if (node7.id != ui::AXNodeData().id) nodes.push_back(node7); UpdateNodes(nodes); } bool BrowserAccessibilityManager::UpdateNodes( - const std::vector<AccessibilityNodeData>& nodes) { + const std::vector<ui::AXNodeData>& nodes) { bool success = true; // First, update all of the nodes in the tree. @@ -336,7 +336,7 @@ void BrowserAccessibilityManager::AddNodeToMap(BrowserAccessibility* node) { renderer_id_map_[node->renderer_id()] = node; } -bool BrowserAccessibilityManager::UpdateNode(const AccessibilityNodeData& src) { +bool BrowserAccessibilityManager::UpdateNode(const ui::AXNodeData& src) { // This method updates one node in the tree based on serialized data // received from the renderer. @@ -354,7 +354,7 @@ bool BrowserAccessibilityManager::UpdateNode(const AccessibilityNodeData& src) { // and this is a serious error. BrowserAccessibility* instance = GetFromRendererID(src.id); if (!instance) { - if (src.role != blink::WebAXRoleRootWebArea) + if (src.role != ui::AX_ROLE_ROOT_WEB_AREA) return false; instance = CreateNode(NULL, src.id, 0); } @@ -412,7 +412,7 @@ bool BrowserAccessibilityManager::UpdateNode(const AccessibilityNodeData& src) { instance->SwapChildren(new_children); // Handle the case where this node is the new root of the tree. - if (src.role == blink::WebAXRoleRootWebArea && + if (src.role == ui::AX_ROLE_ROOT_WEB_AREA && (!root_ || root_->renderer_id() != src.id)) { if (root_) root_->Destroy(); @@ -422,9 +422,9 @@ bool BrowserAccessibilityManager::UpdateNode(const AccessibilityNodeData& src) { } // Keep track of what node is focused. - if (src.role != blink::WebAXRoleRootWebArea && - src.role != blink::WebAXRoleWebArea && - (src.state >> blink::WebAXStateFocused & 1)) { + if (src.role != ui::AX_ROLE_ROOT_WEB_AREA && + src.role != ui::AX_ROLE_WEB_AREA && + (src.state >> ui::AX_STATE_FOCUSED & 1)) { SetFocus(instance, false); } return success; diff --git a/content/browser/accessibility/browser_accessibility_manager.h b/content/browser/accessibility/browser_accessibility_manager.h index bcd833c..bd01f39 100644 --- a/content/browser/accessibility/browser_accessibility_manager.h +++ b/content/browser/accessibility/browser_accessibility_manager.h @@ -10,9 +10,9 @@ #include "base/containers/hash_tables.h" #include "base/memory/scoped_ptr.h" #include "build/build_config.h" -#include "content/common/accessibility_node_data.h" #include "content/common/content_export.h" #include "third_party/WebKit/public/web/WebAXEnums.h" +#include "ui/accessibility/ax_node_data.h" #include "ui/gfx/native_widget_types.h" struct AccessibilityHostMsg_EventParams; @@ -60,18 +60,18 @@ class CONTENT_EXPORT BrowserAccessibilityManager { // Creates the platform-specific BrowserAccessibilityManager, but // with no parent window pointer. Only useful for unit tests. static BrowserAccessibilityManager* Create( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory = new BrowserAccessibilityFactory()); virtual ~BrowserAccessibilityManager(); - void Initialize(const AccessibilityNodeData src); + void Initialize(const ui::AXNodeData src); - static AccessibilityNodeData GetEmptyDocument(); + static ui::AXNodeData GetEmptyDocument(); virtual void NotifyAccessibilityEvent( - blink::WebAXEvent event_type, BrowserAccessibility* node) { } + ui::AXEvent event_type, BrowserAccessibility* node) { } // Return a pointer to the root of the tree, does not make a new reference. BrowserAccessibility* GetRoot(); @@ -159,13 +159,13 @@ class CONTENT_EXPORT BrowserAccessibilityManager { // Takes up to 7 nodes at once so tests don't need to create a vector // each time. void UpdateNodesForTesting( - const AccessibilityNodeData& node, - const AccessibilityNodeData& node2 = AccessibilityNodeData(), - const AccessibilityNodeData& node3 = AccessibilityNodeData(), - const AccessibilityNodeData& node4 = AccessibilityNodeData(), - const AccessibilityNodeData& node5 = AccessibilityNodeData(), - const AccessibilityNodeData& node6 = AccessibilityNodeData(), - const AccessibilityNodeData& node7 = AccessibilityNodeData()); + const ui::AXNodeData& node, + const ui::AXNodeData& node2 = ui::AXNodeData(), + const ui::AXNodeData& node3 = ui::AXNodeData(), + const ui::AXNodeData& node4 = ui::AXNodeData(), + const ui::AXNodeData& node5 = ui::AXNodeData(), + const ui::AXNodeData& node6 = ui::AXNodeData(), + const ui::AXNodeData& node7 = ui::AXNodeData()); protected: BrowserAccessibilityManager( @@ -173,7 +173,7 @@ class CONTENT_EXPORT BrowserAccessibilityManager { BrowserAccessibilityFactory* factory); BrowserAccessibilityManager( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory); @@ -206,11 +206,11 @@ class CONTENT_EXPORT BrowserAccessibilityManager { // Update a set of nodes using data received from the renderer // process. - bool UpdateNodes(const std::vector<AccessibilityNodeData>& nodes); + bool UpdateNodes(const std::vector<ui::AXNodeData>& nodes); // Update one node from the tree using data received from the renderer // process. Returns true on success, false on fatal error. - bool UpdateNode(const AccessibilityNodeData& src); + bool UpdateNode(const ui::AXNodeData& src); void SetRoot(BrowserAccessibility* root); diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc index 17538e9..017afd1 100644 --- a/content/browser/accessibility/browser_accessibility_manager_android.cc +++ b/content/browser/accessibility/browser_accessibility_manager_android.cc @@ -42,7 +42,7 @@ namespace aria_strings { // static BrowserAccessibilityManager* BrowserAccessibilityManager::Create( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) { return new BrowserAccessibilityManagerAndroid(ScopedJavaLocalRef<jobject>(), @@ -56,7 +56,7 @@ BrowserAccessibilityManager::ToBrowserAccessibilityManagerAndroid() { BrowserAccessibilityManagerAndroid::BrowserAccessibilityManagerAndroid( ScopedJavaLocalRef<jobject> content_view_core, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) : BrowserAccessibilityManager(src, delegate, factory) { @@ -73,11 +73,11 @@ BrowserAccessibilityManagerAndroid::~BrowserAccessibilityManagerAndroid() { } // static -AccessibilityNodeData BrowserAccessibilityManagerAndroid::GetEmptyDocument() { - AccessibilityNodeData empty_document; +ui::AXNodeData BrowserAccessibilityManagerAndroid::GetEmptyDocument() { + ui::AXNodeData empty_document; empty_document.id = 0; - empty_document.role = blink::WebAXRoleRootWebArea; - empty_document.state = 1 << blink::WebAXStateReadonly; + empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA; + empty_document.state = 1 << ui::AX_STATE_READONLY; return empty_document; } @@ -94,14 +94,14 @@ void BrowserAccessibilityManagerAndroid::SetContentViewCore( } void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent( - blink::WebAXEvent event_type, + ui::AXEvent event_type, BrowserAccessibility* node) { JNIEnv* env = AttachCurrentThread(); ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); if (obj.is_null()) return; - if (event_type == blink::WebAXEventHide) + if (event_type == ui::AX_EVENT_HIDE) return; // Always send AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED to notify @@ -111,26 +111,26 @@ void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent( env, obj.obj(), node->renderer_id()); switch (event_type) { - case blink::WebAXEventLoadComplete: + case ui::AX_EVENT_LOAD_COMPLETE: Java_BrowserAccessibilityManager_handlePageLoaded( env, obj.obj(), focus_->renderer_id()); break; - case blink::WebAXEventFocus: + case ui::AX_EVENT_FOCUS: Java_BrowserAccessibilityManager_handleFocusChanged( env, obj.obj(), node->renderer_id()); break; - case blink::WebAXEventCheckedStateChanged: + case ui::AX_EVENT_CHECKED_STATE_CHANGED: Java_BrowserAccessibilityManager_handleCheckStateChanged( env, obj.obj(), node->renderer_id()); break; - case blink::WebAXEventScrolledToAnchor: + case ui::AX_EVENT_SCROLLED_TO_ANCHOR: Java_BrowserAccessibilityManager_handleScrolledToAnchor( env, obj.obj(), node->renderer_id()); break; - case blink::WebAXEventAlert: + case ui::AX_EVENT_ALERT: // An alert is a special case of live region. Fall through to the // next case to handle it. - case blink::WebAXEventShow: { + case ui::AX_EVENT_SHOW: { // This event is fired when an object appears in a live region. // Speak its text. BrowserAccessibilityAndroid* android_node = @@ -141,13 +141,13 @@ void BrowserAccessibilityManagerAndroid::NotifyAccessibilityEvent( env, android_node->GetText()).obj()); break; } - case blink::WebAXEventSelectedTextChanged: + case ui::AX_EVENT_SELECTED_TEXT_CHANGED: Java_BrowserAccessibilityManager_handleTextSelectionChanged( env, obj.obj(), node->renderer_id()); break; - case blink::WebAXEventChildrenChanged: - case blink::WebAXEventTextChanged: - case blink::WebAXEventValueChanged: + case ui::AX_EVENT_CHILDREN_CHANGED: + case ui::AX_EVENT_TEXT_CHANGED: + case ui::AX_EVENT_VALUE_CHANGED: if (node->IsEditableText()) { Java_BrowserAccessibilityManager_handleEditableTextChanged( env, obj.obj(), node->renderer_id()); diff --git a/content/browser/accessibility/browser_accessibility_manager_android.h b/content/browser/accessibility/browser_accessibility_manager_android.h index 6a9f38d..921ca3a 100644 --- a/content/browser/accessibility/browser_accessibility_manager_android.h +++ b/content/browser/accessibility/browser_accessibility_manager_android.h @@ -21,20 +21,20 @@ class CONTENT_EXPORT BrowserAccessibilityManagerAndroid public: BrowserAccessibilityManagerAndroid( base::android::ScopedJavaLocalRef<jobject> content_view_core, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory = new BrowserAccessibilityFactory()); virtual ~BrowserAccessibilityManagerAndroid(); - static AccessibilityNodeData GetEmptyDocument(); + static ui::AXNodeData GetEmptyDocument(); void SetContentViewCore( base::android::ScopedJavaLocalRef<jobject> content_view_core); // Implementation of BrowserAccessibilityManager. virtual void NotifyAccessibilityEvent( - blink::WebAXEvent event_type, BrowserAccessibility* node) OVERRIDE; + ui::AXEvent event_type, BrowserAccessibility* node) OVERRIDE; // -------------------------------------------------------------------------- // Methods called from Java via JNI diff --git a/content/browser/accessibility/browser_accessibility_manager_gtk.cc b/content/browser/accessibility/browser_accessibility_manager_gtk.cc index e97f8b2..975336f 100644 --- a/content/browser/accessibility/browser_accessibility_manager_gtk.cc +++ b/content/browser/accessibility/browser_accessibility_manager_gtk.cc @@ -11,7 +11,7 @@ namespace content { // static BrowserAccessibilityManager* BrowserAccessibilityManager::Create( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) { return new BrowserAccessibilityManagerGtk( @@ -23,7 +23,7 @@ BrowserAccessibilityManager* BrowserAccessibilityManager::Create( BrowserAccessibilityManagerGtk::BrowserAccessibilityManagerGtk( GtkWidget* parent_widget, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) : BrowserAccessibilityManager(delegate, factory), @@ -35,27 +35,27 @@ BrowserAccessibilityManagerGtk::~BrowserAccessibilityManagerGtk() { } // static -AccessibilityNodeData BrowserAccessibilityManagerGtk::GetEmptyDocument() { - AccessibilityNodeData empty_document; +ui::AXNodeData BrowserAccessibilityManagerGtk::GetEmptyDocument() { + ui::AXNodeData empty_document; empty_document.id = 0; - empty_document.role = blink::WebAXRoleRootWebArea; + empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA; empty_document.state = - 1 << blink::WebAXStateReadonly; + 1 << ui::AX_STATE_READONLY; return empty_document; } void BrowserAccessibilityManagerGtk::NotifyAccessibilityEvent( - blink::WebAXEvent event_type, + ui::AXEvent event_type, BrowserAccessibility* node) { if (!node->IsNative()) return; AtkObject* atk_object = node->ToBrowserAccessibilityGtk()->GetAtkObject(); switch (event_type) { - case blink::WebAXEventChildrenChanged: + case ui::AX_EVENT_CHILDREN_CHANGED: RecursivelySendChildrenChanged(GetRoot()->ToBrowserAccessibilityGtk()); break; - case blink::WebAXEventFocus: + case ui::AX_EVENT_FOCUS: // Note: the focus-event was deprecated in ATK 2.9.4 // See https://bugzilla.gnome.org/show_bug.cgi?id=649575#c8 g_signal_emit_by_name(atk_object, "focus-event", true); diff --git a/content/browser/accessibility/browser_accessibility_manager_gtk.h b/content/browser/accessibility/browser_accessibility_manager_gtk.h index 97d99d3..6349a81 100644 --- a/content/browser/accessibility/browser_accessibility_manager_gtk.h +++ b/content/browser/accessibility/browser_accessibility_manager_gtk.h @@ -18,17 +18,17 @@ class CONTENT_EXPORT BrowserAccessibilityManagerGtk public: BrowserAccessibilityManagerGtk( GtkWidget* parent_widget, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory = new BrowserAccessibilityFactory()); virtual ~BrowserAccessibilityManagerGtk(); - static AccessibilityNodeData GetEmptyDocument(); + static ui::AXNodeData GetEmptyDocument(); // BrowserAccessibilityManager methods virtual void NotifyAccessibilityEvent( - blink::WebAXEvent event_type, BrowserAccessibility* node) OVERRIDE; + ui::AXEvent event_type, BrowserAccessibility* node) OVERRIDE; GtkWidget* parent_widget() { return parent_widget_; } diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.h b/content/browser/accessibility/browser_accessibility_manager_mac.h index 3b00f05..2b501d6 100644 --- a/content/browser/accessibility/browser_accessibility_manager_mac.h +++ b/content/browser/accessibility/browser_accessibility_manager_mac.h @@ -16,15 +16,15 @@ class CONTENT_EXPORT BrowserAccessibilityManagerMac public: BrowserAccessibilityManagerMac( NSView* parent_view, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory = new BrowserAccessibilityFactory()); - static AccessibilityNodeData GetEmptyDocument(); + static ui::AXNodeData GetEmptyDocument(); // Implementation of BrowserAccessibilityManager. virtual void NotifyAccessibilityEvent( - blink::WebAXEvent event_type, BrowserAccessibility* node) OVERRIDE; + ui::AXEvent event_type, BrowserAccessibility* node) OVERRIDE; NSView* parent_view() { return parent_view_; } diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm index 8f07f319..801dca8 100644 --- a/content/browser/accessibility/browser_accessibility_manager_mac.mm +++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm @@ -12,7 +12,7 @@ namespace content { // static BrowserAccessibilityManager* BrowserAccessibilityManager::Create( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) { return new BrowserAccessibilityManagerMac(NULL, src, delegate, factory); @@ -20,7 +20,7 @@ BrowserAccessibilityManager* BrowserAccessibilityManager::Create( BrowserAccessibilityManagerMac::BrowserAccessibilityManagerMac( NSView* parent_view, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) : BrowserAccessibilityManager(src, delegate, factory), @@ -28,17 +28,17 @@ BrowserAccessibilityManagerMac::BrowserAccessibilityManagerMac( } // static -AccessibilityNodeData BrowserAccessibilityManagerMac::GetEmptyDocument() { - AccessibilityNodeData empty_document; +ui::AXNodeData BrowserAccessibilityManagerMac::GetEmptyDocument() { + ui::AXNodeData empty_document; empty_document.id = 0; - empty_document.role = blink::WebAXRoleRootWebArea; + empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA; empty_document.state = - 1 << blink::WebAXStateReadonly; + 1 << ui::AX_STATE_READONLY; return empty_document; } void BrowserAccessibilityManagerMac::NotifyAccessibilityEvent( - blink::WebAXEvent event_type, + ui::AXEvent event_type, BrowserAccessibility* node) { if (!node->IsNative()) return; @@ -46,88 +46,88 @@ void BrowserAccessibilityManagerMac::NotifyAccessibilityEvent( // Refer to AXObjectCache.mm (webkit). NSString* event_id = @""; switch (event_type) { - case blink::WebAXEventActiveDescendantChanged: - if (node->role() == blink::WebAXRoleTree) + case ui::AX_EVENT_ACTIVEDESCENDANTCHANGED: + if (node->role() == ui::AX_ROLE_TREE) event_id = NSAccessibilitySelectedRowsChangedNotification; else event_id = NSAccessibilityFocusedUIElementChangedNotification; break; - case blink::WebAXEventAlert: + case ui::AX_EVENT_ALERT: // Not used on Mac. return; - case blink::WebAXEventBlur: + case ui::AX_EVENT_BLUR: // A no-op on Mac. return; - case blink::WebAXEventCheckedStateChanged: + case ui::AX_EVENT_CHECKED_STATE_CHANGED: // Not used on Mac. return; - case blink::WebAXEventChildrenChanged: + case ui::AX_EVENT_CHILDREN_CHANGED: // TODO(dtseng): no clear equivalent on Mac. return; - case blink::WebAXEventFocus: + case ui::AX_EVENT_FOCUS: event_id = NSAccessibilityFocusedUIElementChangedNotification; break; - case blink::WebAXEventLayoutComplete: + case ui::AX_EVENT_LAYOUT_COMPLETE: event_id = @"AXLayoutComplete"; break; - case blink::WebAXEventLiveRegionChanged: + case ui::AX_EVENT_LIVE_REGION_CHANGED: event_id = @"AXLiveRegionChanged"; break; - case blink::WebAXEventLoadComplete: + case ui::AX_EVENT_LOAD_COMPLETE: event_id = @"AXLoadComplete"; break; - case blink::WebAXEventMenuListValueChanged: + case ui::AX_EVENT_MENU_LIST_VALUE_CHANGED: // Not used on Mac. return; - case blink::WebAXEventShow: + case ui::AX_EVENT_SHOW: // Not used on Mac. return; - case blink::WebAXEventHide: + case ui::AX_EVENT_HIDE: // Not used on Mac. return; - case blink::WebAXEventRowCountChanged: + case ui::AX_EVENT_ROW_COUNT_CHANGED: event_id = NSAccessibilityRowCountChangedNotification; break; - case blink::WebAXEventRowCollapsed: + case ui::AX_EVENT_ROW_COLLAPSED: event_id = @"AXRowCollapsed"; break; - case blink::WebAXEventRowExpanded: + case ui::AX_EVENT_ROW_EXPANDED: event_id = @"AXRowExpanded"; break; - case blink::WebAXEventScrolledToAnchor: + case ui::AX_EVENT_SCROLLED_TO_ANCHOR: // Not used on Mac. return; - case blink::WebAXEventSelectedChildrenChanged: + case ui::AX_EVENT_SELECTED_CHILDREN_CHANGED: event_id = NSAccessibilitySelectedChildrenChangedNotification; break; - case blink::WebAXEventSelectedTextChanged: + case ui::AX_EVENT_SELECTED_TEXT_CHANGED: event_id = NSAccessibilitySelectedTextChangedNotification; break; - case blink::WebAXEventTextInserted: + case ui::AX_EVENT_TEXT_INSERTED: // Not used on Mac. return; - case blink::WebAXEventTextRemoved: + case ui::AX_EVENT_TEXT_REMOVED: // Not used on Mac. return; - case blink::WebAXEventValueChanged: + case ui::AX_EVENT_VALUE_CHANGED: event_id = NSAccessibilityValueChangedNotification; break; - case blink::WebAXEventAriaAttributeChanged: + case ui::AX_EVENT_ARIA_ATTRIBUTE_CHANGED: // Not used on Mac. return; - case blink::WebAXEventAutocorrectionOccured: + case ui::AX_EVENT_AUTOCORRECTION_OCCURED: // Not used on Mac. return; - case blink::WebAXEventInvalidStatusChanged: + case ui::AX_EVENT_INVALID_STATUS_CHANGED: // Not used on Mac. return; - case blink::WebAXEventLocationChanged: + case ui::AX_EVENT_LOCATION_CHANGED: // Not used on Mac. return; - case blink::WebAXEventMenuListItemSelected: + case ui::AX_EVENT_MENU_LIST_ITEM_SELECTED: // Not used on Mac. return; - case blink::WebAXEventTextChanged: + case ui::AX_EVENT_TEXT_CHANGED: // Not used on Mac. return; default: diff --git a/content/browser/accessibility/browser_accessibility_manager_unittest.cc b/content/browser/accessibility/browser_accessibility_manager_unittest.cc index e390aaa..dadc810 100644 --- a/content/browser/accessibility/browser_accessibility_manager_unittest.cc +++ b/content/browser/accessibility/browser_accessibility_manager_unittest.cc @@ -7,7 +7,6 @@ #include "content/browser/accessibility/browser_accessibility.h" #include "content/browser/accessibility/browser_accessibility_manager.h" #include "content/common/accessibility_messages.h" -#include "content/common/accessibility_node_data.h" #include "testing/gtest/include/gtest/gtest.h" namespace content { @@ -87,31 +86,31 @@ private: } // anonymous namespace TEST(BrowserAccessibilityManagerTest, TestNoLeaks) { - // Create AccessibilityNodeData objects for a simple document tree, + // Create ui::AXNodeData objects for a simple document tree, // representing the accessibility information used to initialize // BrowserAccessibilityManager. - AccessibilityNodeData button; + ui::AXNodeData button; button.id = 2; button.SetName("Button"); - button.role = blink::WebAXRoleButton; + button.role = ui::AX_ROLE_BUTTON; button.state = 0; - AccessibilityNodeData checkbox; + ui::AXNodeData checkbox; checkbox.id = 3; checkbox.SetName("Checkbox"); - checkbox.role = blink::WebAXRoleCheckBox; + checkbox.role = ui::AX_ROLE_CHECK_BOX; checkbox.state = 0; - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; root.SetName("Document"); - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; root.state = 0; root.child_ids.push_back(2); root.child_ids.push_back(3); // Construct a BrowserAccessibilityManager with this - // AccessibilityNodeData tree and a factory for an instance-counting + // ui::AXNodeData tree and a factory for an instance-counting // BrowserAccessibility, and ensure that exactly 3 instances were // created. Note that the manager takes ownership of the factory. CountedBrowserAccessibility::global_obj_count_ = 0; @@ -169,28 +168,28 @@ TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects) { // child2 // child3 - AccessibilityNodeData tree1_child1; + ui::AXNodeData tree1_child1; tree1_child1.id = 2; tree1_child1.SetName("Child1"); - tree1_child1.role = blink::WebAXRoleButton; + tree1_child1.role = ui::AX_ROLE_BUTTON; tree1_child1.state = 0; - AccessibilityNodeData tree1_child2; + ui::AXNodeData tree1_child2; tree1_child2.id = 3; tree1_child2.SetName("Child2"); - tree1_child2.role = blink::WebAXRoleButton; + tree1_child2.role = ui::AX_ROLE_BUTTON; tree1_child2.state = 0; - AccessibilityNodeData tree1_child3; + ui::AXNodeData tree1_child3; tree1_child3.id = 4; tree1_child3.SetName("Child3"); - tree1_child3.role = blink::WebAXRoleButton; + tree1_child3.role = ui::AX_ROLE_BUTTON; tree1_child3.state = 0; - AccessibilityNodeData tree1_root; + ui::AXNodeData tree1_root; tree1_root.id = 1; tree1_root.SetName("Document"); - tree1_root.role = blink::WebAXRoleRootWebArea; + tree1_root.role = ui::AX_ROLE_ROOT_WEB_AREA; tree1_root.state = 0; tree1_root.child_ids.push_back(2); tree1_root.child_ids.push_back(3); @@ -204,16 +203,16 @@ TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects) { // child2 // <-- child3 deleted - AccessibilityNodeData tree2_child0; + ui::AXNodeData tree2_child0; tree2_child0.id = 5; tree2_child0.SetName("Child0"); - tree2_child0.role = blink::WebAXRoleButton; + tree2_child0.role = ui::AX_ROLE_BUTTON; tree2_child0.state = 0; - AccessibilityNodeData tree2_root; + ui::AXNodeData tree2_root; tree2_root.id = 1; tree2_root.SetName("DocumentChanged"); - tree2_root.role = blink::WebAXRoleRootWebArea; + tree2_root.role = ui::AX_ROLE_ROOT_WEB_AREA; tree2_root.state = 0; tree2_root.child_ids.push_back(5); tree2_root.child_ids.push_back(2); @@ -255,7 +254,7 @@ TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects) { std::vector<AccessibilityHostMsg_EventParams> params; params.push_back(AccessibilityHostMsg_EventParams()); AccessibilityHostMsg_EventParams* msg = ¶ms[0]; - msg->event_type = blink::WebAXEventChildrenChanged; + msg->event_type = ui::AX_EVENT_CHILDREN_CHANGED; msg->nodes.push_back(tree2_root); msg->nodes.push_back(tree2_child0); msg->id = tree2_root.id; @@ -304,58 +303,58 @@ TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects2) { // child3 // grandchild3 - AccessibilityNodeData tree1_grandchild1; + ui::AXNodeData tree1_grandchild1; tree1_grandchild1.id = 4; tree1_grandchild1.SetName("GrandChild1"); - tree1_grandchild1.role = blink::WebAXRoleButton; + tree1_grandchild1.role = ui::AX_ROLE_BUTTON; tree1_grandchild1.state = 0; - AccessibilityNodeData tree1_child1; + ui::AXNodeData tree1_child1; tree1_child1.id = 3; tree1_child1.SetName("Child1"); - tree1_child1.role = blink::WebAXRoleButton; + tree1_child1.role = ui::AX_ROLE_BUTTON; tree1_child1.state = 0; tree1_child1.child_ids.push_back(4); - AccessibilityNodeData tree1_grandchild2; + ui::AXNodeData tree1_grandchild2; tree1_grandchild2.id = 6; tree1_grandchild2.SetName("GrandChild1"); - tree1_grandchild2.role = blink::WebAXRoleButton; + tree1_grandchild2.role = ui::AX_ROLE_BUTTON; tree1_grandchild2.state = 0; - AccessibilityNodeData tree1_child2; + ui::AXNodeData tree1_child2; tree1_child2.id = 5; tree1_child2.SetName("Child2"); - tree1_child2.role = blink::WebAXRoleButton; + tree1_child2.role = ui::AX_ROLE_BUTTON; tree1_child2.state = 0; tree1_child2.child_ids.push_back(6); - AccessibilityNodeData tree1_grandchild3; + ui::AXNodeData tree1_grandchild3; tree1_grandchild3.id = 8; tree1_grandchild3.SetName("GrandChild3"); - tree1_grandchild3.role = blink::WebAXRoleButton; + tree1_grandchild3.role = ui::AX_ROLE_BUTTON; tree1_grandchild3.state = 0; - AccessibilityNodeData tree1_child3; + ui::AXNodeData tree1_child3; tree1_child3.id = 7; tree1_child3.SetName("Child3"); - tree1_child3.role = blink::WebAXRoleButton; + tree1_child3.role = ui::AX_ROLE_BUTTON; tree1_child3.state = 0; tree1_child3.child_ids.push_back(8); - AccessibilityNodeData tree1_container; + ui::AXNodeData tree1_container; tree1_container.id = 2; tree1_container.SetName("Container"); - tree1_container.role = blink::WebAXRoleGroup; + tree1_container.role = ui::AX_ROLE_GROUP; tree1_container.state = 0; tree1_container.child_ids.push_back(3); tree1_container.child_ids.push_back(5); tree1_container.child_ids.push_back(7); - AccessibilityNodeData tree1_root; + ui::AXNodeData tree1_root; tree1_root.id = 1; tree1_root.SetName("Document"); - tree1_root.role = blink::WebAXRoleRootWebArea; + tree1_root.role = ui::AX_ROLE_ROOT_WEB_AREA; tree1_root.state = 0; tree1_root.child_ids.push_back(2); @@ -371,23 +370,23 @@ TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects2) { // grandchild2 // <-- child3 (and grandchild3) deleted - AccessibilityNodeData tree2_grandchild0; + ui::AXNodeData tree2_grandchild0; tree2_grandchild0.id = 9; tree2_grandchild0.SetName("GrandChild0"); - tree2_grandchild0.role = blink::WebAXRoleButton; + tree2_grandchild0.role = ui::AX_ROLE_BUTTON; tree2_grandchild0.state = 0; - AccessibilityNodeData tree2_child0; + ui::AXNodeData tree2_child0; tree2_child0.id = 10; tree2_child0.SetName("Child0"); - tree2_child0.role = blink::WebAXRoleButton; + tree2_child0.role = ui::AX_ROLE_BUTTON; tree2_child0.state = 0; tree2_child0.child_ids.push_back(9); - AccessibilityNodeData tree2_container; + ui::AXNodeData tree2_container; tree2_container.id = 2; tree2_container.SetName("Container"); - tree2_container.role = blink::WebAXRoleGroup; + tree2_container.role = ui::AX_ROLE_GROUP; tree2_container.state = 0; tree2_container.child_ids.push_back(10); tree2_container.child_ids.push_back(3); @@ -432,7 +431,7 @@ TEST(BrowserAccessibilityManagerTest, TestReuseBrowserAccessibilityObjects2) { std::vector<AccessibilityHostMsg_EventParams> params; params.push_back(AccessibilityHostMsg_EventParams()); AccessibilityHostMsg_EventParams* msg = ¶ms[0]; - msg->event_type = blink::WebAXEventChildrenChanged; + msg->event_type = ui::AX_EVENT_CHILDREN_CHANGED; msg->nodes.push_back(tree2_container); msg->nodes.push_back(tree2_child0); msg->nodes.push_back(tree2_grandchild0); @@ -479,22 +478,22 @@ TEST(BrowserAccessibilityManagerTest, TestMoveChildUp) { // 3 // 4 - AccessibilityNodeData tree1_4; + ui::AXNodeData tree1_4; tree1_4.id = 4; tree1_4.state = 0; - AccessibilityNodeData tree1_3; + ui::AXNodeData tree1_3; tree1_3.id = 3; tree1_3.state = 0; tree1_3.child_ids.push_back(4); - AccessibilityNodeData tree1_2; + ui::AXNodeData tree1_2; tree1_2.id = 2; tree1_2.state = 0; - AccessibilityNodeData tree1_1; + ui::AXNodeData tree1_1; tree1_1.id = 1; - tree1_1.role = blink::WebAXRoleRootWebArea; + tree1_1.role = ui::AX_ROLE_ROOT_WEB_AREA; tree1_1.state = 0; tree1_1.child_ids.push_back(2); tree1_1.child_ids.push_back(3); @@ -506,20 +505,20 @@ TEST(BrowserAccessibilityManagerTest, TestMoveChildUp) { // 6 <-- new // 5 <-- new - AccessibilityNodeData tree2_6; + ui::AXNodeData tree2_6; tree2_6.id = 6; tree2_6.state = 0; - AccessibilityNodeData tree2_5; + ui::AXNodeData tree2_5; tree2_5.id = 5; tree2_5.state = 0; - AccessibilityNodeData tree2_4; + ui::AXNodeData tree2_4; tree2_4.id = 4; tree2_4.state = 0; tree2_4.child_ids.push_back(6); - AccessibilityNodeData tree2_1; + ui::AXNodeData tree2_1; tree2_1.id = 1; tree2_1.state = 0; tree2_1.child_ids.push_back(4); @@ -539,7 +538,7 @@ TEST(BrowserAccessibilityManagerTest, TestMoveChildUp) { std::vector<AccessibilityHostMsg_EventParams> params; params.push_back(AccessibilityHostMsg_EventParams()); AccessibilityHostMsg_EventParams* msg = ¶ms[0]; - msg->event_type = blink::WebAXEventChildrenChanged; + msg->event_type = ui::AX_EVENT_CHILDREN_CHANGED; msg->nodes.push_back(tree2_1); msg->nodes.push_back(tree2_4); msg->nodes.push_back(tree2_5); @@ -566,9 +565,9 @@ TEST(BrowserAccessibilityManagerTest, MAYBE_TestFatalError) { // (which will crash the renderer) if the same id is used in // two places in the tree. - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; root.child_ids.push_back(2); root.child_ids.push_back(2); @@ -584,18 +583,18 @@ TEST(BrowserAccessibilityManagerTest, MAYBE_TestFatalError) { factory)); ASSERT_TRUE(delegate->got_fatal_error()); - AccessibilityNodeData root2; + ui::AXNodeData root2; root2.id = 1; - root2.role = blink::WebAXRoleRootWebArea; + root2.role = ui::AX_ROLE_ROOT_WEB_AREA; root2.child_ids.push_back(2); root2.child_ids.push_back(3); - AccessibilityNodeData child1; + ui::AXNodeData child1; child1.id = 2; child1.child_ids.push_back(4); child1.child_ids.push_back(5); - AccessibilityNodeData child2; + ui::AXNodeData child2; child2.id = 3; child2.child_ids.push_back(6); child2.child_ids.push_back(5); // Duplicate @@ -612,23 +611,23 @@ TEST(BrowserAccessibilityManagerTest, MAYBE_TestFatalError) { } TEST(BrowserAccessibilityManagerTest, BoundsForRange) { - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; - AccessibilityNodeData static_text; + ui::AXNodeData static_text; static_text.id = 2; static_text.SetValue("Hello, world."); - static_text.role = blink::WebAXRoleStaticText; + static_text.role = ui::AX_ROLE_STATIC_TEXT; static_text.location = gfx::Rect(100, 100, 29, 18); root.child_ids.push_back(2); - AccessibilityNodeData inline_text1; + ui::AXNodeData inline_text1; inline_text1.id = 3; inline_text1.SetValue("Hello, "); - inline_text1.role = blink::WebAXRoleInlineTextBox; + inline_text1.role = ui::AX_ROLE_INLINE_TEXT_BOX; inline_text1.location = gfx::Rect(100, 100, 29, 9); - inline_text1.AddIntAttribute(AccessibilityNodeData::ATTR_TEXT_DIRECTION, + inline_text1.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, blink::WebAXTextDirectionLR); std::vector<int32> character_offsets1; character_offsets1.push_back(6); // 0 @@ -639,15 +638,15 @@ TEST(BrowserAccessibilityManagerTest, BoundsForRange) { character_offsets1.push_back(29); // 5 character_offsets1.push_back(29); // 6 (note that the space has no width) inline_text1.AddIntListAttribute( - AccessibilityNodeData::ATTR_CHARACTER_OFFSETS, character_offsets1); + ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets1); static_text.child_ids.push_back(3); - AccessibilityNodeData inline_text2; + ui::AXNodeData inline_text2; inline_text2.id = 4; inline_text2.SetValue("world."); - inline_text2.role = blink::WebAXRoleInlineTextBox; + inline_text2.role = ui::AX_ROLE_INLINE_TEXT_BOX; inline_text2.location = gfx::Rect(100, 109, 28, 9); - inline_text2.AddIntAttribute(AccessibilityNodeData::ATTR_TEXT_DIRECTION, + inline_text2.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, blink::WebAXTextDirectionLR); std::vector<int32> character_offsets2; character_offsets2.push_back(5); @@ -657,7 +656,7 @@ TEST(BrowserAccessibilityManagerTest, BoundsForRange) { character_offsets2.push_back(25); character_offsets2.push_back(28); inline_text2.AddIntListAttribute( - AccessibilityNodeData::ATTR_CHARACTER_OFFSETS, character_offsets2); + ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); static_text.child_ids.push_back(4); scoped_ptr<BrowserAccessibilityManager> manager( @@ -708,45 +707,45 @@ TEST(BrowserAccessibilityManagerTest, BoundsForRangeBiDi) { // tests that if something like that were to occur, GetLocalBoundsForRange // returns the correct bounds for different ranges. - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; - AccessibilityNodeData static_text; + ui::AXNodeData static_text; static_text.id = 2; static_text.SetValue("123abc"); - static_text.role = blink::WebAXRoleStaticText; + static_text.role = ui::AX_ROLE_STATIC_TEXT; static_text.location = gfx::Rect(100, 100, 60, 20); root.child_ids.push_back(2); - AccessibilityNodeData inline_text1; + ui::AXNodeData inline_text1; inline_text1.id = 3; inline_text1.SetValue("123"); - inline_text1.role = blink::WebAXRoleInlineTextBox; + inline_text1.role = ui::AX_ROLE_INLINE_TEXT_BOX; inline_text1.location = gfx::Rect(100, 100, 30, 20); - inline_text1.AddIntAttribute(AccessibilityNodeData::ATTR_TEXT_DIRECTION, + inline_text1.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, blink::WebAXTextDirectionLR); std::vector<int32> character_offsets1; character_offsets1.push_back(10); // 0 character_offsets1.push_back(20); // 1 character_offsets1.push_back(30); // 2 inline_text1.AddIntListAttribute( - AccessibilityNodeData::ATTR_CHARACTER_OFFSETS, character_offsets1); + ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets1); static_text.child_ids.push_back(3); - AccessibilityNodeData inline_text2; + ui::AXNodeData inline_text2; inline_text2.id = 4; inline_text2.SetValue("abc"); - inline_text2.role = blink::WebAXRoleInlineTextBox; + inline_text2.role = ui::AX_ROLE_INLINE_TEXT_BOX; inline_text2.location = gfx::Rect(130, 100, 30, 20); - inline_text2.AddIntAttribute(AccessibilityNodeData::ATTR_TEXT_DIRECTION, + inline_text2.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, blink::WebAXTextDirectionRL); std::vector<int32> character_offsets2; character_offsets2.push_back(10); character_offsets2.push_back(20); character_offsets2.push_back(30); inline_text2.AddIntListAttribute( - AccessibilityNodeData::ATTR_CHARACTER_OFFSETS, character_offsets2); + ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); static_text.child_ids.push_back(4); scoped_ptr<BrowserAccessibilityManager> manager( @@ -788,63 +787,63 @@ TEST(BrowserAccessibilityManagerTest, BoundsForRangeBiDi) { #define MAYBE_BoundsForRangeOnParentElement BoundsForRangeOnParentElement #endif TEST(BrowserAccessibilityManagerTest, MAYBE_BoundsForRangeOnParentElement) { - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; root.child_ids.push_back(2); - AccessibilityNodeData div; + ui::AXNodeData div; div.id = 2; - div.role = blink::WebAXRoleDiv; + div.role = ui::AX_ROLE_DIV; div.location = gfx::Rect(100, 100, 100, 20); div.child_ids.push_back(3); div.child_ids.push_back(4); div.child_ids.push_back(5); - AccessibilityNodeData static_text1; + ui::AXNodeData static_text1; static_text1.id = 3; static_text1.SetValue("AB"); - static_text1.role = blink::WebAXRoleStaticText; + static_text1.role = ui::AX_ROLE_STATIC_TEXT; static_text1.location = gfx::Rect(100, 100, 40, 20); static_text1.child_ids.push_back(6); - AccessibilityNodeData img; + ui::AXNodeData img; img.id = 4; - img.role = blink::WebAXRoleImage; + img.role = ui::AX_ROLE_IMAGE; img.location = gfx::Rect(140, 100, 20, 20); - AccessibilityNodeData static_text2; + ui::AXNodeData static_text2; static_text2.id = 5; static_text2.SetValue("CD"); - static_text2.role = blink::WebAXRoleStaticText; + static_text2.role = ui::AX_ROLE_STATIC_TEXT; static_text2.location = gfx::Rect(160, 100, 40, 20); static_text2.child_ids.push_back(7); - AccessibilityNodeData inline_text1; + ui::AXNodeData inline_text1; inline_text1.id = 6; inline_text1.SetValue("AB"); - inline_text1.role = blink::WebAXRoleInlineTextBox; + inline_text1.role = ui::AX_ROLE_INLINE_TEXT_BOX; inline_text1.location = gfx::Rect(100, 100, 40, 20); - inline_text1.AddIntAttribute(AccessibilityNodeData::ATTR_TEXT_DIRECTION, + inline_text1.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, blink::WebAXTextDirectionLR); std::vector<int32> character_offsets1; character_offsets1.push_back(20); // 0 character_offsets1.push_back(40); // 1 inline_text1.AddIntListAttribute( - AccessibilityNodeData::ATTR_CHARACTER_OFFSETS, character_offsets1); + ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets1); - AccessibilityNodeData inline_text2; + ui::AXNodeData inline_text2; inline_text2.id = 7; inline_text2.SetValue("CD"); - inline_text2.role = blink::WebAXRoleInlineTextBox; + inline_text2.role = ui::AX_ROLE_INLINE_TEXT_BOX; inline_text2.location = gfx::Rect(160, 100, 40, 20); - inline_text2.AddIntAttribute(AccessibilityNodeData::ATTR_TEXT_DIRECTION, + inline_text2.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, blink::WebAXTextDirectionLR); std::vector<int32> character_offsets2; character_offsets2.push_back(20); // 0 character_offsets2.push_back(40); // 1 inline_text2.AddIntListAttribute( - AccessibilityNodeData::ATTR_CHARACTER_OFFSETS, character_offsets2); + ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); scoped_ptr<BrowserAccessibilityManager> manager( BrowserAccessibilityManager::Create( diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc index 4e5f8dc..aaecafb 100644 --- a/content/browser/accessibility/browser_accessibility_manager_win.cc +++ b/content/browser/accessibility/browser_accessibility_manager_win.cc @@ -97,7 +97,7 @@ class AccessibleHWND // static BrowserAccessibilityManager* BrowserAccessibilityManager::Create( - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) { return new BrowserAccessibilityManagerWin( @@ -112,7 +112,7 @@ BrowserAccessibilityManager::ToBrowserAccessibilityManagerWin() { BrowserAccessibilityManagerWin::BrowserAccessibilityManagerWin( HWND parent_hwnd, IAccessible* parent_iaccessible, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory) : BrowserAccessibilityManager(src, delegate, factory), @@ -134,14 +134,14 @@ BrowserAccessibilityManagerWin::~BrowserAccessibilityManagerWin() { } // static -AccessibilityNodeData BrowserAccessibilityManagerWin::GetEmptyDocument() { - AccessibilityNodeData empty_document; +ui::AXNodeData BrowserAccessibilityManagerWin::GetEmptyDocument() { + ui::AXNodeData empty_document; empty_document.id = 0; - empty_document.role = blink::WebAXRoleRootWebArea; + empty_document.role = ui::AX_ROLE_ROOT_WEB_AREA; empty_document.state = (1 << blink::WebAXStateEnabled) | - (1 << blink::WebAXStateReadonly) | - (1 << blink::WebAXStateBusy); + (1 << ui::AX_STATE_READONLY) | + (1 << ui::AX_STATE_BUSY); return empty_document; } @@ -184,82 +184,82 @@ void BrowserAccessibilityManagerWin::RemoveNode(BrowserAccessibility* node) { } void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent( - blink::WebAXEvent event_type, + ui::AXEvent event_type, BrowserAccessibility* node) { - if (node->role() == blink::WebAXRoleInlineTextBox) + if (node->role() == ui::AX_ROLE_INLINE_TEXT_BOX) return; LONG event_id = EVENT_MIN; switch (event_type) { - case blink::WebAXEventActiveDescendantChanged: + case ui::AX_EVENT_ACTIVEDESCENDANTCHANGED: event_id = IA2_EVENT_ACTIVE_DESCENDANT_CHANGED; break; - case blink::WebAXEventAlert: + case ui::AX_EVENT_ALERT: event_id = EVENT_SYSTEM_ALERT; break; - case blink::WebAXEventAriaAttributeChanged: + case ui::AX_EVENT_ARIA_ATTRIBUTE_CHANGED: event_id = IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED; break; - case blink::WebAXEventAutocorrectionOccured: + case ui::AX_EVENT_AUTOCORRECTION_OCCURED: event_id = IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED; break; - case blink::WebAXEventBlur: + case ui::AX_EVENT_BLUR: // Equivalent to focus on the root. event_id = EVENT_OBJECT_FOCUS; node = GetRoot(); break; - case blink::WebAXEventCheckedStateChanged: + case ui::AX_EVENT_CHECKED_STATE_CHANGED: event_id = EVENT_OBJECT_STATECHANGE; break; - case blink::WebAXEventChildrenChanged: + case ui::AX_EVENT_CHILDREN_CHANGED: event_id = EVENT_OBJECT_REORDER; break; - case blink::WebAXEventFocus: + case ui::AX_EVENT_FOCUS: event_id = EVENT_OBJECT_FOCUS; break; - case blink::WebAXEventInvalidStatusChanged: + case ui::AX_EVENT_INVALID_STATUS_CHANGED: event_id = EVENT_OBJECT_STATECHANGE; break; - case blink::WebAXEventLiveRegionChanged: + case ui::AX_EVENT_LIVE_REGION_CHANGED: // TODO: try not firing a native notification at all, since // on Windows, each individual item in a live region that changes // already gets its own notification. event_id = EVENT_OBJECT_REORDER; break; - case blink::WebAXEventLoadComplete: + case ui::AX_EVENT_LOAD_COMPLETE: event_id = IA2_EVENT_DOCUMENT_LOAD_COMPLETE; break; - case blink::WebAXEventMenuListItemSelected: + case ui::AX_EVENT_MENU_LIST_ITEM_SELECTED: event_id = EVENT_OBJECT_FOCUS; break; - case blink::WebAXEventMenuListValueChanged: + case ui::AX_EVENT_MENU_LIST_VALUE_CHANGED: event_id = EVENT_OBJECT_VALUECHANGE; break; - case blink::WebAXEventHide: + case ui::AX_EVENT_HIDE: event_id = EVENT_OBJECT_HIDE; break; - case blink::WebAXEventShow: + case ui::AX_EVENT_SHOW: event_id = EVENT_OBJECT_SHOW; break; - case blink::WebAXEventScrolledToAnchor: + case ui::AX_EVENT_SCROLLED_TO_ANCHOR: event_id = EVENT_SYSTEM_SCROLLINGSTART; break; - case blink::WebAXEventSelectedChildrenChanged: + case ui::AX_EVENT_SELECTED_CHILDREN_CHANGED: event_id = EVENT_OBJECT_SELECTIONWITHIN; break; - case blink::WebAXEventSelectedTextChanged: + case ui::AX_EVENT_SELECTED_TEXT_CHANGED: event_id = IA2_EVENT_TEXT_CARET_MOVED; break; - case blink::WebAXEventTextChanged: + case ui::AX_EVENT_TEXT_CHANGED: event_id = EVENT_OBJECT_NAMECHANGE; break; - case blink::WebAXEventTextInserted: + case ui::AX_EVENT_TEXT_INSERTED: event_id = IA2_EVENT_TEXT_INSERTED; break; - case blink::WebAXEventTextRemoved: + case ui::AX_EVENT_TEXT_REMOVED: event_id = IA2_EVENT_TEXT_REMOVED; break; - case blink::WebAXEventValueChanged: + case ui::AX_EVENT_VALUE_CHANGED: event_id = EVENT_OBJECT_VALUECHANGE; break; default: @@ -280,7 +280,7 @@ void BrowserAccessibilityManagerWin::NotifyAccessibilityEvent( // If this is a layout complete notification (sent when a container scrolls) // and there is a descendant tracked object, send a notification on it. // TODO(dmazzoni): remove once http://crbug.com/113483 is fixed. - if (event_type == blink::WebAXEventLayoutComplete && + if (event_type == ui::AX_EVENT_LAYOUT_COMPLETE && tracked_scroll_object_ && tracked_scroll_object_->IsDescendantOf(node)) { MaybeCallNotifyWinEvent( diff --git a/content/browser/accessibility/browser_accessibility_manager_win.h b/content/browser/accessibility/browser_accessibility_manager_win.h index cbfc877..cc0e44b 100644 --- a/content/browser/accessibility/browser_accessibility_manager_win.h +++ b/content/browser/accessibility/browser_accessibility_manager_win.h @@ -23,13 +23,13 @@ class CONTENT_EXPORT BrowserAccessibilityManagerWin BrowserAccessibilityManagerWin( HWND parent_hwnd, IAccessible* parent_iaccessible, - const AccessibilityNodeData& src, + const ui::AXNodeData& src, BrowserAccessibilityDelegate* delegate, BrowserAccessibilityFactory* factory = new BrowserAccessibilityFactory()); virtual ~BrowserAccessibilityManagerWin(); - static AccessibilityNodeData GetEmptyDocument(); + static ui::AXNodeData GetEmptyDocument(); // Get the closest containing HWND. HWND parent_hwnd() { return parent_hwnd_; } @@ -47,7 +47,7 @@ class CONTENT_EXPORT BrowserAccessibilityManagerWin virtual void AddNodeToMap(BrowserAccessibility* node); virtual void RemoveNode(BrowserAccessibility* node) OVERRIDE; virtual void NotifyAccessibilityEvent( - blink::WebAXEvent event_type, BrowserAccessibility* node) OVERRIDE; + ui::AXEvent event_type, BrowserAccessibility* node) OVERRIDE; // Track this object and post a VISIBLE_DATA_CHANGED notification when // its container scrolls. diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc index e6daa9f..451043b 100644 --- a/content/browser/accessibility/browser_accessibility_win.cc +++ b/content/browser/accessibility/browser_accessibility_win.cc @@ -380,7 +380,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accDefaultAction(VARIANT var_id, return E_INVALIDARG; return target->GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_SHORTCUT, def_action); + ui::AX_ATTR_SHORTCUT, def_action); } STDMETHODIMP BrowserAccessibilityWin::get_accDescription(VARIANT var_id, @@ -396,7 +396,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accDescription(VARIANT var_id, return E_INVALIDARG; return target->GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_DESCRIPTION, desc); + ui::AX_ATTR_DESCRIPTION, desc); } STDMETHODIMP BrowserAccessibilityWin::get_accFocus(VARIANT* focus_child) { @@ -433,7 +433,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accHelp(VARIANT var_id, BSTR* help) { return E_INVALIDARG; return target->GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_HELP, help); + ui::AX_ATTR_HELP, help); } STDMETHODIMP BrowserAccessibilityWin::get_accKeyboardShortcut(VARIANT var_id, @@ -449,7 +449,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accKeyboardShortcut(VARIANT var_id, return E_INVALIDARG; return target->GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_SHORTCUT, acc_key); + ui::AX_ATTR_SHORTCUT, acc_key); } STDMETHODIMP BrowserAccessibilityWin::get_accName(VARIANT var_id, BSTR* name) { @@ -468,7 +468,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accName(VARIANT var_id, BSTR* name) { // If the name is empty, see if it's labeled by another element. if (name_str.empty()) { int title_elem_id; - if (target->GetIntAttribute(AccessibilityNodeData::ATTR_TITLE_UI_ELEMENT, + if (target->GetIntAttribute(ui::AX_ATTR_TITLE_UI_ELEMENT, &title_elem_id)) { BrowserAccessibility* title_elem = manager()->GetFromRendererID(title_elem_id); @@ -577,11 +577,11 @@ STDMETHODIMP BrowserAccessibilityWin::get_accValue(VARIANT var_id, // Expose color well value. if (target->ia2_role() == IA2_ROLE_COLOR_CHOOSER) { int r = target->GetIntAttribute( - AccessibilityNodeData::ATTR_COLOR_VALUE_RED); + ui::AX_ATTR_COLOR_VALUE_RED); int g = target->GetIntAttribute( - AccessibilityNodeData::ATTR_COLOR_VALUE_GREEN); + ui::AX_ATTR_COLOR_VALUE_GREEN); int b = target->GetIntAttribute( - AccessibilityNodeData::ATTR_COLOR_VALUE_BLUE); + ui::AX_ATTR_COLOR_VALUE_BLUE); base::string16 value_text; value_text = base::IntToString16((r * 100) / 255) + L"% red " + base::IntToString16((g * 100) / 255) + L"% green " + @@ -606,12 +606,12 @@ STDMETHODIMP BrowserAccessibilityWin::get_accSelection(VARIANT* selected) { if (!instance_active()) return E_FAIL; - if (blink_role() != blink::WebAXRoleListBox) + if (blink_role() != ui::AX_ROLE_LIST_BOX) return E_NOTIMPL; unsigned long selected_count = 0; for (size_t i = 0; i < children().size(); ++i) { - if (children()[i]->HasState(blink::WebAXStateSelected)) + if (children()[i]->HasState(ui::AX_STATE_SELECTED)) ++selected_count; } @@ -622,7 +622,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accSelection(VARIANT* selected) { if (selected_count == 1) { for (size_t i = 0; i < children().size(); ++i) { - if (children()[i]->HasState(blink::WebAXStateSelected)) { + if (children()[i]->HasState(ui::AX_STATE_SELECTED)) { selected->vt = VT_DISPATCH; selected->pdispVal = children()[i]->ToBrowserAccessibilityWin()->NewReference(); @@ -637,7 +637,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accSelection(VARIANT* selected) { enum_variant->AddRef(); unsigned long index = 0; for (size_t i = 0; i < children().size(); ++i) { - if (children()[i]->HasState(blink::WebAXStateSelected)) { + if (children()[i]->HasState(ui::AX_STATE_SELECTED)) { enum_variant->ItemAt(index)->vt = VT_DISPATCH; enum_variant->ItemAt(index)->pdispVal = children()[i]->ToBrowserAccessibilityWin()->NewReference(); @@ -875,9 +875,9 @@ STDMETHODIMP BrowserAccessibilityWin::get_groupPosition( if (!group_level || !similar_items_in_group || !position_in_group) return E_INVALIDARG; - if (blink_role() == blink::WebAXRoleListBoxOption && + if (blink_role() == ui::AX_ROLE_LIST_BOX_OPTION && parent() && - parent()->role() == blink::WebAXRoleListBox) { + parent()->role() == ui::AX_ROLE_LIST_BOX) { *group_level = 0; *similar_items_in_group = parent()->PlatformChildCount(); *position_in_group = index_in_parent() + 1; @@ -971,7 +971,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_description(BSTR* desc) { return E_INVALIDARG; return GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_DESCRIPTION, desc); + ui::AX_ATTR_DESCRIPTION, desc); } STDMETHODIMP BrowserAccessibilityWin::get_imagePosition( @@ -1034,9 +1034,9 @@ STDMETHODIMP BrowserAccessibilityWin::get_accessibleAt( int columns; int rows; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || !GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows) || + ui::AX_ATTR_TABLE_ROW_COUNT, &rows) || columns <= 0 || rows <= 0) { return S_FALSE; @@ -1046,7 +1046,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_accessibleAt( return E_INVALIDARG; const std::vector<int32>& cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); DCHECK_EQ(columns * rows, static_cast<int>(cell_ids.size())); int cell_id = cell_ids[row * columns + column]; @@ -1083,9 +1083,9 @@ STDMETHODIMP BrowserAccessibilityWin::get_childIndex(long row, int columns; int rows; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || !GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows) || + ui::AX_ATTR_TABLE_ROW_COUNT, &rows) || columns <= 0 || rows <= 0) { return S_FALSE; @@ -1095,9 +1095,9 @@ STDMETHODIMP BrowserAccessibilityWin::get_childIndex(long row, return E_INVALIDARG; const std::vector<int32>& cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); const std::vector<int32>& unique_cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); DCHECK_EQ(columns * rows, static_cast<int>(cell_ids.size())); int cell_id = cell_ids[row * columns + column]; for (size_t i = 0; i < unique_cell_ids.size(); ++i) { @@ -1121,8 +1121,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnDescription(long column, int columns; int rows; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || - !GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || + !GetIntAttribute(ui::AX_ATTR_TABLE_ROW_COUNT, &rows) || columns <= 0 || rows <= 0) { return S_FALSE; @@ -1132,21 +1132,21 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnDescription(long column, return E_INVALIDARG; const std::vector<int32>& cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); for (int i = 0; i < rows; ++i) { int cell_id = cell_ids[i * columns + column]; BrowserAccessibilityWin* cell = static_cast<BrowserAccessibilityWin*>( manager()->GetFromRendererID(cell_id)); - if (cell && cell->blink_role() == blink::WebAXRoleColumnHeader) { + if (cell && cell->blink_role() == ui::AX_ROLE_COLUMN_HEADER) { base::string16 cell_name = cell->GetString16Attribute( - AccessibilityNodeData::ATTR_NAME); + ui::AX_ATTR_NAME); if (cell_name.size() > 0) { *description = SysAllocString(cell_name.c_str()); return S_OK; } return cell->GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_DESCRIPTION, description); + ui::AX_ATTR_DESCRIPTION, description); } } @@ -1166,8 +1166,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnExtentAt( int columns; int rows; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || - !GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || + !GetIntAttribute(ui::AX_ATTR_TABLE_ROW_COUNT, &rows) || columns <= 0 || rows <= 0) { return S_FALSE; @@ -1177,14 +1177,14 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnExtentAt( return E_INVALIDARG; const std::vector<int32>& cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); int cell_id = cell_ids[row * columns + column]; BrowserAccessibilityWin* cell = static_cast<BrowserAccessibilityWin*>( manager()->GetFromRendererID(cell_id)); int colspan; if (cell && cell->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN, &colspan) && + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN, &colspan) && colspan >= 1) { *n_columns_spanned = colspan; return S_OK; @@ -1209,7 +1209,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnIndex(long cell_index, return E_INVALIDARG; const std::vector<int32>& unique_cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); int cell_id_count = static_cast<int>(unique_cell_ids.size()); if (cell_index < 0) return E_INVALIDARG; @@ -1222,7 +1222,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnIndex(long cell_index, int col_index; if (cell && cell->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX, &col_index)) { + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX, &col_index)) { *column_index = col_index; return S_OK; } @@ -1239,7 +1239,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nColumns(long* column_count) { int columns; if (GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns)) { + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns)) { *column_count = columns; return S_OK; } @@ -1255,7 +1255,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nRows(long* row_count) { return E_INVALIDARG; int rows; - if (GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows)) { + if (GetIntAttribute(ui::AX_ATTR_TABLE_ROW_COUNT, &rows)) { *row_count = rows; return S_OK; } @@ -1308,8 +1308,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowDescription(long row, int columns; int rows; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || - !GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || + !GetIntAttribute(ui::AX_ATTR_TABLE_ROW_COUNT, &rows) || columns <= 0 || rows <= 0) { return S_FALSE; @@ -1319,21 +1319,21 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowDescription(long row, return E_INVALIDARG; const std::vector<int32>& cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); for (int i = 0; i < columns; ++i) { int cell_id = cell_ids[row * columns + i]; BrowserAccessibilityWin* cell = manager()->GetFromRendererID(cell_id)->ToBrowserAccessibilityWin(); - if (cell && cell->blink_role() == blink::WebAXRoleRowHeader) { + if (cell && cell->blink_role() == ui::AX_ROLE_ROW_HEADER) { base::string16 cell_name = cell->GetString16Attribute( - AccessibilityNodeData::ATTR_NAME); + ui::AX_ATTR_NAME); if (cell_name.size() > 0) { *description = SysAllocString(cell_name.c_str()); return S_OK; } return cell->GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_DESCRIPTION, description); + ui::AX_ATTR_DESCRIPTION, description); } } @@ -1352,8 +1352,8 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowExtentAt(long row, int columns; int rows; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || - !GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || + !GetIntAttribute(ui::AX_ATTR_TABLE_ROW_COUNT, &rows) || columns <= 0 || rows <= 0) { return S_FALSE; @@ -1363,14 +1363,14 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowExtentAt(long row, return E_INVALIDARG; const std::vector<int32>& cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); int cell_id = cell_ids[row * columns + column]; BrowserAccessibilityWin* cell = manager()->GetFromRendererID(cell_id)->ToBrowserAccessibilityWin(); int rowspan; if (cell && cell->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && + ui::AX_ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && rowspan >= 1) { *n_rows_spanned = rowspan; return S_OK; @@ -1395,7 +1395,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowIndex(long cell_index, return E_INVALIDARG; const std::vector<int32>& unique_cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); int cell_id_count = static_cast<int>(unique_cell_ids.size()); if (cell_index < 0) return E_INVALIDARG; @@ -1408,7 +1408,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowIndex(long cell_index, int cell_row_index; if (cell && cell->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX, &cell_row_index)) { + ui::AX_ATTR_TABLE_CELL_ROW_INDEX, &cell_row_index)) { *row_index = cell_row_index; return S_OK; } @@ -1524,7 +1524,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowColumnExtentsAtIndex( return E_INVALIDARG; const std::vector<int32>& unique_cell_ids = GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); int cell_id_count = static_cast<int>(unique_cell_ids.size()); if (index < 0) return E_INVALIDARG; @@ -1538,9 +1538,9 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowColumnExtentsAtIndex( int colspan; if (cell && cell->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && + ui::AX_ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && cell->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN, &colspan) && + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN, &colspan) && rowspan >= 1 && colspan >= 1) { *row_extents = rowspan; @@ -1620,7 +1620,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnExtent( int colspan; if (GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN, &colspan) && + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN, &colspan) && colspan >= 1) { *n_columns_spanned = colspan; return S_OK; @@ -1642,12 +1642,12 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnHeaderCells( int column; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX, &column)) { + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX, &column)) { return S_FALSE; } BrowserAccessibility* table = parent(); - while (table && table->role() != blink::WebAXRoleTable) + while (table && table->role() != ui::AX_ROLE_TABLE) table = table->parent(); if (!table) { NOTREACHED(); @@ -1657,22 +1657,22 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnHeaderCells( int columns; int rows; if (!table->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || !table->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows)) { + ui::AX_ATTR_TABLE_ROW_COUNT, &rows)) { return S_FALSE; } if (columns <= 0 || rows <= 0 || column < 0 || column >= columns) return S_FALSE; const std::vector<int32>& cell_ids = table->GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); for (int i = 0; i < rows; ++i) { int cell_id = cell_ids[i * columns + column]; BrowserAccessibilityWin* cell = manager()->GetFromRendererID(cell_id)->ToBrowserAccessibilityWin(); - if (cell && cell->blink_role() == blink::WebAXRoleColumnHeader) + if (cell && cell->blink_role() == ui::AX_ROLE_COLUMN_HEADER) (*n_column_header_cells)++; } @@ -1682,7 +1682,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnHeaderCells( for (int i = 0; i < rows; ++i) { int cell_id = cell_ids[i * columns + column]; BrowserAccessibility* cell = manager()->GetFromRendererID(cell_id); - if (cell && cell->role() == blink::WebAXRoleColumnHeader) { + if (cell && cell->role() == ui::AX_ROLE_COLUMN_HEADER) { (*cell_accessibles)[index] = static_cast<IAccessible*>( cell->ToBrowserAccessibilityWin()->NewReference()); ++index; @@ -1701,7 +1701,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_columnIndex(long* column_index) { int column; if (GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX, &column)) { + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX, &column)) { *column_index = column; return S_OK; } @@ -1718,7 +1718,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowExtent(long* n_rows_spanned) { int rowspan; if (GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && + ui::AX_ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && rowspan >= 1) { *n_rows_spanned = rowspan; return S_OK; @@ -1740,12 +1740,12 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowHeaderCells( int row; if (!GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX, &row)) { + ui::AX_ATTR_TABLE_CELL_ROW_INDEX, &row)) { return S_FALSE; } BrowserAccessibility* table = parent(); - while (table && table->role() != blink::WebAXRoleTable) + while (table && table->role() != ui::AX_ROLE_TABLE) table = table->parent(); if (!table) { NOTREACHED(); @@ -1755,21 +1755,21 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowHeaderCells( int columns; int rows; if (!table->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT, &columns) || + ui::AX_ATTR_TABLE_COLUMN_COUNT, &columns) || !table->GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_ROW_COUNT, &rows)) { + ui::AX_ATTR_TABLE_ROW_COUNT, &rows)) { return S_FALSE; } if (columns <= 0 || rows <= 0 || row < 0 || row >= rows) return S_FALSE; const std::vector<int32>& cell_ids = table->GetIntListAttribute( - AccessibilityNodeData::ATTR_CELL_IDS); + ui::AX_ATTR_CELL_IDS); for (int i = 0; i < columns; ++i) { int cell_id = cell_ids[row * columns + i]; BrowserAccessibility* cell = manager()->GetFromRendererID(cell_id); - if (cell && cell->role() == blink::WebAXRoleRowHeader) + if (cell && cell->role() == ui::AX_ROLE_ROW_HEADER) (*n_row_header_cells)++; } @@ -1779,7 +1779,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowHeaderCells( for (int i = 0; i < columns; ++i) { int cell_id = cell_ids[row * columns + i]; BrowserAccessibility* cell = manager()->GetFromRendererID(cell_id); - if (cell && cell->role() == blink::WebAXRoleRowHeader) { + if (cell && cell->role() == ui::AX_ROLE_ROW_HEADER) { (*cell_accessibles)[index] = static_cast<IAccessible*>( cell->ToBrowserAccessibilityWin()->NewReference()); ++index; @@ -1797,7 +1797,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowIndex(long* row_index) { return E_INVALIDARG; int row; - if (GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX, &row)) { + if (GetIntAttribute(ui::AX_ATTR_TABLE_CELL_ROW_INDEX, &row)) { *row_index = row; return S_OK; } @@ -1836,13 +1836,13 @@ STDMETHODIMP BrowserAccessibilityWin::get_rowColumnExtents( int column; int rowspan; int colspan; - if (GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX, &row) && + if (GetIntAttribute(ui::AX_ATTR_TABLE_CELL_ROW_INDEX, &row) && GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX, &column) && + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX, &column) && GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && + ui::AX_ATTR_TABLE_CELL_ROW_SPAN, &rowspan) && GetIntAttribute( - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN, &colspan)) { + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN, &colspan)) { *row_index = row; *column_index = column; *row_extents = rowspan; @@ -1864,11 +1864,11 @@ STDMETHODIMP BrowserAccessibilityWin::get_table(IUnknown** table) { int row; int column; - GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX, &row); - GetIntAttribute(AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX, &column); + GetIntAttribute(ui::AX_ATTR_TABLE_CELL_ROW_INDEX, &row); + GetIntAttribute(ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX, &column); BrowserAccessibility* find_table = parent(); - while (find_table && find_table->role() != blink::WebAXRoleTable) + while (find_table && find_table->role() != ui::AX_ROLE_TABLE) find_table = find_table->parent(); if (!find_table) { NOTREACHED(); @@ -1904,10 +1904,10 @@ STDMETHODIMP BrowserAccessibilityWin::get_caretOffset(LONG* offset) { return E_INVALIDARG; *offset = 0; - if (blink_role() == blink::WebAXRoleTextField || - blink_role() == blink::WebAXRoleTextArea) { + if (blink_role() == ui::AX_ROLE_TEXT_FIELD || + blink_role() == ui::AX_ROLE_TEXT_AREA) { int sel_start = 0; - if (GetIntAttribute(AccessibilityNodeData::ATTR_TEXT_SEL_START, + if (GetIntAttribute(ui::AX_ATTR_TEXT_SEL_START, &sel_start)) *offset = sel_start; } @@ -1960,13 +1960,13 @@ STDMETHODIMP BrowserAccessibilityWin::get_nSelections(LONG* n_selections) { return E_INVALIDARG; *n_selections = 0; - if (blink_role() == blink::WebAXRoleTextField || - blink_role() == blink::WebAXRoleTextArea) { + if (blink_role() == ui::AX_ROLE_TEXT_FIELD || + blink_role() == ui::AX_ROLE_TEXT_AREA) { int sel_start = 0; int sel_end = 0; - if (GetIntAttribute(AccessibilityNodeData::ATTR_TEXT_SEL_START, + if (GetIntAttribute(ui::AX_ATTR_TEXT_SEL_START, &sel_start) && - GetIntAttribute(AccessibilityNodeData::ATTR_TEXT_SEL_END, &sel_end) && + GetIntAttribute(ui::AX_ATTR_TEXT_SEL_END, &sel_end) && sel_start != sel_end) *n_selections = 1; } @@ -1985,13 +1985,13 @@ STDMETHODIMP BrowserAccessibilityWin::get_selection(LONG selection_index, *start_offset = 0; *end_offset = 0; - if (blink_role() == blink::WebAXRoleTextField || - blink_role() == blink::WebAXRoleTextArea) { + if (blink_role() == ui::AX_ROLE_TEXT_FIELD || + blink_role() == ui::AX_ROLE_TEXT_AREA) { int sel_start = 0; int sel_end = 0; if (GetIntAttribute( - AccessibilityNodeData::ATTR_TEXT_SEL_START, &sel_start) && - GetIntAttribute(AccessibilityNodeData::ATTR_TEXT_SEL_END, &sel_end)) { + ui::AX_ATTR_TEXT_SEL_START, &sel_start) && + GetIntAttribute(ui::AX_ATTR_TEXT_SEL_END, &sel_end)) { *start_offset = sel_start; *end_offset = sel_end; } @@ -2311,7 +2311,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_currentValue(VARIANT* value) { float float_val; if (GetFloatAttribute( - AccessibilityNodeData::ATTR_VALUE_FOR_RANGE, &float_val)) { + ui::AX_ATTR_VALUE_FOR_RANGE, &float_val)) { value->vt = VT_R8; value->dblVal = float_val; return S_OK; @@ -2329,7 +2329,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_minimumValue(VARIANT* value) { return E_INVALIDARG; float float_val; - if (GetFloatAttribute(AccessibilityNodeData::ATTR_MIN_VALUE_FOR_RANGE, + if (GetFloatAttribute(ui::AX_ATTR_MIN_VALUE_FOR_RANGE, &float_val)) { value->vt = VT_R8; value->dblVal = float_val; @@ -2348,7 +2348,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_maximumValue(VARIANT* value) { return E_INVALIDARG; float float_val; - if (GetFloatAttribute(AccessibilityNodeData::ATTR_MAX_VALUE_FOR_RANGE, + if (GetFloatAttribute(ui::AX_ATTR_MAX_VALUE_FOR_RANGE, &float_val)) { value->vt = VT_R8; value->dblVal = float_val; @@ -2375,7 +2375,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_URL(BSTR* url) { if (!url) return E_INVALIDARG; - return GetStringAttributeAsBstr(AccessibilityNodeData::ATTR_DOC_URL, url); + return GetStringAttributeAsBstr(ui::AX_ATTR_DOC_URL, url); } STDMETHODIMP BrowserAccessibilityWin::get_title(BSTR* title) { @@ -2385,7 +2385,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_title(BSTR* title) { if (!title) return E_INVALIDARG; - return GetStringAttributeAsBstr(AccessibilityNodeData::ATTR_DOC_TITLE, title); + return GetStringAttributeAsBstr(ui::AX_ATTR_DOC_TITLE, title); } STDMETHODIMP BrowserAccessibilityWin::get_mimeType(BSTR* mime_type) { @@ -2396,7 +2396,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_mimeType(BSTR* mime_type) { return E_INVALIDARG; return GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_DOC_MIMETYPE, mime_type); + ui::AX_ATTR_DOC_MIMETYPE, mime_type); } STDMETHODIMP BrowserAccessibilityWin::get_docType(BSTR* doc_type) { @@ -2407,7 +2407,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_docType(BSTR* doc_type) { return E_INVALIDARG; return GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_DOC_DOCTYPE, doc_type); + ui::AX_ATTR_DOC_DOCTYPE, doc_type); } // @@ -2430,7 +2430,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_nodeInfo( } base::string16 tag; - if (GetString16Attribute(AccessibilityNodeData::ATTR_HTML_TAG, &tag)) + if (GetString16Attribute(ui::AX_ATTR_HTML_TAG, &tag)) *node_name = SysAllocString(tag.c_str()); else *node_name = NULL; @@ -2524,7 +2524,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_computedStyle( base::string16 display; if (max_style_properties == 0 || - !GetString16Attribute(AccessibilityNodeData::ATTR_DISPLAY, &display)) { + !GetString16Attribute(ui::AX_ATTR_DISPLAY, &display)) { *num_style_properties = 0; return S_OK; } @@ -2554,7 +2554,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_computedStyleForProperties( StringToLowerASCII(&name); if (name == L"display") { base::string16 display = GetString16Attribute( - AccessibilityNodeData::ATTR_DISPLAY); + ui::AX_ATTR_DISPLAY); style_values[i] = SysAllocString(display.c_str()); } else { style_values[i] = NULL; @@ -2684,7 +2684,7 @@ STDMETHODIMP BrowserAccessibilityWin::get_domText(BSTR* dom_text) { return E_INVALIDARG; return GetStringAttributeAsBstr( - AccessibilityNodeData::ATTR_NAME, dom_text); + ui::AX_ATTR_NAME, dom_text); } STDMETHODIMP BrowserAccessibilityWin::get_clippedSubstringBounds( @@ -2898,17 +2898,17 @@ void BrowserAccessibilityWin::PreInitialize() { InitRoleAndState(); // Expose the "display" and "tag" attributes. - StringAttributeToIA2(AccessibilityNodeData::ATTR_DISPLAY, "display"); - StringAttributeToIA2(AccessibilityNodeData::ATTR_HTML_TAG, "tag"); - StringAttributeToIA2(AccessibilityNodeData::ATTR_ROLE, "xml-roles"); + StringAttributeToIA2(ui::AX_ATTR_DISPLAY, "display"); + StringAttributeToIA2(ui::AX_ATTR_HTML_TAG, "tag"); + StringAttributeToIA2(ui::AX_ATTR_ROLE, "xml-roles"); // Expose "level" attribute for headings, trees, etc. - IntAttributeToIA2(AccessibilityNodeData::ATTR_HIERARCHICAL_LEVEL, "level"); + IntAttributeToIA2(ui::AX_ATTR_HIERARCHICAL_LEVEL, "level"); // Expose the set size and position in set for listbox options. - if (blink_role() == blink::WebAXRoleListBoxOption && + if (blink_role() == ui::AX_ROLE_LIST_BOX_OPTION && parent() && - parent()->role() == blink::WebAXRoleListBox) { + parent()->role() == ui::AX_ROLE_LIST_BOX) { ia2_attributes_.push_back( L"setsize:" + base::IntToString16(parent()->PlatformChildCount())); ia2_attributes_.push_back( @@ -2922,19 +2922,19 @@ void BrowserAccessibilityWin::PreInitialize() { } // Expose live region attributes. - StringAttributeToIA2(AccessibilityNodeData::ATTR_LIVE_STATUS, "live"); - StringAttributeToIA2(AccessibilityNodeData::ATTR_LIVE_RELEVANT, "relevant"); - BoolAttributeToIA2(AccessibilityNodeData::ATTR_LIVE_ATOMIC, "atomic"); - BoolAttributeToIA2(AccessibilityNodeData::ATTR_LIVE_BUSY, "busy"); + StringAttributeToIA2(ui::AX_ATTR_LIVE_STATUS, "live"); + StringAttributeToIA2(ui::AX_ATTR_LIVE_RELEVANT, "relevant"); + BoolAttributeToIA2(ui::AX_ATTR_LIVE_ATOMIC, "atomic"); + BoolAttributeToIA2(ui::AX_ATTR_LIVE_BUSY, "busy"); // Expose container live region attributes. - StringAttributeToIA2(AccessibilityNodeData::ATTR_CONTAINER_LIVE_STATUS, + StringAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_STATUS, "container-live"); - StringAttributeToIA2(AccessibilityNodeData::ATTR_CONTAINER_LIVE_RELEVANT, + StringAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_RELEVANT, "container-relevant"); - BoolAttributeToIA2(AccessibilityNodeData::ATTR_CONTAINER_LIVE_ATOMIC, + BoolAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_ATOMIC, "container-atomic"); - BoolAttributeToIA2(AccessibilityNodeData::ATTR_CONTAINER_LIVE_BUSY, + BoolAttributeToIA2(ui::AX_ATTR_CONTAINER_LIVE_BUSY, "container-busy"); // Expose slider value. @@ -2947,11 +2947,11 @@ void BrowserAccessibilityWin::PreInitialize() { // Expose table cell index. if (ia_role_ == ROLE_SYSTEM_CELL) { BrowserAccessibility* table = parent(); - while (table && table->role() != blink::WebAXRoleTable) + while (table && table->role() != ui::AX_ROLE_TABLE) table = table->parent(); if (table) { const std::vector<int32>& unique_cell_ids = table->GetIntListAttribute( - AccessibilityNodeData::ATTR_UNIQUE_CELL_IDS); + ui::AX_ATTR_UNIQUE_CELL_IDS); for (size_t i = 0; i < unique_cell_ids.size(); ++i) { if (unique_cell_ids[i] == renderer_id()) { ia2_attributes_.push_back( @@ -2983,10 +2983,10 @@ void BrowserAccessibilityWin::PreInitialize() { // if any, in "description". int title_elem_id = GetIntAttribute( - AccessibilityNodeData::ATTR_TITLE_UI_ELEMENT); - std::string help = GetStringAttribute(AccessibilityNodeData::ATTR_HELP); + ui::AX_ATTR_TITLE_UI_ELEMENT); + std::string help = GetStringAttribute(ui::AX_ATTR_HELP); std::string description = GetStringAttribute( - AccessibilityNodeData::ATTR_DESCRIPTION); + ui::AX_ATTR_DESCRIPTION); // WebKit annoyingly puts the title in the description if there's no other // description, which just confuses the rest of the logic. Put it back. @@ -3017,8 +3017,8 @@ void BrowserAccessibilityWin::PreInitialize() { // If it's a text field, also consider the placeholder. std::string placeholder; - if (blink_role() == blink::WebAXRoleTextField && - HasState(blink::WebAXStateFocusable) && + if (blink_role() == ui::AX_ROLE_TEXT_FIELD && + HasState(ui::AX_STATE_FOCUSABLE) && GetHtmlAttribute("placeholder", &placeholder)) { if (name().empty() && !title_elem_id) { set_name(placeholder); @@ -3027,22 +3027,22 @@ void BrowserAccessibilityWin::PreInitialize() { } } - SetStringAttribute(AccessibilityNodeData::ATTR_DESCRIPTION, description); - SetStringAttribute(AccessibilityNodeData::ATTR_HELP, help); + SetStringAttribute(ui::AX_ATTR_DESCRIPTION, description); + SetStringAttribute(ui::AX_ATTR_HELP, help); // On Windows, the value of a document should be its url. - if (blink_role() == blink::WebAXRoleRootWebArea || - blink_role() == blink::WebAXRoleWebArea) { - set_value(GetStringAttribute(AccessibilityNodeData::ATTR_DOC_URL)); + if (blink_role() == ui::AX_ROLE_ROOT_WEB_AREA || + blink_role() == ui::AX_ROLE_WEB_AREA) { + set_value(GetStringAttribute(ui::AX_ATTR_DOC_URL)); } // For certain roles (listbox option, static text, and list marker) // WebKit stores the main accessible text in the "value" - swap it so // that it's the "name". if (name().empty() && - (blink_role() == blink::WebAXRoleListBoxOption || - blink_role() == blink::WebAXRoleStaticText || - blink_role() == blink::WebAXRoleListMarker)) { + (blink_role() == ui::AX_ROLE_LIST_BOX_OPTION || + blink_role() == ui::AX_ROLE_STATIC_TEXT || + blink_role() == ui::AX_ROLE_LIST_MARKER)) { std::string tmp = value(); set_value(name()); set_name(tmp); @@ -3051,7 +3051,7 @@ void BrowserAccessibilityWin::PreInitialize() { // If this doesn't have a value and is linked then set its value to the url // attribute. This allows screen readers to read an empty link's destination. if (value().empty() && (ia_state_ & STATE_SYSTEM_LINKED)) - set_value(GetStringAttribute(AccessibilityNodeData::ATTR_URL)); + set_value(GetStringAttribute(ui::AX_ATTR_URL)); // Clear any old relationships between this node and other nodes. for (size_t i = 0; i < relations_.size(); ++i) @@ -3081,7 +3081,7 @@ void BrowserAccessibilityWin::PostInitialize() { hypertext_.clear(); for (unsigned int i = 0; i < PlatformChildCount(); ++i) { BrowserAccessibility* child = PlatformGetChild(i); - if (child->role() == blink::WebAXRoleStaticText) { + if (child->role() == ui::AX_ROLE_STATIC_TEXT) { hypertext_ += base::UTF8ToUTF16(child->name()); } else { hyperlink_offset_to_index_[hypertext_.size()] = hyperlinks_.size(); @@ -3092,15 +3092,15 @@ void BrowserAccessibilityWin::PostInitialize() { DCHECK_EQ(hyperlink_offset_to_index_.size(), hyperlinks_.size()); // Fire an event when an alert first appears. - if (blink_role() == blink::WebAXRoleAlert && first_time_) - manager()->NotifyAccessibilityEvent(blink::WebAXEventAlert, this); + if (blink_role() == ui::AX_ROLE_ALERT && first_time_) + manager()->NotifyAccessibilityEvent(ui::AX_EVENT_ALERT, this); // Fire events if text has changed. base::string16 text = TextForIAccessibleText(); if (previous_text_ != text) { if (!previous_text_.empty() && !text.empty()) { manager()->NotifyAccessibilityEvent( - blink::WebAXEventShow, this); + ui::AX_EVENT_SHOW, this); } // TODO(dmazzoni): Look into HIDE events, too. @@ -3118,7 +3118,7 @@ void BrowserAccessibilityWin::PostInitialize() { // focus for managed descendants is platform-specific. // Fire a focus event if the focused descendant in a multi-select // list box changes. - if (blink_role() == blink::WebAXRoleListBoxOption && + if (blink_role() == ui::AX_ROLE_LIST_BOX_OPTION && (ia_state_ & STATE_SYSTEM_FOCUSABLE) && (ia_state_ & STATE_SYSTEM_SELECTABLE) && (ia_state_ & STATE_SYSTEM_FOCUSED) && @@ -3142,8 +3142,8 @@ void BrowserAccessibilityWin::PostInitialize() { // Fire an event if this container object has scrolled. int sx = 0; int sy = 0; - if (GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_X, &sx) && - GetIntAttribute(AccessibilityNodeData::ATTR_SCROLL_Y, &sy)) { + if (GetIntAttribute(ui::AX_ATTR_SCROLL_X, &sx) && + GetIntAttribute(ui::AX_ATTR_SCROLL_Y, &sy)) { if (!first_time_ && (sx != previous_scroll_x_ || sy != previous_scroll_y_)) { manager->MaybeCallNotifyWinEvent(EVENT_SYSTEM_SCROLLINGEND, @@ -3196,7 +3196,7 @@ BrowserAccessibilityWin* BrowserAccessibilityWin::GetTargetFromChildID( } HRESULT BrowserAccessibilityWin::GetStringAttributeAsBstr( - AccessibilityNodeData::StringAttribute attribute, + ui::AXStringAttribute attribute, BSTR* value_bstr) { base::string16 str; @@ -3213,7 +3213,7 @@ HRESULT BrowserAccessibilityWin::GetStringAttributeAsBstr( } void BrowserAccessibilityWin::StringAttributeToIA2( - AccessibilityNodeData::StringAttribute attribute, + ui::AXStringAttribute attribute, const char* ia2_attr) { base::string16 value; if (GetString16Attribute(attribute, &value)) @@ -3221,7 +3221,7 @@ void BrowserAccessibilityWin::StringAttributeToIA2( } void BrowserAccessibilityWin::BoolAttributeToIA2( - AccessibilityNodeData::BoolAttribute attribute, + ui::AXBoolAttribute attribute, const char* ia2_attr) { bool value; if (GetBoolAttribute(attribute, &value)) { @@ -3231,7 +3231,7 @@ void BrowserAccessibilityWin::BoolAttributeToIA2( } void BrowserAccessibilityWin::IntAttributeToIA2( - AccessibilityNodeData::IntAttribute attribute, + ui::AXIntAttribute attribute, const char* ia2_attr) { int value; if (GetIntAttribute(attribute, &value)) { @@ -3245,7 +3245,7 @@ base::string16 BrowserAccessibilityWin::GetValueText() { base::string16 value = base::UTF8ToUTF16(this->value()); if (value.empty() && - GetFloatAttribute(AccessibilityNodeData::ATTR_VALUE_FOR_RANGE, &fval)) { + GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE, &fval)) { value = base::UTF8ToUTF16(base::DoubleToString(fval)); } return value; @@ -3254,7 +3254,7 @@ base::string16 BrowserAccessibilityWin::GetValueText() { base::string16 BrowserAccessibilityWin::TextForIAccessibleText() { if (IsEditableText()) return base::UTF8ToUTF16(value()); - return (blink_role() == blink::WebAXRoleStaticText) ? + return (blink_role() == ui::AX_ROLE_STATIC_TEXT) ? base::UTF8ToUTF16(name()) : hypertext_; } @@ -3290,7 +3290,7 @@ LONG BrowserAccessibilityWin::FindBoundary( HandleSpecialTextOffset(text, &start_offset); ui::TextBoundaryType boundary = IA2TextBoundaryToTextBoundary(ia2_boundary); const std::vector<int32>& line_breaks = GetIntListAttribute( - AccessibilityNodeData::ATTR_LINE_BREAKS); + ui::AX_ATTR_LINE_BREAKS); return ui::FindAccessibleTextBoundary( text, line_breaks, boundary, start_offset, direction); } @@ -3305,95 +3305,95 @@ void BrowserAccessibilityWin::InitRoleAndState() { ia2_state_ = IA2_STATE_OPAQUE; ia2_attributes_.clear(); - if (HasState(blink::WebAXStateBusy)) + if (HasState(ui::AX_STATE_BUSY)) ia_state_ |= STATE_SYSTEM_BUSY; - if (HasState(blink::WebAXStateChecked)) + if (HasState(ui::AX_STATE_CHECKED)) ia_state_ |= STATE_SYSTEM_CHECKED; - if (HasState(blink::WebAXStateCollapsed)) + if (HasState(ui::AX_STATE_COLLAPSED)) ia_state_ |= STATE_SYSTEM_COLLAPSED; - if (HasState(blink::WebAXStateExpanded)) + if (HasState(ui::AX_STATE_EXPANDED)) ia_state_ |= STATE_SYSTEM_EXPANDED; - if (HasState(blink::WebAXStateFocusable)) + if (HasState(ui::AX_STATE_FOCUSABLE)) ia_state_ |= STATE_SYSTEM_FOCUSABLE; - if (HasState(blink::WebAXStateHaspopup)) + if (HasState(ui::AX_STATE_HASPOPUP)) ia_state_ |= STATE_SYSTEM_HASPOPUP; - if (HasState(blink::WebAXStateHovered)) + if (HasState(ui::AX_STATE_HOVERED)) ia_state_ |= STATE_SYSTEM_HOTTRACKED; - if (HasState(blink::WebAXStateIndeterminate)) + if (HasState(ui::AX_STATE_INDETERMINATE)) ia_state_ |= STATE_SYSTEM_INDETERMINATE; - if (HasState(blink::WebAXStateInvisible)) + if (HasState(ui::AX_STATE_INVISIBLE)) ia_state_ |= STATE_SYSTEM_INVISIBLE; - if (HasState(blink::WebAXStateLinked)) + if (HasState(ui::AX_STATE_LINKED)) ia_state_ |= STATE_SYSTEM_LINKED; - if (HasState(blink::WebAXStateMultiselectable)) { + if (HasState(ui::AX_STATE_MULTISELECTABLE)) { ia_state_ |= STATE_SYSTEM_EXTSELECTABLE; ia_state_ |= STATE_SYSTEM_MULTISELECTABLE; } // TODO(ctguil): Support STATE_SYSTEM_EXTSELECTABLE/accSelect. - if (HasState(blink::WebAXStateOffscreen)) + if (HasState(ui::AX_STATE_OFFSCREEN)) ia_state_ |= STATE_SYSTEM_OFFSCREEN; - if (HasState(blink::WebAXStatePressed)) + if (HasState(ui::AX_STATE_PRESSED)) ia_state_ |= STATE_SYSTEM_PRESSED; - if (HasState(blink::WebAXStateProtected)) + if (HasState(ui::AX_STATE_PROTECTED)) ia_state_ |= STATE_SYSTEM_PROTECTED; - if (HasState(blink::WebAXStateRequired)) + if (HasState(ui::AX_STATE_REQUIRED)) ia2_state_ |= IA2_STATE_REQUIRED; - if (HasState(blink::WebAXStateSelectable)) + if (HasState(ui::AX_STATE_SELECTABLE)) ia_state_ |= STATE_SYSTEM_SELECTABLE; - if (HasState(blink::WebAXStateSelected)) + if (HasState(ui::AX_STATE_SELECTED)) ia_state_ |= STATE_SYSTEM_SELECTED; - if (HasState(blink::WebAXStateVisited)) + if (HasState(ui::AX_STATE_VISITED)) ia_state_ |= STATE_SYSTEM_TRAVERSED; - if (!HasState(blink::WebAXStateEnabled)) + if (!HasState(ui::AX_STATE_ENABLED)) ia_state_ |= STATE_SYSTEM_UNAVAILABLE; - if (HasState(blink::WebAXStateVertical)) { + if (HasState(ui::AX_STATE_VERTICAL)) { ia2_state_ |= IA2_STATE_VERTICAL; } else { ia2_state_ |= IA2_STATE_HORIZONTAL; } - if (HasState(blink::WebAXStateVisited)) + if (HasState(ui::AX_STATE_VISITED)) ia_state_ |= STATE_SYSTEM_TRAVERSED; // WebKit marks everything as readonly unless it's editable text, so if it's // not readonly, mark it as editable now. The final computation of the // READONLY state for MSAA is below, after the switch. - if (!HasState(blink::WebAXStateReadonly)) + if (!HasState(ui::AX_STATE_READONLY)) ia2_state_ |= IA2_STATE_EDITABLE; base::string16 invalid; if (GetHtmlAttribute("aria-invalid", &invalid)) ia2_state_ |= IA2_STATE_INVALID_ENTRY; - if (GetBoolAttribute(AccessibilityNodeData::ATTR_BUTTON_MIXED)) + if (GetBoolAttribute(ui::AX_ATTR_BUTTON_MIXED)) ia_state_ |= STATE_SYSTEM_MIXED; - if (GetBoolAttribute(AccessibilityNodeData::ATTR_CAN_SET_VALUE)) + if (GetBoolAttribute(ui::AX_ATTR_CAN_SET_VALUE)) ia2_state_ |= IA2_STATE_EDITABLE; base::string16 html_tag = GetString16Attribute( - AccessibilityNodeData::ATTR_HTML_TAG); + ui::AX_ATTR_HTML_TAG); ia_role_ = 0; ia2_role_ = 0; switch (blink_role()) { - case blink::WebAXRoleAlert: + case ui::AX_ROLE_ALERT: ia_role_ = ROLE_SYSTEM_ALERT; break; - case blink::WebAXRoleAlertDialog: + case ui::AX_ROLE_ALERT_DIALOG: ia_role_ = ROLE_SYSTEM_DIALOG; break; - case blink::WebAXRoleApplication: + case ui::AX_ROLE_APPLICATION: ia_role_ = ROLE_SYSTEM_APPLICATION; break; - case blink::WebAXRoleArticle: + case ui::AX_ROLE_ARTICLE: ia_role_ = ROLE_SYSTEM_GROUPING; ia2_role_ = IA2_ROLE_SECTION; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleBusyIndicator: + case ui::AX_ROLE_BUSY_INDICATOR: ia_role_ = ROLE_SYSTEM_ANIMATION; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleButton: + case ui::AX_ROLE_BUTTON: ia_role_ = ROLE_SYSTEM_PUSHBUTTON; bool is_aria_pressed_defined; bool is_mixed; @@ -3404,88 +3404,88 @@ void BrowserAccessibilityWin::InitRoleAndState() { if (is_mixed) ia_state_ |= STATE_SYSTEM_MIXED; break; - case blink::WebAXRoleCanvas: - if (GetBoolAttribute(AccessibilityNodeData::ATTR_CANVAS_HAS_FALLBACK)) { + case ui::AX_ROLE_CANVAS: + if (GetBoolAttribute(ui::AX_ATTR_CANVAS_HAS_FALLBACK)) { role_name_ = L"canvas"; ia2_role_ = IA2_ROLE_CANVAS; } else { ia_role_ = ROLE_SYSTEM_GRAPHIC; } break; - case blink::WebAXRoleCell: + case ui::AX_ROLE_CELL: ia_role_ = ROLE_SYSTEM_CELL; break; - case blink::WebAXRoleCheckBox: + case ui::AX_ROLE_CHECK_BOX: ia_role_ = ROLE_SYSTEM_CHECKBUTTON; break; - case blink::WebAXRoleColorWell: + case ui::AX_ROLE_COLOR_WELL: ia_role_ = ROLE_SYSTEM_CLIENT; ia2_role_ = IA2_ROLE_COLOR_CHOOSER; break; - case blink::WebAXRoleColumn: + case ui::AX_ROLE_COLUMN: ia_role_ = ROLE_SYSTEM_COLUMN; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleColumnHeader: + case ui::AX_ROLE_COLUMN_HEADER: ia_role_ = ROLE_SYSTEM_COLUMNHEADER; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleComboBox: + case ui::AX_ROLE_COMBO_BOX: ia_role_ = ROLE_SYSTEM_COMBOBOX; break; - case blink::WebAXRoleDiv: + case ui::AX_ROLE_DIV: role_name_ = L"div"; ia2_role_ = IA2_ROLE_SECTION; break; - case blink::WebAXRoleDefinition: + case ui::AX_ROLE_DEFINITION: role_name_ = html_tag; ia2_role_ = IA2_ROLE_PARAGRAPH; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleDescriptionListDetail: + case ui::AX_ROLE_DESCRIPTION_LIST_DETAIL: role_name_ = html_tag; ia2_role_ = IA2_ROLE_PARAGRAPH; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleDescriptionListTerm: + case ui::AX_ROLE_DESCRIPTION_LIST_TERM: ia_role_ = ROLE_SYSTEM_LISTITEM; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleDialog: + case ui::AX_ROLE_DIALOG: ia_role_ = ROLE_SYSTEM_DIALOG; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleDisclosureTriangle: + case ui::AX_ROLE_DISCLOSURE_TRIANGLE: ia_role_ = ROLE_SYSTEM_OUTLINEBUTTON; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleDocument: - case blink::WebAXRoleRootWebArea: - case blink::WebAXRoleWebArea: + case ui::AX_ROLE_DOCUMENT: + case ui::AX_ROLE_ROOT_WEB_AREA: + case ui::AX_ROLE_WEB_AREA: ia_role_ = ROLE_SYSTEM_DOCUMENT; ia_state_ |= STATE_SYSTEM_READONLY; ia_state_ |= STATE_SYSTEM_FOCUSABLE; break; - case blink::WebAXRoleEditableText: + case ui::AX_ROLE_EDITABLE_TEXT: ia_role_ = ROLE_SYSTEM_TEXT; ia2_state_ |= IA2_STATE_SINGLE_LINE; ia2_state_ |= IA2_STATE_EDITABLE; break; - case blink::WebAXRoleForm: + case ui::AX_ROLE_FORM: role_name_ = L"form"; ia2_role_ = IA2_ROLE_FORM; break; - case blink::WebAXRoleFooter: + case ui::AX_ROLE_FOOTER: ia_role_ = IA2_ROLE_FOOTER; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleGrid: + case ui::AX_ROLE_GRID: ia_role_ = ROLE_SYSTEM_TABLE; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleGroup: { + case ui::AX_ROLE_GROUP: { base::string16 aria_role = GetString16Attribute( - AccessibilityNodeData::ATTR_ROLE); + ui::AX_ATTR_ROLE); if (aria_role == L"group" || html_tag == L"fieldset") { ia_role_ = ROLE_SYSTEM_GROUPING; } else if (html_tag == L"li") { @@ -3500,190 +3500,190 @@ void BrowserAccessibilityWin::InitRoleAndState() { ia_state_ |= STATE_SYSTEM_READONLY; break; } - case blink::WebAXRoleGrowArea: + case ui::AX_ROLE_GROW_AREA: ia_role_ = ROLE_SYSTEM_GRIP; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleHeading: + case ui::AX_ROLE_HEADING: role_name_ = html_tag; ia2_role_ = IA2_ROLE_HEADING; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleHorizontalRule: + case ui::AX_ROLE_HORIZONTAL_RULE: ia_role_ = ROLE_SYSTEM_SEPARATOR; break; - case blink::WebAXRoleImage: + case ui::AX_ROLE_IMAGE: ia_role_ = ROLE_SYSTEM_GRAPHIC; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleImageMap: + case ui::AX_ROLE_IMAGE_MAP: role_name_ = html_tag; ia2_role_ = IA2_ROLE_IMAGE_MAP; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleImageMapLink: + case ui::AX_ROLE_IMAGE_MAP_LINK: ia_role_ = ROLE_SYSTEM_LINK; ia_state_ |= STATE_SYSTEM_LINKED; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleLabel: + case ui::AX_ROLE_LABEL: ia_role_ = ROLE_SYSTEM_TEXT; ia2_role_ = IA2_ROLE_LABEL; break; - case blink::WebAXRoleBanner: - case blink::WebAXRoleComplementary: - case blink::WebAXRoleContentInfo: - case blink::WebAXRoleMain: - case blink::WebAXRoleNavigation: - case blink::WebAXRoleSearch: + case ui::AX_ROLE_BANNER: + case ui::AX_ROLE_COMPLEMENTARY: + case ui::AX_ROLE_CONTENT_INFO: + case ui::AX_ROLE_MAIN: + case ui::AX_ROLE_NAVIGATION: + case ui::AX_ROLE_SEARCH: ia_role_ = ROLE_SYSTEM_GROUPING; ia2_role_ = IA2_ROLE_SECTION; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleLink: + case ui::AX_ROLE_LINK: ia_role_ = ROLE_SYSTEM_LINK; ia_state_ |= STATE_SYSTEM_LINKED; break; - case blink::WebAXRoleList: + case ui::AX_ROLE_LIST: ia_role_ = ROLE_SYSTEM_LIST; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleListBox: + case ui::AX_ROLE_LIST_BOX: ia_role_ = ROLE_SYSTEM_LIST; break; - case blink::WebAXRoleListBoxOption: + case ui::AX_ROLE_LIST_BOX_OPTION: ia_role_ = ROLE_SYSTEM_LISTITEM; if (ia_state_ & STATE_SYSTEM_SELECTABLE) { ia_state_ |= STATE_SYSTEM_FOCUSABLE; - if (HasState(blink::WebAXStateFocused)) + if (HasState(ui::AX_STATE_FOCUSED)) ia_state_ |= STATE_SYSTEM_FOCUSED; } break; - case blink::WebAXRoleListItem: + case ui::AX_ROLE_LIST_ITEM: ia_role_ = ROLE_SYSTEM_LISTITEM; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleListMarker: + case ui::AX_ROLE_LIST_MARKER: ia_role_ = ROLE_SYSTEM_TEXT; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleMath: + case ui::AX_ROLE_MATH_ELEMENT: ia_role_ = ROLE_SYSTEM_EQUATION; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleMenu: - case blink::WebAXRoleMenuButton: + case ui::AX_ROLE_MENU: + case ui::AX_ROLE_MENU_BUTTON: ia_role_ = ROLE_SYSTEM_MENUPOPUP; break; - case blink::WebAXRoleMenuBar: + case ui::AX_ROLE_MENU_BAR: ia_role_ = ROLE_SYSTEM_MENUBAR; break; - case blink::WebAXRoleMenuItem: + case ui::AX_ROLE_MENU_ITEM: ia_role_ = ROLE_SYSTEM_MENUITEM; break; - case blink::WebAXRoleMenuListPopup: + case ui::AX_ROLE_MENU_LIST_POPUP: ia_role_ = ROLE_SYSTEM_CLIENT; break; - case blink::WebAXRoleMenuListOption: + case ui::AX_ROLE_MENU_LIST_OPTION: ia_role_ = ROLE_SYSTEM_LISTITEM; if (ia_state_ & STATE_SYSTEM_SELECTABLE) { ia_state_ |= STATE_SYSTEM_FOCUSABLE; - if (HasState(blink::WebAXStateFocused)) + if (HasState(ui::AX_STATE_FOCUSED)) ia_state_ |= STATE_SYSTEM_FOCUSED; } break; - case blink::WebAXRoleNote: + case ui::AX_ROLE_NOTE: ia_role_ = ROLE_SYSTEM_GROUPING; ia2_role_ = IA2_ROLE_NOTE; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleOutline: + case ui::AX_ROLE_OUTLINE: ia_role_ = ROLE_SYSTEM_OUTLINE; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleParagraph: + case ui::AX_ROLE_PARAGRAPH: role_name_ = L"P"; ia2_role_ = IA2_ROLE_PARAGRAPH; break; - case blink::WebAXRolePopUpButton: + case ui::AX_ROLE_POP_UP_BUTTON: if (html_tag == L"select") { ia_role_ = ROLE_SYSTEM_COMBOBOX; } else { ia_role_ = ROLE_SYSTEM_BUTTONMENU; } break; - case blink::WebAXRoleProgressIndicator: + case ui::AX_ROLE_PROGRESS_INDICATOR: ia_role_ = ROLE_SYSTEM_PROGRESSBAR; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleRadioButton: + case ui::AX_ROLE_RADIO_BUTTON: ia_role_ = ROLE_SYSTEM_RADIOBUTTON; break; - case blink::WebAXRoleRadioGroup: + case ui::AX_ROLE_RADIO_GROUP: ia_role_ = ROLE_SYSTEM_GROUPING; ia2_role_ = IA2_ROLE_SECTION; break; - case blink::WebAXRoleRegion: + case ui::AX_ROLE_REGION: ia_role_ = ROLE_SYSTEM_GROUPING; ia2_role_ = IA2_ROLE_SECTION; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleRow: + case ui::AX_ROLE_ROW: ia_role_ = ROLE_SYSTEM_ROW; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleRowHeader: + case ui::AX_ROLE_ROW_HEADER: ia_role_ = ROLE_SYSTEM_ROWHEADER; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleRuler: + case ui::AX_ROLE_RULER: ia_role_ = ROLE_SYSTEM_CLIENT; ia2_role_ = IA2_ROLE_RULER; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleScrollArea: + case ui::AX_ROLE_SCROLL_AREA: ia_role_ = ROLE_SYSTEM_CLIENT; ia2_role_ = IA2_ROLE_SCROLL_PANE; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleScrollBar: + case ui::AX_ROLE_SCROLL_BAR: ia_role_ = ROLE_SYSTEM_SCROLLBAR; break; - case blink::WebAXRoleSlider: + case ui::AX_ROLE_SLIDER: ia_role_ = ROLE_SYSTEM_SLIDER; break; - case blink::WebAXRoleSpinButton: + case ui::AX_ROLE_SPIN_BUTTON: ia_role_ = ROLE_SYSTEM_SPINBUTTON; break; - case blink::WebAXRoleSpinButtonPart: + case ui::AX_ROLE_SPIN_BUTTON_PART: ia_role_ = ROLE_SYSTEM_PUSHBUTTON; break; - case blink::WebAXRoleSplitGroup: + case ui::AX_ROLE_SPLIT_GROUP: ia_role_ = ROLE_SYSTEM_CLIENT; ia2_role_ = IA2_ROLE_SPLIT_PANE; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleAnnotation: - case blink::WebAXRoleStaticText: + case ui::AX_ROLE_ANNOTATION: + case ui::AX_ROLE_STATIC_TEXT: ia_role_ = ROLE_SYSTEM_TEXT; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleStatus: + case ui::AX_ROLE_STATUS: ia_role_ = ROLE_SYSTEM_STATUSBAR; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleSplitter: + case ui::AX_ROLE_SPLITTER: ia_role_ = ROLE_SYSTEM_SEPARATOR; break; - case blink::WebAXRoleSVGRoot: + case ui::AX_ROLE_SVG_ROOT: ia_role_ = ROLE_SYSTEM_GRAPHIC; break; - case blink::WebAXRoleTab: + case ui::AX_ROLE_TAB: ia_role_ = ROLE_SYSTEM_PAGETAB; break; - case blink::WebAXRoleTable: { + case ui::AX_ROLE_TABLE: { base::string16 aria_role = GetString16Attribute( - AccessibilityNodeData::ATTR_ROLE); + ui::AX_ATTR_ROLE); if (aria_role == L"treegrid") { ia_role_ = ROLE_SYSTEM_OUTLINE; } else { @@ -3692,77 +3692,77 @@ void BrowserAccessibilityWin::InitRoleAndState() { } break; } - case blink::WebAXRoleTableHeaderContainer: + case ui::AX_ROLE_TABLE_HEADER_CONTAINER: ia_role_ = ROLE_SYSTEM_GROUPING; ia2_role_ = IA2_ROLE_SECTION; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleTabList: + case ui::AX_ROLE_TAB_LIST: ia_role_ = ROLE_SYSTEM_PAGETABLIST; break; - case blink::WebAXRoleTabPanel: + case ui::AX_ROLE_TAB_PANEL: ia_role_ = ROLE_SYSTEM_PROPERTYPAGE; break; - case blink::WebAXRoleToggleButton: + case ui::AX_ROLE_TOGGLE_BUTTON: ia_role_ = ROLE_SYSTEM_PUSHBUTTON; ia2_role_ = IA2_ROLE_TOGGLE_BUTTON; break; - case blink::WebAXRoleTextArea: + case ui::AX_ROLE_TEXT_AREA: ia_role_ = ROLE_SYSTEM_TEXT; ia2_state_ |= IA2_STATE_MULTI_LINE; ia2_state_ |= IA2_STATE_EDITABLE; ia2_state_ |= IA2_STATE_SELECTABLE_TEXT; break; - case blink::WebAXRoleTextField: + case ui::AX_ROLE_TEXT_FIELD: ia_role_ = ROLE_SYSTEM_TEXT; ia2_state_ |= IA2_STATE_SINGLE_LINE; ia2_state_ |= IA2_STATE_EDITABLE; ia2_state_ |= IA2_STATE_SELECTABLE_TEXT; break; - case blink::WebAXRoleTimer: + case ui::AX_ROLE_TIMER: ia_role_ = ROLE_SYSTEM_CLOCK; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleToolbar: + case ui::AX_ROLE_TOOLBAR: ia_role_ = ROLE_SYSTEM_TOOLBAR; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleUserInterfaceTooltip: + case ui::AX_ROLE_TOOLTIP: ia_role_ = ROLE_SYSTEM_TOOLTIP; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleTree: + case ui::AX_ROLE_TREE: ia_role_ = ROLE_SYSTEM_OUTLINE; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleTreeGrid: + case ui::AX_ROLE_TREE_GRID: ia_role_ = ROLE_SYSTEM_OUTLINE; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleTreeItem: + case ui::AX_ROLE_TREE_ITEM: ia_role_ = ROLE_SYSTEM_OUTLINEITEM; ia_state_ |= STATE_SYSTEM_READONLY; break; - case blink::WebAXRoleWindow: + case ui::AX_ROLE_WINDOW: ia_role_ = ROLE_SYSTEM_WINDOW; break; // TODO(dmazzoni): figure out the proper MSAA role for all of these. - case blink::WebAXRoleBrowser: - case blink::WebAXRoleDirectory: - case blink::WebAXRoleDrawer: - case blink::WebAXRoleHelpTag: - case blink::WebAXRoleIgnored: - case blink::WebAXRoleIncrementor: - case blink::WebAXRoleLog: - case blink::WebAXRoleMarquee: - case blink::WebAXRoleMatte: - case blink::WebAXRolePresentational: - case blink::WebAXRoleRulerMarker: - case blink::WebAXRoleSheet: - case blink::WebAXRoleSliderThumb: - case blink::WebAXRoleSystemWide: - case blink::WebAXRoleValueIndicator: + case ui::AX_ROLE_BROWSER: + case ui::AX_ROLE_DIRECTORY: + case ui::AX_ROLE_DRAWER: + case ui::AX_ROLE_HELP_TAG: + case ui::AX_ROLE_IGNORED: + case ui::AX_ROLE_INCREMENTOR: + case ui::AX_ROLE_LOG: + case ui::AX_ROLE_MARQUEE: + case ui::AX_ROLE_MATTE: + case ui::AX_ROLE_PRESENTATIONAL: + case ui::AX_ROLE_RULER_MARKER: + case ui::AX_ROLE_SHEET: + case ui::AX_ROLE_SLIDER_THUMB: + case ui::AX_ROLE_SYSTEM_WIDE: + case ui::AX_ROLE_VALUE_INDICATOR: default: ia_role_ = ROLE_SYSTEM_CLIENT; break; @@ -3774,13 +3774,13 @@ void BrowserAccessibilityWin::InitRoleAndState() { // aria-readonly attribute and for a few roles (in the switch above). // We clear the READONLY state on focusable controls and on a document. // Everything else, the majority of objects, do not have this state set. - if (HasState(blink::WebAXStateFocusable) && + if (HasState(ui::AX_STATE_FOCUSABLE) && ia_role_ != ROLE_SYSTEM_DOCUMENT) { ia_state_ &= ~(STATE_SYSTEM_READONLY); } - if (!HasState(blink::WebAXStateReadonly)) + if (!HasState(ui::AX_STATE_READONLY)) ia_state_ &= ~(STATE_SYSTEM_READONLY); - if (GetBoolAttribute(AccessibilityNodeData::ATTR_ARIA_READONLY)) + if (GetBoolAttribute(ui::AX_ATTR_ARIA_READONLY)) ia_state_ |= STATE_SYSTEM_READONLY; // The role should always be set. diff --git a/content/browser/accessibility/browser_accessibility_win.h b/content/browser/accessibility/browser_accessibility_win.h index c2a6b7a..713960a 100644 --- a/content/browser/accessibility/browser_accessibility_win.h +++ b/content/browser/accessibility/browser_accessibility_win.h @@ -790,29 +790,29 @@ BrowserAccessibilityWin BrowserAccessibilityWin* GetTargetFromChildID(const VARIANT& var_id); // Initialize the role and state metadata from the role enum and state - // bitmasks defined in AccessibilityNodeData. + // bitmasks defined in ui::AXNodeData. void InitRoleAndState(); // Retrieve the value of an attribute from the string attribute map and // if found and nonempty, allocate a new BSTR (with SysAllocString) // and return S_OK. If not found or empty, return S_FALSE. HRESULT GetStringAttributeAsBstr( - AccessibilityNodeData::StringAttribute attribute, + ui::AXStringAttribute attribute, BSTR* value_bstr); // If the string attribute |attribute| is present, add its value as an // IAccessible2 attribute with the name |ia2_attr|. - void StringAttributeToIA2(AccessibilityNodeData::StringAttribute attribute, + void StringAttributeToIA2(ui::AXStringAttribute attribute, const char* ia2_attr); // If the bool attribute |attribute| is present, add its value as an // IAccessible2 attribute with the name |ia2_attr|. - void BoolAttributeToIA2(AccessibilityNodeData::BoolAttribute attribute, + void BoolAttributeToIA2(ui::AXBoolAttribute attribute, const char* ia2_attr); // If the int attribute |attribute| is present, add its value as an // IAccessible2 attribute with the name |ia2_attr|. - void IntAttributeToIA2(AccessibilityNodeData::IntAttribute attribute, + void IntAttributeToIA2(ui::AXIntAttribute attribute, const char* ia2_attr); // Get the value text, which might come from the floating-point diff --git a/content/browser/accessibility/browser_accessibility_win_unittest.cc b/content/browser/accessibility/browser_accessibility_win_unittest.cc index 53d0076..314d296 100644 --- a/content/browser/accessibility/browser_accessibility_win_unittest.cc +++ b/content/browser/accessibility/browser_accessibility_win_unittest.cc @@ -110,31 +110,31 @@ void BrowserAccessibilityTest::SetUp() { // Test that BrowserAccessibilityManager correctly releases the tree of // BrowserAccessibility instances upon delete. TEST_F(BrowserAccessibilityTest, TestNoLeaks) { - // Create AccessibilityNodeData objects for a simple document tree, + // Create ui::AXNodeData objects for a simple document tree, // representing the accessibility information used to initialize // BrowserAccessibilityManager. - AccessibilityNodeData button; + ui::AXNodeData button; button.id = 2; button.SetName("Button"); - button.role = blink::WebAXRoleButton; + button.role = ui::AX_ROLE_BUTTON; button.state = 0; - AccessibilityNodeData checkbox; + ui::AXNodeData checkbox; checkbox.id = 3; checkbox.SetName("Checkbox"); - checkbox.role = blink::WebAXRoleCheckBox; + checkbox.role = ui::AX_ROLE_CHECK_BOX; checkbox.state = 0; - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; root.SetName("Document"); - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; root.state = 0; root.child_ids.push_back(2); root.child_ids.push_back(3); // Construct a BrowserAccessibilityManager with this - // AccessibilityNodeData tree and a factory for an instance-counting + // ui::AXNodeData tree and a factory for an instance-counting // BrowserAccessibility, and ensure that exactly 3 instances were // created. Note that the manager takes ownership of the factory. CountedBrowserAccessibility::reset(); @@ -179,24 +179,24 @@ TEST_F(BrowserAccessibilityTest, TestNoLeaks) { } TEST_F(BrowserAccessibilityTest, TestChildrenChange) { - // Create AccessibilityNodeData objects for a simple document tree, + // Create ui::AXNodeData objects for a simple document tree, // representing the accessibility information used to initialize // BrowserAccessibilityManager. - AccessibilityNodeData text; + ui::AXNodeData text; text.id = 2; - text.role = blink::WebAXRoleStaticText; + text.role = ui::AX_ROLE_STATIC_TEXT; text.SetName("old text"); text.state = 0; - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; root.SetName("Document"); - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; root.state = 0; root.child_ids.push_back(2); // Construct a BrowserAccessibilityManager with this - // AccessibilityNodeData tree and a factory for an instance-counting + // ui::AXNodeData tree and a factory for an instance-counting // BrowserAccessibility. CountedBrowserAccessibility::reset(); scoped_ptr<BrowserAccessibilityManager> manager( @@ -227,13 +227,13 @@ TEST_F(BrowserAccessibilityTest, TestChildrenChange) { text_accessible.Release(); // Notify the BrowserAccessibilityManager that the text child has changed. - AccessibilityNodeData text2; + ui::AXNodeData text2; text2.id = 2; - text2.role = blink::WebAXRoleStaticText; + text2.role = ui::AX_ROLE_STATIC_TEXT; text2.SetName("new text"); text2.SetName("old text"); AccessibilityHostMsg_EventParams param; - param.event_type = blink::WebAXEventChildrenChanged; + param.event_type = ui::AX_EVENT_CHILDREN_CHANGED; param.nodes.push_back(text2); param.id = text2.id; std::vector<AccessibilityHostMsg_EventParams> events; @@ -263,35 +263,35 @@ TEST_F(BrowserAccessibilityTest, TestChildrenChange) { } TEST_F(BrowserAccessibilityTest, TestChildrenChangeNoLeaks) { - // Create AccessibilityNodeData objects for a simple document tree, + // Create ui::AXNodeData objects for a simple document tree, // representing the accessibility information used to initialize // BrowserAccessibilityManager. - AccessibilityNodeData div; + ui::AXNodeData div; div.id = 2; - div.role = blink::WebAXRoleGroup; + div.role = ui::AX_ROLE_GROUP; div.state = 0; - AccessibilityNodeData text3; + ui::AXNodeData text3; text3.id = 3; - text3.role = blink::WebAXRoleStaticText; + text3.role = ui::AX_ROLE_STATIC_TEXT; text3.state = 0; - AccessibilityNodeData text4; + ui::AXNodeData text4; text4.id = 4; - text4.role = blink::WebAXRoleStaticText; + text4.role = ui::AX_ROLE_STATIC_TEXT; text4.state = 0; div.child_ids.push_back(3); div.child_ids.push_back(4); - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; root.state = 0; root.child_ids.push_back(2); // Construct a BrowserAccessibilityManager with this - // AccessibilityNodeData tree and a factory for an instance-counting + // ui::AXNodeData tree and a factory for an instance-counting // BrowserAccessibility and ensure that exactly 4 instances were // created. Note that the manager takes ownership of the factory. CountedBrowserAccessibility::reset(); @@ -305,7 +305,7 @@ TEST_F(BrowserAccessibilityTest, TestChildrenChangeNoLeaks) { // were removed and ensure that only one BrowserAccessibility instance exists. root.child_ids.clear(); AccessibilityHostMsg_EventParams param; - param.event_type = blink::WebAXEventChildrenChanged; + param.event_type = ui::AX_EVENT_CHILDREN_CHANGED; param.nodes.push_back(root); param.id = root.id; std::vector<AccessibilityHostMsg_EventParams> events; @@ -322,19 +322,19 @@ TEST_F(BrowserAccessibilityTest, TestChildrenChangeNoLeaks) { TEST_F(BrowserAccessibilityTest, TestTextBoundaries) { std::string text1_value = "One two three.\nFour five six."; - AccessibilityNodeData text1; + ui::AXNodeData text1; text1.id = 11; - text1.role = blink::WebAXRoleTextField; + text1.role = ui::AX_ROLE_TEXT_FIELD; text1.state = 0; - text1.AddStringAttribute(AccessibilityNodeData::ATTR_VALUE, text1_value); + text1.AddStringAttribute(ui::AX_ATTR_VALUE, text1_value); std::vector<int32> line_breaks; line_breaks.push_back(15); text1.AddIntListAttribute( - AccessibilityNodeData::ATTR_LINE_BREAKS, line_breaks); + ui::AX_ATTR_LINE_BREAKS, line_breaks); - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; root.state = 0; root.child_ids.push_back(11); @@ -419,22 +419,22 @@ TEST_F(BrowserAccessibilityTest, TestSimpleHypertext) { const std::string text1_name = "One two three."; const std::string text2_name = " Four five six."; - AccessibilityNodeData text1; + ui::AXNodeData text1; text1.id = 11; - text1.role = blink::WebAXRoleStaticText; - text1.state = 1 << blink::WebAXStateReadonly; + text1.role = ui::AX_ROLE_STATIC_TEXT; + text1.state = 1 << ui::AX_STATE_READONLY; text1.SetName(text1_name); - AccessibilityNodeData text2; + ui::AXNodeData text2; text2.id = 12; - text2.role = blink::WebAXRoleStaticText; - text2.state = 1 << blink::WebAXStateReadonly; + text2.role = ui::AX_ROLE_STATIC_TEXT; + text2.state = 1 << ui::AX_STATE_READONLY; text2.SetName(text2_name); - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; - root.state = 1 << blink::WebAXStateReadonly; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; + root.state = 1 << ui::AX_STATE_READONLY; root.child_ids.push_back(11); root.child_ids.push_back(12); @@ -487,42 +487,42 @@ TEST_F(BrowserAccessibilityTest, TestComplexHypertext) { const std::string button1_text_name = "red"; const std::string link1_text_name = "blue"; - AccessibilityNodeData text1; + ui::AXNodeData text1; text1.id = 11; - text1.role = blink::WebAXRoleStaticText; - text1.state = 1 << blink::WebAXStateReadonly; + text1.role = ui::AX_ROLE_STATIC_TEXT; + text1.state = 1 << ui::AX_STATE_READONLY; text1.SetName(text1_name); - AccessibilityNodeData text2; + ui::AXNodeData text2; text2.id = 12; - text2.role = blink::WebAXRoleStaticText; - text2.state = 1 << blink::WebAXStateReadonly; + text2.role = ui::AX_ROLE_STATIC_TEXT; + text2.state = 1 << ui::AX_STATE_READONLY; text2.SetName(text2_name); - AccessibilityNodeData button1, button1_text; + ui::AXNodeData button1, button1_text; button1.id = 13; button1_text.id = 15; button1_text.SetName(button1_text_name); - button1.role = blink::WebAXRoleButton; - button1_text.role = blink::WebAXRoleStaticText; - button1.state = 1 << blink::WebAXStateReadonly; - button1_text.state = 1 << blink::WebAXStateReadonly; + button1.role = ui::AX_ROLE_BUTTON; + button1_text.role = ui::AX_ROLE_STATIC_TEXT; + button1.state = 1 << ui::AX_STATE_READONLY; + button1_text.state = 1 << ui::AX_STATE_READONLY; button1.child_ids.push_back(15); - AccessibilityNodeData link1, link1_text; + ui::AXNodeData link1, link1_text; link1.id = 14; link1_text.id = 16; link1_text.SetName(link1_text_name); - link1.role = blink::WebAXRoleLink; - link1_text.role = blink::WebAXRoleStaticText; - link1.state = 1 << blink::WebAXStateReadonly; - link1_text.state = 1 << blink::WebAXStateReadonly; + link1.role = ui::AX_ROLE_LINK; + link1_text.role = ui::AX_ROLE_STATIC_TEXT; + link1.state = 1 << ui::AX_STATE_READONLY; + link1_text.state = 1 << ui::AX_STATE_READONLY; link1.child_ids.push_back(16); - AccessibilityNodeData root; + ui::AXNodeData root; root.id = 1; - root.role = blink::WebAXRoleRootWebArea; - root.state = 1 << blink::WebAXStateReadonly; + root.role = ui::AX_ROLE_ROOT_WEB_AREA; + root.state = 1 << ui::AX_STATE_READONLY; root.child_ids.push_back(11); root.child_ids.push_back(13); root.child_ids.push_back(12); @@ -602,8 +602,8 @@ TEST_F(BrowserAccessibilityTest, TestCreateEmptyDocument) { // Try creating an empty document with busy state. Readonly is // set automatically. CountedBrowserAccessibility::reset(); - const int32 busy_state = 1 << blink::WebAXStateBusy; - const int32 readonly_state = 1 << blink::WebAXStateReadonly; + const int32 busy_state = 1 << ui::AX_STATE_BUSY; + const int32 readonly_state = 1 << ui::AX_STATE_READONLY; const int32 enabled_state = 1 << blink::WebAXStateEnabled; scoped_ptr<BrowserAccessibilityManager> manager( new BrowserAccessibilityManagerWin( @@ -616,24 +616,24 @@ TEST_F(BrowserAccessibilityTest, TestCreateEmptyDocument) { // Verify the root is as we expect by default. BrowserAccessibility* root = manager->GetRoot(); EXPECT_EQ(0, root->renderer_id()); - EXPECT_EQ(blink::WebAXRoleRootWebArea, root->role()); + EXPECT_EQ(ui::AX_ROLE_ROOT_WEB_AREA, root->role()); EXPECT_EQ(busy_state | readonly_state | enabled_state, root->state()); // Tree with a child textfield. - AccessibilityNodeData tree1_1; + ui::AXNodeData tree1_1; tree1_1.id = 1; - tree1_1.role = blink::WebAXRoleRootWebArea; + tree1_1.role = ui::AX_ROLE_ROOT_WEB_AREA; tree1_1.child_ids.push_back(2); - AccessibilityNodeData tree1_2; + ui::AXNodeData tree1_2; tree1_2.id = 2; - tree1_2.role = blink::WebAXRoleTextField; + tree1_2.role = ui::AX_ROLE_TEXT_FIELD; // Process a load complete. std::vector<AccessibilityHostMsg_EventParams> params; params.push_back(AccessibilityHostMsg_EventParams()); AccessibilityHostMsg_EventParams* msg = ¶ms[0]; - msg->event_type = blink::WebAXEventLoadComplete; + msg->event_type = ui::AX_EVENT_LOAD_COMPLETE; msg->nodes.push_back(tree1_1); msg->nodes.push_back(tree1_2); msg->id = tree1_1.id; @@ -646,18 +646,18 @@ TEST_F(BrowserAccessibilityTest, TestCreateEmptyDocument) { EXPECT_NE(root, manager->GetRoot()); // And the proper child remains. - EXPECT_EQ(blink::WebAXRoleTextField, acc1_2->role()); + EXPECT_EQ(ui::AX_ROLE_TEXT_FIELD, acc1_2->role()); EXPECT_EQ(2, acc1_2->renderer_id()); // Tree with a child button. - AccessibilityNodeData tree2_1; + ui::AXNodeData tree2_1; tree2_1.id = 1; - tree2_1.role = blink::WebAXRoleRootWebArea; + tree2_1.role = ui::AX_ROLE_ROOT_WEB_AREA; tree2_1.child_ids.push_back(3); - AccessibilityNodeData tree2_2; + ui::AXNodeData tree2_2; tree2_2.id = 3; - tree2_2.role = blink::WebAXRoleButton; + tree2_2.role = ui::AX_ROLE_BUTTON; msg->nodes.clear(); msg->nodes.push_back(tree2_1); @@ -673,7 +673,7 @@ TEST_F(BrowserAccessibilityTest, TestCreateEmptyDocument) { EXPECT_NE(root, manager->GetRoot()); // And the new child exists. - EXPECT_EQ(blink::WebAXRoleButton, acc2_2->role()); + EXPECT_EQ(ui::AX_ROLE_BUTTON, acc2_2->role()); EXPECT_EQ(3, acc2_2->renderer_id()); // Ensure we properly cleaned up. diff --git a/content/browser/accessibility/cross_platform_accessibility_browsertest.cc b/content/browser/accessibility/cross_platform_accessibility_browsertest.cc index f0aa13f..41851b7 100644 --- a/content/browser/accessibility/cross_platform_accessibility_browsertest.cc +++ b/content/browser/accessibility/cross_platform_accessibility_browsertest.cc @@ -14,6 +14,7 @@ #include "content/test/accessibility_browser_test_utils.h" #include "content/test/content_browser_test.h" #include "content/test/content_browser_test_utils.h" +#include "ui/accessibility/ax_node.h" #if defined(OS_WIN) #include <atlbase.h> @@ -37,21 +38,21 @@ class CrossPlatformAccessibilityBrowserTest : public ContentBrowserTest { // Tell the renderer to send an accessibility tree, then wait for the // notification that it's been received. - const AccessibilityNodeDataTreeNode& GetAccessibilityNodeDataTree( + const ui::AXTree& GetAXTree( AccessibilityMode accessibility_mode = AccessibilityModeComplete) { AccessibilityNotificationWaiter waiter( - shell(), accessibility_mode, blink::WebAXEventLayoutComplete); + shell(), accessibility_mode, ui::AX_EVENT_LAYOUT_COMPLETE); waiter.WaitForNotification(); - return waiter.GetAccessibilityNodeDataTree(); + return waiter.GetAXTree(); } // Make sure each node in the tree has an unique id. void RecursiveAssertUniqueIds( - const AccessibilityNodeDataTreeNode& node, base::hash_set<int>* ids) { - ASSERT_TRUE(ids->find(node.id) == ids->end()); - ids->insert(node.id); - for (size_t i = 0; i < node.children.size(); i++) - RecursiveAssertUniqueIds(node.children[i], ids); + const ui::AXNode* node, base::hash_set<int>* ids) { + ASSERT_TRUE(ids->find(node->id()) == ids->end()); + ids->insert(node->id()); + for (int i = 0; i < node->child_count(); i++) + RecursiveAssertUniqueIds(node->ChildAtIndex(i), ids); } // ContentBrowserTest @@ -59,12 +60,12 @@ class CrossPlatformAccessibilityBrowserTest : public ContentBrowserTest { virtual void TearDownInProcessBrowserTestFixture() OVERRIDE; protected: - std::string GetAttr(const AccessibilityNodeData& node, - const AccessibilityNodeData::StringAttribute attr); - int GetIntAttr(const AccessibilityNodeData& node, - const AccessibilityNodeData::IntAttribute attr); - bool GetBoolAttr(const AccessibilityNodeData& node, - const AccessibilityNodeData::BoolAttribute attr); + std::string GetAttr(const ui::AXNode* node, + const ui::AXStringAttribute attr); + int GetIntAttr(const ui::AXNode* node, + const ui::AXIntAttribute attr); + bool GetBoolAttr(const ui::AXNode* node, + const ui::AXBoolAttribute attr); private: #if defined(OS_WIN) @@ -88,38 +89,41 @@ CrossPlatformAccessibilityBrowserTest::TearDownInProcessBrowserTestFixture() { #endif } -// Convenience method to get the value of a particular AccessibilityNodeData -// node attribute as a UTF-8 string. +// Convenience method to get the value of a particular AXNode +// attribute as a UTF-8 string. std::string CrossPlatformAccessibilityBrowserTest::GetAttr( - const AccessibilityNodeData& node, - const AccessibilityNodeData::StringAttribute attr) { - for (size_t i = 0; i < node.string_attributes.size(); ++i) { - if (node.string_attributes[i].first == attr) - return node.string_attributes[i].second; + const ui::AXNode* node, + const ui::AXStringAttribute attr) { + const ui::AXNodeData& data = node->data(); + for (size_t i = 0; i < data.string_attributes.size(); ++i) { + if (data.string_attributes[i].first == attr) + return data.string_attributes[i].second; } return std::string(); } -// Convenience method to get the value of a particular AccessibilityNodeData -// node integer attribute. +// Convenience method to get the value of a particular AXNode +// integer attribute. int CrossPlatformAccessibilityBrowserTest::GetIntAttr( - const AccessibilityNodeData& node, - const AccessibilityNodeData::IntAttribute attr) { - for (size_t i = 0; i < node.int_attributes.size(); ++i) { - if (node.int_attributes[i].first == attr) - return node.int_attributes[i].second; + const ui::AXNode* node, + const ui::AXIntAttribute attr) { + const ui::AXNodeData& data = node->data(); + for (size_t i = 0; i < data.int_attributes.size(); ++i) { + if (data.int_attributes[i].first == attr) + return data.int_attributes[i].second; } return -1; } -// Convenience method to get the value of a particular AccessibilityNodeData -// node boolean attribute. +// Convenience method to get the value of a particular AXNode +// boolean attribute. bool CrossPlatformAccessibilityBrowserTest::GetBoolAttr( - const AccessibilityNodeData& node, - const AccessibilityNodeData::BoolAttribute attr) { - for (size_t i = 0; i < node.bool_attributes.size(); ++i) { - if (node.bool_attributes[i].first == attr) - return node.bool_attributes[i].second; + const ui::AXNode* node, + const ui::AXBoolAttribute attr) { + const ui::AXNodeData& data = node->data(); + for (size_t i = 0; i < data.bool_attributes.size(); ++i) { + if (data.bool_attributes[i].first == attr) + return data.bool_attributes[i].second; } return false; } @@ -136,62 +140,63 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, "</body></html>"; GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); // Check properties of the root element of the tree. EXPECT_STREQ(url_str, - GetAttr(tree, AccessibilityNodeData::ATTR_DOC_URL).c_str()); + GetAttr(root, ui::AX_ATTR_DOC_URL).c_str()); EXPECT_STREQ( "Accessibility Test", - GetAttr(tree, AccessibilityNodeData::ATTR_DOC_TITLE).c_str()); + GetAttr(root, ui::AX_ATTR_DOC_TITLE).c_str()); EXPECT_STREQ( - "html", GetAttr(tree, AccessibilityNodeData::ATTR_DOC_DOCTYPE).c_str()); + "html", GetAttr(root, ui::AX_ATTR_DOC_DOCTYPE).c_str()); EXPECT_STREQ( "text/html", - GetAttr(tree, AccessibilityNodeData::ATTR_DOC_MIMETYPE).c_str()); + GetAttr(root, ui::AX_ATTR_DOC_MIMETYPE).c_str()); EXPECT_STREQ( "Accessibility Test", - GetAttr(tree, AccessibilityNodeData::ATTR_NAME).c_str()); - EXPECT_EQ(blink::WebAXRoleRootWebArea, tree.role); + GetAttr(root, ui::AX_ATTR_NAME).c_str()); + EXPECT_EQ(ui::AX_ROLE_ROOT_WEB_AREA, root->data().role); // Check properites of the BODY element. - ASSERT_EQ(1U, tree.children.size()); - const AccessibilityNodeDataTreeNode& body = tree.children[0]; - EXPECT_EQ(blink::WebAXRoleGroup, body.role); + ASSERT_EQ(1, root->child_count()); + const ui::AXNode* body = root->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_GROUP, body->data().role); EXPECT_STREQ("body", - GetAttr(body, AccessibilityNodeData::ATTR_HTML_TAG).c_str()); + GetAttr(body, ui::AX_ATTR_HTML_TAG).c_str()); EXPECT_STREQ("block", - GetAttr(body, AccessibilityNodeData::ATTR_DISPLAY).c_str()); + GetAttr(body, ui::AX_ATTR_DISPLAY).c_str()); // Check properties of the two children of the BODY element. - ASSERT_EQ(2U, body.children.size()); + ASSERT_EQ(2, body->child_count()); - const AccessibilityNodeDataTreeNode& button = body.children[0]; - EXPECT_EQ(blink::WebAXRoleButton, button.role); + const ui::AXNode* button = body->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_BUTTON, button->data().role); EXPECT_STREQ( - "input", GetAttr(button, AccessibilityNodeData::ATTR_HTML_TAG).c_str()); + "input", GetAttr(button, ui::AX_ATTR_HTML_TAG).c_str()); EXPECT_STREQ( "push", - GetAttr(button, AccessibilityNodeData::ATTR_NAME).c_str()); + GetAttr(button, ui::AX_ATTR_NAME).c_str()); EXPECT_STREQ( "inline-block", - GetAttr(button, AccessibilityNodeData::ATTR_DISPLAY).c_str()); - ASSERT_EQ(2U, button.html_attributes.size()); - EXPECT_STREQ("type", button.html_attributes[0].first.c_str()); - EXPECT_STREQ("button", button.html_attributes[0].second.c_str()); - EXPECT_STREQ("value", button.html_attributes[1].first.c_str()); - EXPECT_STREQ("push", button.html_attributes[1].second.c_str()); - - const AccessibilityNodeDataTreeNode& checkbox = body.children[1]; - EXPECT_EQ(blink::WebAXRoleCheckBox, checkbox.role); + GetAttr(button, ui::AX_ATTR_DISPLAY).c_str()); + ASSERT_EQ(2U, button->data().html_attributes.size()); + EXPECT_STREQ("type", button->data().html_attributes[0].first.c_str()); + EXPECT_STREQ("button", button->data().html_attributes[0].second.c_str()); + EXPECT_STREQ("value", button->data().html_attributes[1].first.c_str()); + EXPECT_STREQ("push", button->data().html_attributes[1].second.c_str()); + + const ui::AXNode* checkbox = body->ChildAtIndex(1); + EXPECT_EQ(ui::AX_ROLE_CHECK_BOX, checkbox->data().role); EXPECT_STREQ( - "input", GetAttr(checkbox, AccessibilityNodeData::ATTR_HTML_TAG).c_str()); + "input", GetAttr(checkbox, ui::AX_ATTR_HTML_TAG).c_str()); EXPECT_STREQ( "inline-block", - GetAttr(checkbox, AccessibilityNodeData::ATTR_DISPLAY).c_str()); - ASSERT_EQ(1U, checkbox.html_attributes.size()); - EXPECT_STREQ("type", checkbox.html_attributes[0].first.c_str()); - EXPECT_STREQ("checkbox", checkbox.html_attributes[0].second.c_str()); + GetAttr(checkbox, ui::AX_ATTR_DISPLAY).c_str()); + ASSERT_EQ(1U, checkbox->data().html_attributes.size()); + EXPECT_STREQ("type", checkbox->data().html_attributes[0].first.c_str()); + EXPECT_STREQ("checkbox", checkbox->data().html_attributes[0].second.c_str()); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, @@ -206,19 +211,20 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); - ASSERT_EQ(1U, tree.children.size()); - const AccessibilityNodeDataTreeNode& body = tree.children[0]; - ASSERT_EQ(1U, body.children.size()); - const AccessibilityNodeDataTreeNode& text = body.children[0]; - EXPECT_EQ(blink::WebAXRoleTextField, text.role); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); + ASSERT_EQ(1, root->child_count()); + const ui::AXNode* body = root->ChildAtIndex(0); + ASSERT_EQ(1, body->child_count()); + const ui::AXNode* text = body->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_TEXT_FIELD, text->data().role); EXPECT_STREQ( - "input", GetAttr(text, AccessibilityNodeData::ATTR_HTML_TAG).c_str()); - EXPECT_EQ(0, GetIntAttr(text, AccessibilityNodeData::ATTR_TEXT_SEL_START)); - EXPECT_EQ(0, GetIntAttr(text, AccessibilityNodeData::ATTR_TEXT_SEL_END)); + "input", GetAttr(text, ui::AX_ATTR_HTML_TAG).c_str()); + EXPECT_EQ(0, GetIntAttr(text, ui::AX_ATTR_TEXT_SEL_START)); + EXPECT_EQ(0, GetIntAttr(text, ui::AX_ATTR_TEXT_SEL_END)); EXPECT_STREQ( "Hello, world.", - GetAttr(text, AccessibilityNodeData::ATTR_VALUE).c_str()); + GetAttr(text, ui::AX_ATTR_VALUE).c_str()); // TODO(dmazzoni): as soon as more accessibility code is cross-platform, // this code should test that the accessible info is dynamically updated @@ -237,26 +243,27 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); - ASSERT_EQ(1U, tree.children.size()); - const AccessibilityNodeDataTreeNode& body = tree.children[0]; - ASSERT_EQ(1U, body.children.size()); - const AccessibilityNodeDataTreeNode& text = body.children[0]; - EXPECT_EQ(blink::WebAXRoleTextField, text.role); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); + ASSERT_EQ(1, root->child_count()); + const ui::AXNode* body = root->ChildAtIndex(0); + ASSERT_EQ(1, body->child_count()); + const ui::AXNode* text = body->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_TEXT_FIELD, text->data().role); EXPECT_STREQ( - "input", GetAttr(text, AccessibilityNodeData::ATTR_HTML_TAG).c_str()); - EXPECT_EQ(0, GetIntAttr(text, AccessibilityNodeData::ATTR_TEXT_SEL_START)); - EXPECT_EQ(13, GetIntAttr(text, AccessibilityNodeData::ATTR_TEXT_SEL_END)); + "input", GetAttr(text, ui::AX_ATTR_HTML_TAG).c_str()); + EXPECT_EQ(0, GetIntAttr(text, ui::AX_ATTR_TEXT_SEL_START)); + EXPECT_EQ(13, GetIntAttr(text, ui::AX_ATTR_TEXT_SEL_END)); EXPECT_STREQ( "Hello, world.", - GetAttr(text, AccessibilityNodeData::ATTR_VALUE).c_str()); + GetAttr(text, ui::AX_ATTR_VALUE).c_str()); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, MultipleInheritanceAccessibility) { // In a WebKit accessibility render tree for a table, each cell is a // child of both a row and a column, so it appears to use multiple - // inheritance. Make sure that the AccessibilityNodeDataObject tree only + // inheritance. Make sure that the ui::AXNodeDataObject tree only // keeps one copy of each cell, and uses an indirect child id for the // additional reference to it. const char url_str[] = @@ -266,35 +273,36 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); - ASSERT_EQ(1U, tree.children.size()); - const AccessibilityNodeDataTreeNode& table = tree.children[0]; - EXPECT_EQ(blink::WebAXRoleTable, table.role); - const AccessibilityNodeDataTreeNode& row = table.children[0]; - EXPECT_EQ(blink::WebAXRoleRow, row.role); - const AccessibilityNodeDataTreeNode& cell1 = row.children[0]; - EXPECT_EQ(blink::WebAXRoleCell, cell1.role); - const AccessibilityNodeDataTreeNode& cell2 = row.children[1]; - EXPECT_EQ(blink::WebAXRoleCell, cell2.role); - const AccessibilityNodeDataTreeNode& column1 = table.children[1]; - EXPECT_EQ(blink::WebAXRoleColumn, column1.role); - EXPECT_EQ(0U, column1.children.size()); - EXPECT_EQ(1U, column1.intlist_attributes.size()); - EXPECT_EQ(AccessibilityNodeData::ATTR_INDIRECT_CHILD_IDS, - column1.intlist_attributes[0].first); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); + ASSERT_EQ(1, root->child_count()); + const ui::AXNode* table = root->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_TABLE, table->data().role); + const ui::AXNode* row = table->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_ROW, row->data().role); + const ui::AXNode* cell1 = row->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_CELL, cell1->data().role); + const ui::AXNode* cell2 = row->ChildAtIndex(1); + EXPECT_EQ(ui::AX_ROLE_CELL, cell2->data().role); + const ui::AXNode* column1 = table->ChildAtIndex(1); + EXPECT_EQ(ui::AX_ROLE_COLUMN, column1->data().role); + EXPECT_EQ(0, column1->child_count()); + EXPECT_EQ(1U, column1->data().intlist_attributes.size()); + EXPECT_EQ(ui::AX_ATTR_INDIRECT_CHILD_IDS, + column1->data().intlist_attributes[0].first); const std::vector<int32> column1_indirect_child_ids = - column1.intlist_attributes[0].second; + column1->data().intlist_attributes[0].second; EXPECT_EQ(1U, column1_indirect_child_ids.size()); - EXPECT_EQ(cell1.id, column1_indirect_child_ids[0]); - const AccessibilityNodeDataTreeNode& column2 = table.children[2]; - EXPECT_EQ(blink::WebAXRoleColumn, column2.role); - EXPECT_EQ(0U, column2.children.size()); - EXPECT_EQ(AccessibilityNodeData::ATTR_INDIRECT_CHILD_IDS, - column2.intlist_attributes[0].first); + EXPECT_EQ(cell1->id(), column1_indirect_child_ids[0]); + const ui::AXNode* column2 = table->ChildAtIndex(2); + EXPECT_EQ(ui::AX_ROLE_COLUMN, column2->data().role); + EXPECT_EQ(0, column2->child_count()); + EXPECT_EQ(ui::AX_ATTR_INDIRECT_CHILD_IDS, + column2->data().intlist_attributes[0].first); const std::vector<int32> column2_indirect_child_ids = - column2.intlist_attributes[0].second; + column2->data().intlist_attributes[0].second; EXPECT_EQ(1U, column2_indirect_child_ids.size()); - EXPECT_EQ(cell2.id, column2_indirect_child_ids[0]); + EXPECT_EQ(cell2->id(), column2_indirect_child_ids[0]); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, @@ -314,9 +322,10 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); base::hash_set<int> ids; - RecursiveAssertUniqueIds(tree, &ids); + RecursiveAssertUniqueIds(root, &ids); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, @@ -334,42 +343,43 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); - ASSERT_EQ(1U, tree.children.size()); - const AccessibilityNodeDataTreeNode& body = tree.children[0]; - ASSERT_EQ(3U, body.children.size()); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); + ASSERT_EQ(1, root->child_count()); + const ui::AXNode* body = root->ChildAtIndex(0); + ASSERT_EQ(3, body->child_count()); - const AccessibilityNodeDataTreeNode& button1 = body.children[0]; - EXPECT_EQ(blink::WebAXRoleButton, button1.role); + const ui::AXNode* button1 = body->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_BUTTON, button1->data().role); EXPECT_STREQ( "Button 1", - GetAttr(button1, AccessibilityNodeData::ATTR_NAME).c_str()); + GetAttr(button1, ui::AX_ATTR_NAME).c_str()); - const AccessibilityNodeDataTreeNode& iframe = body.children[1]; + const ui::AXNode* iframe = body->ChildAtIndex(1); EXPECT_STREQ("iframe", - GetAttr(iframe, AccessibilityNodeData::ATTR_HTML_TAG).c_str()); - ASSERT_EQ(1U, iframe.children.size()); + GetAttr(iframe, ui::AX_ATTR_HTML_TAG).c_str()); + ASSERT_EQ(1, iframe->child_count()); - const AccessibilityNodeDataTreeNode& scroll_area = iframe.children[0]; - EXPECT_EQ(blink::WebAXRoleScrollArea, scroll_area.role); - ASSERT_EQ(1U, scroll_area.children.size()); + const ui::AXNode* scroll_area = iframe->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_SCROLL_AREA, scroll_area->data().role); + ASSERT_EQ(1, scroll_area->child_count()); - const AccessibilityNodeDataTreeNode& sub_document = scroll_area.children[0]; - EXPECT_EQ(blink::WebAXRoleWebArea, sub_document.role); - ASSERT_EQ(1U, sub_document.children.size()); + const ui::AXNode* sub_document = scroll_area->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_WEB_AREA, sub_document->data().role); + ASSERT_EQ(1, sub_document->child_count()); - const AccessibilityNodeDataTreeNode& sub_body = sub_document.children[0]; - ASSERT_EQ(1U, sub_body.children.size()); + const ui::AXNode* sub_body = sub_document->ChildAtIndex(0); + ASSERT_EQ(1, sub_body->child_count()); - const AccessibilityNodeDataTreeNode& button2 = sub_body.children[0]; - EXPECT_EQ(blink::WebAXRoleButton, button2.role); + const ui::AXNode* button2 = sub_body->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_BUTTON, button2->data().role); EXPECT_STREQ("Button 2", - GetAttr(button2, AccessibilityNodeData::ATTR_NAME).c_str()); + GetAttr(button2, ui::AX_ATTR_NAME).c_str()); - const AccessibilityNodeDataTreeNode& button3 = body.children[2]; - EXPECT_EQ(blink::WebAXRoleButton, button3.role); + const ui::AXNode* button3 = body->ChildAtIndex(2); + EXPECT_EQ(ui::AX_ROLE_BUTTON, button3->data().role); EXPECT_STREQ("Button 3", - GetAttr(button3, AccessibilityNodeData::ATTR_NAME).c_str()); + GetAttr(button3, ui::AX_ATTR_NAME).c_str()); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, @@ -384,9 +394,10 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); base::hash_set<int> ids; - RecursiveAssertUniqueIds(tree, &ids); + RecursiveAssertUniqueIds(root, &ids); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, @@ -411,56 +422,57 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); - const AccessibilityNodeDataTreeNode& table = tree.children[0]; - EXPECT_EQ(blink::WebAXRoleTable, table.role); - ASSERT_GE(table.children.size(), 5U); - EXPECT_EQ(blink::WebAXRoleRow, table.children[0].role); - EXPECT_EQ(blink::WebAXRoleRow, table.children[1].role); - EXPECT_EQ(blink::WebAXRoleColumn, table.children[2].role); - EXPECT_EQ(blink::WebAXRoleColumn, table.children[3].role); - EXPECT_EQ(blink::WebAXRoleColumn, table.children[4].role); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); + const ui::AXNode* table = root->ChildAtIndex(0); + EXPECT_EQ(ui::AX_ROLE_TABLE, table->data().role); + ASSERT_GE(table->child_count(), 5); + EXPECT_EQ(ui::AX_ROLE_ROW, table->ChildAtIndex(0)->data().role); + EXPECT_EQ(ui::AX_ROLE_ROW, table->ChildAtIndex(1)->data().role); + EXPECT_EQ(ui::AX_ROLE_COLUMN, table->ChildAtIndex(2)->data().role); + EXPECT_EQ(ui::AX_ROLE_COLUMN, table->ChildAtIndex(3)->data().role); + EXPECT_EQ(ui::AX_ROLE_COLUMN, table->ChildAtIndex(4)->data().role); EXPECT_EQ(3, - GetIntAttr(table, AccessibilityNodeData::ATTR_TABLE_COLUMN_COUNT)); - EXPECT_EQ(2, GetIntAttr(table, AccessibilityNodeData::ATTR_TABLE_ROW_COUNT)); + GetIntAttr(table, ui::AX_ATTR_TABLE_COLUMN_COUNT)); + EXPECT_EQ(2, GetIntAttr(table, ui::AX_ATTR_TABLE_ROW_COUNT)); - const AccessibilityNodeDataTreeNode& cell1 = table.children[0].children[0]; - const AccessibilityNodeDataTreeNode& cell2 = table.children[0].children[1]; - const AccessibilityNodeDataTreeNode& cell3 = table.children[1].children[0]; - const AccessibilityNodeDataTreeNode& cell4 = table.children[1].children[1]; + const ui::AXNode* cell1 = table->ChildAtIndex(0)->ChildAtIndex(0); + const ui::AXNode* cell2 = table->ChildAtIndex(0)->ChildAtIndex(1); + const ui::AXNode* cell3 = table->ChildAtIndex(1)->ChildAtIndex(0); + const ui::AXNode* cell4 = table->ChildAtIndex(1)->ChildAtIndex(1); - ASSERT_EQ(AccessibilityNodeData::ATTR_CELL_IDS, - table.intlist_attributes[0].first); + ASSERT_EQ(ui::AX_ATTR_CELL_IDS, + table->data().intlist_attributes[0].first); const std::vector<int32>& table_cell_ids = - table.intlist_attributes[0].second; + table->data().intlist_attributes[0].second; ASSERT_EQ(6U, table_cell_ids.size()); - EXPECT_EQ(cell1.id, table_cell_ids[0]); - EXPECT_EQ(cell1.id, table_cell_ids[1]); - EXPECT_EQ(cell2.id, table_cell_ids[2]); - EXPECT_EQ(cell3.id, table_cell_ids[3]); - EXPECT_EQ(cell4.id, table_cell_ids[4]); - EXPECT_EQ(cell4.id, table_cell_ids[5]); + EXPECT_EQ(cell1->id(), table_cell_ids[0]); + EXPECT_EQ(cell1->id(), table_cell_ids[1]); + EXPECT_EQ(cell2->id(), table_cell_ids[2]); + EXPECT_EQ(cell3->id(), table_cell_ids[3]); + EXPECT_EQ(cell4->id(), table_cell_ids[4]); + EXPECT_EQ(cell4->id(), table_cell_ids[5]); EXPECT_EQ(0, GetIntAttr(cell1, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX)); + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX)); EXPECT_EQ(0, GetIntAttr(cell1, - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_INDEX)); + ui::AX_ATTR_TABLE_CELL_ROW_INDEX)); EXPECT_EQ(2, GetIntAttr(cell1, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN)); + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN)); EXPECT_EQ(1, GetIntAttr(cell1, - AccessibilityNodeData::ATTR_TABLE_CELL_ROW_SPAN)); + ui::AX_ATTR_TABLE_CELL_ROW_SPAN)); EXPECT_EQ(2, GetIntAttr(cell2, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX)); + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX)); EXPECT_EQ(1, GetIntAttr(cell2, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN)); + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN)); EXPECT_EQ(0, GetIntAttr(cell3, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX)); + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX)); EXPECT_EQ(1, GetIntAttr(cell3, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN)); + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN)); EXPECT_EQ(1, GetIntAttr(cell4, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_INDEX)); + ui::AX_ATTR_TABLE_CELL_COLUMN_INDEX)); EXPECT_EQ(2, GetIntAttr(cell4, - AccessibilityNodeData::ATTR_TABLE_CELL_COLUMN_SPAN)); + ui::AX_ATTR_TABLE_CELL_COLUMN_SPAN)); } IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, @@ -473,13 +485,11 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest, "</div>"; GURL url(url_str); NavigateToURL(shell(), url); - const AccessibilityNodeDataTreeNode& tree = GetAccessibilityNodeDataTree(); - - ASSERT_EQ(1U, tree.children.size()); - const AccessibilityNodeDataTreeNode& textbox = tree.children[0]; - - EXPECT_EQ( - true, GetBoolAttr(textbox, AccessibilityNodeData::ATTR_CAN_SET_VALUE)); + const ui::AXTree& tree = GetAXTree(); + const ui::AXNode* root = tree.GetRoot(); + ASSERT_EQ(1, root->child_count()); + const ui::AXNode* textbox = root->ChildAtIndex(0); + EXPECT_EQ(true, GetBoolAttr(textbox, ui::AX_ATTR_CAN_SET_VALUE)); } } // namespace content diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc index cfb0a27..c1e244e 100644 --- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc +++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc @@ -177,7 +177,7 @@ void DumpAccessibilityTreeTest::RunTest( html_file.BaseName().MaybeAsASCII().c_str()); AccessibilityNotificationWaiter waiter( shell(), AccessibilityModeComplete, - blink::WebAXEventLoadComplete); + ui::AX_EVENT_LOAD_COMPLETE); NavigateToURL(shell(), url); waiter.WaitForNotification(); diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc index c04e4f5..d6ff945 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc @@ -72,6 +72,7 @@ #include "net/base/network_change_notifier.h" #include "net/url_request/url_request_context_getter.h" #include "third_party/skia/include/core/SkBitmap.h" +#include "ui/accessibility/ax_tree.h" #include "ui/base/touch/touch_device.h" #include "ui/base/touch/touch_enabled.h" #include "ui/base/ui_base_switches.h" @@ -2014,7 +2015,7 @@ void RenderViewHostImpl::DisownOpener() { } void RenderViewHostImpl::SetAccessibilityCallbackForTesting( - const base::Callback<void(blink::WebAXEvent)>& callback) { + const base::Callback<void(ui::AXEvent)>& callback) { accessibility_testing_callback_ = callback; } @@ -2131,12 +2132,15 @@ void RenderViewHostImpl::OnAccessibilityEvents( for (unsigned i = 0; i < params.size(); i++) { const AccessibilityHostMsg_EventParams& param = params[i]; - blink::WebAXEvent src_type = param.event_type; - if (src_type == blink::WebAXEventLayoutComplete || - src_type == blink::WebAXEventLoadComplete) { - MakeAccessibilityNodeDataTree(param.nodes, &accessibility_tree_); - } - accessibility_testing_callback_.Run(src_type); + if (static_cast<int>(param.event_type) < 0) + continue; + ui::AXTreeUpdate update; + update.nodes = param.nodes; + if (!ax_tree_) + ax_tree_.reset(new ui::AXTree(update)); + else + CHECK(ax_tree_->Unserialize(update)) << ax_tree_->error(); + accessibility_testing_callback_.Run(param.event_type); } } diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h index dbb1956e..24f8b88 100644 --- a/content/browser/renderer_host/render_view_host_impl.h +++ b/content/browser/renderer_host/render_view_host_impl.h @@ -15,7 +15,6 @@ #include "base/process/kill.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/site_instance_impl.h" -#include "content/common/accessibility_node_data.h" #include "content/common/drag_event_source_info.h" #include "content/public/browser/notification_observer.h" #include "content/public/browser/render_view_host.h" @@ -28,6 +27,7 @@ #include "third_party/WebKit/public/web/WebPopupType.h" #include "third_party/WebKit/public/web/WebTextDirection.h" #include "third_party/skia/include/core/SkColor.h" +#include "ui/accessibility/ax_node_data.h" #include "ui/base/window_open_disposition.h" class SkBitmap; @@ -53,6 +53,7 @@ class Range; } namespace ui { +class AXTree; struct SelectedFileInfo; } @@ -437,14 +438,15 @@ class CONTENT_EXPORT RenderViewHostImpl // renderer process, and the accessibility tree it sent can be // retrieved using accessibility_tree_for_testing(). void SetAccessibilityCallbackForTesting( - const base::Callback<void(blink::WebAXEvent)>& callback); + const base::Callback<void(ui::AXEvent)>& callback); // Only valid if SetAccessibilityCallbackForTesting was called and // the callback was run at least once. Returns a snapshot of the // accessibility tree received from the renderer as of the last time - // a LoadComplete or LayoutComplete accessibility notification was received. - const AccessibilityNodeDataTreeNode& accessibility_tree_for_testing() { - return accessibility_tree_; + // an accessibility notification was received. + const ui::AXTree& ax_tree_for_testing() { + CHECK(ax_tree_.get()); + return *ax_tree_.get(); } // Set accessibility callbacks. @@ -693,10 +695,10 @@ class CONTENT_EXPORT RenderViewHostImpl std::map<int, JavascriptResultCallback> javascript_callbacks_; // Accessibility callback for testing. - base::Callback<void(blink::WebAXEvent)> accessibility_testing_callback_; + base::Callback<void(ui::AXEvent)> accessibility_testing_callback_; // The most recently received accessibility tree - for testing only. - AccessibilityNodeDataTreeNode accessibility_tree_; + scoped_ptr<ui::AXTree> ax_tree_; // True if the render view can be shut down suddenly. bool sudden_termination_allowed_; |