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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 // two places in the tree. | 581 // two places in the tree. |
582 | 582 |
583 ui::AXNodeData root; | 583 ui::AXNodeData root; |
584 root.id = 1; | 584 root.id = 1; |
585 root.role = ui::AX_ROLE_ROOT_WEB_AREA; | 585 root.role = ui::AX_ROLE_ROOT_WEB_AREA; |
586 root.child_ids.push_back(2); | 586 root.child_ids.push_back(2); |
587 root.child_ids.push_back(2); | 587 root.child_ids.push_back(2); |
588 | 588 |
589 CountedBrowserAccessibilityFactory* factory = | 589 CountedBrowserAccessibilityFactory* factory = |
590 new CountedBrowserAccessibilityFactory(); | 590 new CountedBrowserAccessibilityFactory(); |
591 scoped_ptr<TestBrowserAccessibilityDelegate> delegate( | 591 std::unique_ptr<TestBrowserAccessibilityDelegate> delegate( |
592 new TestBrowserAccessibilityDelegate()); | 592 new TestBrowserAccessibilityDelegate()); |
593 scoped_ptr<BrowserAccessibilityManager> manager; | 593 std::unique_ptr<BrowserAccessibilityManager> manager; |
594 ASSERT_FALSE(delegate->got_fatal_error()); | 594 ASSERT_FALSE(delegate->got_fatal_error()); |
595 manager.reset(BrowserAccessibilityManager::Create( | 595 manager.reset(BrowserAccessibilityManager::Create( |
596 MakeAXTreeUpdate(root), | 596 MakeAXTreeUpdate(root), |
597 delegate.get(), | 597 delegate.get(), |
598 factory)); | 598 factory)); |
599 ASSERT_TRUE(delegate->got_fatal_error()); | 599 ASSERT_TRUE(delegate->got_fatal_error()); |
600 | 600 |
601 ui::AXNodeData root2; | 601 ui::AXNodeData root2; |
602 root2.id = 1; | 602 root2.id = 1; |
603 root2.role = ui::AX_ROLE_ROOT_WEB_AREA; | 603 root2.role = ui::AX_ROLE_ROOT_WEB_AREA; |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 character_offsets2.push_back(5); | 675 character_offsets2.push_back(5); |
676 character_offsets2.push_back(10); | 676 character_offsets2.push_back(10); |
677 character_offsets2.push_back(15); | 677 character_offsets2.push_back(15); |
678 character_offsets2.push_back(20); | 678 character_offsets2.push_back(20); |
679 character_offsets2.push_back(25); | 679 character_offsets2.push_back(25); |
680 character_offsets2.push_back(28); | 680 character_offsets2.push_back(28); |
681 inline_text2.AddIntListAttribute( | 681 inline_text2.AddIntListAttribute( |
682 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); | 682 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); |
683 static_text.child_ids.push_back(4); | 683 static_text.child_ids.push_back(4); |
684 | 684 |
685 scoped_ptr<BrowserAccessibilityManager> manager( | 685 std::unique_ptr<BrowserAccessibilityManager> manager( |
686 BrowserAccessibilityManager::Create( | 686 BrowserAccessibilityManager::Create( |
687 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2), | 687 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2), |
688 nullptr, | 688 nullptr, new CountedBrowserAccessibilityFactory())); |
689 new CountedBrowserAccessibilityFactory())); | |
690 | 689 |
691 BrowserAccessibility* root_accessible = manager->GetRoot(); | 690 BrowserAccessibility* root_accessible = manager->GetRoot(); |
692 ASSERT_NE(nullptr, root_accessible); | 691 ASSERT_NE(nullptr, root_accessible); |
693 BrowserAccessibility* static_text_accessible = | 692 BrowserAccessibility* static_text_accessible = |
694 root_accessible->PlatformGetChild(0); | 693 root_accessible->PlatformGetChild(0); |
695 ASSERT_NE(nullptr, static_text_accessible); | 694 ASSERT_NE(nullptr, static_text_accessible); |
696 | 695 |
697 EXPECT_EQ(gfx::Rect(100, 100, 6, 9).ToString(), | 696 EXPECT_EQ(gfx::Rect(100, 100, 6, 9).ToString(), |
698 static_text_accessible->GetLocalBoundsForRange(0, 1).ToString()); | 697 static_text_accessible->GetLocalBoundsForRange(0, 1).ToString()); |
699 | 698 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
762 inline_text2.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, | 761 inline_text2.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, |
763 ui::AX_TEXT_DIRECTION_RTL); | 762 ui::AX_TEXT_DIRECTION_RTL); |
764 std::vector<int32_t> character_offsets2; | 763 std::vector<int32_t> character_offsets2; |
765 character_offsets2.push_back(10); | 764 character_offsets2.push_back(10); |
766 character_offsets2.push_back(20); | 765 character_offsets2.push_back(20); |
767 character_offsets2.push_back(30); | 766 character_offsets2.push_back(30); |
768 inline_text2.AddIntListAttribute( | 767 inline_text2.AddIntListAttribute( |
769 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); | 768 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); |
770 static_text.child_ids.push_back(4); | 769 static_text.child_ids.push_back(4); |
771 | 770 |
772 scoped_ptr<BrowserAccessibilityManager> manager( | 771 std::unique_ptr<BrowserAccessibilityManager> manager( |
773 BrowserAccessibilityManager::Create( | 772 BrowserAccessibilityManager::Create( |
774 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2), | 773 MakeAXTreeUpdate(root, static_text, inline_text1, inline_text2), |
775 nullptr, | 774 nullptr, new CountedBrowserAccessibilityFactory())); |
776 new CountedBrowserAccessibilityFactory())); | |
777 | 775 |
778 BrowserAccessibility* root_accessible = manager->GetRoot(); | 776 BrowserAccessibility* root_accessible = manager->GetRoot(); |
779 ASSERT_NE(nullptr, root_accessible); | 777 ASSERT_NE(nullptr, root_accessible); |
780 BrowserAccessibility* static_text_accessible = | 778 BrowserAccessibility* static_text_accessible = |
781 root_accessible->PlatformGetChild(0); | 779 root_accessible->PlatformGetChild(0); |
782 ASSERT_NE(nullptr, static_text_accessible); | 780 ASSERT_NE(nullptr, static_text_accessible); |
783 | 781 |
784 EXPECT_EQ(gfx::Rect(100, 100, 60, 20).ToString(), | 782 EXPECT_EQ(gfx::Rect(100, 100, 60, 20).ToString(), |
785 static_text_accessible->GetLocalBoundsForRange(0, 6).ToString()); | 783 static_text_accessible->GetLocalBoundsForRange(0, 6).ToString()); |
786 | 784 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
824 inline_text.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, | 822 inline_text.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, |
825 ui::AX_TEXT_DIRECTION_LTR); | 823 ui::AX_TEXT_DIRECTION_LTR); |
826 std::vector<int32_t> character_offsets1; | 824 std::vector<int32_t> character_offsets1; |
827 character_offsets1.push_back(6); // 0 | 825 character_offsets1.push_back(6); // 0 |
828 character_offsets1.push_back(11); // 1 | 826 character_offsets1.push_back(11); // 1 |
829 character_offsets1.push_back(16); // 2 | 827 character_offsets1.push_back(16); // 2 |
830 inline_text.AddIntListAttribute( | 828 inline_text.AddIntListAttribute( |
831 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets1); | 829 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets1); |
832 static_text.child_ids.push_back(3); | 830 static_text.child_ids.push_back(3); |
833 | 831 |
834 scoped_ptr<BrowserAccessibilityManager> manager( | 832 std::unique_ptr<BrowserAccessibilityManager> manager( |
835 BrowserAccessibilityManager::Create( | 833 BrowserAccessibilityManager::Create( |
836 MakeAXTreeUpdate(root, static_text, inline_text), | 834 MakeAXTreeUpdate(root, static_text, inline_text), nullptr, |
837 nullptr, | |
838 new CountedBrowserAccessibilityFactory())); | 835 new CountedBrowserAccessibilityFactory())); |
839 | 836 |
840 BrowserAccessibility* root_accessible = manager->GetRoot(); | 837 BrowserAccessibility* root_accessible = manager->GetRoot(); |
841 ASSERT_NE(nullptr, root_accessible); | 838 ASSERT_NE(nullptr, root_accessible); |
842 BrowserAccessibility* static_text_accessible = | 839 BrowserAccessibility* static_text_accessible = |
843 root_accessible->PlatformGetChild(0); | 840 root_accessible->PlatformGetChild(0); |
844 ASSERT_NE(nullptr, static_text_accessible); | 841 ASSERT_NE(nullptr, static_text_accessible); |
845 | 842 |
846 if (manager->UseRootScrollOffsetsWhenComputingBounds()) { | 843 if (manager->UseRootScrollOffsetsWhenComputingBounds()) { |
847 EXPECT_EQ(gfx::Rect(75, 50, 16, 9).ToString(), | 844 EXPECT_EQ(gfx::Rect(75, 50, 16, 9).ToString(), |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 inline_text2.role = ui::AX_ROLE_INLINE_TEXT_BOX; | 902 inline_text2.role = ui::AX_ROLE_INLINE_TEXT_BOX; |
906 inline_text2.location = gfx::Rect(160, 100, 40, 20); | 903 inline_text2.location = gfx::Rect(160, 100, 40, 20); |
907 inline_text2.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, | 904 inline_text2.AddIntAttribute(ui::AX_ATTR_TEXT_DIRECTION, |
908 ui::AX_TEXT_DIRECTION_LTR); | 905 ui::AX_TEXT_DIRECTION_LTR); |
909 std::vector<int32_t> character_offsets2; | 906 std::vector<int32_t> character_offsets2; |
910 character_offsets2.push_back(20); // 0 | 907 character_offsets2.push_back(20); // 0 |
911 character_offsets2.push_back(40); // 1 | 908 character_offsets2.push_back(40); // 1 |
912 inline_text2.AddIntListAttribute( | 909 inline_text2.AddIntListAttribute( |
913 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); | 910 ui::AX_ATTR_CHARACTER_OFFSETS, character_offsets2); |
914 | 911 |
915 scoped_ptr<BrowserAccessibilityManager> manager( | 912 std::unique_ptr<BrowserAccessibilityManager> manager( |
916 BrowserAccessibilityManager::Create( | 913 BrowserAccessibilityManager::Create( |
917 MakeAXTreeUpdate( | 914 MakeAXTreeUpdate(root, div, static_text1, img, static_text2, |
918 root, div, static_text1, img, | 915 inline_text1, inline_text2), |
919 static_text2, inline_text1, inline_text2), | 916 nullptr, new CountedBrowserAccessibilityFactory())); |
920 nullptr, | |
921 new CountedBrowserAccessibilityFactory())); | |
922 BrowserAccessibility* root_accessible = manager->GetRoot(); | 917 BrowserAccessibility* root_accessible = manager->GetRoot(); |
923 ASSERT_NE(nullptr, root_accessible); | 918 ASSERT_NE(nullptr, root_accessible); |
924 BrowserAccessibility* div_accessible = root_accessible->PlatformGetChild(0); | 919 BrowserAccessibility* div_accessible = root_accessible->PlatformGetChild(0); |
925 ASSERT_NE(nullptr, div_accessible); | 920 ASSERT_NE(nullptr, div_accessible); |
926 | 921 |
927 EXPECT_EQ(gfx::Rect(100, 100, 20, 20).ToString(), | 922 EXPECT_EQ(gfx::Rect(100, 100, 20, 20).ToString(), |
928 div_accessible->GetLocalBoundsForRange(0, 1).ToString()); | 923 div_accessible->GetLocalBoundsForRange(0, 1).ToString()); |
929 | 924 |
930 EXPECT_EQ(gfx::Rect(100, 100, 40, 20).ToString(), | 925 EXPECT_EQ(gfx::Rect(100, 100, 40, 20).ToString(), |
931 div_accessible->GetLocalBoundsForRange(0, 2).ToString()); | 926 div_accessible->GetLocalBoundsForRange(0, 2).ToString()); |
(...skipping 25 matching lines...) Expand all Loading... |
957 root.child_ids.push_back(3); | 952 root.child_ids.push_back(3); |
958 | 953 |
959 ui::AXNodeData node4; | 954 ui::AXNodeData node4; |
960 node4.id = 4; | 955 node4.id = 4; |
961 node3.child_ids.push_back(4); | 956 node3.child_ids.push_back(4); |
962 | 957 |
963 ui::AXNodeData node5; | 958 ui::AXNodeData node5; |
964 node5.id = 5; | 959 node5.id = 5; |
965 root.child_ids.push_back(5); | 960 root.child_ids.push_back(5); |
966 | 961 |
967 scoped_ptr<BrowserAccessibilityManager> manager( | 962 std::unique_ptr<BrowserAccessibilityManager> manager( |
968 BrowserAccessibilityManager::Create( | 963 BrowserAccessibilityManager::Create( |
969 MakeAXTreeUpdate(root, node2, node3, node4, node5), | 964 MakeAXTreeUpdate(root, node2, node3, node4, node5), nullptr, |
970 nullptr, | |
971 new CountedBrowserAccessibilityFactory())); | 965 new CountedBrowserAccessibilityFactory())); |
972 | 966 |
973 BrowserAccessibility* root_accessible = manager->GetRoot(); | 967 BrowserAccessibility* root_accessible = manager->GetRoot(); |
974 ASSERT_NE(nullptr, root_accessible); | 968 ASSERT_NE(nullptr, root_accessible); |
975 ASSERT_EQ(3U, root_accessible->PlatformChildCount()); | 969 ASSERT_EQ(3U, root_accessible->PlatformChildCount()); |
976 BrowserAccessibility* node2_accessible = root_accessible->PlatformGetChild(0); | 970 BrowserAccessibility* node2_accessible = root_accessible->PlatformGetChild(0); |
977 ASSERT_NE(nullptr, node2_accessible); | 971 ASSERT_NE(nullptr, node2_accessible); |
978 BrowserAccessibility* node3_accessible = root_accessible->PlatformGetChild(1); | 972 BrowserAccessibility* node3_accessible = root_accessible->PlatformGetChild(1); |
979 ASSERT_NE(nullptr, node3_accessible); | 973 ASSERT_NE(nullptr, node3_accessible); |
980 ASSERT_EQ(1U, node3_accessible->PlatformChildCount()); | 974 ASSERT_EQ(1U, node3_accessible->PlatformChildCount()); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 | 1026 |
1033 ui::AXNodeData node5; | 1027 ui::AXNodeData node5; |
1034 node5.id = 8; | 1028 node5.id = 8; |
1035 root.child_ids.push_back(8); | 1029 root.child_ids.push_back(8); |
1036 | 1030 |
1037 ui::AXNodeData text4; | 1031 ui::AXNodeData text4; |
1038 text4.id = 9; | 1032 text4.id = 9; |
1039 text4.role = ui::AX_ROLE_LINE_BREAK; | 1033 text4.role = ui::AX_ROLE_LINE_BREAK; |
1040 node5.child_ids.push_back(9); | 1034 node5.child_ids.push_back(9); |
1041 | 1035 |
1042 scoped_ptr<BrowserAccessibilityManager> manager( | 1036 std::unique_ptr<BrowserAccessibilityManager> manager( |
1043 BrowserAccessibilityManager::Create( | 1037 BrowserAccessibilityManager::Create( |
1044 MakeAXTreeUpdate(root, node2, node3, node4, node5, | 1038 MakeAXTreeUpdate(root, node2, node3, node4, node5, text1, text2, |
1045 text1, text2, text3, text4), | 1039 text3, text4), |
1046 nullptr, | 1040 nullptr, new CountedBrowserAccessibilityFactory())); |
1047 new CountedBrowserAccessibilityFactory())); | |
1048 | 1041 |
1049 BrowserAccessibility* root_accessible = manager->GetRoot(); | 1042 BrowserAccessibility* root_accessible = manager->GetRoot(); |
1050 ASSERT_NE(nullptr, root_accessible); | 1043 ASSERT_NE(nullptr, root_accessible); |
1051 ASSERT_EQ(4U, root_accessible->PlatformChildCount()); | 1044 ASSERT_EQ(4U, root_accessible->PlatformChildCount()); |
1052 BrowserAccessibility* node2_accessible = root_accessible->PlatformGetChild(0); | 1045 BrowserAccessibility* node2_accessible = root_accessible->PlatformGetChild(0); |
1053 ASSERT_NE(nullptr, node2_accessible); | 1046 ASSERT_NE(nullptr, node2_accessible); |
1054 BrowserAccessibility* text1_accessible = root_accessible->PlatformGetChild(1); | 1047 BrowserAccessibility* text1_accessible = root_accessible->PlatformGetChild(1); |
1055 ASSERT_NE(nullptr, text1_accessible); | 1048 ASSERT_NE(nullptr, text1_accessible); |
1056 BrowserAccessibility* node3_accessible = root_accessible->PlatformGetChild(2); | 1049 BrowserAccessibility* node3_accessible = root_accessible->PlatformGetChild(2); |
1057 ASSERT_NE(nullptr, node3_accessible); | 1050 ASSERT_NE(nullptr, node3_accessible); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1142 paragraph_line1.role = ui::AX_ROLE_INLINE_TEXT_BOX; | 1135 paragraph_line1.role = ui::AX_ROLE_INLINE_TEXT_BOX; |
1143 paragraph_line1.SetName("Hello "); | 1136 paragraph_line1.SetName("Hello "); |
1144 paragraph_text.child_ids.push_back(paragraph_line1.id); | 1137 paragraph_text.child_ids.push_back(paragraph_line1.id); |
1145 | 1138 |
1146 ui::AXNodeData paragraph_line2; | 1139 ui::AXNodeData paragraph_line2; |
1147 paragraph_line2.id = 9; | 1140 paragraph_line2.id = 9; |
1148 paragraph_line2.role = ui::AX_ROLE_INLINE_TEXT_BOX; | 1141 paragraph_line2.role = ui::AX_ROLE_INLINE_TEXT_BOX; |
1149 paragraph_line2.SetName("world."); | 1142 paragraph_line2.SetName("world."); |
1150 paragraph_text.child_ids.push_back(paragraph_line2.id); | 1143 paragraph_text.child_ids.push_back(paragraph_line2.id); |
1151 | 1144 |
1152 scoped_ptr<BrowserAccessibilityManager> manager( | 1145 std::unique_ptr<BrowserAccessibilityManager> manager( |
1153 BrowserAccessibilityManager::Create( | 1146 BrowserAccessibilityManager::Create( |
1154 MakeAXTreeUpdate(root, div, button, button_text, line_break, | 1147 MakeAXTreeUpdate(root, div, button, button_text, line_break, |
1155 paragraph, paragraph_text, paragraph_line1, | 1148 paragraph, paragraph_text, paragraph_line1, |
1156 paragraph_line2), | 1149 paragraph_line2), |
1157 nullptr, new CountedBrowserAccessibilityFactory())); | 1150 nullptr, new CountedBrowserAccessibilityFactory())); |
1158 | 1151 |
1159 BrowserAccessibility* root_accessible = manager->GetRoot(); | 1152 BrowserAccessibility* root_accessible = manager->GetRoot(); |
1160 ASSERT_NE(nullptr, root_accessible); | 1153 ASSERT_NE(nullptr, root_accessible); |
1161 ASSERT_EQ(2U, root_accessible->PlatformChildCount()); | 1154 ASSERT_EQ(2U, root_accessible->PlatformChildCount()); |
1162 BrowserAccessibility* div_accessible = root_accessible->PlatformGetChild(0); | 1155 BrowserAccessibility* div_accessible = root_accessible->PlatformGetChild(0); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1286 paragraph_line1.role = ui::AX_ROLE_INLINE_TEXT_BOX; | 1279 paragraph_line1.role = ui::AX_ROLE_INLINE_TEXT_BOX; |
1287 paragraph_line1.SetName("Hello "); | 1280 paragraph_line1.SetName("Hello "); |
1288 paragraph_text.child_ids.push_back(paragraph_line1.id); | 1281 paragraph_text.child_ids.push_back(paragraph_line1.id); |
1289 | 1282 |
1290 ui::AXNodeData paragraph_line2; | 1283 ui::AXNodeData paragraph_line2; |
1291 paragraph_line2.id = 9; | 1284 paragraph_line2.id = 9; |
1292 paragraph_line2.role = ui::AX_ROLE_INLINE_TEXT_BOX; | 1285 paragraph_line2.role = ui::AX_ROLE_INLINE_TEXT_BOX; |
1293 paragraph_line2.SetName("world."); | 1286 paragraph_line2.SetName("world."); |
1294 paragraph_text.child_ids.push_back(paragraph_line2.id); | 1287 paragraph_text.child_ids.push_back(paragraph_line2.id); |
1295 | 1288 |
1296 scoped_ptr<BrowserAccessibilityManager> manager( | 1289 std::unique_ptr<BrowserAccessibilityManager> manager( |
1297 BrowserAccessibilityManager::Create( | 1290 BrowserAccessibilityManager::Create( |
1298 MakeAXTreeUpdate(root, div, button, button_text, line_break, | 1291 MakeAXTreeUpdate(root, div, button, button_text, line_break, |
1299 paragraph, paragraph_text, paragraph_line1, | 1292 paragraph, paragraph_text, paragraph_line1, |
1300 paragraph_line2), | 1293 paragraph_line2), |
1301 nullptr, new CountedBrowserAccessibilityFactory())); | 1294 nullptr, new CountedBrowserAccessibilityFactory())); |
1302 | 1295 |
1303 BrowserAccessibility* root_accessible = manager->GetRoot(); | 1296 BrowserAccessibility* root_accessible = manager->GetRoot(); |
1304 ASSERT_NE(nullptr, root_accessible); | 1297 ASSERT_NE(nullptr, root_accessible); |
1305 ASSERT_EQ(2U, root_accessible->PlatformChildCount()); | 1298 ASSERT_EQ(2U, root_accessible->PlatformChildCount()); |
1306 BrowserAccessibility* div_accessible = root_accessible->PlatformGetChild(0); | 1299 BrowserAccessibility* div_accessible = root_accessible->PlatformGetChild(0); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1396 root.role = ui::AX_ROLE_ROOT_WEB_AREA; | 1389 root.role = ui::AX_ROLE_ROOT_WEB_AREA; |
1397 root.state = 0; | 1390 root.state = 0; |
1398 root.child_ids.push_back(2); | 1391 root.child_ids.push_back(2); |
1399 | 1392 |
1400 ui::AXNodeData node2; | 1393 ui::AXNodeData node2; |
1401 node2.id = 2; | 1394 node2.id = 2; |
1402 | 1395 |
1403 ui::AXTreeUpdate initial_state = MakeAXTreeUpdate(root, node2); | 1396 ui::AXTreeUpdate initial_state = MakeAXTreeUpdate(root, node2); |
1404 initial_state.has_tree_data = true; | 1397 initial_state.has_tree_data = true; |
1405 initial_state.tree_data.focus_id = 2; | 1398 initial_state.tree_data.focus_id = 2; |
1406 scoped_ptr<BrowserAccessibilityManager> manager( | 1399 std::unique_ptr<BrowserAccessibilityManager> manager( |
1407 BrowserAccessibilityManager::Create( | 1400 BrowserAccessibilityManager::Create( |
1408 initial_state, | 1401 initial_state, nullptr, new CountedBrowserAccessibilityFactory())); |
1409 nullptr, | |
1410 new CountedBrowserAccessibilityFactory())); | |
1411 | 1402 |
1412 ASSERT_EQ(1, manager->GetRoot()->GetId()); | 1403 ASSERT_EQ(1, manager->GetRoot()->GetId()); |
1413 ASSERT_EQ(2, manager->GetFocus()->GetId()); | 1404 ASSERT_EQ(2, manager->GetFocus()->GetId()); |
1414 | 1405 |
1415 // Now replace the tree with a new tree consisting of a single root. | 1406 // Now replace the tree with a new tree consisting of a single root. |
1416 ui::AXNodeData root2; | 1407 ui::AXNodeData root2; |
1417 root2.id = 3; | 1408 root2.id = 3; |
1418 root2.role = ui::AX_ROLE_ROOT_WEB_AREA; | 1409 root2.role = ui::AX_ROLE_ROOT_WEB_AREA; |
1419 root2.state = 0; | 1410 root2.state = 0; |
1420 | 1411 |
(...skipping 27 matching lines...) Expand all Loading... |
1448 node3.id = 3; | 1439 node3.id = 3; |
1449 node3.state = 0; | 1440 node3.state = 0; |
1450 | 1441 |
1451 ui::AXNodeData node4; | 1442 ui::AXNodeData node4; |
1452 node4.id = 4; | 1443 node4.id = 4; |
1453 node4.state = 0; | 1444 node4.state = 0; |
1454 | 1445 |
1455 ui::AXTreeUpdate initial_state = MakeAXTreeUpdate(root, node2, node3, node4); | 1446 ui::AXTreeUpdate initial_state = MakeAXTreeUpdate(root, node2, node3, node4); |
1456 initial_state.has_tree_data = true; | 1447 initial_state.has_tree_data = true; |
1457 initial_state.tree_data.focus_id = 2; | 1448 initial_state.tree_data.focus_id = 2; |
1458 scoped_ptr<BrowserAccessibilityManager> manager( | 1449 std::unique_ptr<BrowserAccessibilityManager> manager( |
1459 BrowserAccessibilityManager::Create( | 1450 BrowserAccessibilityManager::Create( |
1460 initial_state, | 1451 initial_state, nullptr, new CountedBrowserAccessibilityFactory())); |
1461 nullptr, | |
1462 new CountedBrowserAccessibilityFactory())); | |
1463 | 1452 |
1464 ASSERT_EQ(1, manager->GetRoot()->GetId()); | 1453 ASSERT_EQ(1, manager->GetRoot()->GetId()); |
1465 ASSERT_EQ(2, manager->GetFocus()->GetId()); | 1454 ASSERT_EQ(2, manager->GetFocus()->GetId()); |
1466 | 1455 |
1467 // Now replace the tree with a new tree consisting of a single root. | 1456 // Now replace the tree with a new tree consisting of a single root. |
1468 ui::AXNodeData root2; | 1457 ui::AXNodeData root2; |
1469 root2.id = 3; | 1458 root2.id = 3; |
1470 root2.role = ui::AX_ROLE_ROOT_WEB_AREA; | 1459 root2.role = ui::AX_ROLE_ROOT_WEB_AREA; |
1471 root2.state = 0; | 1460 root2.state = 0; |
1472 | 1461 |
1473 // Make an update the explicitly clears the previous root. | 1462 // Make an update the explicitly clears the previous root. |
1474 std::vector<AXEventNotificationDetails> events2; | 1463 std::vector<AXEventNotificationDetails> events2; |
1475 events2.push_back(AXEventNotificationDetails()); | 1464 events2.push_back(AXEventNotificationDetails()); |
1476 events2[0].update = MakeAXTreeUpdate(root2); | 1465 events2[0].update = MakeAXTreeUpdate(root2); |
1477 events2[0].update.node_id_to_clear = 1; | 1466 events2[0].update.node_id_to_clear = 1; |
1478 events2[0].id = -1; | 1467 events2[0].id = -1; |
1479 events2[0].event_type = ui::AX_EVENT_NONE; | 1468 events2[0].event_type = ui::AX_EVENT_NONE; |
1480 manager->OnAccessibilityEvents(events2); | 1469 manager->OnAccessibilityEvents(events2); |
1481 | 1470 |
1482 // Make sure that the focused node was updated to the new root and | 1471 // Make sure that the focused node was updated to the new root and |
1483 // that this doesn't crash. | 1472 // that this doesn't crash. |
1484 ASSERT_EQ(3, manager->GetRoot()->GetId()); | 1473 ASSERT_EQ(3, manager->GetRoot()->GetId()); |
1485 ASSERT_EQ(3, manager->GetFocus()->GetId()); | 1474 ASSERT_EQ(3, manager->GetFocus()->GetId()); |
1486 } | 1475 } |
1487 | 1476 |
1488 } // namespace content | 1477 } // namespace content |
OLD | NEW |