| Index: chrome/browser/ui/views/accessibility/accessibility_event_router_views_unittest.cc
|
| diff --git a/chrome/browser/ui/views/accessibility/accessibility_event_router_views_unittest.cc b/chrome/browser/ui/views/accessibility/accessibility_event_router_views_unittest.cc
|
| index 710eb9e348772d85eb07df7f05c3ec0234116adb..29d4a68ceb9b1cd33c0708a61cb276bab2deac0b 100644
|
| --- a/chrome/browser/ui/views/accessibility/accessibility_event_router_views_unittest.cc
|
| +++ b/chrome/browser/ui/views/accessibility/accessibility_event_router_views_unittest.cc
|
| @@ -104,8 +104,7 @@ class ViewWithNameAndRole : public views::View {
|
| };
|
|
|
| class AccessibilityEventRouterViewsTest
|
| - : public testing::Test,
|
| - public content::NotificationObserver {
|
| + : public testing::Test {
|
| public:
|
| AccessibilityEventRouterViewsTest() {
|
| }
|
| @@ -119,9 +118,11 @@ class AccessibilityEventRouterViewsTest
|
| aura_test_helper_.reset(new aura::test::AuraTestHelper(&message_loop_));
|
| aura_test_helper_->SetUp();
|
| #endif // USE_AURA
|
| + EnableAccessibilityAndListenToFocusNotifications();
|
| }
|
|
|
| virtual void TearDown() {
|
| + ClearCallback();
|
| #if defined(USE_AURA)
|
| aura_test_helper_->TearDown();
|
| #endif
|
| @@ -155,25 +156,25 @@ class AccessibilityEventRouterViewsTest
|
| }
|
|
|
| void EnableAccessibilityAndListenToFocusNotifications() {
|
| - registrar_.Add(this,
|
| - chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_FOCUSED,
|
| - content::NotificationService::AllSources());
|
| -
|
| // Switch on accessibility event notifications.
|
| ExtensionAccessibilityEventRouter* accessibility_event_router =
|
| ExtensionAccessibilityEventRouter::GetInstance();
|
| accessibility_event_router->SetAccessibilityEnabled(true);
|
| + accessibility_event_router->SetControlEventCallbackForTesting(base::Bind(
|
| + &AccessibilityEventRouterViewsTest::OnFocusEvent,
|
| + base::Unretained(this)));
|
| + }
|
| +
|
| + void ClearCallback() {
|
| + ExtensionAccessibilityEventRouter* accessibility_event_router =
|
| + ExtensionAccessibilityEventRouter::GetInstance();
|
| + accessibility_event_router->ClearControlEventCallback();
|
| }
|
|
|
| protected:
|
| - // Implement NotificationObserver::Observe and store information about a
|
| - // ACCESSIBILITY_CONTROL_FOCUSED event.
|
| - virtual void Observe(int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) OVERRIDE {
|
| - ASSERT_EQ(type, chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_FOCUSED);
|
| - const AccessibilityControlInfo* info =
|
| - content::Details<const AccessibilityControlInfo>(details).ptr();
|
| + // Handle Focus event.
|
| + virtual void OnFocusEvent(ui::AccessibilityTypes::Event event,
|
| + const AccessibilityControlInfo* info) {
|
| focus_event_count_++;
|
| last_control_name_ = info->name();
|
| last_control_context_ = info->context();
|
| @@ -183,7 +184,6 @@ class AccessibilityEventRouterViewsTest
|
| int focus_event_count_;
|
| std::string last_control_name_;
|
| std::string last_control_context_;
|
| - content::NotificationRegistrar registrar_;
|
| TestingProfile profile_;
|
| #if defined(OS_WIN)
|
| scoped_ptr<ui::ScopedOleInitializer> ole_initializer_;
|
| @@ -219,10 +219,10 @@ TEST_F(AccessibilityEventRouterViewsTest, TestFocusNotification) {
|
| window->Show();
|
| window->Activate();
|
|
|
| - // Set focus to the first button initially.
|
| + // Set focus to the first button initially and run message loop to execute
|
| + // callback.
|
| button1->RequestFocus();
|
| -
|
| - EnableAccessibilityAndListenToFocusNotifications();
|
| + base::MessageLoop::current()->RunUntilIdle();
|
|
|
| // Change the accessible name of button3.
|
| button3->SetAccessibleName(ASCIIToUTF16(kButton3NewASCII));
|
| @@ -267,8 +267,6 @@ TEST_F(AccessibilityEventRouterViewsTest, TestToolbarContext) {
|
| // Put the view in a window.
|
| views::Widget* window = CreateWindowWithContents(contents);
|
|
|
| - EnableAccessibilityAndListenToFocusNotifications();
|
| -
|
| // Set focus to the button.
|
| focus_event_count_ = 0;
|
| button->RequestFocus();
|
| @@ -301,8 +299,6 @@ TEST_F(AccessibilityEventRouterViewsTest, TestAlertContext) {
|
| // Put the view in a window.
|
| views::Widget* window = CreateWindowWithContents(contents);
|
|
|
| - EnableAccessibilityAndListenToFocusNotifications();
|
| -
|
| // Set focus to the button.
|
| focus_event_count_ = 0;
|
| button->RequestFocus();
|
| @@ -335,8 +331,6 @@ TEST_F(AccessibilityEventRouterViewsTest, StateChangeAfterNotification) {
|
| // Put the view in a window.
|
| views::Widget* window = CreateWindowWithContents(contents);
|
|
|
| - EnableAccessibilityAndListenToFocusNotifications();
|
| -
|
| // Set focus to the child view.
|
| focus_event_count_ = 0;
|
| child->RequestFocus();
|
| @@ -373,8 +367,6 @@ TEST_F(AccessibilityEventRouterViewsTest, NotificationOnDeletedObject) {
|
| // Put the view in a window.
|
| views::Widget* window = CreateWindowWithContents(contents);
|
|
|
| - EnableAccessibilityAndListenToFocusNotifications();
|
| -
|
| // Set focus to the child view.
|
| focus_event_count_ = 0;
|
| child->RequestFocus();
|
|
|