| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "ash/common/accessibility_types.h" | 7 #include "ash/common/accessibility_types.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 // take effect. | 243 // take effect. |
| 244 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); | 244 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); |
| 245 proto.mutable_accessibility_settings()-> | 245 proto.mutable_accessibility_settings()-> |
| 246 set_login_screen_default_large_cursor_enabled(true); | 246 set_login_screen_default_large_cursor_enabled(true); |
| 247 RefreshDevicePolicyAndWaitForPrefChange( | 247 RefreshDevicePolicyAndWaitForPrefChange( |
| 248 prefs::kAccessibilityLargeCursorEnabled); | 248 prefs::kAccessibilityLargeCursorEnabled); |
| 249 | 249 |
| 250 // Verify that the pref which controls the large cursor in the login profile | 250 // Verify that the pref which controls the large cursor in the login profile |
| 251 // has changed to the policy-supplied default. | 251 // has changed to the policy-supplied default. |
| 252 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 252 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
| 253 base::FundamentalValue(true)); | 253 base::Value(true)); |
| 254 | 254 |
| 255 // Verify that the large cursor is enabled. | 255 // Verify that the large cursor is enabled. |
| 256 chromeos::AccessibilityManager* accessibility_manager = | 256 chromeos::AccessibilityManager* accessibility_manager = |
| 257 chromeos::AccessibilityManager::Get(); | 257 chromeos::AccessibilityManager::Get(); |
| 258 ASSERT_TRUE(accessibility_manager); | 258 ASSERT_TRUE(accessibility_manager); |
| 259 EXPECT_TRUE(accessibility_manager->IsLargeCursorEnabled()); | 259 EXPECT_TRUE(accessibility_manager->IsLargeCursorEnabled()); |
| 260 } | 260 } |
| 261 | 261 |
| 262 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyLoginScreenBrowsertest, | 262 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyLoginScreenBrowsertest, |
| 263 DeviceLoginScreenDefaultSpokenFeedbackEnabled) { | 263 DeviceLoginScreenDefaultSpokenFeedbackEnabled) { |
| 264 // Verifies that the default state of the spoken feedback accessibility | 264 // Verifies that the default state of the spoken feedback accessibility |
| 265 // feature on the login screen can be controlled through device policy. | 265 // feature on the login screen can be controlled through device policy. |
| 266 | 266 |
| 267 // Enable spoken feedback through device policy and wait for the change to | 267 // Enable spoken feedback through device policy and wait for the change to |
| 268 // take effect. | 268 // take effect. |
| 269 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); | 269 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); |
| 270 proto.mutable_accessibility_settings()-> | 270 proto.mutable_accessibility_settings()-> |
| 271 set_login_screen_default_spoken_feedback_enabled(true); | 271 set_login_screen_default_spoken_feedback_enabled(true); |
| 272 RefreshDevicePolicyAndWaitForPrefChange( | 272 RefreshDevicePolicyAndWaitForPrefChange( |
| 273 prefs::kAccessibilitySpokenFeedbackEnabled); | 273 prefs::kAccessibilitySpokenFeedbackEnabled); |
| 274 | 274 |
| 275 // Verify that the pref which controls spoken feedback in the login profile | 275 // Verify that the pref which controls spoken feedback in the login profile |
| 276 // has changed to the policy-supplied default. | 276 // has changed to the policy-supplied default. |
| 277 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 277 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 278 base::FundamentalValue(true)); | 278 base::Value(true)); |
| 279 | 279 |
| 280 // Verify that spoken feedback is enabled. | 280 // Verify that spoken feedback is enabled. |
| 281 chromeos::AccessibilityManager* accessibility_manager = | 281 chromeos::AccessibilityManager* accessibility_manager = |
| 282 chromeos::AccessibilityManager::Get(); | 282 chromeos::AccessibilityManager::Get(); |
| 283 ASSERT_TRUE(accessibility_manager); | 283 ASSERT_TRUE(accessibility_manager); |
| 284 EXPECT_TRUE(accessibility_manager->IsSpokenFeedbackEnabled()); | 284 EXPECT_TRUE(accessibility_manager->IsSpokenFeedbackEnabled()); |
| 285 } | 285 } |
| 286 | 286 |
| 287 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyLoginScreenBrowsertest, | 287 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyLoginScreenBrowsertest, |
| 288 DeviceLoginScreenDefaultHighContrastEnabled) { | 288 DeviceLoginScreenDefaultHighContrastEnabled) { |
| 289 // Verifies that the default state of the high contrast mode accessibility | 289 // Verifies that the default state of the high contrast mode accessibility |
| 290 // feature on the login screen can be controlled through device policy. | 290 // feature on the login screen can be controlled through device policy. |
| 291 | 291 |
| 292 // Enable high contrast mode through device policy and wait for the change to | 292 // Enable high contrast mode through device policy and wait for the change to |
| 293 // take effect. | 293 // take effect. |
| 294 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); | 294 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); |
| 295 proto.mutable_accessibility_settings()-> | 295 proto.mutable_accessibility_settings()-> |
| 296 set_login_screen_default_high_contrast_enabled(true); | 296 set_login_screen_default_high_contrast_enabled(true); |
| 297 RefreshDevicePolicyAndWaitForPrefChange( | 297 RefreshDevicePolicyAndWaitForPrefChange( |
| 298 prefs::kAccessibilityHighContrastEnabled); | 298 prefs::kAccessibilityHighContrastEnabled); |
| 299 | 299 |
| 300 // Verify that the pref which controls high contrast mode in the login profile | 300 // Verify that the pref which controls high contrast mode in the login profile |
| 301 // has changed to the policy-supplied default. | 301 // has changed to the policy-supplied default. |
| 302 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 302 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
| 303 base::FundamentalValue(true)); | 303 base::Value(true)); |
| 304 | 304 |
| 305 // Verify that high contrast mode is enabled. | 305 // Verify that high contrast mode is enabled. |
| 306 chromeos::AccessibilityManager* accessibility_manager = | 306 chromeos::AccessibilityManager* accessibility_manager = |
| 307 chromeos::AccessibilityManager::Get(); | 307 chromeos::AccessibilityManager::Get(); |
| 308 ASSERT_TRUE(accessibility_manager); | 308 ASSERT_TRUE(accessibility_manager); |
| 309 EXPECT_TRUE(accessibility_manager->IsHighContrastEnabled()); | 309 EXPECT_TRUE(accessibility_manager->IsHighContrastEnabled()); |
| 310 } | 310 } |
| 311 | 311 |
| 312 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyLoginScreenBrowsertest, | 312 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyLoginScreenBrowsertest, |
| 313 DeviceLoginScreenDefaultScreenMagnifierType) { | 313 DeviceLoginScreenDefaultScreenMagnifierType) { |
| 314 // Verifies that the default screen magnifier type enabled on the login screen | 314 // Verifies that the default screen magnifier type enabled on the login screen |
| 315 // can be controlled through device policy. | 315 // can be controlled through device policy. |
| 316 | 316 |
| 317 // Set the screen magnifier type through device policy and wait for the change | 317 // Set the screen magnifier type through device policy and wait for the change |
| 318 // to take effect. | 318 // to take effect. |
| 319 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); | 319 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); |
| 320 proto.mutable_accessibility_settings()-> | 320 proto.mutable_accessibility_settings()-> |
| 321 set_login_screen_default_screen_magnifier_type(kFullScreenMagnifier); | 321 set_login_screen_default_screen_magnifier_type(kFullScreenMagnifier); |
| 322 RefreshDevicePolicyAndWaitForPrefChange( | 322 RefreshDevicePolicyAndWaitForPrefChange( |
| 323 prefs::kAccessibilityScreenMagnifierType); | 323 prefs::kAccessibilityScreenMagnifierType); |
| 324 | 324 |
| 325 // Verify that the prefs which control the screen magnifier type have changed | 325 // Verify that the prefs which control the screen magnifier type have changed |
| 326 // to the policy-supplied default. | 326 // to the policy-supplied default. |
| 327 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 327 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
| 328 base::FundamentalValue(true)); | 328 base::Value(true)); |
| 329 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 329 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
| 330 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 330 base::Value(ash::MAGNIFIER_FULL)); |
| 331 | 331 |
| 332 // Verify that the full-screen magnifier is enabled. | 332 // Verify that the full-screen magnifier is enabled. |
| 333 chromeos::MagnificationManager* magnification_manager = | 333 chromeos::MagnificationManager* magnification_manager = |
| 334 chromeos::MagnificationManager::Get(); | 334 chromeos::MagnificationManager::Get(); |
| 335 ASSERT_TRUE(magnification_manager); | 335 ASSERT_TRUE(magnification_manager); |
| 336 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled()); | 336 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled()); |
| 337 EXPECT_EQ(ash::MAGNIFIER_FULL, magnification_manager->GetMagnifierType()); | 337 EXPECT_EQ(ash::MAGNIFIER_FULL, magnification_manager->GetMagnifierType()); |
| 338 } | 338 } |
| 339 | 339 |
| 340 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyInSessionBrowsertest, | 340 IN_PROC_BROWSER_TEST_F(LoginScreenDefaultPolicyInSessionBrowsertest, |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 // to take effect. | 448 // to take effect. |
| 449 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); | 449 em::ChromeDeviceSettingsProto& proto(device_policy()->payload()); |
| 450 proto.mutable_accessibility_settings()-> | 450 proto.mutable_accessibility_settings()-> |
| 451 set_login_screen_default_virtual_keyboard_enabled(true); | 451 set_login_screen_default_virtual_keyboard_enabled(true); |
| 452 RefreshDevicePolicyAndWaitForPrefChange( | 452 RefreshDevicePolicyAndWaitForPrefChange( |
| 453 prefs::kAccessibilityVirtualKeyboardEnabled); | 453 prefs::kAccessibilityVirtualKeyboardEnabled); |
| 454 | 454 |
| 455 // Verify that the pref which controls the on-screen keyboard in the login | 455 // Verify that the pref which controls the on-screen keyboard in the login |
| 456 // profile has changed to the policy-supplied default. | 456 // profile has changed to the policy-supplied default. |
| 457 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 457 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 458 base::FundamentalValue(true)); | 458 base::Value(true)); |
| 459 | 459 |
| 460 // Verify that the on-screen keyboard is enabled. | 460 // Verify that the on-screen keyboard is enabled. |
| 461 chromeos::AccessibilityManager* accessibility_manager = | 461 chromeos::AccessibilityManager* accessibility_manager = |
| 462 chromeos::AccessibilityManager::Get(); | 462 chromeos::AccessibilityManager::Get(); |
| 463 ASSERT_TRUE(accessibility_manager); | 463 ASSERT_TRUE(accessibility_manager); |
| 464 EXPECT_TRUE(accessibility_manager->IsVirtualKeyboardEnabled()); | 464 EXPECT_TRUE(accessibility_manager->IsVirtualKeyboardEnabled()); |
| 465 } | 465 } |
| 466 | 466 |
| 467 } // namespace policy | 467 } // namespace policy |
| OLD | NEW |