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