Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(635)

Side by Side Diff: content/browser/accessibility/browser_accessibility_win_unittest.cc

Issue 224803005: Refactor BrowserAccessibility to prepare for AXNode (re-land) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix gtk Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/browser/accessibility/browser_accessibility_win.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "base/win/scoped_bstr.h" 7 #include "base/win/scoped_bstr.h"
8 #include "base/win/scoped_comptr.h" 8 #include "base/win/scoped_comptr.h"
9 #include "base/win/scoped_variant.h" 9 #include "base/win/scoped_variant.h"
10 #include "content/browser/accessibility/browser_accessibility_manager.h" 10 #include "content/browser/accessibility/browser_accessibility_manager.h"
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 scoped_ptr<BrowserAccessibilityManager> manager( 611 scoped_ptr<BrowserAccessibilityManager> manager(
612 new BrowserAccessibilityManagerWin( 612 new BrowserAccessibilityManagerWin(
613 accessible_hwnd.get(), 613 accessible_hwnd.get(),
614 NULL, 614 NULL,
615 BrowserAccessibilityManagerWin::GetEmptyDocument(), 615 BrowserAccessibilityManagerWin::GetEmptyDocument(),
616 NULL, 616 NULL,
617 new CountedBrowserAccessibilityFactory())); 617 new CountedBrowserAccessibilityFactory()));
618 618
619 // Verify the root is as we expect by default. 619 // Verify the root is as we expect by default.
620 BrowserAccessibility* root = manager->GetRoot(); 620 BrowserAccessibility* root = manager->GetRoot();
621 EXPECT_EQ(0, root->renderer_id()); 621 EXPECT_EQ(0, root->GetId());
622 EXPECT_EQ(ui::AX_ROLE_ROOT_WEB_AREA, root->role()); 622 EXPECT_EQ(ui::AX_ROLE_ROOT_WEB_AREA, root->GetRole());
623 EXPECT_EQ(busy_state | readonly_state | enabled_state, root->state()); 623 EXPECT_EQ(busy_state | readonly_state | enabled_state, root->GetState());
624 624
625 // Tree with a child textfield. 625 // Tree with a child textfield.
626 ui::AXNodeData tree1_1; 626 ui::AXNodeData tree1_1;
627 tree1_1.id = 1; 627 tree1_1.id = 1;
628 tree1_1.role = ui::AX_ROLE_ROOT_WEB_AREA; 628 tree1_1.role = ui::AX_ROLE_ROOT_WEB_AREA;
629 tree1_1.child_ids.push_back(2); 629 tree1_1.child_ids.push_back(2);
630 630
631 ui::AXNodeData tree1_2; 631 ui::AXNodeData tree1_2;
632 tree1_2.id = 2; 632 tree1_2.id = 2;
633 tree1_2.role = ui::AX_ROLE_TEXT_FIELD; 633 tree1_2.role = ui::AX_ROLE_TEXT_FIELD;
634 634
635 // Process a load complete. 635 // Process a load complete.
636 std::vector<AccessibilityHostMsg_EventParams> params; 636 std::vector<AccessibilityHostMsg_EventParams> params;
637 params.push_back(AccessibilityHostMsg_EventParams()); 637 params.push_back(AccessibilityHostMsg_EventParams());
638 AccessibilityHostMsg_EventParams* msg = &params[0]; 638 AccessibilityHostMsg_EventParams* msg = &params[0];
639 msg->event_type = ui::AX_EVENT_LOAD_COMPLETE; 639 msg->event_type = ui::AX_EVENT_LOAD_COMPLETE;
640 msg->update.nodes.push_back(tree1_1); 640 msg->update.nodes.push_back(tree1_1);
641 msg->update.nodes.push_back(tree1_2); 641 msg->update.nodes.push_back(tree1_2);
642 msg->id = tree1_1.id; 642 msg->id = tree1_1.id;
643 manager->OnAccessibilityEvents(params); 643 manager->OnAccessibilityEvents(params);
644 644
645 // Save for later comparison. 645 // Save for later comparison.
646 BrowserAccessibility* acc1_2 = manager->GetFromRendererID(2); 646 BrowserAccessibility* acc1_2 = manager->GetFromRendererID(2);
647 647
648 // Verify the root has changed. 648 // Verify the root has changed.
649 EXPECT_NE(root, manager->GetRoot()); 649 EXPECT_NE(root, manager->GetRoot());
650 650
651 // And the proper child remains. 651 // And the proper child remains.
652 EXPECT_EQ(ui::AX_ROLE_TEXT_FIELD, acc1_2->role()); 652 EXPECT_EQ(ui::AX_ROLE_TEXT_FIELD, acc1_2->GetRole());
653 EXPECT_EQ(2, acc1_2->renderer_id()); 653 EXPECT_EQ(2, acc1_2->GetId());
654 654
655 // Tree with a child button. 655 // Tree with a child button.
656 ui::AXNodeData tree2_1; 656 ui::AXNodeData tree2_1;
657 tree2_1.id = 1; 657 tree2_1.id = 1;
658 tree2_1.role = ui::AX_ROLE_ROOT_WEB_AREA; 658 tree2_1.role = ui::AX_ROLE_ROOT_WEB_AREA;
659 tree2_1.child_ids.push_back(3); 659 tree2_1.child_ids.push_back(3);
660 660
661 ui::AXNodeData tree2_2; 661 ui::AXNodeData tree2_2;
662 tree2_2.id = 3; 662 tree2_2.id = 3;
663 tree2_2.role = ui::AX_ROLE_BUTTON; 663 tree2_2.role = ui::AX_ROLE_BUTTON;
664 664
665 msg->update.nodes.clear(); 665 msg->update.nodes.clear();
666 msg->update.nodes.push_back(tree2_1); 666 msg->update.nodes.push_back(tree2_1);
667 msg->update.nodes.push_back(tree2_2); 667 msg->update.nodes.push_back(tree2_2);
668 msg->id = tree2_1.id; 668 msg->id = tree2_1.id;
669 669
670 // Fire another load complete. 670 // Fire another load complete.
671 manager->OnAccessibilityEvents(params); 671 manager->OnAccessibilityEvents(params);
672 672
673 BrowserAccessibility* acc2_2 = manager->GetFromRendererID(3); 673 BrowserAccessibility* acc2_2 = manager->GetFromRendererID(3);
674 674
675 // Verify the root has changed. 675 // Verify the root has changed.
676 EXPECT_NE(root, manager->GetRoot()); 676 EXPECT_NE(root, manager->GetRoot());
677 677
678 // And the new child exists. 678 // And the new child exists.
679 EXPECT_EQ(ui::AX_ROLE_BUTTON, acc2_2->role()); 679 EXPECT_EQ(ui::AX_ROLE_BUTTON, acc2_2->GetRole());
680 EXPECT_EQ(3, acc2_2->renderer_id()); 680 EXPECT_EQ(3, acc2_2->GetId());
681 681
682 // Ensure we properly cleaned up. 682 // Ensure we properly cleaned up.
683 manager.reset(); 683 manager.reset();
684 ASSERT_EQ(0, CountedBrowserAccessibility::num_instances()); 684 ASSERT_EQ(0, CountedBrowserAccessibility::num_instances());
685 } 685 }
686 686
687 TEST(BrowserAccessibilityManagerWinTest, TestAccessibleHWND) { 687 TEST(BrowserAccessibilityManagerWinTest, TestAccessibleHWND) {
688 HWND desktop_hwnd = GetDesktopWindow(); 688 HWND desktop_hwnd = GetDesktopWindow();
689 base::win::ScopedComPtr<IAccessible> desktop_hwnd_iaccessible; 689 base::win::ScopedComPtr<IAccessible> desktop_hwnd_iaccessible;
690 ASSERT_EQ(S_OK, AccessibleObjectFromWindow( 690 ASSERT_EQ(S_OK, AccessibleObjectFromWindow(
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 manager->MaybeCallNotifyWinEvent(0, 0); 731 manager->MaybeCallNotifyWinEvent(0, 0);
732 new_parent_hwnd = manager->parent_hwnd(); 732 new_parent_hwnd = manager->parent_hwnd();
733 ASSERT_FALSE(NULL == new_parent_hwnd); 733 ASSERT_FALSE(NULL == new_parent_hwnd);
734 734
735 // This time, destroy the manager first, make sure the AccessibleHWND doesn't 735 // This time, destroy the manager first, make sure the AccessibleHWND doesn't
736 // crash on destruction (to be caught by SyzyASAN or other tools). 736 // crash on destruction (to be caught by SyzyASAN or other tools).
737 manager.reset(NULL); 737 manager.reset(NULL);
738 } 738 }
739 739
740 } // namespace content 740 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/accessibility/browser_accessibility_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698