diff options
-rw-r--r-- | chrome/browser/accessibility/dump_accessibility_tree_browsertest.cc (renamed from content/browser/accessibility/dump_accessibility_tree_browsertest.cc) | 61 | ||||
-rw-r--r-- | chrome/chrome_tests.gypi | 12 | ||||
-rw-r--r-- | chrome/test/data/accessibility/aria-application-expected-win.txt | 2 | ||||
-rw-r--r-- | content/browser/accessibility/browser_accessibility.h | 4 | ||||
-rw-r--r-- | content/browser/accessibility/browser_accessibility_mac.mm | 12 | ||||
-rw-r--r-- | content/browser/accessibility/browser_accessibility_win.cc | 5 | ||||
-rw-r--r-- | content/browser/accessibility/browser_accessibility_win.h | 11 | ||||
-rw-r--r-- | content/browser/accessibility/dump_accessibility_tree_helper.h | 39 | ||||
-rw-r--r-- | content/browser/accessibility/dump_accessibility_tree_helper_mac.mm | 36 | ||||
-rw-r--r-- | content/browser/accessibility/dump_accessibility_tree_helper_win.cc | 182 |
10 files changed, 62 insertions, 302 deletions
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/chrome/browser/accessibility/dump_accessibility_tree_browsertest.cc index 75ee368..7e97b13 100644 --- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc +++ b/chrome/browser/accessibility/dump_accessibility_tree_browsertest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,15 +7,12 @@ #include "base/logging.h" #include "base/path_service.h" #include "base/string_util.h" -#include "base/string16.h" -#include "base/utf_string_conversions.h" #include "chrome/browser/ui/browser.h" #include "chrome/common/chrome_paths.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #include "content/browser/accessibility/browser_accessibility.h" #include "content/browser/accessibility/browser_accessibility_manager.h" -#include "content/browser/accessibility/dump_accessibility_tree_helper.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/renderer_host/render_widget_host.h" #include "content/browser/renderer_host/render_widget_host_view.h" @@ -28,10 +25,34 @@ using content::OpenURLParams; using content::Referrer; -namespace { +// Suffix of the expectation file corresponding to html file. +// Example: +// HTML test: test-file.html +// Expected: test-file-expected-mac.txt. +// Auto-generated: test-file-actual-mac.txt +#if defined(OS_WIN) +static const std::string kActualFileSuffix = "-actual-win.txt"; +static const std::string kExpectedFileSuffix = "-expected-win.txt"; +#elif defined(OS_MACOSX) +static const std::string kActualFileSuffix = "-actual-mac.txt"; +static const std::string kExpectedFileSuffix = "-expected-mac.txt"; +#else +#error DumpAccessibilityTree does not support this platform. +#endif + +// HTML id attribute prefix identifying a node to test. +static const std::string kTestId = "test"; + // Required to enter html content into a url. - static const std::string kUrlPreamble = "data:text/html,\n<!doctype html>"; -} // namespace +static const std::string kUrlPreamble = "data:text/html,\n<!doctype html>"; + +// Dumps a BrowserAccessibility tree into a string. +void DumpAccessibilityTree(BrowserAccessibility* node, + std::string* contents) { + *contents += node->ToString() + "\n"; + for (size_t i = 0; i < node->children().size(); ++i) + DumpAccessibilityTree(node->children()[i], contents); +} // This test takes a snapshot of the platform BrowserAccessibility tree and // tests it against an expected baseline. @@ -51,8 +72,6 @@ class DumpAccessibilityTreeTest : public InProcessBrowserTest { &resources_pack_path)); ResourceBundle::AddDataPackToSharedInstance(resources_pack_path); } - - DumpAccessibilityTreeHelper helper_; }; IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, @@ -67,7 +86,7 @@ IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, // Setup test paths. FilePath dir_test_data; EXPECT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &dir_test_data)); - FilePath test_path(dir_test_data.Append(FILE_PATH_LITERAL("accessibility"))); + FilePath test_path(dir_test_data.Append(FilePath("accessibility"))); EXPECT_TRUE(file_util::PathExists(test_path)) << test_path.LossyDisplayName(); @@ -75,7 +94,7 @@ IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, file_util::FileEnumerator file_enumerator(test_path, false, file_util::FileEnumerator::FILES, - FILE_PATH_LITERAL("*.html")); + "*.html"); // TODO(dtseng): Make each of these a gtest with script. FilePath html_file; @@ -85,8 +104,7 @@ IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, std::string expected_contents; FilePath expected_file = - FilePath(html_file.RemoveExtension().value() + - helper_.GetExpectedFileSuffix()); + FilePath(html_file.RemoveExtension().value() + kExpectedFileSuffix); file_util::ReadFileToString( expected_file, &expected_contents); @@ -95,9 +113,7 @@ IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, ui_test_utils::WindowedNotificationObserver tree_updated_observer( content::NOTIFICATION_RENDER_VIEW_HOST_ACCESSIBILITY_TREE_UPDATED, content::NotificationService::AllSources()); - string16 html_contents16; - html_contents16 = UTF8ToUTF16(html_contents); - GURL url(UTF8ToUTF16(kUrlPreamble) + html_contents16); + GURL url(kUrlPreamble + html_contents); browser()->OpenURL(OpenURLParams( url, Referrer(), CURRENT_TAB, content::PAGE_TRANSITION_TYPED, false)); @@ -105,20 +121,17 @@ IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, tree_updated_observer.Wait(); // Perform a diff (or write the initial baseline). - string16 actual_contents; - helper_.DumpAccessibilityTree( + std::string actual_contents; + DumpAccessibilityTree( host_view->GetBrowserAccessibilityManager()->GetRoot(), &actual_contents); - std::string actual_contents8 = UTF16ToUTF8(actual_contents); - EXPECT_EQ(expected_contents, actual_contents8); + EXPECT_EQ(expected_contents, actual_contents); if (!file_util::PathExists(expected_file)) { FilePath actual_file = - FilePath(html_file.RemoveExtension().value() + - helper_.GetActualFileSuffix()); - + FilePath(html_file.RemoveExtension().value() + kActualFileSuffix); EXPECT_TRUE(file_util::WriteFile( - actual_file, actual_contents8.c_str(), actual_contents8.size())); + actual_file, actual_contents.c_str(), actual_contents.size())); ADD_FAILURE() << "No expectation found. Create it by doing:\n" << "mv " << actual_file.LossyDisplayName() << " " diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index 9f75b50..f877841 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -2500,6 +2500,7 @@ 'app/chrome_dll_resource.h', 'app/chrome_version.rc.version', 'browser/accessibility/accessibility_extension_apitest.cc', + 'browser/accessibility/dump_accessibility_tree_browsertest.cc', 'browser/app_controller_mac_browsertest.mm', 'browser/autocomplete/autocomplete_browsertest.cc', 'browser/autofill/form_structure_browsertest.cc', @@ -2826,9 +2827,6 @@ # is safe to run there. See http://crbug.com/78722 for details. '../base/files/file_path_watcher_browsertest.cc', '../content/app/startup_helper_win.cc', - '../content/browser/accessibility/dump_accessibility_tree_browsertest.cc', - '../content/browser/accessibility/dump_accessibility_tree_helper_mac.mm', - '../content/browser/accessibility/dump_accessibility_tree_helper_win.cc', '../content/browser/accessibility/renderer_accessibility_browsertest.cc', '../content/browser/child_process_security_policy_browsertest.cc', '../content/browser/device_orientation/device_orientation_browsertest.cc', @@ -2982,11 +2980,10 @@ 'browser/ui/gtk/view_id_util_browsertest.cc', ], }], - ['OS=="linux"', { + # TODO(dtseng): Change this to OS=="linux" once Windows support done. + ['OS!="mac"', { 'sources!': [ - '../content/browser/accessibility/dump_accessibility_tree_browsertest.cc', - '../content/browser/accessibility/dump_accessibility_tree_helper_mac.mm', - '../content/browser/accessibility/dump_accessibility_tree_helper_win.cc', + 'browser/accessibility/dump_accessibility_tree_browsertest.cc', ], }], ['OS=="win"', { @@ -3010,7 +3007,6 @@ 'dependencies': [ 'chrome_version_resources', 'installer_util_strings', - '../third_party/iaccessible2/iaccessible2.gyp:iaccessible2', '../sandbox/sandbox.gyp:sandbox', ], 'conditions': [ diff --git a/chrome/test/data/accessibility/aria-application-expected-win.txt b/chrome/test/data/accessibility/aria-application-expected-win.txt deleted file mode 100644 index 6137c1b..0000000 --- a/chrome/test/data/accessibility/aria-application-expected-win.txt +++ /dev/null @@ -1,2 +0,0 @@ -|ROLE_SYSTEM_DOCUMENT||IA2_STATE_OPAQUE|IA2_STATE_VERTICAL -|IA2_ROLE_SECTION||IA2_STATE_HORIZONTAL|IA2_STATE_OPAQUE diff --git a/content/browser/accessibility/browser_accessibility.h b/content/browser/accessibility/browser_accessibility.h index 0fbb3eb..452deb9 100644 --- a/content/browser/accessibility/browser_accessibility.h +++ b/content/browser/accessibility/browser_accessibility.h @@ -193,6 +193,10 @@ class CONTENT_EXPORT BrowserAccessibility { BrowserAccessibilityWin* toBrowserAccessibilityWin(); #endif + // A string representation of this node. + // TODO(dtseng): Move to test only library. + std::string ToString(); + // Retrieve the value of a bool attribute from the bool attribute // map and returns true if found. bool GetBoolAttribute(WebAccessibility::BoolAttribute attr, bool* value) diff --git a/content/browser/accessibility/browser_accessibility_mac.mm b/content/browser/accessibility/browser_accessibility_mac.mm index 6a209d8..798bfbf 100644 --- a/content/browser/accessibility/browser_accessibility_mac.mm +++ b/content/browser/accessibility/browser_accessibility_mac.mm @@ -1,4 +1,4 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -57,3 +57,13 @@ BrowserAccessibilityCocoa* BrowserAccessibility::toBrowserAccessibilityCocoa() { return static_cast<BrowserAccessibilityMac*>(this)-> native_view(); } + +std::string BrowserAccessibility::ToString() { + BrowserAccessibilityCocoa* cocoa_node = this->toBrowserAccessibilityCocoa(); + NSString* dump = [NSString stringWithFormat:@"%@|%@|%@|%@", + [cocoa_node role], + [cocoa_node subrole], + [cocoa_node title], + [cocoa_node value]]; + return [dump cStringUsingEncoding:NSUTF8StringEncoding]; +} diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc index 21ad75b..0f3fc74 100644 --- a/content/browser/accessibility/browser_accessibility_win.cc +++ b/content/browser/accessibility/browser_accessibility_win.cc @@ -175,6 +175,11 @@ BrowserAccessibilityWin* BrowserAccessibility::toBrowserAccessibilityWin() { return static_cast<BrowserAccessibilityWin*>(this); } +std::string BrowserAccessibility::ToString() { + // TODO(dtseng): Implement this and human readable role strings. + return ""; +} + BrowserAccessibilityWin::BrowserAccessibilityWin() : ia_role_(0), ia_state_(0), diff --git a/content/browser/accessibility/browser_accessibility_win.h b/content/browser/accessibility/browser_accessibility_win.h index 90c9c44..a481160 100644 --- a/content/browser/accessibility/browser_accessibility_win.h +++ b/content/browser/accessibility/browser_accessibility_win.h @@ -1,4 +1,4 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -79,11 +79,6 @@ BrowserAccessibilityWin // position where a non-static text child object appears. CONTENT_EXPORT static const char16 kEmbeddedCharacter[]; - // Mappings from roles and states to human readable strings. Initialize - // with |InitializeStringMaps|. - static std::map<int32, string16> role_string_map; - static std::map<int32, string16> state_string_map; - CONTENT_EXPORT BrowserAccessibilityWin(); CONTENT_EXPORT virtual ~BrowserAccessibilityWin(); @@ -701,10 +696,6 @@ CONTENT_EXPORT virtual void PostInitialize(); REFIID iid, void** object); - // Accessors to IA2 role and state. - int32 ia2_role() { return ia2_role_; } - int32 ia2_state() { return ia2_state_; } - private: // Add one to the reference count and return the same object. Always // use this method when returning a BrowserAccessibilityWin object as diff --git a/content/browser/accessibility/dump_accessibility_tree_helper.h b/content/browser/accessibility/dump_accessibility_tree_helper.h deleted file mode 100644 index 02c6e22..0000000 --- a/content/browser/accessibility/dump_accessibility_tree_helper.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_ACCESSIBILITY_DUMP_ACCESSIBILITY_TREE_HELPER_H_ -#define CHROME_BROWSER_ACCESSIBILITY_DUMP_ACCESSIBILITY_TREE_HELPER_H_ - -#include "base/file_path.h" -#include "base/string16.h" -#include "base/utf_string_conversions.h" -#include "content/browser/accessibility/browser_accessibility.h" - -// A utility class for retrieving platform specific accessibility information. -class DumpAccessibilityTreeHelper { - public: - // Dumps a BrowserAccessibility tree into a string. - void DumpAccessibilityTree(BrowserAccessibility* node, - string16* contents) { - *contents += ToString(node) + UTF8ToUTF16("\n"); - for (size_t i = 0; i < node->children().size(); ++i) - DumpAccessibilityTree(node->children()[i], contents); - } - - // Suffix of the expectation file corresponding to html file. - // Example: - // HTML test: test-file.html - // Expected: test-file-expected-mac.txt. - // Auto-generated: test-file-actual-mac.txt - const FilePath::StringType GetActualFileSuffix() const; - const FilePath::StringType GetExpectedFileSuffix() const; - - protected: - // Returns a platform specific representation of a BrowserAccessibility. - string16 ToString(BrowserAccessibility* node); - - void Initialize(); -}; - -#endif // CHROME_BROWSER_ACCESSIBILITY_DUMP_ACCESSIBILITY_TREE_HELPER_H_ diff --git a/content/browser/accessibility/dump_accessibility_tree_helper_mac.mm b/content/browser/accessibility/dump_accessibility_tree_helper_mac.mm deleted file mode 100644 index bf48e9c..0000000 --- a/content/browser/accessibility/dump_accessibility_tree_helper_mac.mm +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/browser/accessibility/dump_accessibility_tree_helper.h" - -#import <Cocoa/Cocoa.h> - -#include "base/file_path.h" -#include "base/utf_string_conversions.h" -#include "content/browser/accessibility/browser_accessibility_cocoa.h" -#include "content/browser/accessibility/browser_accessibility_mac.h" - -void DumpAccessibilityTreeHelper::Initialize() {} - -string16 DumpAccessibilityTreeHelper::ToString(BrowserAccessibility* node) { - BrowserAccessibilityCocoa* cocoa_node = node->toBrowserAccessibilityCocoa(); - NSString* dump = [NSString stringWithFormat:@"%@|%@|%@|%@", - [cocoa_node role], - [cocoa_node subrole], - [cocoa_node title], - [cocoa_node value]]; - std::string tempVal = [dump cStringUsingEncoding:NSUTF8StringEncoding]; - - return UTF8ToUTF16(tempVal); -} - -const FilePath::StringType DumpAccessibilityTreeHelper::GetActualFileSuffix() - const { - return FILE_PATH_LITERAL("-actual-mac.txt"); -} - -const FilePath::StringType DumpAccessibilityTreeHelper::GetExpectedFileSuffix() - const { - return FILE_PATH_LITERAL("-expected-mac.txt"); -} diff --git a/content/browser/accessibility/dump_accessibility_tree_helper_win.cc b/content/browser/accessibility/dump_accessibility_tree_helper_win.cc deleted file mode 100644 index 1955771..0000000 --- a/content/browser/accessibility/dump_accessibility_tree_helper_win.cc +++ /dev/null @@ -1,182 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/browser/accessibility/dump_accessibility_tree_helper.h" - -#include <oleacc.h> - -#include <map> -#include <string> - -#include "base/file_path.h" -#include "base/string_util.h" -#include "content/browser/accessibility/browser_accessibility_win.h" -#include "third_party/iaccessible2/ia2_api_all.h" - -namespace { -std::map<int32, string16> role_string_map; -std::map<int32, string16> state_string_map; -} // namespace - -// Convenience macros for generating readable strings. -#define ROLE_MAP(x) role_string_map[x] = L#x; -#define STATE_MAP(x) state_string_map[x] = L#x; - -void DumpAccessibilityTreeHelper::Initialize() { - ROLE_MAP(IA2_ROLE_UNKNOWN) - ROLE_MAP(IA2_ROLE_CANVAS) - ROLE_MAP(IA2_ROLE_CAPTION) - ROLE_MAP(IA2_ROLE_CHECK_MENU_ITEM) - ROLE_MAP(IA2_ROLE_COLOR_CHOOSER) - ROLE_MAP(IA2_ROLE_DATE_EDITOR) - ROLE_MAP(IA2_ROLE_DESKTOP_ICON) - ROLE_MAP(IA2_ROLE_DESKTOP_PANE) - ROLE_MAP(IA2_ROLE_DIRECTORY_PANE) - ROLE_MAP(IA2_ROLE_EDITBAR) - ROLE_MAP(IA2_ROLE_EMBEDDED_OBJECT) - ROLE_MAP(IA2_ROLE_ENDNOTE) - ROLE_MAP(IA2_ROLE_FILE_CHOOSER) - ROLE_MAP(IA2_ROLE_FONT_CHOOSER) - ROLE_MAP(IA2_ROLE_FOOTER) - ROLE_MAP(IA2_ROLE_FOOTNOTE) - ROLE_MAP(IA2_ROLE_FORM) - ROLE_MAP(IA2_ROLE_FRAME) - ROLE_MAP(IA2_ROLE_GLASS_PANE) - ROLE_MAP(IA2_ROLE_HEADER) - ROLE_MAP(IA2_ROLE_HEADING) - ROLE_MAP(IA2_ROLE_ICON) - ROLE_MAP(IA2_ROLE_IMAGE_MAP) - ROLE_MAP(IA2_ROLE_INPUT_METHOD_WINDOW) - ROLE_MAP(IA2_ROLE_INTERNAL_FRAME) - ROLE_MAP(IA2_ROLE_LABEL) - ROLE_MAP(IA2_ROLE_LAYERED_PANE) - ROLE_MAP(IA2_ROLE_NOTE) - ROLE_MAP(IA2_ROLE_OPTION_PANE) - ROLE_MAP(IA2_ROLE_PAGE) - ROLE_MAP(IA2_ROLE_PARAGRAPH) - ROLE_MAP(IA2_ROLE_RADIO_MENU_ITEM) - ROLE_MAP(IA2_ROLE_REDUNDANT_OBJECT) - ROLE_MAP(IA2_ROLE_ROOT_PANE) - ROLE_MAP(IA2_ROLE_RULER) - ROLE_MAP(IA2_ROLE_SCROLL_PANE) - ROLE_MAP(IA2_ROLE_SECTION) - ROLE_MAP(IA2_ROLE_SHAPE) - ROLE_MAP(IA2_ROLE_SPLIT_PANE) - ROLE_MAP(IA2_ROLE_TEAR_OFF_MENU) - ROLE_MAP(IA2_ROLE_TERMINAL) - ROLE_MAP(IA2_ROLE_TEXT_FRAME) - ROLE_MAP(IA2_ROLE_TOGGLE_BUTTON) - ROLE_MAP(IA2_ROLE_VIEW_PORT) - - // MSAA roles. - ROLE_MAP(ROLE_SYSTEM_TITLEBAR) - ROLE_MAP(ROLE_SYSTEM_MENUBAR) - ROLE_MAP(ROLE_SYSTEM_SCROLLBAR) - ROLE_MAP(ROLE_SYSTEM_GRIP) - ROLE_MAP(ROLE_SYSTEM_SOUND) - ROLE_MAP(ROLE_SYSTEM_CURSOR) - ROLE_MAP(ROLE_SYSTEM_CARET) - ROLE_MAP(ROLE_SYSTEM_ALERT) - ROLE_MAP(ROLE_SYSTEM_WINDOW) - ROLE_MAP(ROLE_SYSTEM_CLIENT) - ROLE_MAP(ROLE_SYSTEM_MENUPOPUP) - ROLE_MAP(ROLE_SYSTEM_MENUITEM) - ROLE_MAP(ROLE_SYSTEM_TOOLTIP) - ROLE_MAP(ROLE_SYSTEM_APPLICATION) - ROLE_MAP(ROLE_SYSTEM_DOCUMENT) - ROLE_MAP(ROLE_SYSTEM_PANE) - ROLE_MAP(ROLE_SYSTEM_CHART) - ROLE_MAP(ROLE_SYSTEM_DIALOG) - ROLE_MAP(ROLE_SYSTEM_BORDER) - ROLE_MAP(ROLE_SYSTEM_GROUPING) - ROLE_MAP(ROLE_SYSTEM_SEPARATOR) - ROLE_MAP(ROLE_SYSTEM_TOOLBAR) - ROLE_MAP(ROLE_SYSTEM_STATUSBAR) - ROLE_MAP(ROLE_SYSTEM_TABLE) - ROLE_MAP(ROLE_SYSTEM_COLUMNHEADER) - ROLE_MAP(ROLE_SYSTEM_ROWHEADER) - ROLE_MAP(ROLE_SYSTEM_COLUMN) - ROLE_MAP(ROLE_SYSTEM_ROW) - ROLE_MAP(ROLE_SYSTEM_CELL) - ROLE_MAP(ROLE_SYSTEM_LINK) - ROLE_MAP(ROLE_SYSTEM_HELPBALLOON) - ROLE_MAP(ROLE_SYSTEM_CHARACTER) - ROLE_MAP(ROLE_SYSTEM_LIST) - ROLE_MAP(ROLE_SYSTEM_LISTITEM) - ROLE_MAP(ROLE_SYSTEM_OUTLINE) - ROLE_MAP(ROLE_SYSTEM_OUTLINEITEM) - ROLE_MAP(ROLE_SYSTEM_PAGETAB) - ROLE_MAP(ROLE_SYSTEM_PROPERTYPAGE) - ROLE_MAP(ROLE_SYSTEM_INDICATOR) - ROLE_MAP(ROLE_SYSTEM_GRAPHIC) - ROLE_MAP(ROLE_SYSTEM_STATICTEXT) - ROLE_MAP(ROLE_SYSTEM_TEXT) - ROLE_MAP(ROLE_SYSTEM_PUSHBUTTON) - ROLE_MAP(ROLE_SYSTEM_CHECKBUTTON) - ROLE_MAP(ROLE_SYSTEM_RADIOBUTTON) - ROLE_MAP(ROLE_SYSTEM_COMBOBOX) - ROLE_MAP(ROLE_SYSTEM_DROPLIST) - ROLE_MAP(ROLE_SYSTEM_PROGRESSBAR) - ROLE_MAP(ROLE_SYSTEM_DIAL) - ROLE_MAP(ROLE_SYSTEM_HOTKEYFIELD) - ROLE_MAP(ROLE_SYSTEM_SLIDER) - ROLE_MAP(ROLE_SYSTEM_SPINBUTTON) - ROLE_MAP(ROLE_SYSTEM_DIAGRAM) - ROLE_MAP(ROLE_SYSTEM_ANIMATION) - ROLE_MAP(ROLE_SYSTEM_EQUATION) - ROLE_MAP(ROLE_SYSTEM_BUTTONDROPDOWN) - ROLE_MAP(ROLE_SYSTEM_BUTTONMENU) - ROLE_MAP(ROLE_SYSTEM_BUTTONDROPDOWNGRID) - ROLE_MAP(ROLE_SYSTEM_WHITESPACE) - ROLE_MAP(ROLE_SYSTEM_PAGETABLIST) - ROLE_MAP(ROLE_SYSTEM_CLOCK) - ROLE_MAP(ROLE_SYSTEM_SPLITBUTTON) - ROLE_MAP(ROLE_SYSTEM_IPADDRESS) - ROLE_MAP(ROLE_SYSTEM_OUTLINEBUTTON) - - STATE_MAP(IA2_STATE_ACTIVE) - STATE_MAP(IA2_STATE_ARMED) - STATE_MAP(IA2_STATE_DEFUNCT) - STATE_MAP(IA2_STATE_EDITABLE) - STATE_MAP(IA2_STATE_HORIZONTAL) - STATE_MAP(IA2_STATE_ICONIFIED) - STATE_MAP(IA2_STATE_INVALID_ENTRY) - STATE_MAP(IA2_STATE_MANAGES_DESCENDANTS) - STATE_MAP(IA2_STATE_MODAL) - STATE_MAP(IA2_STATE_MULTI_LINE) - STATE_MAP(IA2_STATE_OPAQUE) - STATE_MAP(IA2_STATE_REQUIRED) - STATE_MAP(IA2_STATE_SELECTABLE_TEXT) - STATE_MAP(IA2_STATE_SINGLE_LINE) - STATE_MAP(IA2_STATE_STALE) - STATE_MAP(IA2_STATE_SUPPORTS_AUTOCOMPLETION) - STATE_MAP(IA2_STATE_TRANSIENT) - STATE_MAP(IA2_STATE_VERTICAL) -} - -string16 DumpAccessibilityTreeHelper::ToString(BrowserAccessibility* node) { - if (role_string_map.empty()) - Initialize(); - - BrowserAccessibilityWin* acc_obj = node->toBrowserAccessibilityWin(); - string16 state; - std::map<int32, string16>::iterator it; - - for (it = state_string_map.begin(); it != state_string_map.end(); ++it) { - if (it->first & acc_obj->ia2_state()) - state += L"|" + state_string_map[it->first]; - } - return acc_obj->name() + L"|" + role_string_map[acc_obj->ia2_role()] + L"|" + - state; -} - -const FilePath::StringType DumpAccessibilityTreeHelper::GetActualFileSuffix() - const { - return FILE_PATH_LITERAL("-actual-win.txt"); -} - -const FilePath::StringType DumpAccessibilityTreeHelper::GetExpectedFileSuffix() - const { - return FILE_PATH_LITERAL("-expected-win.txt"); -} |