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 |