| 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 <stdint.h> |
| 6 |
| 7 #include "base/macros.h" |
| 5 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 6 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 7 #include "base/win/scoped_bstr.h" | 10 #include "base/win/scoped_bstr.h" |
| 8 #include "base/win/scoped_comptr.h" | 11 #include "base/win/scoped_comptr.h" |
| 9 #include "base/win/scoped_variant.h" | 12 #include "base/win/scoped_variant.h" |
| 10 #include "content/browser/accessibility/browser_accessibility_manager.h" | 13 #include "content/browser/accessibility/browser_accessibility_manager.h" |
| 11 #include "content/browser/accessibility/browser_accessibility_manager_win.h" | 14 #include "content/browser/accessibility/browser_accessibility_manager_win.h" |
| 12 #include "content/browser/accessibility/browser_accessibility_state_impl.h" | 15 #include "content/browser/accessibility/browser_accessibility_state_impl.h" |
| 13 #include "content/browser/accessibility/browser_accessibility_win.h" | 16 #include "content/browser/accessibility/browser_accessibility_win.h" |
| 14 #include "content/browser/renderer_host/legacy_render_widget_host_win.h" | 17 #include "content/browser/renderer_host/legacy_render_widget_host_win.h" |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 | 333 |
| 331 ui::AXNodeData root; | 334 ui::AXNodeData root; |
| 332 root.id = 1; | 335 root.id = 1; |
| 333 root.role = ui::AX_ROLE_ROOT_WEB_AREA; | 336 root.role = ui::AX_ROLE_ROOT_WEB_AREA; |
| 334 root.child_ids.push_back(2); | 337 root.child_ids.push_back(2); |
| 335 | 338 |
| 336 ui::AXNodeData text_field; | 339 ui::AXNodeData text_field; |
| 337 text_field.id = 2; | 340 text_field.id = 2; |
| 338 text_field.role = ui::AX_ROLE_TEXT_FIELD; | 341 text_field.role = ui::AX_ROLE_TEXT_FIELD; |
| 339 text_field.AddStringAttribute(ui::AX_ATTR_VALUE, text_value); | 342 text_field.AddStringAttribute(ui::AX_ATTR_VALUE, text_value); |
| 340 std::vector<int32> line_start_offsets; | 343 std::vector<int32_t> line_start_offsets; |
| 341 line_start_offsets.push_back(15); | 344 line_start_offsets.push_back(15); |
| 342 text_field.AddIntListAttribute( | 345 text_field.AddIntListAttribute( |
| 343 ui::AX_ATTR_LINE_BREAKS, line_start_offsets); | 346 ui::AX_ATTR_LINE_BREAKS, line_start_offsets); |
| 344 text_field.child_ids.push_back(3); | 347 text_field.child_ids.push_back(3); |
| 345 text_field.child_ids.push_back(5); | 348 text_field.child_ids.push_back(5); |
| 346 text_field.child_ids.push_back(6); | 349 text_field.child_ids.push_back(6); |
| 347 | 350 |
| 348 ui::AXNodeData static_text1; | 351 ui::AXNodeData static_text1; |
| 349 static_text1.id = 3; | 352 static_text1.id = 3; |
| 350 static_text1.role = ui::AX_ROLE_STATIC_TEXT; | 353 static_text1.role = ui::AX_ROLE_STATIC_TEXT; |
| 351 static_text1.AddStringAttribute(ui::AX_ATTR_NAME, line1); | 354 static_text1.AddStringAttribute(ui::AX_ATTR_NAME, line1); |
| 352 static_text1.child_ids.push_back(4); | 355 static_text1.child_ids.push_back(4); |
| 353 | 356 |
| 354 ui::AXNodeData inline_box1; | 357 ui::AXNodeData inline_box1; |
| 355 inline_box1.id = 4; | 358 inline_box1.id = 4; |
| 356 inline_box1.role = ui::AX_ROLE_INLINE_TEXT_BOX; | 359 inline_box1.role = ui::AX_ROLE_INLINE_TEXT_BOX; |
| 357 inline_box1.AddStringAttribute(ui::AX_ATTR_NAME, line1); | 360 inline_box1.AddStringAttribute(ui::AX_ATTR_NAME, line1); |
| 358 std::vector<int32> word_start_offsets1; | 361 std::vector<int32_t> word_start_offsets1; |
| 359 word_start_offsets1.push_back(0); | 362 word_start_offsets1.push_back(0); |
| 360 word_start_offsets1.push_back(4); | 363 word_start_offsets1.push_back(4); |
| 361 word_start_offsets1.push_back(8); | 364 word_start_offsets1.push_back(8); |
| 362 inline_box1.AddIntListAttribute( | 365 inline_box1.AddIntListAttribute( |
| 363 ui::AX_ATTR_WORD_STARTS, word_start_offsets1); | 366 ui::AX_ATTR_WORD_STARTS, word_start_offsets1); |
| 364 | 367 |
| 365 ui::AXNodeData line_break; | 368 ui::AXNodeData line_break; |
| 366 line_break.id = 5; | 369 line_break.id = 5; |
| 367 line_break.role = ui::AX_ROLE_LINE_BREAK; | 370 line_break.role = ui::AX_ROLE_LINE_BREAK; |
| 368 line_break.AddStringAttribute(ui::AX_ATTR_NAME, "\n"); | 371 line_break.AddStringAttribute(ui::AX_ATTR_NAME, "\n"); |
| 369 | 372 |
| 370 ui::AXNodeData static_text2; | 373 ui::AXNodeData static_text2; |
| 371 static_text2.id = 6; | 374 static_text2.id = 6; |
| 372 static_text2.role = ui::AX_ROLE_STATIC_TEXT; | 375 static_text2.role = ui::AX_ROLE_STATIC_TEXT; |
| 373 static_text2.AddStringAttribute(ui::AX_ATTR_NAME, line2); | 376 static_text2.AddStringAttribute(ui::AX_ATTR_NAME, line2); |
| 374 static_text2.child_ids.push_back(7); | 377 static_text2.child_ids.push_back(7); |
| 375 | 378 |
| 376 ui::AXNodeData inline_box2; | 379 ui::AXNodeData inline_box2; |
| 377 inline_box2.id = 7; | 380 inline_box2.id = 7; |
| 378 inline_box2.role = ui::AX_ROLE_INLINE_TEXT_BOX; | 381 inline_box2.role = ui::AX_ROLE_INLINE_TEXT_BOX; |
| 379 inline_box2.AddStringAttribute(ui::AX_ATTR_NAME, line2); | 382 inline_box2.AddStringAttribute(ui::AX_ATTR_NAME, line2); |
| 380 std::vector<int32> word_start_offsets2; | 383 std::vector<int32_t> word_start_offsets2; |
| 381 word_start_offsets2.push_back(0); | 384 word_start_offsets2.push_back(0); |
| 382 word_start_offsets2.push_back(5); | 385 word_start_offsets2.push_back(5); |
| 383 word_start_offsets2.push_back(10); | 386 word_start_offsets2.push_back(10); |
| 384 inline_box2.AddIntListAttribute( | 387 inline_box2.AddIntListAttribute( |
| 385 ui::AX_ATTR_WORD_STARTS, word_start_offsets2); | 388 ui::AX_ATTR_WORD_STARTS, word_start_offsets2); |
| 386 | 389 |
| 387 CountedBrowserAccessibility::reset(); | 390 CountedBrowserAccessibility::reset(); |
| 388 scoped_ptr<BrowserAccessibilityManager> manager( | 391 scoped_ptr<BrowserAccessibilityManager> manager( |
| 389 BrowserAccessibilityManager::Create( | 392 BrowserAccessibilityManager::Create( |
| 390 MakeAXTreeUpdate(root, text_field, static_text1, inline_box1, | 393 MakeAXTreeUpdate(root, text_field, static_text1, inline_box1, |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 713 EXPECT_EQ(3, hyperlink_index); | 716 EXPECT_EQ(3, hyperlink_index); |
| 714 | 717 |
| 715 manager.reset(); | 718 manager.reset(); |
| 716 ASSERT_EQ(0, CountedBrowserAccessibility::num_instances()); | 719 ASSERT_EQ(0, CountedBrowserAccessibility::num_instances()); |
| 717 } | 720 } |
| 718 | 721 |
| 719 TEST_F(BrowserAccessibilityTest, TestCreateEmptyDocument) { | 722 TEST_F(BrowserAccessibilityTest, TestCreateEmptyDocument) { |
| 720 // Try creating an empty document with busy state. Readonly is | 723 // Try creating an empty document with busy state. Readonly is |
| 721 // set automatically. | 724 // set automatically. |
| 722 CountedBrowserAccessibility::reset(); | 725 CountedBrowserAccessibility::reset(); |
| 723 const int32 busy_state = 1 << ui::AX_STATE_BUSY; | 726 const int32_t busy_state = 1 << ui::AX_STATE_BUSY; |
| 724 const int32 readonly_state = 1 << ui::AX_STATE_READ_ONLY; | 727 const int32_t readonly_state = 1 << ui::AX_STATE_READ_ONLY; |
| 725 const int32 enabled_state = 1 << ui::AX_STATE_ENABLED; | 728 const int32_t enabled_state = 1 << ui::AX_STATE_ENABLED; |
| 726 scoped_ptr<BrowserAccessibilityManager> manager( | 729 scoped_ptr<BrowserAccessibilityManager> manager( |
| 727 new BrowserAccessibilityManagerWin( | 730 new BrowserAccessibilityManagerWin( |
| 728 BrowserAccessibilityManagerWin::GetEmptyDocument(), | 731 BrowserAccessibilityManagerWin::GetEmptyDocument(), |
| 729 NULL, | 732 NULL, |
| 730 new CountedBrowserAccessibilityFactory())); | 733 new CountedBrowserAccessibilityFactory())); |
| 731 | 734 |
| 732 // Verify the root is as we expect by default. | 735 // Verify the root is as we expect by default. |
| 733 BrowserAccessibility* root = manager->GetRoot(); | 736 BrowserAccessibility* root = manager->GetRoot(); |
| 734 EXPECT_EQ(0, root->GetId()); | 737 EXPECT_EQ(0, root->GetId()); |
| 735 EXPECT_EQ(ui::AX_ROLE_ROOT_WEB_AREA, root->GetRole()); | 738 EXPECT_EQ(ui::AX_ROLE_ROOT_WEB_AREA, root->GetRole()); |
| (...skipping 935 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1671 EXPECT_EQ(S_OK, hr); | 1674 EXPECT_EQ(S_OK, hr); |
| 1672 | 1675 |
| 1673 base::win::ScopedVariant new_child_variant(child_unique_id_2); | 1676 base::win::ScopedVariant new_child_variant(child_unique_id_2); |
| 1674 base::win::ScopedComPtr<IDispatch> new_child_dispatch; | 1677 base::win::ScopedComPtr<IDispatch> new_child_dispatch; |
| 1675 hr = root->ToBrowserAccessibilityWin()->get_accChild( | 1678 hr = root->ToBrowserAccessibilityWin()->get_accChild( |
| 1676 new_child_variant, new_child_dispatch.Receive()); | 1679 new_child_variant, new_child_dispatch.Receive()); |
| 1677 EXPECT_EQ(S_OK, hr); | 1680 EXPECT_EQ(S_OK, hr); |
| 1678 } | 1681 } |
| 1679 | 1682 |
| 1680 } // namespace content | 1683 } // namespace content |
| OLD | NEW |