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

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

Issue 790943002: Add DumpAccessibilityEvents test framework. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dump_acc_events_1
Patch Set: Fix compile errors Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/accessibility/accessibility_tree_formatter_utils_win.cc
diff --git a/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc b/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc
index fdf9519dece67c3090f19ac3183b4076911f60f7..063f5cd759c4100701285a2c418fd8bd4edd1b69 100644
--- a/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc
+++ b/content/browser/accessibility/accessibility_tree_formatter_utils_win.cc
@@ -16,37 +16,39 @@
namespace content {
namespace {
-class AccessibilityRoleStateMap {
+class AccessibilityEnumMap {
public:
- static AccessibilityRoleStateMap* GetInstance();
+ static AccessibilityEnumMap* GetInstance();
std::map<int32, base::string16> ia_role_string_map;
std::map<int32, base::string16> ia2_role_string_map;
std::map<int32, base::string16> ia_state_string_map;
std::map<int32, base::string16> ia2_state_string_map;
+ std::map<int32, base::string16> event_string_map;
private:
- AccessibilityRoleStateMap();
- virtual ~AccessibilityRoleStateMap() {}
+ AccessibilityEnumMap();
+ virtual ~AccessibilityEnumMap() {}
- friend struct DefaultSingletonTraits<AccessibilityRoleStateMap>;
+ friend struct DefaultSingletonTraits<AccessibilityEnumMap>;
- DISALLOW_COPY_AND_ASSIGN(AccessibilityRoleStateMap);
+ DISALLOW_COPY_AND_ASSIGN(AccessibilityEnumMap);
};
// static
-AccessibilityRoleStateMap* AccessibilityRoleStateMap::GetInstance() {
- return Singleton<AccessibilityRoleStateMap,
- LeakySingletonTraits<AccessibilityRoleStateMap> >::get();
+AccessibilityEnumMap* AccessibilityEnumMap::GetInstance() {
+ return Singleton<AccessibilityEnumMap,
+ LeakySingletonTraits<AccessibilityEnumMap> >::get();
}
-AccessibilityRoleStateMap::AccessibilityRoleStateMap() {
+AccessibilityEnumMap::AccessibilityEnumMap() {
// Convenience macros for generating readable strings.
#define IA_ROLE_MAP(x) ia_role_string_map[x] = L###x; \
ia2_role_string_map[x] = L###x;
#define IA2_ROLE_MAP(x) ia2_role_string_map[x] = L###x;
#define IA_STATE_MAP(x) ia_state_string_map[STATE_SYSTEM_##x] = L###x;
#define IA2_STATE_MAP(x) ia2_state_string_map[x] = L###x;
+#define EVENT_MAP(x) event_string_map[x] = L###x;
// MSAA / IAccessible roles. Each one of these is also a valid
// IAccessible2 role, the IA_ROLE_MAP macro adds it to both.
@@ -217,22 +219,91 @@ AccessibilityRoleStateMap::AccessibilityRoleStateMap() {
// Untested states include those that would be repeated on nearly every node,
// or would vary based on window size.
// IA2_STATE_MAP(IA2_STATE_OPAQUE) // Untested.
+
+ EVENT_MAP(EVENT_OBJECT_CREATE)
+ EVENT_MAP(EVENT_OBJECT_DESTROY)
+ EVENT_MAP(EVENT_OBJECT_SHOW)
+ EVENT_MAP(EVENT_OBJECT_HIDE)
+ EVENT_MAP(EVENT_OBJECT_REORDER)
+ EVENT_MAP(EVENT_OBJECT_FOCUS)
+ EVENT_MAP(EVENT_OBJECT_SELECTION)
+ EVENT_MAP(EVENT_OBJECT_SELECTIONADD)
+ EVENT_MAP(EVENT_OBJECT_SELECTIONREMOVE)
+ EVENT_MAP(EVENT_OBJECT_SELECTIONWITHIN)
+ EVENT_MAP(EVENT_OBJECT_STATECHANGE)
+ EVENT_MAP(EVENT_OBJECT_LOCATIONCHANGE)
+ EVENT_MAP(EVENT_OBJECT_NAMECHANGE)
+ EVENT_MAP(EVENT_OBJECT_DESCRIPTIONCHANGE)
+ EVENT_MAP(EVENT_OBJECT_VALUECHANGE)
+ EVENT_MAP(EVENT_OBJECT_PARENTCHANGE)
+ EVENT_MAP(EVENT_OBJECT_HELPCHANGE)
+ EVENT_MAP(EVENT_OBJECT_DEFACTIONCHANGE)
+ EVENT_MAP(EVENT_OBJECT_ACCELERATORCHANGE)
+ EVENT_MAP(EVENT_OBJECT_INVOKED)
+ EVENT_MAP(EVENT_OBJECT_TEXTSELECTIONCHANGED)
+ EVENT_MAP(EVENT_OBJECT_CONTENTSCROLLED)
+ EVENT_MAP(EVENT_OBJECT_LIVEREGIONCHANGED)
+ EVENT_MAP(EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED)
+ EVENT_MAP(EVENT_OBJECT_DRAGSTART)
+ EVENT_MAP(EVENT_OBJECT_DRAGCANCEL)
+ EVENT_MAP(EVENT_OBJECT_DRAGCOMPLETE)
+ EVENT_MAP(EVENT_OBJECT_DRAGENTER)
+ EVENT_MAP(EVENT_OBJECT_DRAGLEAVE)
+ EVENT_MAP(EVENT_OBJECT_DRAGDROPPED)
+ EVENT_MAP(EVENT_SYSTEM_ALERT)
+ EVENT_MAP(EVENT_SYSTEM_SCROLLINGSTART)
+ EVENT_MAP(EVENT_SYSTEM_SCROLLINGEND)
+ EVENT_MAP(IA2_EVENT_ACTION_CHANGED)
+ EVENT_MAP(IA2_EVENT_ACTIVE_DECENDENT_CHANGED)
+ EVENT_MAP(IA2_EVENT_ACTIVE_DESCENDANT_CHANGED)
+ EVENT_MAP(IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED)
+ EVENT_MAP(IA2_EVENT_DOCUMENT_CONTENT_CHANGED)
+ EVENT_MAP(IA2_EVENT_DOCUMENT_LOAD_COMPLETE)
+ EVENT_MAP(IA2_EVENT_DOCUMENT_LOAD_STOPPED)
+ EVENT_MAP(IA2_EVENT_DOCUMENT_RELOAD)
+ EVENT_MAP(IA2_EVENT_HYPERLINK_END_INDEX_CHANGED)
+ EVENT_MAP(IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED)
+ EVENT_MAP(IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED)
+ EVENT_MAP(IA2_EVENT_HYPERTEXT_LINK_ACTIVATED)
+ EVENT_MAP(IA2_EVENT_HYPERTEXT_LINK_SELECTED)
+ EVENT_MAP(IA2_EVENT_HYPERLINK_START_INDEX_CHANGED)
+ EVENT_MAP(IA2_EVENT_HYPERTEXT_CHANGED)
+ EVENT_MAP(IA2_EVENT_HYPERTEXT_NLINKS_CHANGED)
+ EVENT_MAP(IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED)
+ EVENT_MAP(IA2_EVENT_PAGE_CHANGED)
+ EVENT_MAP(IA2_EVENT_SECTION_CHANGED)
+ EVENT_MAP(IA2_EVENT_TABLE_CAPTION_CHANGED)
+ EVENT_MAP(IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED)
+ EVENT_MAP(IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED)
+ EVENT_MAP(IA2_EVENT_TABLE_MODEL_CHANGED)
+ EVENT_MAP(IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED)
+ EVENT_MAP(IA2_EVENT_TABLE_ROW_HEADER_CHANGED)
+ EVENT_MAP(IA2_EVENT_TABLE_SUMMARY_CHANGED)
+ EVENT_MAP(IA2_EVENT_TEXT_ATTRIBUTE_CHANGED)
+ EVENT_MAP(IA2_EVENT_TEXT_CARET_MOVED)
+ EVENT_MAP(IA2_EVENT_TEXT_CHANGED)
+ EVENT_MAP(IA2_EVENT_TEXT_COLUMN_CHANGED)
+ EVENT_MAP(IA2_EVENT_TEXT_INSERTED)
+ EVENT_MAP(IA2_EVENT_TEXT_REMOVED)
+ EVENT_MAP(IA2_EVENT_TEXT_UPDATED)
+ EVENT_MAP(IA2_EVENT_TEXT_SELECTION_CHANGED)
+ EVENT_MAP(IA2_EVENT_VISIBLE_DATA_CHANGED)
}
} // namespace.
base::string16 IAccessibleRoleToString(int32 ia_role) {
- return AccessibilityRoleStateMap::GetInstance()->ia_role_string_map[ia_role];
+ return AccessibilityEnumMap::GetInstance()->ia_role_string_map[ia_role];
}
base::string16 IAccessible2RoleToString(int32 ia_role) {
- return AccessibilityRoleStateMap::GetInstance()->ia2_role_string_map[ia_role];
+ return AccessibilityEnumMap::GetInstance()->ia2_role_string_map[ia_role];
}
void IAccessibleStateToStringVector(int32 ia_state,
std::vector<base::string16>* result) {
const std::map<int32, base::string16>& state_string_map =
- AccessibilityRoleStateMap::GetInstance()->ia_state_string_map;
+ AccessibilityEnumMap::GetInstance()->ia_state_string_map;
std::map<int32, base::string16>::const_iterator it;
for (it = state_string_map.begin(); it != state_string_map.end(); ++it) {
if (it->first & ia_state)
@@ -249,7 +320,7 @@ base::string16 IAccessibleStateToString(int32 ia_state) {
void IAccessible2StateToStringVector(int32 ia2_state,
std::vector<base::string16>* result) {
const std::map<int32, base::string16>& state_string_map =
- AccessibilityRoleStateMap::GetInstance()->ia2_state_string_map;
+ AccessibilityEnumMap::GetInstance()->ia2_state_string_map;
std::map<int32, base::string16>::const_iterator it;
for (it = state_string_map.begin(); it != state_string_map.end(); ++it) {
if (it->first & ia2_state)
@@ -263,4 +334,8 @@ base::string16 IAccessible2StateToString(int32 ia2_state) {
return JoinString(strings, ',');
}
+base::string16 AccessibilityEventToString(int32 event_id) {
+ return AccessibilityEnumMap::GetInstance()->event_string_map[event_id];
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698