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

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

Issue 10662003: Allow filters in accessibility tests to specify which attributes to check. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work around missing webkit strings in content_browsertests for now Created 8 years, 5 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: content/browser/accessibility/dump_accessibility_tree_helper_win.cc
diff --git a/content/browser/accessibility/dump_accessibility_tree_helper_win.cc b/content/browser/accessibility/dump_accessibility_tree_helper_win.cc
index 6d75527b197bbf9cbb6a5a2427059d90807465ee..6aae2becc2f19c6ba9213b50ed915bf828f10b90 100644
--- a/content/browser/accessibility/dump_accessibility_tree_helper_win.cc
+++ b/content/browser/accessibility/dump_accessibility_tree_helper_win.cc
@@ -12,38 +12,60 @@
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "content/browser/accessibility/browser_accessibility_win.h"
+#include "content/common/accessibility_node_data.h"
#include "content/public/test/accessibility_test_utils_win.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/iaccessible2/ia2_api_all.h"
+#include "ui/base/win/atl_module.h"
+void DumpAccessibilityTreeHelper::Initialize() {
+ ui::win::CreateATLModuleIfNeeded();
+}
+
string16 DumpAccessibilityTreeHelper::ToString(
BrowserAccessibility* node, char* prefix) {
BrowserAccessibilityWin* acc_obj = node->ToBrowserAccessibilityWin();
- // Get state string.
+ // Get the computed name.
VARIANT variant_self;
variant_self.vt = VT_I4;
variant_self.lVal = CHILDID_SELF;
- VARIANT msaa_state_variant;
- HRESULT hresult = acc_obj->get_accState(variant_self, &msaa_state_variant);
- EXPECT_EQ(S_OK, hresult);
- EXPECT_EQ(VT_I4, msaa_state_variant.vt);
- string16 state_str = IAccessibleStateToString(msaa_state_variant.lVal);
- string16 state2_str = IAccessible2StateToString(acc_obj->ia2_state());
- if (!state2_str.empty()) {
- if (!state_str.empty())
- state_str += L",";
- state_str += state2_str;
- }
+ CComBSTR msaa_name_variant;
+ HRESULT hresult = acc_obj->get_accName(variant_self, &msaa_name_variant);
+ string16 name;
+ if (S_OK == hresult)
+ name = msaa_name_variant.m_str;
- // Get role string.
- string16 role_str = IAccessible2RoleToString(acc_obj->ia2_role());
+ // Get state strings.
+ std::vector<string16> state_strings;
+ IAccessibleStateToStringVector(acc_obj->ia_state(), &state_strings);
+ IAccessible2StateToStringVector(acc_obj->ia2_state(), &state_strings);
- return UTF8ToUTF16(prefix) +
- role_str +
- L" name='" + acc_obj->name() +
- L"' state=" + state_str + L"\n";
+ // Get the description and attributes.
+ string16 description;
+ acc_obj->GetStringAttribute(content::AccessibilityNodeData::ATTR_DESCRIPTION,
+ &description);
+ const std::vector<string16>& ia2_attributes = acc_obj->ia2_attributes();
+
+ // Build the line.
+ StartLine();
+ Add(true, IAccessible2RoleToString(acc_obj->ia2_role()));
+ Add(true, L"name='" + name + L"'");
+ for (std::vector<string16>::const_iterator it = state_strings.begin();
+ it != state_strings.end();
+ ++it) {
+ Add(false, *it);
+ }
+ for (std::vector<string16>::const_iterator it = ia2_attributes.begin();
+ it != ia2_attributes.end();
+ ++it) {
+ Add(false, *it);
+ }
+ Add(false, L"role_name='" + acc_obj->role_name() + L"'");
+ Add(false, L"value='" + acc_obj->value() + L"'");
+ Add(false, L"description='" + description + L"'");
+ return UTF8ToUTF16(prefix) + FinishLine() + ASCIIToUTF16("\n");
}
const FilePath::StringType DumpAccessibilityTreeHelper::GetActualFileSuffix()
@@ -55,3 +77,12 @@ const FilePath::StringType DumpAccessibilityTreeHelper::GetExpectedFileSuffix()
const {
return FILE_PATH_LITERAL("-expected-win.txt");
}
+
+
+const std::string DumpAccessibilityTreeHelper::GetAllowString() const {
+ return "@WIN-ALLOW:";
+}
+
+const std::string DumpAccessibilityTreeHelper::GetDenyString() const {
+ return "@WIN-DENY:";
+}

Powered by Google App Engine
This is Rietveld 408576698