| OLD | NEW |
| 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 "ash/magnifier/magnification_controller.h" | 5 #include "ash/magnifier/magnification_controller.h" |
| 6 #include "ash/shell.h" | 6 #include "ash/shell.h" |
| 7 #include "ash/system/tray/system_tray.h" | 7 #include "ash/system/tray/system_tray.h" |
| 8 #include "ash/system/tray_accessibility.h" | 8 #include "ash/system/tray_accessibility.h" |
| 9 #include "ash/system/user/login_status.h" | 9 #include "ash/system/user/login_status.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| 11 #include "base/prefs/pref_service.h" | 11 #include "base/prefs/pref_service.h" |
| 12 #include "chrome/browser/browser_process.h" | 12 #include "chrome/browser/browser_process.h" |
| 13 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" | 13 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
| 14 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" | 14 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" |
| 15 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" | 15 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" |
| 16 #include "chrome/browser/chromeos/login/helper.h" | 16 #include "chrome/browser/chromeos/login/helper.h" |
| 17 #include "chrome/browser/chromeos/login/login_utils.h" | 17 #include "chrome/browser/chromeos/login/login_utils.h" |
| 18 #include "chrome/browser/chromeos/login/startup_utils.h" | 18 #include "chrome/browser/chromeos/login/startup_utils.h" |
| 19 #include "chrome/browser/chromeos/login/user_manager.h" | 19 #include "chrome/browser/chromeos/login/user_manager.h" |
| 20 #include "chrome/browser/chromeos/login/user_manager_impl.h" | 20 #include "chrome/browser/chromeos/login/user_manager_impl.h" |
| 21 #include "chrome/browser/policy/browser_policy_connector.h" | 21 #include "chrome/browser/policy/browser_policy_connector.h" |
| 22 #include "chrome/browser/policy/mock_configuration_policy_provider.h" | 22 #include "chrome/browser/policy/mock_configuration_policy_provider.h" |
| 23 #include "chrome/browser/policy/policy_map.h" | 23 #include "chrome/browser/policy/policy_map.h" |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 // Confirms that the icon is invisible before login. | 184 // Confirms that the icon is invisible before login. |
| 185 EXPECT_FALSE(IsTrayIconVisible()); | 185 EXPECT_FALSE(IsTrayIconVisible()); |
| 186 | 186 |
| 187 UserManager::Get()->UserLoggedIn( | 187 UserManager::Get()->UserLoggedIn( |
| 188 "owner@invalid.domain", "owner@invalid.domain", true); | 188 "owner@invalid.domain", "owner@invalid.domain", true); |
| 189 UserManager::Get()->SessionStarted(); | 189 UserManager::Get()->SessionStarted(); |
| 190 | 190 |
| 191 // Confirms that the icon is invisible just after login. | 191 // Confirms that the icon is invisible just after login. |
| 192 EXPECT_FALSE(IsTrayIconVisible()); | 192 EXPECT_FALSE(IsTrayIconVisible()); |
| 193 | 193 |
| 194 // Toggling spoken feedback changes the visibility of the icon. | 194 // Toggling spoken feedback changes the visibillity of the icon. |
| 195 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 195 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 196 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 196 EXPECT_TRUE(IsTrayIconVisible()); | 197 EXPECT_TRUE(IsTrayIconVisible()); |
| 197 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 198 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 199 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 198 EXPECT_FALSE(IsTrayIconVisible()); | 200 EXPECT_FALSE(IsTrayIconVisible()); |
| 199 | 201 |
| 200 // Toggling high contrast the visibility of the icon. | 202 // Toggling high contrast the visibillity of the icon. |
| 201 accessibility::EnableHighContrast(true); | 203 AccessibilityManager::Get()->EnableHighContrast(true); |
| 202 EXPECT_TRUE(IsTrayIconVisible()); | 204 EXPECT_TRUE(IsTrayIconVisible()); |
| 203 accessibility::EnableHighContrast(false); | 205 AccessibilityManager::Get()->EnableHighContrast(false); |
| 204 EXPECT_FALSE(IsTrayIconVisible()); | 206 EXPECT_FALSE(IsTrayIconVisible()); |
| 205 | 207 |
| 206 // Toggling magnifier the visibility of the icon. | 208 // Toggling magnifier the visibility of the icon. |
| 207 SetMagnifierEnabled(true); | 209 SetMagnifierEnabled(true); |
| 208 EXPECT_TRUE(IsTrayIconVisible()); | 210 EXPECT_TRUE(IsTrayIconVisible()); |
| 209 SetMagnifierEnabled(false); | 211 SetMagnifierEnabled(false); |
| 210 EXPECT_FALSE(IsTrayIconVisible()); | 212 EXPECT_FALSE(IsTrayIconVisible()); |
| 211 | 213 |
| 212 // Enabling all accessibility features. | 214 // Enabling all accessibility features. |
| 213 SetMagnifierEnabled(true); | 215 SetMagnifierEnabled(true); |
| 214 EXPECT_TRUE(IsTrayIconVisible()); | 216 EXPECT_TRUE(IsTrayIconVisible()); |
| 215 accessibility::EnableHighContrast(true); | 217 AccessibilityManager::Get()->EnableHighContrast(true); |
| 216 EXPECT_TRUE(IsTrayIconVisible()); | 218 EXPECT_TRUE(IsTrayIconVisible()); |
| 217 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 219 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 220 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 218 EXPECT_TRUE(IsTrayIconVisible()); | 221 EXPECT_TRUE(IsTrayIconVisible()); |
| 219 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 222 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 223 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 220 EXPECT_TRUE(IsTrayIconVisible()); | 224 EXPECT_TRUE(IsTrayIconVisible()); |
| 221 accessibility::EnableHighContrast(false); | 225 AccessibilityManager::Get()->EnableHighContrast(false); |
| 222 EXPECT_TRUE(IsTrayIconVisible()); | 226 EXPECT_TRUE(IsTrayIconVisible()); |
| 223 SetMagnifierEnabled(false); | 227 SetMagnifierEnabled(false); |
| 224 EXPECT_FALSE(IsTrayIconVisible()); | 228 EXPECT_FALSE(IsTrayIconVisible()); |
| 225 | 229 |
| 226 // Confirms that prefs::kShouldAlwaysShowAccessibilityMenu doesn't affect | 230 // Confirms that prefs::kShouldAlwaysShowAccessibilityMenu doesn't affect |
| 227 // the icon on the tray. | 231 // the icon on the tray. |
| 228 SetShowAccessibilityOptionsInSystemTrayMenu(true); | 232 SetShowAccessibilityOptionsInSystemTrayMenu(true); |
| 229 accessibility::EnableHighContrast(true); | 233 AccessibilityManager::Get()->EnableHighContrast(true); |
| 230 EXPECT_TRUE(IsTrayIconVisible()); | 234 EXPECT_TRUE(IsTrayIconVisible()); |
| 231 accessibility::EnableHighContrast(false); | 235 AccessibilityManager::Get()->EnableHighContrast(false); |
| 232 EXPECT_FALSE(IsTrayIconVisible()); | 236 EXPECT_FALSE(IsTrayIconVisible()); |
| 233 } | 237 } |
| 234 | 238 |
| 235 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenu) { | 239 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenu) { |
| 236 // Login | 240 // Login |
| 237 UserManager::Get()->UserLoggedIn( | 241 UserManager::Get()->UserLoggedIn( |
| 238 "owner@invalid.domain", "owner@invalid.domain", true); | 242 "owner@invalid.domain", "owner@invalid.domain", true); |
| 239 UserManager::Get()->SessionStarted(); | 243 UserManager::Get()->SessionStarted(); |
| 240 | 244 |
| 241 SetShowAccessibilityOptionsInSystemTrayMenu(false); | 245 SetShowAccessibilityOptionsInSystemTrayMenu(false); |
| 242 | 246 |
| 243 // Confirms that the menu is hidden. | 247 // Confirms that the menu is hidden. |
| 244 EXPECT_FALSE(CanCreateMenuItem()); | 248 EXPECT_FALSE(CanCreateMenuItem()); |
| 245 | 249 |
| 246 // Toggling spoken feedback changes the visibility of the menu. | 250 // Toggling spoken feedback changes the visibillity of the menu. |
| 247 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 251 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 252 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 248 EXPECT_TRUE(CanCreateMenuItem()); | 253 EXPECT_TRUE(CanCreateMenuItem()); |
| 249 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 254 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 255 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 250 EXPECT_FALSE(CanCreateMenuItem()); | 256 EXPECT_FALSE(CanCreateMenuItem()); |
| 251 | 257 |
| 252 // Toggling high contrast changes the visibility of the menu. | 258 // Toggling high contrast changes the visibillity of the menu. |
| 253 accessibility::EnableHighContrast(true); | 259 AccessibilityManager::Get()->EnableHighContrast(true); |
| 254 EXPECT_TRUE(CanCreateMenuItem()); | 260 EXPECT_TRUE(CanCreateMenuItem()); |
| 255 accessibility::EnableHighContrast(false); | 261 AccessibilityManager::Get()->EnableHighContrast(false); |
| 256 EXPECT_FALSE(CanCreateMenuItem()); | 262 EXPECT_FALSE(CanCreateMenuItem()); |
| 257 | 263 |
| 258 // Toggling screen magnifier changes the visibility of the menu. | 264 // Toggling screen magnifier changes the visibility of the menu. |
| 259 SetMagnifierEnabled(true); | 265 SetMagnifierEnabled(true); |
| 260 EXPECT_TRUE(CanCreateMenuItem()); | 266 EXPECT_TRUE(CanCreateMenuItem()); |
| 261 SetMagnifierEnabled(false); | 267 SetMagnifierEnabled(false); |
| 262 EXPECT_FALSE(CanCreateMenuItem()); | 268 EXPECT_FALSE(CanCreateMenuItem()); |
| 263 | 269 |
| 264 // Enabling all accessibility features. | 270 // Enabling all accessibility features. |
| 265 SetMagnifierEnabled(true); | 271 SetMagnifierEnabled(true); |
| 266 EXPECT_TRUE(CanCreateMenuItem()); | 272 EXPECT_TRUE(CanCreateMenuItem()); |
| 267 accessibility::EnableHighContrast(true); | 273 AccessibilityManager::Get()->EnableHighContrast(true); |
| 268 EXPECT_TRUE(CanCreateMenuItem()); | 274 EXPECT_TRUE(CanCreateMenuItem()); |
| 269 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 275 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 276 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 270 EXPECT_TRUE(CanCreateMenuItem()); | 277 EXPECT_TRUE(CanCreateMenuItem()); |
| 271 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 278 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 279 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 272 EXPECT_TRUE(CanCreateMenuItem()); | 280 EXPECT_TRUE(CanCreateMenuItem()); |
| 273 accessibility::EnableHighContrast(false); | 281 AccessibilityManager::Get()->EnableHighContrast(false); |
| 274 EXPECT_TRUE(CanCreateMenuItem()); | 282 EXPECT_TRUE(CanCreateMenuItem()); |
| 275 SetMagnifierEnabled(false); | 283 SetMagnifierEnabled(false); |
| 276 EXPECT_FALSE(CanCreateMenuItem()); | 284 EXPECT_FALSE(CanCreateMenuItem()); |
| 277 } | 285 } |
| 278 | 286 |
| 279 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowMenuOption) { | 287 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowMenuOption) { |
| 280 // Login | 288 // Login |
| 281 UserManager::Get()->UserLoggedIn( | 289 UserManager::Get()->UserLoggedIn( |
| 282 "owner@invalid.domain", "owner@invalid.domain", true); | 290 "owner@invalid.domain", "owner@invalid.domain", true); |
| 283 UserManager::Get()->SessionStarted(); | 291 UserManager::Get()->SessionStarted(); |
| 284 | 292 |
| 285 SetShowAccessibilityOptionsInSystemTrayMenu(true); | 293 SetShowAccessibilityOptionsInSystemTrayMenu(true); |
| 286 | 294 |
| 287 // Confirms that the menu is visible. | 295 // Confirms that the menu is visible. |
| 288 EXPECT_TRUE(CanCreateMenuItem()); | 296 EXPECT_TRUE(CanCreateMenuItem()); |
| 289 | 297 |
| 290 // The menu is keeping visible regardless of toggling spoken feedback. | 298 // The menu is keeping visible regardless of toggling spoken feedback. |
| 291 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 299 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 300 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 292 EXPECT_TRUE(CanCreateMenuItem()); | 301 EXPECT_TRUE(CanCreateMenuItem()); |
| 293 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 302 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 303 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 294 EXPECT_TRUE(CanCreateMenuItem()); | 304 EXPECT_TRUE(CanCreateMenuItem()); |
| 295 | 305 |
| 296 // The menu is keeping visible regardless of toggling high contrast. | 306 // The menu is keeping visible regardless of toggling high contrast. |
| 297 accessibility::EnableHighContrast(true); | 307 AccessibilityManager::Get()->EnableHighContrast(true); |
| 298 EXPECT_TRUE(CanCreateMenuItem()); | 308 EXPECT_TRUE(CanCreateMenuItem()); |
| 299 accessibility::EnableHighContrast(false); | 309 AccessibilityManager::Get()->EnableHighContrast(false); |
| 300 EXPECT_TRUE(CanCreateMenuItem()); | 310 EXPECT_TRUE(CanCreateMenuItem()); |
| 301 | 311 |
| 302 // The menu is keeping visible regardless of toggling screen magnifier. | 312 // The menu is keeping visible regardless of toggling screen magnifier. |
| 303 SetMagnifierEnabled(true); | 313 SetMagnifierEnabled(true); |
| 304 EXPECT_TRUE(CanCreateMenuItem()); | 314 EXPECT_TRUE(CanCreateMenuItem()); |
| 305 SetMagnifierEnabled(false); | 315 SetMagnifierEnabled(false); |
| 306 EXPECT_TRUE(CanCreateMenuItem()); | 316 EXPECT_TRUE(CanCreateMenuItem()); |
| 307 | 317 |
| 308 // Enabling all accessibility features. | 318 // Enabling all accessibility features. |
| 309 SetMagnifierEnabled(true); | 319 SetMagnifierEnabled(true); |
| 310 EXPECT_TRUE(CanCreateMenuItem()); | 320 EXPECT_TRUE(CanCreateMenuItem()); |
| 311 accessibility::EnableHighContrast(true); | 321 AccessibilityManager::Get()->EnableHighContrast(true); |
| 312 EXPECT_TRUE(CanCreateMenuItem()); | 322 EXPECT_TRUE(CanCreateMenuItem()); |
| 313 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 323 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 324 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 314 EXPECT_TRUE(CanCreateMenuItem()); | 325 EXPECT_TRUE(CanCreateMenuItem()); |
| 315 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 326 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 327 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 316 EXPECT_TRUE(CanCreateMenuItem()); | 328 EXPECT_TRUE(CanCreateMenuItem()); |
| 317 accessibility::EnableHighContrast(false); | 329 AccessibilityManager::Get()->EnableHighContrast(false); |
| 318 EXPECT_TRUE(CanCreateMenuItem()); | 330 EXPECT_TRUE(CanCreateMenuItem()); |
| 319 SetMagnifierEnabled(false); | 331 SetMagnifierEnabled(false); |
| 320 EXPECT_TRUE(CanCreateMenuItem()); | 332 EXPECT_TRUE(CanCreateMenuItem()); |
| 321 | 333 |
| 322 SetShowAccessibilityOptionsInSystemTrayMenu(false); | 334 SetShowAccessibilityOptionsInSystemTrayMenu(false); |
| 323 | 335 |
| 324 // Confirms that the menu is invisible. | 336 // Confirms that the menu is invisible. |
| 325 EXPECT_FALSE(CanCreateMenuItem()); | 337 EXPECT_FALSE(CanCreateMenuItem()); |
| 326 } | 338 } |
| 327 | 339 |
| 328 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) { | 340 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) { |
| 329 SetLoginStatus(ash::user::LOGGED_IN_NONE); | 341 SetLoginStatus(ash::user::LOGGED_IN_NONE); |
| 330 | 342 |
| 331 // Confirms that the menu is visible. | 343 // Confirms that the menu is visible. |
| 332 EXPECT_TRUE(CanCreateMenuItem()); | 344 EXPECT_TRUE(CanCreateMenuItem()); |
| 333 | 345 |
| 334 // The menu is keeping visible regardless of toggling spoken feedback. | 346 // The menu is keeping visible regardless of toggling spoken feedback. |
| 335 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 347 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 348 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 336 EXPECT_TRUE(CanCreateMenuItem()); | 349 EXPECT_TRUE(CanCreateMenuItem()); |
| 337 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 350 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 351 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 338 EXPECT_TRUE(CanCreateMenuItem()); | 352 EXPECT_TRUE(CanCreateMenuItem()); |
| 339 | 353 |
| 340 // The menu is keeping visible regardless of toggling high contrast. | 354 // The menu is keeping visible regardless of toggling high contrast. |
| 341 accessibility::EnableHighContrast(true); | 355 AccessibilityManager::Get()->EnableHighContrast(true); |
| 342 EXPECT_TRUE(CanCreateMenuItem()); | 356 EXPECT_TRUE(CanCreateMenuItem()); |
| 343 accessibility::EnableHighContrast(false); | 357 AccessibilityManager::Get()->EnableHighContrast(false); |
| 344 EXPECT_TRUE(CanCreateMenuItem()); | 358 EXPECT_TRUE(CanCreateMenuItem()); |
| 345 | 359 |
| 346 // The menu is keeping visible regardless of toggling screen magnifier. | 360 // The menu is keeping visible regardless of toggling screen magnifier. |
| 347 SetMagnifierEnabled(true); | 361 SetMagnifierEnabled(true); |
| 348 EXPECT_TRUE(CanCreateMenuItem()); | 362 EXPECT_TRUE(CanCreateMenuItem()); |
| 349 SetMagnifierEnabled(false); | 363 SetMagnifierEnabled(false); |
| 350 EXPECT_TRUE(CanCreateMenuItem()); | 364 EXPECT_TRUE(CanCreateMenuItem()); |
| 351 | 365 |
| 352 // Enabling all accessibility features. | 366 // Enabling all accessibility features. |
| 353 SetMagnifierEnabled(true); | 367 SetMagnifierEnabled(true); |
| 354 EXPECT_TRUE(CanCreateMenuItem()); | 368 EXPECT_TRUE(CanCreateMenuItem()); |
| 355 accessibility::EnableHighContrast(true); | 369 AccessibilityManager::Get()->EnableHighContrast(true); |
| 356 EXPECT_TRUE(CanCreateMenuItem()); | 370 EXPECT_TRUE(CanCreateMenuItem()); |
| 357 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 371 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 372 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 358 EXPECT_TRUE(CanCreateMenuItem()); | 373 EXPECT_TRUE(CanCreateMenuItem()); |
| 359 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 374 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 375 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 360 EXPECT_TRUE(CanCreateMenuItem()); | 376 EXPECT_TRUE(CanCreateMenuItem()); |
| 361 accessibility::EnableHighContrast(false); | 377 AccessibilityManager::Get()->EnableHighContrast(false); |
| 362 EXPECT_TRUE(CanCreateMenuItem()); | 378 EXPECT_TRUE(CanCreateMenuItem()); |
| 363 SetMagnifierEnabled(false); | 379 SetMagnifierEnabled(false); |
| 364 EXPECT_TRUE(CanCreateMenuItem()); | 380 EXPECT_TRUE(CanCreateMenuItem()); |
| 365 | 381 |
| 366 SetShowAccessibilityOptionsInSystemTrayMenu(true); | 382 SetShowAccessibilityOptionsInSystemTrayMenu(true); |
| 367 | 383 |
| 368 // Confirms that the menu is keeping visible. | 384 // Confirms that the menu is keeping visible. |
| 369 EXPECT_TRUE(CanCreateMenuItem()); | 385 EXPECT_TRUE(CanCreateMenuItem()); |
| 370 | 386 |
| 371 SetShowAccessibilityOptionsInSystemTrayMenu(false); | 387 SetShowAccessibilityOptionsInSystemTrayMenu(false); |
| 372 | 388 |
| 373 // Confirms that the menu is keeping visible. | 389 // Confirms that the menu is keeping visible. |
| 374 EXPECT_TRUE(CanCreateMenuItem()); | 390 EXPECT_TRUE(CanCreateMenuItem()); |
| 375 } | 391 } |
| 376 | 392 |
| 377 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, KeepMenuVisibilityOnLockScreen) { | 393 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, KeepMenuVisibilityOnLockScreen) { |
| 378 // Enables high contrast mode. | 394 // Enables high contrast mode. |
| 379 accessibility::EnableHighContrast(true); | 395 AccessibilityManager::Get()->EnableHighContrast(true); |
| 380 EXPECT_TRUE(CanCreateMenuItem()); | 396 EXPECT_TRUE(CanCreateMenuItem()); |
| 381 | 397 |
| 382 // Locks the screen. | 398 // Locks the screen. |
| 383 SetLoginStatus(ash::user::LOGGED_IN_LOCKED); | 399 SetLoginStatus(ash::user::LOGGED_IN_LOCKED); |
| 384 EXPECT_TRUE(CanCreateMenuItem()); | 400 EXPECT_TRUE(CanCreateMenuItem()); |
| 385 | 401 |
| 386 // Disables high contrast mode. | 402 // Disables high contrast mode. |
| 387 accessibility::EnableHighContrast(false); | 403 AccessibilityManager::Get()->EnableHighContrast(false); |
| 388 | 404 |
| 389 // Confirms that the menu is still visible. | 405 // Confirms that the menu is still visible. |
| 390 EXPECT_TRUE(CanCreateMenuItem()); | 406 EXPECT_TRUE(CanCreateMenuItem()); |
| 391 } | 407 } |
| 392 | 408 |
| 393 #if defined(OS_CHROMEOS) | 409 #if defined(OS_CHROMEOS) |
| 394 #define MAYBE_ClickDetailMenu DISABLED_ClickDetailMenu | 410 #define MAYBE_ClickDetailMenu DISABLED_ClickDetailMenu |
| 395 #else | 411 #else |
| 396 #define MAYBE_ClickDetailMenu ClickDetailMenu | 412 #define MAYBE_ClickDetailMenu ClickDetailMenu |
| 397 #endif | 413 #endif |
| 398 | 414 |
| 399 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, MAYBE_ClickDetailMenu) { | 415 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, MAYBE_ClickDetailMenu) { |
| 400 // Confirms that the check item toggles the spoken feedback. | 416 // Confirms that the check item toggles the spoken feedback. |
| 401 EXPECT_FALSE(accessibility::IsSpokenFeedbackEnabled()); | 417 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); |
| 402 | 418 |
| 403 EXPECT_TRUE(CreateDetailedMenu()); | 419 EXPECT_TRUE(CreateDetailedMenu()); |
| 404 ClickSpokenFeedbackOnDetailMenu(); | 420 ClickSpokenFeedbackOnDetailMenu(); |
| 405 EXPECT_TRUE(accessibility::IsSpokenFeedbackEnabled()); | 421 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); |
| 406 | 422 |
| 407 EXPECT_TRUE(CreateDetailedMenu()); | 423 EXPECT_TRUE(CreateDetailedMenu()); |
| 408 ClickSpokenFeedbackOnDetailMenu(); | 424 ClickSpokenFeedbackOnDetailMenu(); |
| 409 EXPECT_FALSE(accessibility::IsSpokenFeedbackEnabled()); | 425 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); |
| 410 | 426 |
| 411 // Confirms that the check item toggles the high contrast. | 427 // Confirms that the check item toggles the high contrast. |
| 412 EXPECT_FALSE(accessibility::IsHighContrastEnabled()); | 428 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled()); |
| 413 | 429 |
| 414 EXPECT_TRUE(CreateDetailedMenu()); | 430 EXPECT_TRUE(CreateDetailedMenu()); |
| 415 ClickHighContrastOnDetailMenu(); | 431 ClickHighContrastOnDetailMenu(); |
| 416 EXPECT_TRUE(accessibility::IsHighContrastEnabled()); | 432 EXPECT_TRUE(AccessibilityManager::Get()->IsHighContrastEnabled()); |
| 417 | 433 |
| 418 EXPECT_TRUE(CreateDetailedMenu()); | 434 EXPECT_TRUE(CreateDetailedMenu()); |
| 419 ClickHighContrastOnDetailMenu(); | 435 ClickHighContrastOnDetailMenu(); |
| 420 EXPECT_FALSE(accessibility::IsHighContrastEnabled()); | 436 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled()); |
| 421 | 437 |
| 422 // Confirms that the check item toggles the magnifier. | 438 // Confirms that the check item toggles the magnifier. |
| 423 EXPECT_FALSE(accessibility::IsHighContrastEnabled()); | 439 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled()); |
| 424 | 440 |
| 425 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled()); | 441 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled()); |
| 426 EXPECT_TRUE(CreateDetailedMenu()); | 442 EXPECT_TRUE(CreateDetailedMenu()); |
| 427 ClickScreenMagnifierOnDetailMenu(); | 443 ClickScreenMagnifierOnDetailMenu(); |
| 428 EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled()); | 444 EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled()); |
| 429 | 445 |
| 430 EXPECT_TRUE(CreateDetailedMenu()); | 446 EXPECT_TRUE(CreateDetailedMenu()); |
| 431 ClickScreenMagnifierOnDetailMenu(); | 447 ClickScreenMagnifierOnDetailMenu(); |
| 432 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled()); | 448 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled()); |
| 433 } | 449 } |
| 434 | 450 |
| 435 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) { | 451 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) { |
| 436 // At first, all of the check is unchecked. | 452 // At first, all of the check is unchecked. |
| 437 EXPECT_TRUE(CreateDetailedMenu()); | 453 EXPECT_TRUE(CreateDetailedMenu()); |
| 438 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); | 454 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 439 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); | 455 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); |
| 440 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); | 456 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 441 CloseDetailMenu(); | 457 CloseDetailMenu(); |
| 442 | 458 |
| 443 // Enabling spoken feedback. | 459 // Enabling spoken feedback. |
| 444 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 460 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 461 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 445 EXPECT_TRUE(CreateDetailedMenu()); | 462 EXPECT_TRUE(CreateDetailedMenu()); |
| 446 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu()); | 463 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 447 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); | 464 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); |
| 448 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); | 465 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 449 CloseDetailMenu(); | 466 CloseDetailMenu(); |
| 450 | 467 |
| 451 // Disabling spoken feedback. | 468 // Disabling spoken feedback. |
| 452 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 469 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 470 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 453 EXPECT_TRUE(CreateDetailedMenu()); | 471 EXPECT_TRUE(CreateDetailedMenu()); |
| 454 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); | 472 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 455 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); | 473 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); |
| 456 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); | 474 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 457 CloseDetailMenu(); | 475 CloseDetailMenu(); |
| 458 | 476 |
| 459 // Enabling high contrast. | 477 // Enabling high contrast. |
| 460 accessibility::EnableHighContrast(true); | 478 AccessibilityManager::Get()->EnableHighContrast(true); |
| 461 EXPECT_TRUE(CreateDetailedMenu()); | 479 EXPECT_TRUE(CreateDetailedMenu()); |
| 462 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); | 480 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 463 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu()); | 481 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu()); |
| 464 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); | 482 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 465 CloseDetailMenu(); | 483 CloseDetailMenu(); |
| 466 | 484 |
| 467 // Disabling high contrast. | 485 // Disabling high contrast. |
| 468 accessibility::EnableHighContrast(false); | 486 AccessibilityManager::Get()->EnableHighContrast(false); |
| 469 EXPECT_TRUE(CreateDetailedMenu()); | 487 EXPECT_TRUE(CreateDetailedMenu()); |
| 470 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); | 488 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 471 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); | 489 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); |
| 472 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); | 490 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 473 CloseDetailMenu(); | 491 CloseDetailMenu(); |
| 474 | 492 |
| 475 // Enabling full screen magnifier. | 493 // Enabling full screen magnifier. |
| 476 SetMagnifierEnabled(true); | 494 SetMagnifierEnabled(true); |
| 477 EXPECT_TRUE(CreateDetailedMenu()); | 495 EXPECT_TRUE(CreateDetailedMenu()); |
| 478 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); | 496 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 479 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); | 497 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); |
| 480 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu()); | 498 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 481 CloseDetailMenu(); | 499 CloseDetailMenu(); |
| 482 | 500 |
| 483 // Disabling screen magnifier. | 501 // Disabling screen magnifier. |
| 484 SetMagnifierEnabled(false); | 502 SetMagnifierEnabled(false); |
| 485 EXPECT_TRUE(CreateDetailedMenu()); | 503 EXPECT_TRUE(CreateDetailedMenu()); |
| 486 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); | 504 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 487 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); | 505 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); |
| 488 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); | 506 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 489 CloseDetailMenu(); | 507 CloseDetailMenu(); |
| 490 | 508 |
| 491 // Enabling all of the a11y features. | 509 // Enabling all of the a11y features. |
| 492 accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE); | 510 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 493 accessibility::EnableHighContrast(true); | 511 true, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 512 AccessibilityManager::Get()->EnableHighContrast(true); |
| 494 SetMagnifierEnabled(true); | 513 SetMagnifierEnabled(true); |
| 495 EXPECT_TRUE(CreateDetailedMenu()); | 514 EXPECT_TRUE(CreateDetailedMenu()); |
| 496 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu()); | 515 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 497 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu()); | 516 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu()); |
| 498 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu()); | 517 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 499 CloseDetailMenu(); | 518 CloseDetailMenu(); |
| 500 | 519 |
| 501 // Disabling all of the a11y features. | 520 // Disabling all of the a11y features. |
| 502 accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE); | 521 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 503 accessibility::EnableHighContrast(false); | 522 false, NULL, ash::A11Y_NOTIFICATION_NONE); |
| 523 AccessibilityManager::Get()->EnableHighContrast(false); |
| 504 SetMagnifierEnabled(false); | 524 SetMagnifierEnabled(false); |
| 505 EXPECT_TRUE(CreateDetailedMenu()); | 525 EXPECT_TRUE(CreateDetailedMenu()); |
| 506 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); | 526 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); |
| 507 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); | 527 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); |
| 508 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); | 528 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); |
| 509 CloseDetailMenu(); | 529 CloseDetailMenu(); |
| 510 } | 530 } |
| 511 | 531 |
| 512 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, | 532 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, |
| 513 TrayAccessibilityTest, | 533 TrayAccessibilityTest, |
| 514 testing::Values(PREF_SERVICE, | 534 testing::Values(PREF_SERVICE, |
| 515 POLICY)); | 535 POLICY)); |
| 516 | 536 |
| 517 } // namespace chromeos | 537 } // namespace chromeos |
| OLD | NEW |