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

Unified Diff: chrome/browser/accessibility/browser_accessibility_win.cc

Issue 3562011: Revert 61740 - Make BrowserAccessibilityManager cross platform. Step 2. ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/accessibility/browser_accessibility_win.cc
===================================================================
--- chrome/browser/accessibility/browser_accessibility_win.cc (revision 61748)
+++ chrome/browser/accessibility/browser_accessibility_win.cc (working copy)
@@ -12,26 +12,135 @@
using webkit_glue::WebAccessibility;
-// static
-BrowserAccessibility* BrowserAccessibility::Create() {
- CComObject<BrowserAccessibilityWin>* instance;
- HRESULT hr = CComObject<BrowserAccessibilityWin>::CreateInstance(&instance);
- DCHECK(SUCCEEDED(hr));
- return instance->NewReference();
+BrowserAccessibilityWin::BrowserAccessibilityWin()
+ : manager_(NULL),
+ parent_(NULL),
+ child_id_(-1),
+ index_in_parent_(-1),
+ renderer_id_(-1),
+ instance_active_(false) {
}
-BrowserAccessibilityWin* BrowserAccessibility::toBrowserAccessibilityWin() {
- return static_cast<BrowserAccessibilityWin*>(this);
+BrowserAccessibilityWin::~BrowserAccessibilityWin() {
+ InactivateTree();
}
-BrowserAccessibilityWin::BrowserAccessibilityWin()
- : instance_active_(false) {
+void BrowserAccessibilityWin::Initialize(
+ BrowserAccessibilityManagerWin* manager,
+ BrowserAccessibilityWin* parent,
+ LONG child_id,
+ LONG index_in_parent,
+ const webkit_glue::WebAccessibility& src) {
+ manager_ = manager;
+ parent_ = parent;
+ child_id_ = child_id;
+ index_in_parent_ = index_in_parent;
+
+ renderer_id_ = src.id;
+ name_ = src.name;
+ value_ = src.value;
+ attributes_ = src.attributes;
+ html_attributes_ = src.html_attributes;
+ location_ = src.location;
+ src_role_ = src.role;
+ InitRoleAndState(src.role, src.state);
+
+ // Expose headings levels to NVDA with the "level" object attribute.
+ if (src.role == WebAccessibility::ROLE_HEADING && role_name_.size() == 2 &&
+ IsAsciiDigit(role_name_[1])) {
+ html_attributes_.push_back(std::make_pair(L"level", role_name_.substr(1)));
+ }
+
+ // If this object doesn't have a name but it does have a description,
+ // use the description as its name - because some screen readers only
+ // announce the name.
+ if (name_.empty() && HasAttribute(WebAccessibility::ATTR_DESCRIPTION)) {
+ GetAttribute(WebAccessibility::ATTR_DESCRIPTION, &name_);
+ }
+
+ instance_active_ = true;
}
-BrowserAccessibilityWin::~BrowserAccessibilityWin() {
- ReleaseTree();
+void BrowserAccessibilityWin::AddChild(BrowserAccessibilityWin* child) {
+ children_.push_back(child);
}
+void BrowserAccessibilityWin::InactivateTree() {
+ if (!instance_active_)
+ return;
+
+ // Mark this object as inactive, so calls to all COM methods will return
+ // failure.
+ instance_active_ = false;
+
+ // Now we can safely call InactivateTree on our children and remove
+ // references to them, so that as much of the tree as possible will be
+ // destroyed now - however, nodes that still have references to them
+ // might stick around a while until all clients have released them.
+ for (std::vector<BrowserAccessibilityWin*>::iterator iter =
+ children_.begin();
+ iter != children_.end(); ++iter) {
+ (*iter)->InactivateTree();
+ (*iter)->Release();
+ }
+ children_.clear();
+ manager_->Remove(child_id_);
+}
+
+bool BrowserAccessibilityWin::IsDescendantOf(
+ BrowserAccessibilityWin* ancestor) {
+ if (this == ancestor) {
+ return true;
+ } else if (parent_) {
+ return parent_->IsDescendantOf(ancestor);
+ }
+
+ return false;
+}
+
+BrowserAccessibilityWin* BrowserAccessibilityWin::GetParent() {
+ return parent_;
+}
+
+uint32 BrowserAccessibilityWin::GetChildCount() {
+ return children_.size();
+}
+
+BrowserAccessibilityWin* BrowserAccessibilityWin::GetChild(uint32 child_index) {
+ DCHECK(child_index >= 0 && child_index < children_.size());
+ return children_[child_index];
+}
+
+BrowserAccessibilityWin* BrowserAccessibilityWin::GetPreviousSibling() {
+ if (parent_ && index_in_parent_ > 0)
+ return parent_->children_[index_in_parent_ - 1];
+
+ return NULL;
+}
+
+BrowserAccessibilityWin* BrowserAccessibilityWin::GetNextSibling() {
+ if (parent_ &&
+ index_in_parent_ >= 0 &&
+ index_in_parent_ < static_cast<int>(parent_->children_.size() - 1)) {
+ return parent_->children_[index_in_parent_ + 1];
+ }
+
+ return NULL;
+}
+
+void BrowserAccessibilityWin::ReplaceChild(
+ const BrowserAccessibilityWin* old_acc, BrowserAccessibilityWin* new_acc) {
+ DCHECK_EQ(children_[old_acc->index_in_parent_], old_acc);
+
+ old_acc = children_[old_acc->index_in_parent_];
+ children_[old_acc->index_in_parent_] = new_acc;
+}
+
+BrowserAccessibilityWin* BrowserAccessibilityWin::NewReference() {
+ AddRef();
+ return this;
+}
+
//
// IAccessible methods.
//
@@ -79,7 +188,7 @@
// Find the top left corner of the containing window in screen coords, and
// adjust the output position by this amount.
- HWND parent_hwnd = manager_->GetParentView();
+ HWND parent_hwnd = manager_->GetParentWindow();
POINT top_left = {0, 0};
::ClientToScreen(parent_hwnd, &top_left);
@@ -103,7 +212,7 @@
return E_INVALIDARG;
}
- BrowserAccessibility* result = NULL;
+ BrowserAccessibilityWin* result = NULL;
switch (nav_dir) {
case NAVDIR_DOWN:
case NAVDIR_UP:
@@ -133,7 +242,7 @@
}
end->vt = VT_DISPATCH;
- end->pdispVal = result->toBrowserAccessibilityWin()->NewReference();
+ end->pdispVal = result->NewReference();
return S_OK;
}
@@ -275,12 +384,11 @@
if (!disp_parent)
return E_INVALIDARG;
- IAccessible* parent = parent_->toBrowserAccessibilityWin();
+ IAccessible* parent = parent_;
if (parent == NULL) {
// This happens if we're the root of the tree;
// return the IAccessible for the window.
- parent = manager_->toBrowserAccessibilityManagerWin()->
- GetParentWindowIAccessible();
+ parent = manager_->GetParentWindowIAccessible();
}
parent->AddRef();
@@ -305,7 +413,7 @@
role->bstrVal = SysAllocString(target->role_name_.c_str());
} else {
role->vt = VT_I4;
- role->lVal = target->ia_role_;
+ role->lVal = target->role_;
}
return S_OK;
}
@@ -323,7 +431,7 @@
return E_INVALIDARG;
state->vt = VT_I4;
- state->lVal = target->ia_state_;
+ state->lVal = target->state_;
if (manager_->GetFocus(NULL) == this)
state->lVal |= STATE_SYSTEM_FOCUSED;
@@ -445,7 +553,7 @@
if (!window_handle)
return E_INVALIDARG;
- *window_handle = manager_->GetParentView();
+ *window_handle = manager_->GetParentWindow();
return S_OK;
}
@@ -483,7 +591,7 @@
return E_INVALIDARG;
if (coordinate_type == IA2_COORDTYPE_SCREEN_RELATIVE) {
- HWND parent_hwnd = manager_->GetParentView();
+ HWND parent_hwnd = manager_->GetParentWindow();
POINT top_left = {0, 0};
::ClientToScreen(parent_hwnd, &top_left);
*x = location_.x + top_left.x;
@@ -492,8 +600,8 @@
*x = location_.x;
*y = location_.y;
if (parent_) {
- *x -= parent_->location().x;
- *y -= parent_->location().y;
+ *x -= parent_->location_.x;
+ *y -= parent_->location_.y;
}
} else {
return E_INVALIDARG;
@@ -525,7 +633,7 @@
if (!n_characters)
return E_INVALIDARG;
- if (role_ == WebAccessibility::ROLE_TEXT_FIELD) {
+ if (src_role_ == WebAccessibility::ROLE_TEXT_FIELD) {
*n_characters = value_.length();
} else {
*n_characters = name_.length();
@@ -543,7 +651,7 @@
return E_INVALIDARG;
string16 text_str;
- if (role_ == WebAccessibility::ROLE_TEXT_FIELD) {
+ if (src_role_ == WebAccessibility::ROLE_TEXT_FIELD) {
text_str = value_;
} else {
text_str = name_;
@@ -580,7 +688,7 @@
if (!offset)
return E_INVALIDARG;
- if (role_ == WebAccessibility::ROLE_TEXT_FIELD) {
+ if (src_role_ == WebAccessibility::ROLE_TEXT_FIELD) {
int sel_start = 0;
if (GetAttributeAsInt(WebAccessibility::ATTR_TEXT_SEL_START, &sel_start)) {
*offset = sel_start;
@@ -601,7 +709,7 @@
if (!n_selections)
return E_INVALIDARG;
- if (role_ == WebAccessibility::ROLE_TEXT_FIELD) {
+ if (src_role_ == WebAccessibility::ROLE_TEXT_FIELD) {
int sel_start = 0;
int sel_end = 0;
if (GetAttributeAsInt(WebAccessibility::ATTR_TEXT_SEL_START, &sel_start) &&
@@ -627,7 +735,7 @@
if (!start_offset || !end_offset || selection_index != 0)
return E_INVALIDARG;
- if (role_ == WebAccessibility::ROLE_TEXT_FIELD) {
+ if (src_role_ == WebAccessibility::ROLE_TEXT_FIELD) {
int sel_start = 0;
int sel_end = 0;
if (GetAttributeAsInt(WebAccessibility::ATTR_TEXT_SEL_START, &sel_start) &&
@@ -720,9 +828,9 @@
*num_children = children_.size();
*unique_id = child_id_;
- if (ia_role_ == ROLE_SYSTEM_DOCUMENT) {
+ if (role_ == ROLE_SYSTEM_DOCUMENT) {
*node_type = NODETYPE_DOCUMENT;
- } else if (ia_role_ == ROLE_SYSTEM_TEXT &&
+ } else if (role_ == ROLE_SYSTEM_TEXT &&
((ia2_state_ & IA2_STATE_EDITABLE) == 0)) {
*node_type = NODETYPE_TEXT;
} else {
@@ -853,7 +961,7 @@
if (!node)
return E_INVALIDARG;
- *node = parent_->toBrowserAccessibilityWin()->NewReference();
+ *node = parent_->NewReference();
return S_OK;
}
@@ -865,7 +973,7 @@
return E_INVALIDARG;
if (children_.size()) {
- *node = children_[0]->toBrowserAccessibilityWin()->NewReference();
+ *node = children_[0]->NewReference();
return S_OK;
} else {
*node = NULL;
@@ -881,8 +989,7 @@
return E_INVALIDARG;
if (children_.size()) {
- *node = children_[children_.size() - 1]->toBrowserAccessibilityWin()->
- NewReference();
+ *node = children_[children_.size() - 1]->NewReference();
return S_OK;
} else {
*node = NULL;
@@ -899,8 +1006,7 @@
return E_INVALIDARG;
if (parent_ && index_in_parent_ > 0) {
- *node = parent_->children()[index_in_parent_ - 1]->
- toBrowserAccessibilityWin()->NewReference();
+ *node = parent_->children_[index_in_parent_ - 1]->NewReference();
return S_OK;
} else {
*node = NULL;
@@ -917,9 +1023,8 @@
if (parent_ &&
index_in_parent_ >= 0 &&
- index_in_parent_ < static_cast<int>(parent_->children().size()) - 1) {
- *node = parent_->children()[index_in_parent_ + 1]->
- toBrowserAccessibilityWin()->NewReference();
+ index_in_parent_ < static_cast<int>(parent_->children_.size()) - 1) {
+ *node = parent_->children_[index_in_parent_ + 1]->NewReference();
return S_OK;
} else {
*node = NULL;
@@ -937,7 +1042,7 @@
return E_INVALIDARG;
if (child_index < children_.size()) {
- *node = children_[child_index]->toBrowserAccessibilityWin()->NewReference();
+ *node = children_[child_index]->NewReference();
return S_OK;
} else {
*node = NULL;
@@ -997,17 +1102,17 @@
REFIID iid,
void** object) {
if (iid == IID_IAccessibleText) {
- if (ia_role_ != ROLE_SYSTEM_LINK && ia_role_ != ROLE_SYSTEM_TEXT) {
+ if (role_ != ROLE_SYSTEM_LINK && role_ != ROLE_SYSTEM_TEXT) {
*object = NULL;
return E_NOINTERFACE;
}
} else if (iid == IID_IAccessibleImage) {
- if (ia_role_ != ROLE_SYSTEM_GRAPHIC) {
+ if (role_ != ROLE_SYSTEM_GRAPHIC) {
*object = NULL;
return E_NOINTERFACE;
}
} else if (iid == IID_ISimpleDOMDocument) {
- if (ia_role_ != ROLE_SYSTEM_DOCUMENT) {
+ if (role_ != ROLE_SYSTEM_DOCUMENT) {
*object = NULL;
return E_NOINTERFACE;
}
@@ -1021,50 +1126,6 @@
// Private methods.
//
-// Initialize this object and mark it as active.
-void BrowserAccessibilityWin::Initialize() {
- InitRoleAndState();
-
- // Expose headings levels to NVDA with the "level" object attribute.
- if (role_ == WebAccessibility::ROLE_HEADING && role_name_.size() == 2 &&
- IsAsciiDigit(role_name_[1])) {
- html_attributes_.push_back(std::make_pair(L"level", role_name_.substr(1)));
- }
-
- // If this object doesn't have a name but it does have a description,
- // use the description as its name - because some screen readers only
- // announce the name.
- if (name_.empty() && HasAttribute(WebAccessibility::ATTR_DESCRIPTION)) {
- GetAttribute(WebAccessibility::ATTR_DESCRIPTION, &name_);
- }
-
- instance_active_ = true;
-}
-
-// Mark this object as inactive, and remove references to all children.
-// When no other clients hold any references to this object it will be
-// deleted, and in the meantime, calls to any methods will return E_FAIL.
-void BrowserAccessibilityWin::ReleaseTree() {
- if (!instance_active_)
- return;
-
- // Mark this object as inactive, so calls to all COM methods will return
- // failure.
- instance_active_ = false;
-
- BrowserAccessibility::ReleaseTree();
-}
-
-void BrowserAccessibilityWin::ReleaseReference() {
- Release();
-}
-
-
-BrowserAccessibilityWin* BrowserAccessibilityWin::NewReference() {
- AddRef();
- return this;
-}
-
BrowserAccessibilityWin* BrowserAccessibilityWin::GetTargetFromChildID(
const VARIANT& var_id) {
if (var_id.vt != VT_I4)
@@ -1075,9 +1136,9 @@
return this;
if (child_id >= 1 && child_id <= static_cast<LONG>(children_.size()))
- return children_[child_id - 1]->toBrowserAccessibilityWin();
+ return children_[child_id - 1];
- return manager_->GetFromChildID(child_id)->toBrowserAccessibilityWin();
+ return manager_->GetFromChildID(child_id);
}
bool BrowserAccessibilityWin::HasAttribute(
@@ -1129,109 +1190,110 @@
return EscapeQueryParamValueUTF8(str, false);
}
-void BrowserAccessibilityWin::InitRoleAndState() {
- ia_state_ = 0;
+void BrowserAccessibilityWin::InitRoleAndState(LONG web_role,
+ LONG web_state) {
+ state_ = 0;
ia2_state_ = IA2_STATE_OPAQUE;
- if ((state_ >> WebAccessibility::STATE_CHECKED) & 1)
- ia_state_ |= STATE_SYSTEM_CHECKED;
- if ((state_ >> WebAccessibility::STATE_COLLAPSED) & 1)
- ia_state_|= STATE_SYSTEM_COLLAPSED;
- if ((state_ >> WebAccessibility::STATE_EXPANDED) & 1)
- ia_state_|= STATE_SYSTEM_EXPANDED;
- if ((state_ >> WebAccessibility::STATE_FOCUSABLE) & 1)
- ia_state_|= STATE_SYSTEM_FOCUSABLE;
- if ((state_ >> WebAccessibility::STATE_HASPOPUP) & 1)
- ia_state_|= STATE_SYSTEM_HASPOPUP;
- if ((state_ >> WebAccessibility::STATE_HOTTRACKED) & 1)
- ia_state_|= STATE_SYSTEM_HOTTRACKED;
- if ((state_ >> WebAccessibility::STATE_INDETERMINATE) & 1)
- ia_state_|= STATE_SYSTEM_INDETERMINATE;
- if ((state_ >> WebAccessibility::STATE_INVISIBLE) & 1)
- ia_state_|= STATE_SYSTEM_INVISIBLE;
- if ((state_ >> WebAccessibility::STATE_LINKED) & 1)
- ia_state_|= STATE_SYSTEM_LINKED;
- if ((state_ >> WebAccessibility::STATE_MULTISELECTABLE) & 1)
- ia_state_|= STATE_SYSTEM_MULTISELECTABLE;
+ if ((web_state >> WebAccessibility::STATE_CHECKED) & 1)
+ state_ |= STATE_SYSTEM_CHECKED;
+ if ((web_state >> WebAccessibility::STATE_COLLAPSED) & 1)
+ state_ |= STATE_SYSTEM_COLLAPSED;
+ if ((web_state >> WebAccessibility::STATE_EXPANDED) & 1)
+ state_ |= STATE_SYSTEM_EXPANDED;
+ if ((web_state >> WebAccessibility::STATE_FOCUSABLE) & 1)
+ state_ |= STATE_SYSTEM_FOCUSABLE;
+ if ((web_state >> WebAccessibility::STATE_HASPOPUP) & 1)
+ state_ |= STATE_SYSTEM_HASPOPUP;
+ if ((web_state >> WebAccessibility::STATE_HOTTRACKED) & 1)
+ state_ |= STATE_SYSTEM_HOTTRACKED;
+ if ((web_state >> WebAccessibility::STATE_INDETERMINATE) & 1)
+ state_ |= STATE_SYSTEM_INDETERMINATE;
+ if ((web_state >> WebAccessibility::STATE_INVISIBLE) & 1)
+ state_ |= STATE_SYSTEM_INVISIBLE;
+ if ((web_state >> WebAccessibility::STATE_LINKED) & 1)
+ state_ |= STATE_SYSTEM_LINKED;
+ if ((web_state >> WebAccessibility::STATE_MULTISELECTABLE) & 1)
+ state_ |= STATE_SYSTEM_MULTISELECTABLE;
// TODO(ctguil): Support STATE_SYSTEM_EXTSELECTABLE/accSelect.
- if ((state_ >> WebAccessibility::STATE_OFFSCREEN) & 1)
- ia_state_|= STATE_SYSTEM_OFFSCREEN;
- if ((state_ >> WebAccessibility::STATE_PRESSED) & 1)
- ia_state_|= STATE_SYSTEM_PRESSED;
- if ((state_ >> WebAccessibility::STATE_PROTECTED) & 1)
- ia_state_|= STATE_SYSTEM_PROTECTED;
- if ((state_ >> WebAccessibility::STATE_SELECTABLE) & 1)
- ia_state_|= STATE_SYSTEM_SELECTABLE;
- if ((state_ >> WebAccessibility::STATE_SELECTED) & 1)
- ia_state_|= STATE_SYSTEM_SELECTED;
- if ((state_ >> WebAccessibility::STATE_READONLY) & 1)
- ia_state_|= STATE_SYSTEM_READONLY;
- if ((state_ >> WebAccessibility::STATE_TRAVERSED) & 1)
- ia_state_|= STATE_SYSTEM_TRAVERSED;
- if ((state_ >> WebAccessibility::STATE_BUSY) & 1)
- ia_state_|= STATE_SYSTEM_BUSY;
- if ((state_ >> WebAccessibility::STATE_UNAVAILABLE) & 1)
- ia_state_|= STATE_SYSTEM_UNAVAILABLE;
+ if ((web_state >> WebAccessibility::STATE_OFFSCREEN) & 1)
+ state_ |= STATE_SYSTEM_OFFSCREEN;
+ if ((web_state >> WebAccessibility::STATE_PRESSED) & 1)
+ state_ |= STATE_SYSTEM_PRESSED;
+ if ((web_state >> WebAccessibility::STATE_PROTECTED) & 1)
+ state_ |= STATE_SYSTEM_PROTECTED;
+ if ((web_state >> WebAccessibility::STATE_SELECTABLE) & 1)
+ state_ |= STATE_SYSTEM_SELECTABLE;
+ if ((web_state >> WebAccessibility::STATE_SELECTED) & 1)
+ state_ |= STATE_SYSTEM_SELECTED;
+ if ((web_state >> WebAccessibility::STATE_READONLY) & 1)
+ state_ |= STATE_SYSTEM_READONLY;
+ if ((web_state >> WebAccessibility::STATE_TRAVERSED) & 1)
+ state_ |= STATE_SYSTEM_TRAVERSED;
+ if ((web_state >> WebAccessibility::STATE_BUSY) & 1)
+ state_ |= STATE_SYSTEM_BUSY;
+ if ((web_state >> WebAccessibility::STATE_UNAVAILABLE) & 1)
+ state_ |= STATE_SYSTEM_UNAVAILABLE;
- ia_role_ = 0;
+ role_ = 0;
ia2_role_ = 0;
- switch (role_) {
+ switch (web_role) {
case WebAccessibility::ROLE_ALERT:
case WebAccessibility::ROLE_ALERT_DIALOG:
- ia_role_ = ROLE_SYSTEM_ALERT;
+ role_ = ROLE_SYSTEM_ALERT;
break;
case WebAccessibility::ROLE_APPLICATION:
- ia_role_ = ROLE_SYSTEM_APPLICATION;
+ role_ = ROLE_SYSTEM_APPLICATION;
break;
case WebAccessibility::ROLE_ARTICLE:
- ia_role_ = ROLE_SYSTEM_GROUPING;
+ role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_SECTION;
break;
case WebAccessibility::ROLE_BUTTON:
- ia_role_ = ROLE_SYSTEM_PUSHBUTTON;
+ role_ = ROLE_SYSTEM_PUSHBUTTON;
break;
case WebAccessibility::ROLE_CELL:
- ia_role_ = ROLE_SYSTEM_CELL;
+ role_ = ROLE_SYSTEM_CELL;
break;
case WebAccessibility::ROLE_CHECKBOX:
- ia_role_ = ROLE_SYSTEM_CHECKBUTTON;
+ role_ = ROLE_SYSTEM_CHECKBUTTON;
break;
case WebAccessibility::ROLE_COLOR_WELL:
- ia_role_ = ROLE_SYSTEM_CLIENT;
+ role_ = ROLE_SYSTEM_CLIENT;
ia2_role_ = IA2_ROLE_COLOR_CHOOSER;
break;
case WebAccessibility::ROLE_COLUMN:
- ia_role_ = ROLE_SYSTEM_COLUMN;
+ role_ = ROLE_SYSTEM_COLUMN;
break;
case WebAccessibility::ROLE_COLUMN_HEADER:
- ia_role_ = ROLE_SYSTEM_COLUMNHEADER;
+ role_ = ROLE_SYSTEM_COLUMNHEADER;
break;
case WebAccessibility::ROLE_COMBO_BOX:
- ia_role_ = ROLE_SYSTEM_COMBOBOX;
+ role_ = ROLE_SYSTEM_COMBOBOX;
break;
case WebAccessibility::ROLE_DEFINITION_LIST_DEFINITION:
GetAttribute(WebAccessibility::ATTR_HTML_TAG, &role_name_);
ia2_role_ = IA2_ROLE_PARAGRAPH;
break;
case WebAccessibility::ROLE_DEFINITION_LIST_TERM:
- ia_role_ = ROLE_SYSTEM_LISTITEM;
+ role_ = ROLE_SYSTEM_LISTITEM;
break;
case WebAccessibility::ROLE_DIALOG:
- ia_role_ = ROLE_SYSTEM_DIALOG;
+ role_ = ROLE_SYSTEM_DIALOG;
break;
case WebAccessibility::ROLE_DOCUMENT:
case WebAccessibility::ROLE_WEB_AREA:
- ia_role_ = ROLE_SYSTEM_DOCUMENT;
- ia_state_|= STATE_SYSTEM_READONLY;
- ia_state_|= STATE_SYSTEM_FOCUSABLE;
+ role_ = ROLE_SYSTEM_DOCUMENT;
+ state_ |= STATE_SYSTEM_READONLY;
+ state_ |= STATE_SYSTEM_FOCUSABLE;
break;
case WebAccessibility::ROLE_EDITABLE_TEXT:
- ia_role_ = ROLE_SYSTEM_TEXT;
+ role_ = ROLE_SYSTEM_TEXT;
ia2_state_ |= IA2_STATE_SINGLE_LINE;
ia2_state_ |= IA2_STATE_EDITABLE;
break;
case WebAccessibility::ROLE_GRID:
- ia_role_ = ROLE_SYSTEM_TABLE;
+ role_ = ROLE_SYSTEM_TABLE;
break;
case WebAccessibility::ROLE_GROUP:
GetAttribute(WebAccessibility::ATTR_HTML_TAG, &role_name_);
@@ -1244,15 +1306,15 @@
ia2_role_ = IA2_ROLE_HEADING;
break;
case WebAccessibility::ROLE_IMAGE:
- ia_role_ = ROLE_SYSTEM_GRAPHIC;
+ role_ = ROLE_SYSTEM_GRAPHIC;
break;
case WebAccessibility::ROLE_IMAGE_MAP:
GetAttribute(WebAccessibility::ATTR_HTML_TAG, &role_name_);
ia2_role_ = IA2_ROLE_IMAGE_MAP;
break;
case WebAccessibility::ROLE_IMAGE_MAP_LINK:
- ia_role_ = ROLE_SYSTEM_LINK;
- ia_state_|= STATE_SYSTEM_LINKED;
+ role_ = ROLE_SYSTEM_LINK;
+ state_ |= STATE_SYSTEM_LINKED;
break;
case WebAccessibility::ROLE_LANDMARK_APPLICATION:
case WebAccessibility::ROLE_LANDMARK_BANNER:
@@ -1261,136 +1323,136 @@
case WebAccessibility::ROLE_LANDMARK_MAIN:
case WebAccessibility::ROLE_LANDMARK_NAVIGATION:
case WebAccessibility::ROLE_LANDMARK_SEARCH:
- ia_role_ = ROLE_SYSTEM_GROUPING;
+ role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_SECTION;
break;
case WebAccessibility::ROLE_LINK:
case WebAccessibility::ROLE_WEBCORE_LINK:
- ia_role_ = ROLE_SYSTEM_LINK;
- ia_state_|= STATE_SYSTEM_LINKED;
+ role_ = ROLE_SYSTEM_LINK;
+ state_ |= STATE_SYSTEM_LINKED;
break;
case WebAccessibility::ROLE_LIST:
- ia_role_ = ROLE_SYSTEM_LIST;
+ role_ = ROLE_SYSTEM_LIST;
break;
case WebAccessibility::ROLE_LISTBOX:
- ia_role_ = ROLE_SYSTEM_LIST;
+ role_ = ROLE_SYSTEM_LIST;
break;
case WebAccessibility::ROLE_LISTBOX_OPTION:
case WebAccessibility::ROLE_LIST_ITEM:
case WebAccessibility::ROLE_LIST_MARKER:
- ia_role_ = ROLE_SYSTEM_LISTITEM;
+ role_ = ROLE_SYSTEM_LISTITEM;
break;
case WebAccessibility::ROLE_MENU:
case WebAccessibility::ROLE_MENU_BUTTON:
- ia_role_ = ROLE_SYSTEM_MENUPOPUP;
+ role_ = ROLE_SYSTEM_MENUPOPUP;
break;
case WebAccessibility::ROLE_MENU_BAR:
- ia_role_ = ROLE_SYSTEM_MENUBAR;
+ role_ = ROLE_SYSTEM_MENUBAR;
break;
case WebAccessibility::ROLE_MENU_ITEM:
case WebAccessibility::ROLE_MENU_LIST_OPTION:
- ia_role_ = ROLE_SYSTEM_MENUITEM;
+ role_ = ROLE_SYSTEM_MENUITEM;
break;
case WebAccessibility::ROLE_MENU_LIST_POPUP:
- ia_role_ = ROLE_SYSTEM_MENUPOPUP;
+ role_ = ROLE_SYSTEM_MENUPOPUP;
break;
case WebAccessibility::ROLE_NOTE:
- ia_role_ = ROLE_SYSTEM_GROUPING;
+ role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_NOTE;
break;
case WebAccessibility::ROLE_OUTLINE:
- ia_role_ = ROLE_SYSTEM_OUTLINE;
+ role_ = ROLE_SYSTEM_OUTLINE;
break;
case WebAccessibility::ROLE_POPUP_BUTTON:
- ia_role_ = ROLE_SYSTEM_COMBOBOX;
+ role_ = ROLE_SYSTEM_COMBOBOX;
break;
case WebAccessibility::ROLE_PROGRESS_INDICATOR:
- ia_role_ = ROLE_SYSTEM_PROGRESSBAR;
+ role_ = ROLE_SYSTEM_PROGRESSBAR;
break;
case WebAccessibility::ROLE_RADIO_BUTTON:
- ia_role_ = ROLE_SYSTEM_RADIOBUTTON;
+ role_ = ROLE_SYSTEM_RADIOBUTTON;
break;
case WebAccessibility::ROLE_RADIO_GROUP:
- ia_role_ = ROLE_SYSTEM_GROUPING;
+ role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_SECTION;
break;
case WebAccessibility::ROLE_REGION:
- ia_role_ = ROLE_SYSTEM_GROUPING;
+ role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_SECTION;
break;
case WebAccessibility::ROLE_ROW:
- ia_role_ = ROLE_SYSTEM_ROW;
+ role_ = ROLE_SYSTEM_ROW;
break;
case WebAccessibility::ROLE_ROW_HEADER:
- ia_role_ = ROLE_SYSTEM_ROWHEADER;
+ role_ = ROLE_SYSTEM_ROWHEADER;
break;
case WebAccessibility::ROLE_RULER:
- ia_role_ = ROLE_SYSTEM_CLIENT;
+ role_ = ROLE_SYSTEM_CLIENT;
ia2_role_ = IA2_ROLE_RULER;
break;
case WebAccessibility::ROLE_SCROLLAREA:
- ia_role_ = ROLE_SYSTEM_CLIENT;
+ role_ = ROLE_SYSTEM_CLIENT;
ia2_role_ = IA2_ROLE_SCROLL_PANE;
break;
case WebAccessibility::ROLE_SCROLLBAR:
- ia_role_ = ROLE_SYSTEM_SCROLLBAR;
+ role_ = ROLE_SYSTEM_SCROLLBAR;
break;
case WebAccessibility::ROLE_SLIDER:
- ia_role_ = ROLE_SYSTEM_SLIDER;
+ role_ = ROLE_SYSTEM_SLIDER;
break;
case WebAccessibility::ROLE_SPLIT_GROUP:
- ia_role_ = ROLE_SYSTEM_CLIENT;
+ role_ = ROLE_SYSTEM_CLIENT;
ia2_role_ = IA2_ROLE_SPLIT_PANE;
break;
case WebAccessibility::ROLE_ANNOTATION:
case WebAccessibility::ROLE_STATIC_TEXT:
- ia_role_ = ROLE_SYSTEM_TEXT;
+ role_ = ROLE_SYSTEM_TEXT;
break;
case WebAccessibility::ROLE_STATUS:
- ia_role_ = ROLE_SYSTEM_STATUSBAR;
+ role_ = ROLE_SYSTEM_STATUSBAR;
break;
case WebAccessibility::ROLE_TAB:
- ia_role_ = ROLE_SYSTEM_PAGETAB;
+ role_ = ROLE_SYSTEM_PAGETAB;
break;
case WebAccessibility::ROLE_TABLE:
- ia_role_ = ROLE_SYSTEM_TABLE;
+ role_ = ROLE_SYSTEM_TABLE;
break;
case WebAccessibility::ROLE_TABLE_HEADER_CONTAINER:
- ia_role_ = ROLE_SYSTEM_GROUPING;
+ role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_SECTION;
break;
case WebAccessibility::ROLE_TAB_GROUP:
case WebAccessibility::ROLE_TAB_LIST:
case WebAccessibility::ROLE_TAB_PANEL:
- ia_role_ = ROLE_SYSTEM_PAGETABLIST;
+ role_ = ROLE_SYSTEM_PAGETABLIST;
break;
case WebAccessibility::ROLE_TEXTAREA:
- ia_role_ = ROLE_SYSTEM_TEXT;
+ role_ = ROLE_SYSTEM_TEXT;
ia2_state_ |= IA2_STATE_MULTI_LINE;
ia2_state_ |= IA2_STATE_EDITABLE;
break;
case WebAccessibility::ROLE_TEXT_FIELD:
- ia_role_ = ROLE_SYSTEM_TEXT;
+ role_ = ROLE_SYSTEM_TEXT;
ia2_state_ |= IA2_STATE_SINGLE_LINE;
ia2_state_ |= IA2_STATE_EDITABLE;
break;
case WebAccessibility::ROLE_TOOLBAR:
- ia_role_ = ROLE_SYSTEM_TOOLBAR;
+ role_ = ROLE_SYSTEM_TOOLBAR;
break;
case WebAccessibility::ROLE_TOOLTIP:
- ia_role_ = ROLE_SYSTEM_TOOLTIP;
+ role_ = ROLE_SYSTEM_TOOLTIP;
break;
case WebAccessibility::ROLE_TREE:
- ia_role_ = ROLE_SYSTEM_OUTLINE;
+ role_ = ROLE_SYSTEM_OUTLINE;
break;
case WebAccessibility::ROLE_TREE_GRID:
- ia_role_ = ROLE_SYSTEM_OUTLINE;
+ role_ = ROLE_SYSTEM_OUTLINE;
break;
case WebAccessibility::ROLE_TREE_ITEM:
- ia_role_ = ROLE_SYSTEM_OUTLINEITEM;
+ role_ = ROLE_SYSTEM_OUTLINEITEM;
break;
case WebAccessibility::ROLE_WINDOW:
- ia_role_ = ROLE_SYSTEM_WINDOW;
+ role_ = ROLE_SYSTEM_WINDOW;
break;
// TODO(dmazzoni): figure out the proper MSAA role for all of these.
@@ -1415,15 +1477,15 @@
case WebAccessibility::ROLE_TIMER:
case WebAccessibility::ROLE_VALUE_INDICATOR:
default:
- ia_role_ = ROLE_SYSTEM_CLIENT;
+ role_ = ROLE_SYSTEM_CLIENT;
break;
}
// The role should always be set.
- DCHECK(!role_name_.empty() || ia_role_);
+ DCHECK(!role_name_.empty() || role_);
// If we didn't explicitly set the IAccessible2 role, make it the same
// as the MSAA role.
if (!ia2_role_)
- ia2_role_ = ia_role_;
+ ia2_role_ = role_;
}

Powered by Google App Engine
This is Rietveld 408576698