| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/accessibility/accessibility_tree_formatter_utils_win.h
" | 5 #include "content/browser/accessibility/accessibility_tree_formatter_utils_win.h
" |
| 6 | 6 |
| 7 #include <oleacc.h> | 7 #include <oleacc.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| 11 | 11 |
| 12 #include "base/macros.h" |
| 12 #include "base/memory/singleton.h" | 13 #include "base/memory/singleton.h" |
| 13 #include "base/strings/string_util.h" | 14 #include "base/strings/string_util.h" |
| 14 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
| 15 #include "third_party/iaccessible2/ia2_api_all.h" | 16 #include "third_party/iaccessible2/ia2_api_all.h" |
| 16 | 17 |
| 17 namespace content { | 18 namespace content { |
| 18 namespace { | 19 namespace { |
| 19 | 20 |
| 20 class AccessibilityEnumMap { | 21 class AccessibilityEnumMap { |
| 21 public: | 22 public: |
| 22 static AccessibilityEnumMap* GetInstance(); | 23 static AccessibilityEnumMap* GetInstance(); |
| 23 | 24 |
| 24 std::map<int32, base::string16> ia_role_string_map; | 25 std::map<int32_t, base::string16> ia_role_string_map; |
| 25 std::map<int32, base::string16> ia2_role_string_map; | 26 std::map<int32_t, base::string16> ia2_role_string_map; |
| 26 std::map<int32, base::string16> ia_state_string_map; | 27 std::map<int32_t, base::string16> ia_state_string_map; |
| 27 std::map<int32, base::string16> ia2_state_string_map; | 28 std::map<int32_t, base::string16> ia2_state_string_map; |
| 28 std::map<int32, base::string16> event_string_map; | 29 std::map<int32_t, base::string16> event_string_map; |
| 29 | 30 |
| 30 private: | 31 private: |
| 31 AccessibilityEnumMap(); | 32 AccessibilityEnumMap(); |
| 32 virtual ~AccessibilityEnumMap() {} | 33 virtual ~AccessibilityEnumMap() {} |
| 33 | 34 |
| 34 friend struct base::DefaultSingletonTraits<AccessibilityEnumMap>; | 35 friend struct base::DefaultSingletonTraits<AccessibilityEnumMap>; |
| 35 | 36 |
| 36 DISALLOW_COPY_AND_ASSIGN(AccessibilityEnumMap); | 37 DISALLOW_COPY_AND_ASSIGN(AccessibilityEnumMap); |
| 37 }; | 38 }; |
| 38 | 39 |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 EVENT_MAP(IA2_EVENT_TEXT_COLUMN_CHANGED) | 288 EVENT_MAP(IA2_EVENT_TEXT_COLUMN_CHANGED) |
| 288 EVENT_MAP(IA2_EVENT_TEXT_INSERTED) | 289 EVENT_MAP(IA2_EVENT_TEXT_INSERTED) |
| 289 EVENT_MAP(IA2_EVENT_TEXT_REMOVED) | 290 EVENT_MAP(IA2_EVENT_TEXT_REMOVED) |
| 290 EVENT_MAP(IA2_EVENT_TEXT_UPDATED) | 291 EVENT_MAP(IA2_EVENT_TEXT_UPDATED) |
| 291 EVENT_MAP(IA2_EVENT_TEXT_SELECTION_CHANGED) | 292 EVENT_MAP(IA2_EVENT_TEXT_SELECTION_CHANGED) |
| 292 EVENT_MAP(IA2_EVENT_VISIBLE_DATA_CHANGED) | 293 EVENT_MAP(IA2_EVENT_VISIBLE_DATA_CHANGED) |
| 293 } | 294 } |
| 294 | 295 |
| 295 } // namespace. | 296 } // namespace. |
| 296 | 297 |
| 297 base::string16 IAccessibleRoleToString(int32 ia_role) { | 298 base::string16 IAccessibleRoleToString(int32_t ia_role) { |
| 298 return AccessibilityEnumMap::GetInstance()->ia_role_string_map[ia_role]; | 299 return AccessibilityEnumMap::GetInstance()->ia_role_string_map[ia_role]; |
| 299 } | 300 } |
| 300 | 301 |
| 301 base::string16 IAccessible2RoleToString(int32 ia_role) { | 302 base::string16 IAccessible2RoleToString(int32_t ia_role) { |
| 302 return AccessibilityEnumMap::GetInstance()->ia2_role_string_map[ia_role]; | 303 return AccessibilityEnumMap::GetInstance()->ia2_role_string_map[ia_role]; |
| 303 } | 304 } |
| 304 | 305 |
| 305 void IAccessibleStateToStringVector(int32 ia_state, | 306 void IAccessibleStateToStringVector(int32_t ia_state, |
| 306 std::vector<base::string16>* result) { | 307 std::vector<base::string16>* result) { |
| 307 const std::map<int32, base::string16>& state_string_map = | 308 const std::map<int32_t, base::string16>& state_string_map = |
| 308 AccessibilityEnumMap::GetInstance()->ia_state_string_map; | 309 AccessibilityEnumMap::GetInstance()->ia_state_string_map; |
| 309 std::map<int32, base::string16>::const_iterator it; | 310 std::map<int32_t, base::string16>::const_iterator it; |
| 310 for (it = state_string_map.begin(); it != state_string_map.end(); ++it) { | 311 for (it = state_string_map.begin(); it != state_string_map.end(); ++it) { |
| 311 if (it->first & ia_state) | 312 if (it->first & ia_state) |
| 312 result->push_back(it->second); | 313 result->push_back(it->second); |
| 313 } | 314 } |
| 314 } | 315 } |
| 315 | 316 |
| 316 base::string16 IAccessibleStateToString(int32 ia_state) { | 317 base::string16 IAccessibleStateToString(int32_t ia_state) { |
| 317 std::vector<base::string16> strings; | 318 std::vector<base::string16> strings; |
| 318 IAccessibleStateToStringVector(ia_state, &strings); | 319 IAccessibleStateToStringVector(ia_state, &strings); |
| 319 return base::JoinString(strings, base::ASCIIToUTF16(",")); | 320 return base::JoinString(strings, base::ASCIIToUTF16(",")); |
| 320 } | 321 } |
| 321 | 322 |
| 322 void IAccessible2StateToStringVector(int32 ia2_state, | 323 void IAccessible2StateToStringVector(int32_t ia2_state, |
| 323 std::vector<base::string16>* result) { | 324 std::vector<base::string16>* result) { |
| 324 const std::map<int32, base::string16>& state_string_map = | 325 const std::map<int32_t, base::string16>& state_string_map = |
| 325 AccessibilityEnumMap::GetInstance()->ia2_state_string_map; | 326 AccessibilityEnumMap::GetInstance()->ia2_state_string_map; |
| 326 std::map<int32, base::string16>::const_iterator it; | 327 std::map<int32_t, base::string16>::const_iterator it; |
| 327 for (it = state_string_map.begin(); it != state_string_map.end(); ++it) { | 328 for (it = state_string_map.begin(); it != state_string_map.end(); ++it) { |
| 328 if (it->first & ia2_state) | 329 if (it->first & ia2_state) |
| 329 result->push_back(it->second); | 330 result->push_back(it->second); |
| 330 } | 331 } |
| 331 } | 332 } |
| 332 | 333 |
| 333 base::string16 IAccessible2StateToString(int32 ia2_state) { | 334 base::string16 IAccessible2StateToString(int32_t ia2_state) { |
| 334 std::vector<base::string16> strings; | 335 std::vector<base::string16> strings; |
| 335 IAccessible2StateToStringVector(ia2_state, &strings); | 336 IAccessible2StateToStringVector(ia2_state, &strings); |
| 336 return base::JoinString(strings, base::ASCIIToUTF16(",")); | 337 return base::JoinString(strings, base::ASCIIToUTF16(",")); |
| 337 } | 338 } |
| 338 | 339 |
| 339 base::string16 AccessibilityEventToString(int32 event_id) { | 340 base::string16 AccessibilityEventToString(int32_t event_id) { |
| 340 return AccessibilityEnumMap::GetInstance()->event_string_map[event_id]; | 341 return AccessibilityEnumMap::GetInstance()->event_string_map[event_id]; |
| 341 } | 342 } |
| 342 | 343 |
| 343 } // namespace content | 344 } // namespace content |
| OLD | NEW |