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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/sys_string_conversions.h" | 9 #include "base/strings/sys_string_conversions.h" |
10 #include "base/win/scoped_bstr.h" | 10 #include "base/win/scoped_bstr.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 LoadInitialAccessibilityTreeFromHtml(std::string("<!DOCTYPE html><html><body>" | 119 LoadInitialAccessibilityTreeFromHtml(std::string("<!DOCTYPE html><html><body>" |
120 "<form><label for='textField'>Browser name:</label>" | 120 "<form><label for='textField'>Browser name:</label>" |
121 "<input type='text' id='textField' name='name' value='") + | 121 "<input type='text' id='textField' name='name' value='") + |
122 net::EscapeQueryParamValue(INPUT_CONTENTS, false) + std::string( | 122 net::EscapeQueryParamValue(INPUT_CONTENTS, false) + std::string( |
123 "'></form></body></html>")); | 123 "'></form></body></html>")); |
124 | 124 |
125 // Retrieve the IAccessible interface for the web page. | 125 // Retrieve the IAccessible interface for the web page. |
126 base::win::ScopedComPtr<IAccessible> document(GetRendererAccessible()); | 126 base::win::ScopedComPtr<IAccessible> document(GetRendererAccessible()); |
127 std::vector<base::win::ScopedVariant> document_children = | 127 std::vector<base::win::ScopedVariant> document_children = |
128 GetAllAccessibleChildren(document.get()); | 128 GetAllAccessibleChildren(document.get()); |
129 ASSERT_EQ(1, document_children.size()); | 129 ASSERT_EQ(1u, document_children.size()); |
130 | 130 |
131 base::win::ScopedComPtr<IAccessible2> form; | 131 base::win::ScopedComPtr<IAccessible2> form; |
132 HRESULT hr = QueryIAccessible2(GetAccessibleFromVariant( | 132 HRESULT hr = QueryIAccessible2(GetAccessibleFromVariant( |
133 document.get(), document_children[0].AsInput()).get(), form.Receive()); | 133 document.get(), document_children[0].AsInput()).get(), form.Receive()); |
134 ASSERT_EQ(S_OK, hr); | 134 ASSERT_EQ(S_OK, hr); |
135 std::vector<base::win::ScopedVariant> form_children = | 135 std::vector<base::win::ScopedVariant> form_children = |
136 GetAllAccessibleChildren(form.get()); | 136 GetAllAccessibleChildren(form.get()); |
137 ASSERT_EQ(2, form_children.size()); | 137 ASSERT_EQ(2u, form_children.size()); |
138 | 138 |
139 // Find the input text field. | 139 // Find the input text field. |
140 base::win::ScopedComPtr<IAccessible2> input; | 140 base::win::ScopedComPtr<IAccessible2> input; |
141 hr = QueryIAccessible2(GetAccessibleFromVariant( | 141 hr = QueryIAccessible2(GetAccessibleFromVariant( |
142 form.get(), form_children[1].AsInput()).get(), input.Receive()); | 142 form.get(), form_children[1].AsInput()).get(), input.Receive()); |
143 ASSERT_EQ(S_OK, hr); | 143 ASSERT_EQ(S_OK, hr); |
144 LONG input_role = 0; | 144 LONG input_role = 0; |
145 hr = input->role(&input_role); | 145 hr = input->role(&input_role); |
146 ASSERT_EQ(S_OK, hr); | 146 ASSERT_EQ(S_OK, hr); |
147 ASSERT_EQ(ROLE_SYSTEM_TEXT, input_role); | 147 ASSERT_EQ(ROLE_SYSTEM_TEXT, input_role); |
(...skipping 23 matching lines...) Expand all Loading... |
171 ASSERT_NE(nullptr, textarea_text); | 171 ASSERT_NE(nullptr, textarea_text); |
172 LoadInitialAccessibilityTreeFromHtml(std::string("<!DOCTYPE html><html><body>" | 172 LoadInitialAccessibilityTreeFromHtml(std::string("<!DOCTYPE html><html><body>" |
173 "<textarea id='textField' rows='3' cols='60'>") + | 173 "<textarea id='textField' rows='3' cols='60'>") + |
174 net::EscapeQueryParamValue(TEXTAREA_CONTENTS, false) + std::string( | 174 net::EscapeQueryParamValue(TEXTAREA_CONTENTS, false) + std::string( |
175 "</textarea></body></html>")); | 175 "</textarea></body></html>")); |
176 | 176 |
177 // Retrieve the IAccessible interface for the web page. | 177 // Retrieve the IAccessible interface for the web page. |
178 base::win::ScopedComPtr<IAccessible> document(GetRendererAccessible()); | 178 base::win::ScopedComPtr<IAccessible> document(GetRendererAccessible()); |
179 std::vector<base::win::ScopedVariant> document_children = | 179 std::vector<base::win::ScopedVariant> document_children = |
180 GetAllAccessibleChildren(document.get()); | 180 GetAllAccessibleChildren(document.get()); |
181 ASSERT_EQ(1, document_children.size()); | 181 ASSERT_EQ(1u, document_children.size()); |
182 | 182 |
183 base::win::ScopedComPtr<IAccessible2> section; | 183 base::win::ScopedComPtr<IAccessible2> section; |
184 HRESULT hr = QueryIAccessible2(GetAccessibleFromVariant( | 184 HRESULT hr = QueryIAccessible2(GetAccessibleFromVariant( |
185 document.get(), document_children[0].AsInput()).get(), section.Receive()); | 185 document.get(), document_children[0].AsInput()).get(), section.Receive()); |
186 ASSERT_EQ(S_OK, hr); | 186 ASSERT_EQ(S_OK, hr); |
187 std::vector<base::win::ScopedVariant> section_children = | 187 std::vector<base::win::ScopedVariant> section_children = |
188 GetAllAccessibleChildren(section.get()); | 188 GetAllAccessibleChildren(section.get()); |
189 ASSERT_EQ(1, section_children.size()); | 189 ASSERT_EQ(1u, section_children.size()); |
190 | 190 |
191 // Find the textarea text field. | 191 // Find the textarea text field. |
192 base::win::ScopedComPtr<IAccessible2> textarea; | 192 base::win::ScopedComPtr<IAccessible2> textarea; |
193 hr = QueryIAccessible2(GetAccessibleFromVariant( | 193 hr = QueryIAccessible2(GetAccessibleFromVariant( |
194 section.get(), section_children[0].AsInput()).get(), textarea.Receive()); | 194 section.get(), section_children[0].AsInput()).get(), textarea.Receive()); |
195 ASSERT_EQ(S_OK, hr); | 195 ASSERT_EQ(S_OK, hr); |
196 LONG textarea_role = 0; | 196 LONG textarea_role = 0; |
197 hr = textarea->role(&textarea_role); | 197 hr = textarea->role(&textarea_role); |
198 ASSERT_EQ(S_OK, hr); | 198 ASSERT_EQ(S_OK, hr); |
199 ASSERT_EQ(ROLE_SYSTEM_TEXT, textarea_role); | 199 ASSERT_EQ(ROLE_SYSTEM_TEXT, textarea_role); |
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 short name_space_id; // NOLINT | 898 short name_space_id; // NOLINT |
899 base::win::ScopedBstr node_value; | 899 base::win::ScopedBstr node_value; |
900 unsigned int num_children; | 900 unsigned int num_children; |
901 unsigned int unique_id; | 901 unsigned int unique_id; |
902 unsigned short node_type; // NOLINT | 902 unsigned short node_type; // NOLINT |
903 hr = document_isimpledomnode->get_nodeInfo( | 903 hr = document_isimpledomnode->get_nodeInfo( |
904 node_name.Receive(), &name_space_id, node_value.Receive(), &num_children, | 904 node_name.Receive(), &name_space_id, node_value.Receive(), &num_children, |
905 &unique_id, &node_type); | 905 &unique_id, &node_type); |
906 ASSERT_EQ(S_OK, hr); | 906 ASSERT_EQ(S_OK, hr); |
907 EXPECT_EQ(NODETYPE_DOCUMENT, node_type); | 907 EXPECT_EQ(NODETYPE_DOCUMENT, node_type); |
908 EXPECT_EQ(1, num_children); | 908 EXPECT_EQ(1u, num_children); |
909 node_name.Reset(); | 909 node_name.Reset(); |
910 node_value.Reset(); | 910 node_value.Reset(); |
911 | 911 |
912 base::win::ScopedComPtr<ISimpleDOMNode> body_isimpledomnode; | 912 base::win::ScopedComPtr<ISimpleDOMNode> body_isimpledomnode; |
913 hr = document_isimpledomnode->get_firstChild( | 913 hr = document_isimpledomnode->get_firstChild( |
914 body_isimpledomnode.Receive()); | 914 body_isimpledomnode.Receive()); |
915 ASSERT_EQ(S_OK, hr); | 915 ASSERT_EQ(S_OK, hr); |
916 hr = body_isimpledomnode->get_nodeInfo( | 916 hr = body_isimpledomnode->get_nodeInfo( |
917 node_name.Receive(), &name_space_id, node_value.Receive(), &num_children, | 917 node_name.Receive(), &name_space_id, node_value.Receive(), &num_children, |
918 &unique_id, &node_type); | 918 &unique_id, &node_type); |
919 ASSERT_EQ(S_OK, hr); | 919 ASSERT_EQ(S_OK, hr); |
920 EXPECT_EQ(L"body", std::wstring(node_name, node_name.Length())); | 920 EXPECT_EQ(L"body", std::wstring(node_name, node_name.Length())); |
921 EXPECT_EQ(NODETYPE_ELEMENT, node_type); | 921 EXPECT_EQ(NODETYPE_ELEMENT, node_type); |
922 EXPECT_EQ(1, num_children); | 922 EXPECT_EQ(1u, num_children); |
923 node_name.Reset(); | 923 node_name.Reset(); |
924 node_value.Reset(); | 924 node_value.Reset(); |
925 | 925 |
926 base::win::ScopedComPtr<ISimpleDOMNode> checkbox_isimpledomnode; | 926 base::win::ScopedComPtr<ISimpleDOMNode> checkbox_isimpledomnode; |
927 hr = body_isimpledomnode->get_firstChild( | 927 hr = body_isimpledomnode->get_firstChild( |
928 checkbox_isimpledomnode.Receive()); | 928 checkbox_isimpledomnode.Receive()); |
929 ASSERT_EQ(S_OK, hr); | 929 ASSERT_EQ(S_OK, hr); |
930 hr = checkbox_isimpledomnode->get_nodeInfo( | 930 hr = checkbox_isimpledomnode->get_nodeInfo( |
931 node_name.Receive(), &name_space_id, node_value.Receive(), &num_children, | 931 node_name.Receive(), &name_space_id, node_value.Receive(), &num_children, |
932 &unique_id, &node_type); | 932 &unique_id, &node_type); |
933 ASSERT_EQ(S_OK, hr); | 933 ASSERT_EQ(S_OK, hr); |
934 EXPECT_EQ(L"input", std::wstring(node_name, node_name.Length())); | 934 EXPECT_EQ(L"input", std::wstring(node_name, node_name.Length())); |
935 EXPECT_EQ(NODETYPE_ELEMENT, node_type); | 935 EXPECT_EQ(NODETYPE_ELEMENT, node_type); |
936 EXPECT_EQ(0, num_children); | 936 EXPECT_EQ(0u, num_children); |
937 } | 937 } |
938 | 938 |
939 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, TestRoleGroup) { | 939 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, TestRoleGroup) { |
940 LoadInitialAccessibilityTreeFromHtml( | 940 LoadInitialAccessibilityTreeFromHtml( |
941 "<fieldset></fieldset><div role=group></div>"); | 941 "<fieldset></fieldset><div role=group></div>"); |
942 | 942 |
943 // Check the browser's copy of the renderer accessibility tree. | 943 // Check the browser's copy of the renderer accessibility tree. |
944 AccessibleChecker grouping1_checker(std::wstring(), ROLE_SYSTEM_GROUPING, | 944 AccessibleChecker grouping1_checker(std::wstring(), ROLE_SYSTEM_GROUPING, |
945 std::wstring()); | 945 std::wstring()); |
946 AccessibleChecker grouping2_checker(std::wstring(), ROLE_SYSTEM_GROUPING, | 946 AccessibleChecker grouping2_checker(std::wstring(), ROLE_SYSTEM_GROUPING, |
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1461 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 1461 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
1462 TestMultiLineTextAtOffsetWithBoundaryAll) { | 1462 TestMultiLineTextAtOffsetWithBoundaryAll) { |
1463 base::win::ScopedComPtr<IAccessibleText> textarea_text; | 1463 base::win::ScopedComPtr<IAccessibleText> textarea_text; |
1464 SetUpTextareaField(&textarea_text); | 1464 SetUpTextareaField(&textarea_text); |
1465 | 1465 |
1466 CheckTextAtOffset(textarea_text, CONTENTS_LENGTH - 1, IA2_TEXT_BOUNDARY_ALL, | 1466 CheckTextAtOffset(textarea_text, CONTENTS_LENGTH - 1, IA2_TEXT_BOUNDARY_ALL, |
1467 0, CONTENTS_LENGTH, base::SysUTF8ToWide(TEXTAREA_CONTENTS)); | 1467 0, CONTENTS_LENGTH, base::SysUTF8ToWide(TEXTAREA_CONTENTS)); |
1468 } | 1468 } |
1469 | 1469 |
1470 } // namespace content | 1470 } // namespace content |
OLD | NEW |