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

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

Issue 2558933002: Add more fine-grained accessibility modes. (Closed)
Patch Set: Reformat enums as uppercase Created 4 years 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
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698