| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/browser/accessibility/accessibility_mode_helper.h" | |
| 6 #include "content/browser/renderer_host/render_view_host_impl.h" | 5 #include "content/browser/renderer_host/render_view_host_impl.h" |
| 7 #include "content/browser/renderer_host/render_widget_host_impl.h" | 6 #include "content/browser/renderer_host/render_widget_host_impl.h" |
| 8 #include "content/browser/renderer_host/render_widget_host_view_base.h" | 7 #include "content/browser/renderer_host/render_widget_host_view_base.h" |
| 9 #include "content/browser/web_contents/web_contents_impl.h" | 8 #include "content/browser/web_contents/web_contents_impl.h" |
| 10 #include "content/public/browser/render_view_host.h" | 9 #include "content/public/browser/render_view_host.h" |
| 11 #include "content/public/browser/render_widget_host.h" | 10 #include "content/public/browser/render_widget_host.h" |
| 12 #include "content/public/browser/render_widget_host_view.h" | 11 #include "content/public/browser/render_widget_host_view.h" |
| 13 #include "content/public/browser/web_contents.h" | 12 #include "content/public/browser/web_contents.h" |
| 14 #include "content/public/common/url_constants.h" | 13 #include "content/public/common/url_constants.h" |
| 15 #include "content/public/test/content_browser_test.h" | 14 #include "content/public/test/content_browser_test.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 35 EXPECT_NE( | 34 EXPECT_NE( |
| 36 (BrowserAccessibilityManager*)NULL, | 35 (BrowserAccessibilityManager*)NULL, |
| 37 web_contents()->GetRootBrowserAccessibilityManager()) << message; | 36 web_contents()->GetRootBrowserAccessibilityManager()) << message; |
| 38 } else { | 37 } else { |
| 39 EXPECT_EQ( | 38 EXPECT_EQ( |
| 40 (BrowserAccessibilityManager*)NULL, | 39 (BrowserAccessibilityManager*)NULL, |
| 41 web_contents()->GetRootBrowserAccessibilityManager()) << message; | 40 web_contents()->GetRootBrowserAccessibilityManager()) << message; |
| 42 } | 41 } |
| 43 } | 42 } |
| 44 | 43 |
| 45 AccessibilityMode CorrectedAccessibility(AccessibilityMode mode) { | |
| 46 return AddAccessibilityModeTo(GetBaseAccessibilityMode(), mode); | |
| 47 } | |
| 48 | |
| 49 bool ShouldBeBrowserAccessibilityManager(AccessibilityMode mode) { | 44 bool ShouldBeBrowserAccessibilityManager(AccessibilityMode mode) { |
| 50 mode = CorrectedAccessibility(mode); | |
| 51 switch (mode) { | 45 switch (mode) { |
| 52 case AccessibilityModeOff: | 46 case AccessibilityModeOff: |
| 53 case AccessibilityModeTreeOnly: | 47 case ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY: |
| 54 return false; | 48 return false; |
| 55 case AccessibilityModeComplete: | 49 case ACCESSIBILITY_MODE_COMPLETE: |
| 56 return true; | 50 return true; |
| 57 default: | 51 default: |
| 58 NOTREACHED(); | 52 NOTREACHED(); |
| 59 } | 53 } |
| 60 return false; | 54 return false; |
| 61 } | 55 } |
| 62 }; | 56 }; |
| 63 | 57 |
| 64 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeOff) { | 58 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeOff) { |
| 65 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); | 59 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); |
| 66 | 60 |
| 67 EXPECT_EQ(CorrectedAccessibility(AccessibilityModeOff), | 61 EXPECT_EQ(AccessibilityModeOff, web_contents()->GetAccessibilityMode()); |
| 68 web_contents()->GetAccessibilityMode()); | |
| 69 ExpectBrowserAccessibilityManager( | 62 ExpectBrowserAccessibilityManager( |
| 70 ShouldBeBrowserAccessibilityManager(AccessibilityModeOff)); | 63 ShouldBeBrowserAccessibilityManager(AccessibilityModeOff)); |
| 71 } | 64 } |
| 72 | 65 |
| 73 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeComplete) { | 66 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, ACCESSIBILITY_MODE_COMPLETE) { |
| 74 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); | 67 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); |
| 75 ASSERT_EQ(CorrectedAccessibility(AccessibilityModeOff), | 68 ASSERT_EQ(AccessibilityModeOff, web_contents()->GetAccessibilityMode()); |
| 76 web_contents()->GetAccessibilityMode()); | |
| 77 | 69 |
| 78 AccessibilityNotificationWaiter waiter(shell()->web_contents()); | 70 AccessibilityNotificationWaiter waiter(shell()->web_contents()); |
| 79 web_contents()->AddAccessibilityMode(AccessibilityModeComplete); | 71 web_contents()->AddAccessibilityMode(ACCESSIBILITY_MODE_COMPLETE); |
| 80 EXPECT_EQ(AccessibilityModeComplete, web_contents()->GetAccessibilityMode()); | 72 EXPECT_EQ(ACCESSIBILITY_MODE_COMPLETE, |
| 73 web_contents()->GetAccessibilityMode()); |
| 81 waiter.WaitForNotification(); | 74 waiter.WaitForNotification(); |
| 82 ExpectBrowserAccessibilityManager( | 75 ExpectBrowserAccessibilityManager( |
| 83 ShouldBeBrowserAccessibilityManager(AccessibilityModeComplete)); | 76 ShouldBeBrowserAccessibilityManager(ACCESSIBILITY_MODE_COMPLETE)); |
| 84 } | 77 } |
| 85 | 78 |
| 86 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AccessibilityModeTreeOnly) { | 79 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, |
| 80 ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY) { |
| 87 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); | 81 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); |
| 88 ASSERT_EQ(CorrectedAccessibility(AccessibilityModeOff), | 82 ASSERT_EQ(AccessibilityModeOff, web_contents()->GetAccessibilityMode()); |
| 89 web_contents()->GetAccessibilityMode()); | |
| 90 | 83 |
| 91 AccessibilityNotificationWaiter waiter(shell()->web_contents()); | 84 AccessibilityNotificationWaiter waiter(shell()->web_contents()); |
| 92 web_contents()->AddAccessibilityMode(AccessibilityModeTreeOnly); | 85 web_contents()->AddAccessibilityMode(ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY); |
| 93 EXPECT_EQ(CorrectedAccessibility(AccessibilityModeTreeOnly), | 86 EXPECT_EQ(ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY, |
| 94 web_contents()->GetAccessibilityMode()); | 87 web_contents()->GetAccessibilityMode()); |
| 95 waiter.WaitForNotification(); | 88 waiter.WaitForNotification(); |
| 96 // No BrowserAccessibilityManager expected for AccessibilityModeTreeOnly | 89 // No BrowserAccessibilityManager expected for |
| 97 ExpectBrowserAccessibilityManager( | 90 // ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY |
| 98 ShouldBeBrowserAccessibilityManager(AccessibilityModeTreeOnly)); | 91 ExpectBrowserAccessibilityManager(ShouldBeBrowserAccessibilityManager( |
| 92 ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY)); |
| 99 } | 93 } |
| 100 | 94 |
| 101 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AddingModes) { | 95 IN_PROC_BROWSER_TEST_F(AccessibilityModeTest, AddingModes) { |
| 102 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); | 96 NavigateToURL(shell(), GURL(kMinimalPageDataURL)); |
| 103 | 97 |
| 104 AccessibilityNotificationWaiter waiter(shell()->web_contents()); | 98 AccessibilityNotificationWaiter waiter(shell()->web_contents()); |
| 105 web_contents()->AddAccessibilityMode(AccessibilityModeTreeOnly); | 99 web_contents()->AddAccessibilityMode(ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY); |
| 106 EXPECT_EQ(CorrectedAccessibility(AccessibilityModeTreeOnly), | 100 EXPECT_EQ(ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY, |
| 107 web_contents()->GetAccessibilityMode()); | 101 web_contents()->GetAccessibilityMode()); |
| 108 waiter.WaitForNotification(); | 102 waiter.WaitForNotification(); |
| 109 ExpectBrowserAccessibilityManager(ShouldBeBrowserAccessibilityManager( | 103 ExpectBrowserAccessibilityManager( |
| 110 AccessibilityModeTreeOnly), | 104 ShouldBeBrowserAccessibilityManager(ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY), |
| 111 "Should be no BrowserAccessibilityManager " | 105 "Should be no BrowserAccessibilityManager " |
| 112 "for AccessibilityModeTreeOnly"); | 106 "for ACCESSIBILITY_MODE_WEB_CONTENTS_ONLY"); |
| 113 | 107 |
| 114 AccessibilityNotificationWaiter waiter2(shell()->web_contents()); | 108 AccessibilityNotificationWaiter waiter2(shell()->web_contents()); |
| 115 web_contents()->AddAccessibilityMode(AccessibilityModeComplete); | 109 web_contents()->AddAccessibilityMode(ACCESSIBILITY_MODE_COMPLETE); |
| 116 EXPECT_EQ(AccessibilityModeComplete, web_contents()->GetAccessibilityMode()); | 110 EXPECT_EQ(ACCESSIBILITY_MODE_COMPLETE, |
| 111 web_contents()->GetAccessibilityMode()); |
| 117 waiter2.WaitForNotification(); | 112 waiter2.WaitForNotification(); |
| 118 ExpectBrowserAccessibilityManager(ShouldBeBrowserAccessibilityManager( | 113 ExpectBrowserAccessibilityManager( |
| 119 AccessibilityModeComplete), | 114 ShouldBeBrowserAccessibilityManager(ACCESSIBILITY_MODE_COMPLETE), |
| 120 "Should be a BrowserAccessibilityManager " | 115 "Should be a BrowserAccessibilityManager " |
| 121 "for AccessibilityModeComplete"); | 116 "for ACCESSIBILITY_MODE_COMPLETE"); |
| 122 } | 117 } |
| 123 | 118 |
| 124 } // namespace content | 119 } // namespace content |
| OLD | NEW |