| 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 |