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

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

Issue 2694413006: Scope and clean up uses of AccessibilityMode. (Closed)
Patch Set: address comments Created 3 years, 10 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/logging.h" 5 #include "base/logging.h"
6 #include "content/browser/accessibility/browser_accessibility.h" 6 #include "content/browser/accessibility/browser_accessibility.h"
7 #include "content/browser/accessibility/browser_accessibility_manager.h" 7 #include "content/browser/accessibility/browser_accessibility_manager.h"
8 #include "content/browser/web_contents/web_contents_impl.h" 8 #include "content/browser/web_contents/web_contents_impl.h"
9 #include "content/public/test/browser_test_utils.h" 9 #include "content/public/test/browser_test_utils.h"
10 #include "content/public/test/content_browser_test.h" 10 #include "content/public/test/content_browser_test.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 return nullptr; 72 return nullptr;
73 } 73 }
74 }; 74 };
75 75
76 } // namespace 76 } // namespace
77 77
78 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, FocusAction) { 78 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, FocusAction) {
79 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); 79 NavigateToURL(shell(), GURL(url::kAboutBlankURL));
80 80
81 AccessibilityNotificationWaiter waiter(shell()->web_contents(), 81 AccessibilityNotificationWaiter waiter(shell()->web_contents(),
82 ACCESSIBILITY_MODE_COMPLETE, 82 AccessibilityMode::kComplete,
83 ui::AX_EVENT_LOAD_COMPLETE); 83 ui::AX_EVENT_LOAD_COMPLETE);
84 GURL url("data:text/html," 84 GURL url("data:text/html,"
85 "<button>One</button>" 85 "<button>One</button>"
86 "<button>Two</button>" 86 "<button>Two</button>"
87 "<button>Three</button>"); 87 "<button>Three</button>");
88 NavigateToURL(shell(), url); 88 NavigateToURL(shell(), url);
89 waiter.WaitForNotification(); 89 waiter.WaitForNotification();
90 90
91 BrowserAccessibility* target = FindNode(ui::AX_ROLE_BUTTON, "One"); 91 BrowserAccessibility* target = FindNode(ui::AX_ROLE_BUTTON, "One");
92 ASSERT_NE(nullptr, target); 92 ASSERT_NE(nullptr, target);
93 93
94 AccessibilityNotificationWaiter waiter2(shell()->web_contents(), 94 AccessibilityNotificationWaiter waiter2(shell()->web_contents(),
95 ACCESSIBILITY_MODE_COMPLETE, 95 AccessibilityMode::kComplete,
96 ui::AX_EVENT_FOCUS); 96 ui::AX_EVENT_FOCUS);
97 GetManager()->SetFocus(*target); 97 GetManager()->SetFocus(*target);
98 waiter2.WaitForNotification(); 98 waiter2.WaitForNotification();
99 99
100 BrowserAccessibility* focus = GetManager()->GetFocus(); 100 BrowserAccessibility* focus = GetManager()->GetFocus();
101 EXPECT_EQ(focus->GetId(), target->GetId()); 101 EXPECT_EQ(focus->GetId(), target->GetId());
102 } 102 }
103 103
104 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, 104 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest,
105 IncrementDecrementActions) { 105 IncrementDecrementActions) {
106 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); 106 NavigateToURL(shell(), GURL(url::kAboutBlankURL));
107 107
108 AccessibilityNotificationWaiter waiter(shell()->web_contents(), 108 AccessibilityNotificationWaiter waiter(shell()->web_contents(),
109 ACCESSIBILITY_MODE_COMPLETE, 109 AccessibilityMode::kComplete,
110 ui::AX_EVENT_LOAD_COMPLETE); 110 ui::AX_EVENT_LOAD_COMPLETE);
111 GURL url("data:text/html," 111 GURL url("data:text/html,"
112 "<input type=range min=2 value=8 max=10 step=2>"); 112 "<input type=range min=2 value=8 max=10 step=2>");
113 NavigateToURL(shell(), url); 113 NavigateToURL(shell(), url);
114 waiter.WaitForNotification(); 114 waiter.WaitForNotification();
115 115
116 BrowserAccessibility* target = FindNode(ui::AX_ROLE_SLIDER, ""); 116 BrowserAccessibility* target = FindNode(ui::AX_ROLE_SLIDER, "");
117 ASSERT_NE(nullptr, target); 117 ASSERT_NE(nullptr, target);
118 EXPECT_EQ(8.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE)); 118 EXPECT_EQ(8.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE));
119 119
120 // Increment, should result in value changing from 8 to 10. 120 // Increment, should result in value changing from 8 to 10.
121 { 121 {
122 AccessibilityNotificationWaiter waiter2(shell()->web_contents(), 122 AccessibilityNotificationWaiter waiter2(shell()->web_contents(),
123 ACCESSIBILITY_MODE_COMPLETE, 123 AccessibilityMode::kComplete,
124 ui::AX_EVENT_VALUE_CHANGED); 124 ui::AX_EVENT_VALUE_CHANGED);
125 GetManager()->Increment(*target); 125 GetManager()->Increment(*target);
126 waiter2.WaitForNotification(); 126 waiter2.WaitForNotification();
127 } 127 }
128 EXPECT_EQ(10.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE)); 128 EXPECT_EQ(10.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE));
129 129
130 // Increment, should result in value staying the same (max). 130 // Increment, should result in value staying the same (max).
131 { 131 {
132 AccessibilityNotificationWaiter waiter2(shell()->web_contents(), 132 AccessibilityNotificationWaiter waiter2(shell()->web_contents(),
133 ACCESSIBILITY_MODE_COMPLETE, 133 AccessibilityMode::kComplete,
134 ui::AX_EVENT_VALUE_CHANGED); 134 ui::AX_EVENT_VALUE_CHANGED);
135 GetManager()->Increment(*target); 135 GetManager()->Increment(*target);
136 waiter2.WaitForNotification(); 136 waiter2.WaitForNotification();
137 } 137 }
138 EXPECT_EQ(10.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE)); 138 EXPECT_EQ(10.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE));
139 139
140 // Decrement, should result in value changing from 10 to 8. 140 // Decrement, should result in value changing from 10 to 8.
141 { 141 {
142 AccessibilityNotificationWaiter waiter2(shell()->web_contents(), 142 AccessibilityNotificationWaiter waiter2(shell()->web_contents(),
143 ACCESSIBILITY_MODE_COMPLETE, 143 AccessibilityMode::kComplete,
144 ui::AX_EVENT_VALUE_CHANGED); 144 ui::AX_EVENT_VALUE_CHANGED);
145 GetManager()->Decrement(*target); 145 GetManager()->Decrement(*target);
146 waiter2.WaitForNotification(); 146 waiter2.WaitForNotification();
147 } 147 }
148 EXPECT_EQ(8.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE)); 148 EXPECT_EQ(8.0, target->GetFloatAttribute(ui::AX_ATTR_VALUE_FOR_RANGE));
149 } 149 }
150 150
151 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, CanvasGetImage) { 151 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, CanvasGetImage) {
152 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); 152 NavigateToURL(shell(), GURL(url::kAboutBlankURL));
153 153
154 AccessibilityNotificationWaiter waiter(shell()->web_contents(), 154 AccessibilityNotificationWaiter waiter(shell()->web_contents(),
155 ACCESSIBILITY_MODE_COMPLETE, 155 AccessibilityMode::kComplete,
156 ui::AX_EVENT_LOAD_COMPLETE); 156 ui::AX_EVENT_LOAD_COMPLETE);
157 GURL url("data:text/html," 157 GURL url("data:text/html,"
158 "<body>" 158 "<body>"
159 "<canvas aria-label='canvas' id='c' width='4' height='2'></canvas>" 159 "<canvas aria-label='canvas' id='c' width='4' height='2'></canvas>"
160 "<script>\n" 160 "<script>\n"
161 " var c = document.getElementById('c').getContext('2d');\n" 161 " var c = document.getElementById('c').getContext('2d');\n"
162 " c.beginPath();\n" 162 " c.beginPath();\n"
163 " c.moveTo(0, 0.5);\n" 163 " c.moveTo(0, 0.5);\n"
164 " c.lineTo(4, 0.5);\n" 164 " c.lineTo(4, 0.5);\n"
165 " c.strokeStyle = '#ff0000';\n" 165 " c.strokeStyle = '#ff0000';\n"
166 " c.stroke();\n" 166 " c.stroke();\n"
167 " c.beginPath();\n" 167 " c.beginPath();\n"
168 " c.moveTo(0, 1.5);\n" 168 " c.moveTo(0, 1.5);\n"
169 " c.lineTo(4, 1.5);\n" 169 " c.lineTo(4, 1.5);\n"
170 " c.strokeStyle = '#0000ff';\n" 170 " c.strokeStyle = '#0000ff';\n"
171 " c.stroke();\n" 171 " c.stroke();\n"
172 "</script>" 172 "</script>"
173 "</body>"); 173 "</body>");
174 174
175 NavigateToURL(shell(), url); 175 NavigateToURL(shell(), url);
176 waiter.WaitForNotification(); 176 waiter.WaitForNotification();
177 177
178 BrowserAccessibility* target = FindNode(ui::AX_ROLE_CANVAS, "canvas"); 178 BrowserAccessibility* target = FindNode(ui::AX_ROLE_CANVAS, "canvas");
179 ASSERT_NE(nullptr, target); 179 ASSERT_NE(nullptr, target);
180 180
181 AccessibilityNotificationWaiter waiter2(shell()->web_contents(), 181 AccessibilityNotificationWaiter waiter2(shell()->web_contents(),
182 ACCESSIBILITY_MODE_COMPLETE, 182 AccessibilityMode::kComplete,
183 ui::AX_EVENT_IMAGE_FRAME_UPDATED); 183 ui::AX_EVENT_IMAGE_FRAME_UPDATED);
184 GetManager()->GetImageData(*target, gfx::Size()); 184 GetManager()->GetImageData(*target, gfx::Size());
185 waiter2.WaitForNotification(); 185 waiter2.WaitForNotification();
186 186
187 SkBitmap bitmap; 187 SkBitmap bitmap;
188 GetBitmapFromImageDataURL(target, &bitmap); 188 GetBitmapFromImageDataURL(target, &bitmap);
189 ASSERT_EQ(4, bitmap.width()); 189 ASSERT_EQ(4, bitmap.width());
190 ASSERT_EQ(2, bitmap.height()); 190 ASSERT_EQ(2, bitmap.height());
191 EXPECT_EQ(SK_ColorRED, bitmap.getColor(0, 0)); 191 EXPECT_EQ(SK_ColorRED, bitmap.getColor(0, 0));
192 EXPECT_EQ(SK_ColorRED, bitmap.getColor(1, 0)); 192 EXPECT_EQ(SK_ColorRED, bitmap.getColor(1, 0));
193 EXPECT_EQ(SK_ColorRED, bitmap.getColor(2, 0)); 193 EXPECT_EQ(SK_ColorRED, bitmap.getColor(2, 0));
194 EXPECT_EQ(SK_ColorRED, bitmap.getColor(3, 0)); 194 EXPECT_EQ(SK_ColorRED, bitmap.getColor(3, 0));
195 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(0, 1)); 195 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(0, 1));
196 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(1, 1)); 196 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(1, 1));
197 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(2, 1)); 197 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(2, 1));
198 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(3, 1)); 198 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(3, 1));
199 } 199 }
200 200
201 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, CanvasGetImageScale) { 201 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, CanvasGetImageScale) {
202 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); 202 NavigateToURL(shell(), GURL(url::kAboutBlankURL));
203 203
204 AccessibilityNotificationWaiter waiter(shell()->web_contents(), 204 AccessibilityNotificationWaiter waiter(shell()->web_contents(),
205 ACCESSIBILITY_MODE_COMPLETE, 205 AccessibilityMode::kComplete,
206 ui::AX_EVENT_LOAD_COMPLETE); 206 ui::AX_EVENT_LOAD_COMPLETE);
207 GURL url("data:text/html," 207 GURL url("data:text/html,"
208 "<body>" 208 "<body>"
209 "<canvas aria-label='canvas' id='c' width='40' height='20'></canvas>" 209 "<canvas aria-label='canvas' id='c' width='40' height='20'></canvas>"
210 "<script>\n" 210 "<script>\n"
211 " var c = document.getElementById('c').getContext('2d');\n" 211 " var c = document.getElementById('c').getContext('2d');\n"
212 " c.fillStyle = '#00ff00';\n" 212 " c.fillStyle = '#00ff00';\n"
213 " c.fillRect(0, 0, 40, 10);\n" 213 " c.fillRect(0, 0, 40, 10);\n"
214 " c.fillStyle = '#ff00ff';\n" 214 " c.fillStyle = '#ff00ff';\n"
215 " c.fillRect(0, 10, 40, 10);\n" 215 " c.fillRect(0, 10, 40, 10);\n"
216 "</script>" 216 "</script>"
217 "</body>"); 217 "</body>");
218 218
219 NavigateToURL(shell(), url); 219 NavigateToURL(shell(), url);
220 waiter.WaitForNotification(); 220 waiter.WaitForNotification();
221 221
222 BrowserAccessibility* target = FindNode(ui::AX_ROLE_CANVAS, "canvas"); 222 BrowserAccessibility* target = FindNode(ui::AX_ROLE_CANVAS, "canvas");
223 ASSERT_NE(nullptr, target); 223 ASSERT_NE(nullptr, target);
224 224
225 AccessibilityNotificationWaiter waiter2(shell()->web_contents(), 225 AccessibilityNotificationWaiter waiter2(shell()->web_contents(),
226 ACCESSIBILITY_MODE_COMPLETE, 226 AccessibilityMode::kComplete,
227 ui::AX_EVENT_IMAGE_FRAME_UPDATED); 227 ui::AX_EVENT_IMAGE_FRAME_UPDATED);
228 GetManager()->GetImageData(*target, gfx::Size(4, 4)); 228 GetManager()->GetImageData(*target, gfx::Size(4, 4));
229 waiter2.WaitForNotification(); 229 waiter2.WaitForNotification();
230 230
231 SkBitmap bitmap; 231 SkBitmap bitmap;
232 GetBitmapFromImageDataURL(target, &bitmap); 232 GetBitmapFromImageDataURL(target, &bitmap);
233 ASSERT_EQ(4, bitmap.width()); 233 ASSERT_EQ(4, bitmap.width());
234 ASSERT_EQ(2, bitmap.height()); 234 ASSERT_EQ(2, bitmap.height());
235 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(0, 0)); 235 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(0, 0));
236 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(1, 0)); 236 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(1, 0));
237 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(2, 0)); 237 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(2, 0));
238 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(3, 0)); 238 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(3, 0));
239 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(0, 1)); 239 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(0, 1));
240 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(1, 1)); 240 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(1, 1));
241 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(2, 1)); 241 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(2, 1));
242 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(3, 1)); 242 EXPECT_EQ(SK_ColorMAGENTA, bitmap.getColor(3, 1));
243 } 243 }
244 244
245 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, ImgElementGetImage) { 245 IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, ImgElementGetImage) {
246 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); 246 NavigateToURL(shell(), GURL(url::kAboutBlankURL));
247 247
248 AccessibilityNotificationWaiter waiter(shell()->web_contents(), 248 AccessibilityNotificationWaiter waiter(shell()->web_contents(),
249 ACCESSIBILITY_MODE_COMPLETE, 249 AccessibilityMode::kComplete,
250 ui::AX_EVENT_LOAD_COMPLETE); 250 ui::AX_EVENT_LOAD_COMPLETE);
251 GURL url("data:text/html," 251 GURL url("data:text/html,"
252 "<body>" 252 "<body>"
253 "<img src='data:image/gif;base64,R0lGODdhAgADAKEDAAAA//" 253 "<img src='data:image/gif;base64,R0lGODdhAgADAKEDAAAA//"
254 "8AAAD/AP///ywAAAAAAgADAAACBEwkAAUAOw=='>" 254 "8AAAD/AP///ywAAAAAAgADAAACBEwkAAUAOw=='>"
255 "</body>"); 255 "</body>");
256 256
257 NavigateToURL(shell(), url); 257 NavigateToURL(shell(), url);
258 waiter.WaitForNotification(); 258 waiter.WaitForNotification();
259 259
260 BrowserAccessibility* target = FindNode(ui::AX_ROLE_IMAGE, ""); 260 BrowserAccessibility* target = FindNode(ui::AX_ROLE_IMAGE, "");
261 ASSERT_NE(nullptr, target); 261 ASSERT_NE(nullptr, target);
262 262
263 AccessibilityNotificationWaiter waiter2(shell()->web_contents(), 263 AccessibilityNotificationWaiter waiter2(shell()->web_contents(),
264 ACCESSIBILITY_MODE_COMPLETE, 264 AccessibilityMode::kComplete,
265 ui::AX_EVENT_IMAGE_FRAME_UPDATED); 265 ui::AX_EVENT_IMAGE_FRAME_UPDATED);
266 GetManager()->GetImageData(*target, gfx::Size()); 266 GetManager()->GetImageData(*target, gfx::Size());
267 waiter2.WaitForNotification(); 267 waiter2.WaitForNotification();
268 268
269 SkBitmap bitmap; 269 SkBitmap bitmap;
270 GetBitmapFromImageDataURL(target, &bitmap); 270 GetBitmapFromImageDataURL(target, &bitmap);
271 ASSERT_EQ(2, bitmap.width()); 271 ASSERT_EQ(2, bitmap.width());
272 ASSERT_EQ(3, bitmap.height()); 272 ASSERT_EQ(3, bitmap.height());
273 EXPECT_EQ(SK_ColorRED, bitmap.getColor(0, 0)); 273 EXPECT_EQ(SK_ColorRED, bitmap.getColor(0, 0));
274 EXPECT_EQ(SK_ColorRED, bitmap.getColor(1, 0)); 274 EXPECT_EQ(SK_ColorRED, bitmap.getColor(1, 0));
275 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(0, 1)); 275 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(0, 1));
276 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(1, 1)); 276 EXPECT_EQ(SK_ColorGREEN, bitmap.getColor(1, 1));
277 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(0, 2)); 277 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(0, 2));
278 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(1, 2)); 278 EXPECT_EQ(SK_ColorBLUE, bitmap.getColor(1, 2));
279 } 279 }
280 280
281 } // namespace content 281 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698