| 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 <atlbase.h> | 5 #include <atlbase.h> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #include "content/test/content_browser_test.h" | 22 #include "content/test/content_browser_test.h" |
| 23 #include "content/test/content_browser_test_utils.h" | 23 #include "content/test/content_browser_test_utils.h" |
| 24 #include "third_party/iaccessible2/ia2_api_all.h" | 24 #include "third_party/iaccessible2/ia2_api_all.h" |
| 25 #include "third_party/isimpledom/ISimpleDOMNode.h" | 25 #include "third_party/isimpledom/ISimpleDOMNode.h" |
| 26 | 26 |
| 27 using std::auto_ptr; | 27 using std::auto_ptr; |
| 28 using std::string; | 28 using std::string; |
| 29 using std::vector; | 29 using std::vector; |
| 30 using std::wstring; | 30 using std::wstring; |
| 31 | 31 |
| 32 // TODO(dmazzoni): Disabled accessibility tests on Win64. crbug.com/179717 |
| 33 #if defined(ARCH_CPU_X86_64) |
| 34 #define MAYBE(x) DISABLED_##x |
| 35 #else |
| 36 #define MAYBE(x) x |
| 37 #endif |
| 38 |
| 32 namespace content { | 39 namespace content { |
| 33 | 40 |
| 34 namespace { | 41 namespace { |
| 35 | 42 |
| 36 class AccessibilityWinBrowserTest : public ContentBrowserTest { | 43 class AccessibilityWinBrowserTest : public ContentBrowserTest { |
| 37 public: | 44 public: |
| 38 AccessibilityWinBrowserTest() {} | 45 AccessibilityWinBrowserTest() {} |
| 39 | 46 |
| 40 protected: | 47 protected: |
| 41 void LoadInitialAccessibilityTreeFromHtml(string html); | 48 void LoadInitialAccessibilityTreeFromHtml(string html); |
| (...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 | 412 |
| 406 string16 AccessibleChecker::RoleVariantToString(VARIANT* role_variant) { | 413 string16 AccessibleChecker::RoleVariantToString(VARIANT* role_variant) { |
| 407 if (V_VT(role_variant) == VT_I4) | 414 if (V_VT(role_variant) == VT_I4) |
| 408 return IAccessibleRoleToString(V_I4(role_variant)); | 415 return IAccessibleRoleToString(V_I4(role_variant)); |
| 409 else if (V_VT(role_variant) == VT_BSTR) | 416 else if (V_VT(role_variant) == VT_BSTR) |
| 410 return string16(V_BSTR(role_variant), SysStringLen(V_BSTR(role_variant))); | 417 return string16(V_BSTR(role_variant), SysStringLen(V_BSTR(role_variant))); |
| 411 return string16(); | 418 return string16(); |
| 412 } | 419 } |
| 413 | 420 |
| 414 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 421 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 415 TestBusyAccessibilityTree) { | 422 MAYBE(TestBusyAccessibilityTree)) { |
| 416 NavigateToURL(shell(), GURL(chrome::kAboutBlankURL)); | 423 NavigateToURL(shell(), GURL(chrome::kAboutBlankURL)); |
| 417 | 424 |
| 418 // The initial accessible returned should have state STATE_SYSTEM_BUSY while | 425 // The initial accessible returned should have state STATE_SYSTEM_BUSY while |
| 419 // the accessibility tree is being requested from the renderer. | 426 // the accessibility tree is being requested from the renderer. |
| 420 AccessibleChecker document1_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 427 AccessibleChecker document1_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
| 421 document1_checker.SetExpectedState( | 428 document1_checker.SetExpectedState( |
| 422 STATE_SYSTEM_READONLY | STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_FOCUSED | | 429 STATE_SYSTEM_READONLY | STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_FOCUSED | |
| 423 STATE_SYSTEM_BUSY); | 430 STATE_SYSTEM_BUSY); |
| 424 document1_checker.CheckAccessible(GetRendererAccessible()); | 431 document1_checker.CheckAccessible(GetRendererAccessible()); |
| 425 } | 432 } |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 loop_runner->Run(); | 517 loop_runner->Run(); |
| 511 | 518 |
| 512 // Check that the accessibility tree of the browser has been updated. | 519 // Check that the accessibility tree of the browser has been updated. |
| 513 list_item_checker.SetExpectedState( | 520 list_item_checker.SetExpectedState( |
| 514 STATE_SYSTEM_READONLY | STATE_SYSTEM_FOCUSED); | 521 STATE_SYSTEM_READONLY | STATE_SYSTEM_FOCUSED); |
| 515 radio_group_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); | 522 radio_group_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); |
| 516 document_checker.CheckAccessible(GetRendererAccessible()); | 523 document_checker.CheckAccessible(GetRendererAccessible()); |
| 517 } | 524 } |
| 518 | 525 |
| 519 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 526 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 520 TestNotificationCheckedStateChanged) { | 527 MAYBE(TestNotificationCheckedStateChanged)) { |
| 521 LoadInitialAccessibilityTreeFromHtml( | 528 LoadInitialAccessibilityTreeFromHtml( |
| 522 "<body><input type='checkbox' /></body>"); | 529 "<body><input type='checkbox' /></body>"); |
| 523 | 530 |
| 524 // Check the browser's copy of the renderer accessibility tree. | 531 // Check the browser's copy of the renderer accessibility tree. |
| 525 AccessibleChecker checkbox_checker(L"", ROLE_SYSTEM_CHECKBUTTON, L""); | 532 AccessibleChecker checkbox_checker(L"", ROLE_SYSTEM_CHECKBUTTON, L""); |
| 526 checkbox_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); | 533 checkbox_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); |
| 527 AccessibleChecker body_checker(L"", L"body", IA2_ROLE_SECTION, L""); | 534 AccessibleChecker body_checker(L"", L"body", IA2_ROLE_SECTION, L""); |
| 528 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 535 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
| 529 body_checker.AppendExpectedChild(&checkbox_checker); | 536 body_checker.AppendExpectedChild(&checkbox_checker); |
| 530 document_checker.AppendExpectedChild(&body_checker); | 537 document_checker.AppendExpectedChild(&body_checker); |
| 531 document_checker.CheckAccessible(GetRendererAccessible()); | 538 document_checker.CheckAccessible(GetRendererAccessible()); |
| 532 | 539 |
| 533 // Check the checkbox. | 540 // Check the checkbox. |
| 534 scoped_refptr<MessageLoopRunner> loop_runner(new MessageLoopRunner); | 541 scoped_refptr<MessageLoopRunner> loop_runner(new MessageLoopRunner); |
| 535 WebContents* web_contents = shell()->web_contents(); | 542 WebContents* web_contents = shell()->web_contents(); |
| 536 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>( | 543 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>( |
| 537 web_contents->GetRenderViewHost()); | 544 web_contents->GetRenderViewHost()); |
| 538 view_host->SetAccessibilityOtherCallbackForTesting( | 545 view_host->SetAccessibilityOtherCallbackForTesting( |
| 539 loop_runner->QuitClosure()); | 546 loop_runner->QuitClosure()); |
| 540 ExecuteScript(L"document.body.children[0].checked=true"); | 547 ExecuteScript(L"document.body.children[0].checked=true"); |
| 541 loop_runner->Run(); | 548 loop_runner->Run(); |
| 542 | 549 |
| 543 // Check that the accessibility tree of the browser has been updated. | 550 // Check that the accessibility tree of the browser has been updated. |
| 544 checkbox_checker.SetExpectedState( | 551 checkbox_checker.SetExpectedState( |
| 545 STATE_SYSTEM_CHECKED | STATE_SYSTEM_FOCUSABLE); | 552 STATE_SYSTEM_CHECKED | STATE_SYSTEM_FOCUSABLE); |
| 546 document_checker.CheckAccessible(GetRendererAccessible()); | 553 document_checker.CheckAccessible(GetRendererAccessible()); |
| 547 } | 554 } |
| 548 | 555 |
| 549 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 556 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 550 TestNotificationChildrenChanged) { | 557 MAYBE(TestNotificationChildrenChanged)) { |
| 551 // The role attribute causes the node to be in the accessibility tree. | 558 // The role attribute causes the node to be in the accessibility tree. |
| 552 LoadInitialAccessibilityTreeFromHtml("<body role=group></body>"); | 559 LoadInitialAccessibilityTreeFromHtml("<body role=group></body>"); |
| 553 | 560 |
| 554 // Check the browser's copy of the renderer accessibility tree. | 561 // Check the browser's copy of the renderer accessibility tree. |
| 555 AccessibleChecker group_checker(L"", ROLE_SYSTEM_GROUPING, L""); | 562 AccessibleChecker group_checker(L"", ROLE_SYSTEM_GROUPING, L""); |
| 556 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 563 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
| 557 document_checker.AppendExpectedChild(&group_checker); | 564 document_checker.AppendExpectedChild(&group_checker); |
| 558 document_checker.CheckAccessible(GetRendererAccessible()); | 565 document_checker.CheckAccessible(GetRendererAccessible()); |
| 559 | 566 |
| 560 // Change the children of the document body. | 567 // Change the children of the document body. |
| 561 scoped_refptr<MessageLoopRunner> loop_runner(new MessageLoopRunner); | 568 scoped_refptr<MessageLoopRunner> loop_runner(new MessageLoopRunner); |
| 562 WebContents* web_contents = shell()->web_contents(); | 569 WebContents* web_contents = shell()->web_contents(); |
| 563 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>( | 570 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>( |
| 564 web_contents->GetRenderViewHost()); | 571 web_contents->GetRenderViewHost()); |
| 565 view_host->SetAccessibilityOtherCallbackForTesting( | 572 view_host->SetAccessibilityOtherCallbackForTesting( |
| 566 loop_runner->QuitClosure()); | 573 loop_runner->QuitClosure()); |
| 567 ExecuteScript(L"document.body.innerHTML='<b>new text</b>'"); | 574 ExecuteScript(L"document.body.innerHTML='<b>new text</b>'"); |
| 568 loop_runner->Run(); | 575 loop_runner->Run(); |
| 569 | 576 |
| 570 // Check that the accessibility tree of the browser has been updated. | 577 // Check that the accessibility tree of the browser has been updated. |
| 571 AccessibleChecker text_checker(L"new text", ROLE_SYSTEM_TEXT, L""); | 578 AccessibleChecker text_checker(L"new text", ROLE_SYSTEM_TEXT, L""); |
| 572 group_checker.AppendExpectedChild(&text_checker); | 579 group_checker.AppendExpectedChild(&text_checker); |
| 573 document_checker.CheckAccessible(GetRendererAccessible()); | 580 document_checker.CheckAccessible(GetRendererAccessible()); |
| 574 } | 581 } |
| 575 | 582 |
| 576 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 583 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 577 TestNotificationChildrenChanged2) { | 584 MAYBE(TestNotificationChildrenChanged2)) { |
| 578 // The role attribute causes the node to be in the accessibility tree. | 585 // The role attribute causes the node to be in the accessibility tree. |
| 579 LoadInitialAccessibilityTreeFromHtml( | 586 LoadInitialAccessibilityTreeFromHtml( |
| 580 "<div role=group style='visibility: hidden'>text</div>"); | 587 "<div role=group style='visibility: hidden'>text</div>"); |
| 581 | 588 |
| 582 // Check the accessible tree of the browser. | 589 // Check the accessible tree of the browser. |
| 583 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 590 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
| 584 document_checker.CheckAccessible(GetRendererAccessible()); | 591 document_checker.CheckAccessible(GetRendererAccessible()); |
| 585 | 592 |
| 586 // Change the children of the document body. | 593 // Change the children of the document body. |
| 587 scoped_refptr<MessageLoopRunner> loop_runner(new MessageLoopRunner); | 594 scoped_refptr<MessageLoopRunner> loop_runner(new MessageLoopRunner); |
| 588 WebContents* web_contents = shell()->web_contents(); | 595 WebContents* web_contents = shell()->web_contents(); |
| 589 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>( | 596 RenderViewHostImpl* view_host = static_cast<RenderViewHostImpl*>( |
| 590 web_contents->GetRenderViewHost()); | 597 web_contents->GetRenderViewHost()); |
| 591 view_host->SetAccessibilityOtherCallbackForTesting( | 598 view_host->SetAccessibilityOtherCallbackForTesting( |
| 592 loop_runner->QuitClosure()); | 599 loop_runner->QuitClosure()); |
| 593 ExecuteScript(L"document.body.children[0].style.visibility='visible'"); | 600 ExecuteScript(L"document.body.children[0].style.visibility='visible'"); |
| 594 loop_runner->Run(); | 601 loop_runner->Run(); |
| 595 | 602 |
| 596 // Check that the accessibility tree of the browser has been updated. | 603 // Check that the accessibility tree of the browser has been updated. |
| 597 AccessibleChecker static_text_checker(L"text", ROLE_SYSTEM_TEXT, L""); | 604 AccessibleChecker static_text_checker(L"text", ROLE_SYSTEM_TEXT, L""); |
| 598 AccessibleChecker group_checker(L"", ROLE_SYSTEM_GROUPING, L""); | 605 AccessibleChecker group_checker(L"", ROLE_SYSTEM_GROUPING, L""); |
| 599 document_checker.AppendExpectedChild(&group_checker); | 606 document_checker.AppendExpectedChild(&group_checker); |
| 600 group_checker.AppendExpectedChild(&static_text_checker); | 607 group_checker.AppendExpectedChild(&static_text_checker); |
| 601 document_checker.CheckAccessible(GetRendererAccessible()); | 608 document_checker.CheckAccessible(GetRendererAccessible()); |
| 602 } | 609 } |
| 603 | 610 |
| 604 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 611 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 605 TestNotificationFocusChanged) { | 612 MAYBE(TestNotificationFocusChanged)) { |
| 606 // The role attribute causes the node to be in the accessibility tree. | 613 // The role attribute causes the node to be in the accessibility tree. |
| 607 LoadInitialAccessibilityTreeFromHtml("<div role=group tabindex='-1'></div>"); | 614 LoadInitialAccessibilityTreeFromHtml("<div role=group tabindex='-1'></div>"); |
| 608 | 615 |
| 609 // Check the browser's copy of the renderer accessibility tree. | 616 // Check the browser's copy of the renderer accessibility tree. |
| 610 SCOPED_TRACE("Check initial tree"); | 617 SCOPED_TRACE("Check initial tree"); |
| 611 AccessibleChecker group_checker(L"", ROLE_SYSTEM_GROUPING, L""); | 618 AccessibleChecker group_checker(L"", ROLE_SYSTEM_GROUPING, L""); |
| 612 group_checker.SetExpectedState( | 619 group_checker.SetExpectedState( |
| 613 STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_OFFSCREEN); | 620 STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_OFFSCREEN); |
| 614 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 621 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
| 615 document_checker.AppendExpectedChild(&group_checker); | 622 document_checker.AppendExpectedChild(&group_checker); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 643 ASSERT_EQ(S_OK, hr); | 650 ASSERT_EQ(S_OK, hr); |
| 644 loop_runner->Run(); | 651 loop_runner->Run(); |
| 645 | 652 |
| 646 // Check that the accessibility tree of the browser has been updated. | 653 // Check that the accessibility tree of the browser has been updated. |
| 647 SCOPED_TRACE("Check updated tree after focusing document again"); | 654 SCOPED_TRACE("Check updated tree after focusing document again"); |
| 648 group_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); | 655 group_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); |
| 649 document_checker.CheckAccessible(GetRendererAccessible()); | 656 document_checker.CheckAccessible(GetRendererAccessible()); |
| 650 } | 657 } |
| 651 | 658 |
| 652 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 659 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 653 TestNotificationValueChanged) { | 660 MAYBE(TestNotificationValueChanged)) { |
| 654 LoadInitialAccessibilityTreeFromHtml( | 661 LoadInitialAccessibilityTreeFromHtml( |
| 655 "<body><input type='text' value='old value'/></body>"); | 662 "<body><input type='text' value='old value'/></body>"); |
| 656 | 663 |
| 657 // Check the browser's copy of the renderer accessibility tree. | 664 // Check the browser's copy of the renderer accessibility tree. |
| 658 AccessibleChecker text_field_checker(L"", ROLE_SYSTEM_TEXT, L"old value"); | 665 AccessibleChecker text_field_checker(L"", ROLE_SYSTEM_TEXT, L"old value"); |
| 659 text_field_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); | 666 text_field_checker.SetExpectedState(STATE_SYSTEM_FOCUSABLE); |
| 660 AccessibleChecker body_checker(L"", L"body", IA2_ROLE_SECTION, L""); | 667 AccessibleChecker body_checker(L"", L"body", IA2_ROLE_SECTION, L""); |
| 661 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 668 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
| 662 body_checker.AppendExpectedChild(&text_field_checker); | 669 body_checker.AppendExpectedChild(&text_field_checker); |
| 663 document_checker.AppendExpectedChild(&body_checker); | 670 document_checker.AppendExpectedChild(&body_checker); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 680 | 687 |
| 681 // This test verifies that the web content's accessibility tree is a | 688 // This test verifies that the web content's accessibility tree is a |
| 682 // descendant of the main browser window's accessibility tree, so that | 689 // descendant of the main browser window's accessibility tree, so that |
| 683 // tools like AccExplorer32 or AccProbe can be used to examine Chrome's | 690 // tools like AccExplorer32 or AccProbe can be used to examine Chrome's |
| 684 // accessibility support. | 691 // accessibility support. |
| 685 // | 692 // |
| 686 // If you made a change and this test now fails, check that the NativeViewHost | 693 // If you made a change and this test now fails, check that the NativeViewHost |
| 687 // that wraps the tab contents returns the IAccessible implementation | 694 // that wraps the tab contents returns the IAccessible implementation |
| 688 // provided by RenderWidgetHostViewWin in GetNativeViewAccessible(). | 695 // provided by RenderWidgetHostViewWin in GetNativeViewAccessible(). |
| 689 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 696 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 690 ContainsRendererAccessibilityTree) { | 697 MAYBE(ContainsRendererAccessibilityTree)) { |
| 691 LoadInitialAccessibilityTreeFromHtml( | 698 LoadInitialAccessibilityTreeFromHtml( |
| 692 "<html><head><title>MyDocument</title></head>" | 699 "<html><head><title>MyDocument</title></head>" |
| 693 "<body>Content</body></html>"); | 700 "<body>Content</body></html>"); |
| 694 | 701 |
| 695 // Get the accessibility object for the browser window. | 702 // Get the accessibility object for the browser window. |
| 696 HWND browser_hwnd = shell()->window(); | 703 HWND browser_hwnd = shell()->window(); |
| 697 base::win::ScopedComPtr<IAccessible> browser_accessible; | 704 base::win::ScopedComPtr<IAccessible> browser_accessible; |
| 698 HRESULT hr = AccessibleObjectFromWindow( | 705 HRESULT hr = AccessibleObjectFromWindow( |
| 699 browser_hwnd, | 706 browser_hwnd, |
| 700 OBJID_WINDOW, | 707 OBJID_WINDOW, |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 ROLE_SYSTEM_PUSHBUTTON, STATE_SYSTEM_FOCUSABLE); | 782 ROLE_SYSTEM_PUSHBUTTON, STATE_SYSTEM_FOCUSABLE); |
| 776 ADD_BUTTON("<button>x</button>", ROLE_SYSTEM_PUSHBUTTON, | 783 ADD_BUTTON("<button>x</button>", ROLE_SYSTEM_PUSHBUTTON, |
| 777 STATE_SYSTEM_FOCUSABLE); | 784 STATE_SYSTEM_FOCUSABLE); |
| 778 #undef ADD_BUTTON // Temporary macro | 785 #undef ADD_BUTTON // Temporary macro |
| 779 | 786 |
| 780 LoadInitialAccessibilityTreeFromHtml(button_html); | 787 LoadInitialAccessibilityTreeFromHtml(button_html); |
| 781 document_checker.CheckAccessible(GetRendererAccessible()); | 788 document_checker.CheckAccessible(GetRendererAccessible()); |
| 782 } | 789 } |
| 783 | 790 |
| 784 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, | 791 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, |
| 785 SupportsISimpleDOM) { | 792 MAYBE(SupportsISimpleDOM)) { |
| 786 LoadInitialAccessibilityTreeFromHtml( | 793 LoadInitialAccessibilityTreeFromHtml( |
| 787 "<body><input type='checkbox' /></body>"); | 794 "<body><input type='checkbox' /></body>"); |
| 788 | 795 |
| 789 // Get the IAccessible object for the document. | 796 // Get the IAccessible object for the document. |
| 790 base::win::ScopedComPtr<IAccessible> document_accessible( | 797 base::win::ScopedComPtr<IAccessible> document_accessible( |
| 791 GetRendererAccessible()); | 798 GetRendererAccessible()); |
| 792 ASSERT_NE(document_accessible.get(), reinterpret_cast<IAccessible*>(NULL)); | 799 ASSERT_NE(document_accessible.get(), reinterpret_cast<IAccessible*>(NULL)); |
| 793 | 800 |
| 794 // Get the ISimpleDOM object for the document. | 801 // Get the ISimpleDOM object for the document. |
| 795 base::win::ScopedComPtr<IServiceProvider> service_provider; | 802 base::win::ScopedComPtr<IServiceProvider> service_provider; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 835 ASSERT_EQ(S_OK, hr); | 842 ASSERT_EQ(S_OK, hr); |
| 836 hr = checkbox_isimpledomnode->get_nodeInfo( | 843 hr = checkbox_isimpledomnode->get_nodeInfo( |
| 837 &node_name, &name_space_id, &node_value, &num_children, &unique_id, | 844 &node_name, &name_space_id, &node_value, &num_children, &unique_id, |
| 838 &node_type); | 845 &node_type); |
| 839 ASSERT_EQ(S_OK, hr); | 846 ASSERT_EQ(S_OK, hr); |
| 840 EXPECT_STREQ(L"input", wstring(node_name, SysStringLen(node_name)).c_str()); | 847 EXPECT_STREQ(L"input", wstring(node_name, SysStringLen(node_name)).c_str()); |
| 841 EXPECT_EQ(NODETYPE_ELEMENT, node_type); | 848 EXPECT_EQ(NODETYPE_ELEMENT, node_type); |
| 842 EXPECT_EQ(0, num_children); | 849 EXPECT_EQ(0, num_children); |
| 843 } | 850 } |
| 844 | 851 |
| 845 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, TestRoleGroup) { | 852 IN_PROC_BROWSER_TEST_F(AccessibilityWinBrowserTest, MAYBE(TestRoleGroup)) { |
| 846 LoadInitialAccessibilityTreeFromHtml( | 853 LoadInitialAccessibilityTreeFromHtml( |
| 847 "<fieldset></fieldset><div role=group></div>"); | 854 "<fieldset></fieldset><div role=group></div>"); |
| 848 | 855 |
| 849 // Check the browser's copy of the renderer accessibility tree. | 856 // Check the browser's copy of the renderer accessibility tree. |
| 850 AccessibleChecker grouping1_checker(L"", ROLE_SYSTEM_GROUPING, L""); | 857 AccessibleChecker grouping1_checker(L"", ROLE_SYSTEM_GROUPING, L""); |
| 851 AccessibleChecker grouping2_checker(L"", ROLE_SYSTEM_GROUPING, L""); | 858 AccessibleChecker grouping2_checker(L"", ROLE_SYSTEM_GROUPING, L""); |
| 852 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); | 859 AccessibleChecker document_checker(L"", ROLE_SYSTEM_DOCUMENT, L""); |
| 853 document_checker.AppendExpectedChild(&grouping1_checker); | 860 document_checker.AppendExpectedChild(&grouping1_checker); |
| 854 document_checker.AppendExpectedChild(&grouping2_checker); | 861 document_checker.AppendExpectedChild(&grouping2_checker); |
| 855 document_checker.CheckAccessible(GetRendererAccessible()); | 862 document_checker.CheckAccessible(GetRendererAccessible()); |
| 856 } | 863 } |
| 857 } // namespace. | 864 } // namespace. |
| 858 | 865 |
| 859 } // namespace content | 866 } // namespace content |
| OLD | NEW |