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

Side by Side Diff: content/browser/accessibility/accessibility_tree_formatter_win.cc

Issue 790943002: Add DumpAccessibilityEvents test framework. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dump_acc_events_1
Patch Set: 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 unified diff | Download patch
OLDNEW
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.h" 5 #include "content/browser/accessibility/accessibility_tree_formatter.h"
6 6
7 #include <oleacc.h> 7 #include <oleacc.h>
8 8
9 #include <string> 9 #include <string>
10 10
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/strings/string_number_conversions.h"
12 #include "base/strings/string_util.h" 13 #include "base/strings/string_util.h"
13 #include "base/strings/stringprintf.h" 14 #include "base/strings/stringprintf.h"
14 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
15 #include "content/browser/accessibility/accessibility_tree_formatter_utils_win.h " 16 #include "content/browser/accessibility/accessibility_tree_formatter_utils_win.h "
16 #include "content/browser/accessibility/browser_accessibility_manager.h" 17 #include "content/browser/accessibility/browser_accessibility_manager.h"
17 #include "content/browser/accessibility/browser_accessibility_win.h" 18 #include "content/browser/accessibility/browser_accessibility_win.h"
18 #include "third_party/iaccessible2/ia2_api_all.h" 19 #include "third_party/iaccessible2/ia2_api_all.h"
19 #include "ui/base/win/atl_module.h" 20 #include "ui/base/win/atl_module.h"
20 21
21 using base::StringPrintf; 22 using base::StringPrintf;
(...skipping 29 matching lines...) Expand all
51 "selection_start", 52 "selection_start",
52 "selection_end" 53 "selection_end"
53 }; 54 };
54 55
55 void AccessibilityTreeFormatter::Initialize() { 56 void AccessibilityTreeFormatter::Initialize() {
56 ui::win::CreateATLModuleIfNeeded(); 57 ui::win::CreateATLModuleIfNeeded();
57 } 58 }
58 59
59 void AccessibilityTreeFormatter::AddProperties( 60 void AccessibilityTreeFormatter::AddProperties(
60 const BrowserAccessibility& node, base::DictionaryValue* dict) { 61 const BrowserAccessibility& node, base::DictionaryValue* dict) {
62 dict->SetInteger("id", node.GetId());
61 BrowserAccessibilityWin* acc_obj = 63 BrowserAccessibilityWin* acc_obj =
62 const_cast<BrowserAccessibility*>(&node)->ToBrowserAccessibilityWin(); 64 const_cast<BrowserAccessibility*>(&node)->ToBrowserAccessibilityWin();
63 65
64 VARIANT variant_self; 66 VARIANT variant_self;
65 variant_self.vt = VT_I4; 67 variant_self.vt = VT_I4;
66 variant_self.lVal = CHILDID_SELF; 68 variant_self.lVal = CHILDID_SELF;
67 69
68 dict->SetString("role", IAccessible2RoleToString(acc_obj->ia2_role())); 70 dict->SetString("role", IAccessible2RoleToString(acc_obj->ia2_role()));
69 71
70 CComBSTR msaa_variant; 72 CComBSTR msaa_variant;
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 LONG start, end; 194 LONG start, end;
193 if (acc_obj->get_selection(0, &start, &end) == S_OK) { 195 if (acc_obj->get_selection(0, &start, &end) == S_OK) {
194 dict->SetInteger("selection_start", start); 196 dict->SetInteger("selection_start", start);
195 dict->SetInteger("selection_end", end); 197 dict->SetInteger("selection_end", end);
196 } 198 }
197 } 199 }
198 } 200 }
199 } 201 }
200 202
201 base::string16 AccessibilityTreeFormatter::ToString( 203 base::string16 AccessibilityTreeFormatter::ToString(
202 const base::DictionaryValue& dict, 204 const base::DictionaryValue& dict) {
203 const base::string16& indent) {
204 base::string16 line; 205 base::string16 line;
205 206
207 if (show_ids_) {
208 int id_value;
209 dict.GetInteger("id", &id_value);
210 WriteAttribute(true, base::IntToString16(id_value), &line);
211 }
212
206 base::string16 role_value; 213 base::string16 role_value;
207 dict.GetString("role", &role_value); 214 dict.GetString("role", &role_value);
208 WriteAttribute(true, base::UTF16ToUTF8(role_value), &line); 215 WriteAttribute(true, base::UTF16ToUTF8(role_value), &line);
209 216
210 for (int i = 0; i < arraysize(ALL_ATTRIBUTES); i++) { 217 for (int i = 0; i < arraysize(ALL_ATTRIBUTES); i++) {
211 const char* attribute_name = ALL_ATTRIBUTES[i]; 218 const char* attribute_name = ALL_ATTRIBUTES[i];
212 const base::Value* value; 219 const base::Value* value;
213 if (!dict.Get(attribute_name, &value)) 220 if (!dict.Get(attribute_name, &value))
214 continue; 221 continue;
215 222
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 &line); 283 &line);
277 } 284 }
278 break; 285 break;
279 } 286 }
280 default: 287 default:
281 NOTREACHED(); 288 NOTREACHED();
282 break; 289 break;
283 } 290 }
284 } 291 }
285 292
286 return indent + line + base::ASCIIToUTF16("\n"); 293 return line;
287 } 294 }
288 295
289 // static 296 // static
290 const base::FilePath::StringType 297 const base::FilePath::StringType
291 AccessibilityTreeFormatter::GetActualFileSuffix() { 298 AccessibilityTreeFormatter::GetActualFileSuffix() {
292 return FILE_PATH_LITERAL("-actual-win.txt"); 299 return FILE_PATH_LITERAL("-actual-win.txt");
293 } 300 }
294 301
295 // static 302 // static
296 const base::FilePath::StringType 303 const base::FilePath::StringType
(...skipping 10 matching lines...) Expand all
307 const std::string AccessibilityTreeFormatter::GetAllowString() { 314 const std::string AccessibilityTreeFormatter::GetAllowString() {
308 return "@WIN-ALLOW:"; 315 return "@WIN-ALLOW:";
309 } 316 }
310 317
311 // static 318 // static
312 const std::string AccessibilityTreeFormatter::GetDenyString() { 319 const std::string AccessibilityTreeFormatter::GetDenyString() {
313 return "@WIN-DENY:"; 320 return "@WIN-DENY:";
314 } 321 }
315 322
316 } // namespace content 323 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698