| 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 "chrome/browser/chromeos/policy/recommendation_restorer.h" | 5 #include "chrome/browser/chromeos/policy/recommendation_restorer.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "ash/common/accessibility_types.h" | 10 #include "ash/common/accessibility_types.h" |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 prefs_->FindPreference(pref_name); | 179 prefs_->FindPreference(pref_name); |
| 180 ASSERT_TRUE(pref); | 180 ASSERT_TRUE(pref); |
| 181 EXPECT_TRUE(pref->HasUserSetting()); | 181 EXPECT_TRUE(pref->HasUserSetting()); |
| 182 const base::Value* value = pref->GetValue(); | 182 const base::Value* value = pref->GetValue(); |
| 183 ASSERT_TRUE(value); | 183 ASSERT_TRUE(value); |
| 184 EXPECT_TRUE(expected_value.Equals(value)); | 184 EXPECT_TRUE(expected_value.Equals(value)); |
| 185 } | 185 } |
| 186 | 186 |
| 187 void RecommendationRestorerTest::VerifyPrefsFollowUser() const { | 187 void RecommendationRestorerTest::VerifyPrefsFollowUser() const { |
| 188 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 188 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
| 189 base::FundamentalValue(true)); | 189 base::Value(true)); |
| 190 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 190 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 191 base::FundamentalValue(true)); | 191 base::Value(true)); |
| 192 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 192 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
| 193 base::FundamentalValue(true)); | 193 base::Value(true)); |
| 194 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 194 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
| 195 base::FundamentalValue(true)); | 195 base::Value(true)); |
| 196 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 196 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
| 197 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 197 base::Value(ash::MAGNIFIER_FULL)); |
| 198 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 198 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 199 base::FundamentalValue(true)); | 199 base::Value(true)); |
| 200 } | 200 } |
| 201 | 201 |
| 202 void RecommendationRestorerTest::VerifyPrefFollowsRecommendation( | 202 void RecommendationRestorerTest::VerifyPrefFollowsRecommendation( |
| 203 const char* pref_name, | 203 const char* pref_name, |
| 204 const base::Value& expected_value) const { | 204 const base::Value& expected_value) const { |
| 205 const sync_preferences::PrefServiceSyncable::Preference* pref = | 205 const sync_preferences::PrefServiceSyncable::Preference* pref = |
| 206 prefs_->FindPreference(pref_name); | 206 prefs_->FindPreference(pref_name); |
| 207 ASSERT_TRUE(pref); | 207 ASSERT_TRUE(pref); |
| 208 EXPECT_TRUE(pref->IsRecommended()); | 208 EXPECT_TRUE(pref->IsRecommended()); |
| 209 EXPECT_FALSE(pref->HasUserSetting()); | 209 EXPECT_FALSE(pref->HasUserSetting()); |
| 210 const base::Value* value = pref->GetValue(); | 210 const base::Value* value = pref->GetValue(); |
| 211 ASSERT_TRUE(value); | 211 ASSERT_TRUE(value); |
| 212 EXPECT_TRUE(expected_value.Equals(value)); | 212 EXPECT_TRUE(expected_value.Equals(value)); |
| 213 } | 213 } |
| 214 | 214 |
| 215 void RecommendationRestorerTest::VerifyPrefsFollowRecommendations() const { | 215 void RecommendationRestorerTest::VerifyPrefsFollowRecommendations() const { |
| 216 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 216 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
| 217 base::FundamentalValue(false)); | 217 base::Value(false)); |
| 218 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 218 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 219 base::FundamentalValue(false)); | 219 base::Value(false)); |
| 220 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 220 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
| 221 base::FundamentalValue(false)); | 221 base::Value(false)); |
| 222 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 222 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
| 223 base::FundamentalValue(false)); | 223 base::Value(false)); |
| 224 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 224 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
| 225 base::FundamentalValue(0)); | 225 base::Value(0)); |
| 226 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 226 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 227 base::FundamentalValue(false)); | 227 base::Value(false)); |
| 228 } | 228 } |
| 229 | 229 |
| 230 void RecommendationRestorerTest::VerifyNotListeningForNotifications() const { | 230 void RecommendationRestorerTest::VerifyNotListeningForNotifications() const { |
| 231 ASSERT_TRUE(restorer_); | 231 ASSERT_TRUE(restorer_); |
| 232 EXPECT_TRUE(restorer_->pref_change_registrar_.IsEmpty()); | 232 EXPECT_TRUE(restorer_->pref_change_registrar_.IsEmpty()); |
| 233 EXPECT_TRUE(restorer_->notification_registrar_.IsEmpty()); | 233 EXPECT_TRUE(restorer_->notification_registrar_.IsEmpty()); |
| 234 } | 234 } |
| 235 | 235 |
| 236 void RecommendationRestorerTest::VerifyTimerIsStopped() const { | 236 void RecommendationRestorerTest::VerifyTimerIsStopped() const { |
| 237 ASSERT_TRUE(restorer_); | 237 ASSERT_TRUE(restorer_); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 // shown, a timer is started that will clear user settings eventually. | 291 // shown, a timer is started that will clear user settings eventually. |
| 292 RegisterLoginProfilePrefs(); | 292 RegisterLoginProfilePrefs(); |
| 293 SetUserSettings(); | 293 SetUserSettings(); |
| 294 | 294 |
| 295 CreateLoginProfile(); | 295 CreateLoginProfile(); |
| 296 | 296 |
| 297 VerifyTimerIsStopped(); | 297 VerifyTimerIsStopped(); |
| 298 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, | 298 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, |
| 299 false); | 299 false); |
| 300 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 300 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
| 301 base::FundamentalValue(true)); | 301 base::Value(true)); |
| 302 VerifyTimerIsRunning(); | 302 VerifyTimerIsRunning(); |
| 303 runner_->RunUntilIdle(); | 303 runner_->RunUntilIdle(); |
| 304 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 304 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
| 305 base::FundamentalValue(false)); | 305 base::Value(false)); |
| 306 | 306 |
| 307 VerifyTimerIsStopped(); | 307 VerifyTimerIsStopped(); |
| 308 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, | 308 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 309 false); | 309 false); |
| 310 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 310 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 311 base::FundamentalValue(true)); | 311 base::Value(true)); |
| 312 VerifyTimerIsRunning(); | 312 VerifyTimerIsRunning(); |
| 313 runner_->RunUntilIdle(); | 313 runner_->RunUntilIdle(); |
| 314 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 314 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 315 base::FundamentalValue(false)); | 315 base::Value(false)); |
| 316 | 316 |
| 317 VerifyTimerIsStopped(); | 317 VerifyTimerIsStopped(); |
| 318 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, | 318 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, |
| 319 false); | 319 false); |
| 320 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 320 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
| 321 base::FundamentalValue(true)); | 321 base::Value(true)); |
| 322 VerifyTimerIsRunning(); | 322 VerifyTimerIsRunning(); |
| 323 runner_->RunUntilIdle(); | 323 runner_->RunUntilIdle(); |
| 324 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 324 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
| 325 base::FundamentalValue(false)); | 325 base::Value(false)); |
| 326 | 326 |
| 327 VerifyTimerIsStopped(); | 327 VerifyTimerIsStopped(); |
| 328 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, | 328 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, |
| 329 false); | 329 false); |
| 330 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); | 330 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); |
| 331 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 331 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
| 332 base::FundamentalValue(true)); | 332 base::Value(true)); |
| 333 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 333 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
| 334 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 334 base::Value(ash::MAGNIFIER_FULL)); |
| 335 VerifyTimerIsRunning(); | 335 VerifyTimerIsRunning(); |
| 336 runner_->RunUntilIdle(); | 336 runner_->RunUntilIdle(); |
| 337 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 337 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
| 338 base::FundamentalValue(false)); | 338 base::Value(false)); |
| 339 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 339 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
| 340 base::FundamentalValue(0)); | 340 base::Value(0)); |
| 341 VerifyTimerIsStopped(); | 341 VerifyTimerIsStopped(); |
| 342 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, | 342 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 343 false); | 343 false); |
| 344 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 344 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 345 base::FundamentalValue(true)); | 345 base::Value(true)); |
| 346 VerifyTimerIsRunning(); | 346 VerifyTimerIsRunning(); |
| 347 runner_->RunUntilIdle(); | 347 runner_->RunUntilIdle(); |
| 348 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 348 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 349 base::FundamentalValue(false)); | 349 base::Value(false)); |
| 350 VerifyTimerIsStopped(); | 350 VerifyTimerIsStopped(); |
| 351 } | 351 } |
| 352 | 352 |
| 353 TEST_F(RecommendationRestorerTest, RestoreOnRecommendationChangeInUserSession) { | 353 TEST_F(RecommendationRestorerTest, RestoreOnRecommendationChangeInUserSession) { |
| 354 // Verifies that if recommended values change while a user session is in | 354 // Verifies that if recommended values change while a user session is in |
| 355 // progress, user settings are cleared immediately. | 355 // progress, user settings are cleared immediately. |
| 356 RegisterLoginProfilePrefs(); | 356 RegisterLoginProfilePrefs(); |
| 357 SetUserSettings(); | 357 SetUserSettings(); |
| 358 | 358 |
| 359 CreateLoginProfile(); | 359 CreateLoginProfile(); |
| 360 NotifyOfSessionStart(); | 360 NotifyOfSessionStart(); |
| 361 | 361 |
| 362 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 362 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
| 363 base::FundamentalValue(true)); | 363 base::Value(true)); |
| 364 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, | 364 recommended_prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, |
| 365 false); | 365 false); |
| 366 VerifyTimerIsStopped(); | 366 VerifyTimerIsStopped(); |
| 367 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 367 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
| 368 base::FundamentalValue(false)); | 368 base::Value(false)); |
| 369 | 369 |
| 370 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 370 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 371 base::FundamentalValue(true)); | 371 base::Value(true)); |
| 372 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, | 372 recommended_prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 373 false); | 373 false); |
| 374 VerifyTimerIsStopped(); | 374 VerifyTimerIsStopped(); |
| 375 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 375 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 376 base::FundamentalValue(false)); | 376 base::Value(false)); |
| 377 | 377 |
| 378 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 378 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
| 379 base::FundamentalValue(true)); | 379 base::Value(true)); |
| 380 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, | 380 recommended_prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, |
| 381 false); | 381 false); |
| 382 VerifyTimerIsStopped(); | 382 VerifyTimerIsStopped(); |
| 383 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 383 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
| 384 base::FundamentalValue(false)); | 384 base::Value(false)); |
| 385 | 385 |
| 386 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 386 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
| 387 base::FundamentalValue(true)); | 387 base::Value(true)); |
| 388 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 388 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
| 389 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 389 base::Value(ash::MAGNIFIER_FULL)); |
| 390 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, | 390 recommended_prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, |
| 391 false); | 391 false); |
| 392 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); | 392 recommended_prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, 0); |
| 393 VerifyTimerIsStopped(); | 393 VerifyTimerIsStopped(); |
| 394 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 394 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
| 395 base::FundamentalValue(false)); | 395 base::Value(false)); |
| 396 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 396 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
| 397 base::FundamentalValue(0)); | 397 base::Value(0)); |
| 398 | 398 |
| 399 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 399 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 400 base::FundamentalValue(true)); | 400 base::Value(true)); |
| 401 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, | 401 recommended_prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 402 false); | 402 false); |
| 403 VerifyTimerIsStopped(); | 403 VerifyTimerIsStopped(); |
| 404 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 404 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 405 base::FundamentalValue(false)); | 405 base::Value(false)); |
| 406 } | 406 } |
| 407 | 407 |
| 408 TEST_F(RecommendationRestorerTest, DoNothingOnUserChange) { | 408 TEST_F(RecommendationRestorerTest, DoNothingOnUserChange) { |
| 409 // Verifies that if no recommended values have been set and user settings | 409 // Verifies that if no recommended values have been set and user settings |
| 410 // change, the user settings are not cleared immediately and no timer is | 410 // change, the user settings are not cleared immediately and no timer is |
| 411 // started that will clear the user settings eventually. | 411 // started that will clear the user settings eventually. |
| 412 RegisterLoginProfilePrefs(); | 412 RegisterLoginProfilePrefs(); |
| 413 CreateLoginProfile(); | 413 CreateLoginProfile(); |
| 414 | 414 |
| 415 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); | 415 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); |
| 416 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 416 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
| 417 base::FundamentalValue(true)); | 417 base::Value(true)); |
| 418 VerifyTimerIsStopped(); | 418 VerifyTimerIsStopped(); |
| 419 | 419 |
| 420 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); | 420 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); |
| 421 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 421 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 422 base::FundamentalValue(true)); | 422 base::Value(true)); |
| 423 VerifyTimerIsStopped(); | 423 VerifyTimerIsStopped(); |
| 424 | 424 |
| 425 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); | 425 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); |
| 426 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 426 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
| 427 base::FundamentalValue(true)); | 427 base::Value(true)); |
| 428 VerifyTimerIsStopped(); | 428 VerifyTimerIsStopped(); |
| 429 | 429 |
| 430 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); | 430 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); |
| 431 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 431 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
| 432 base::FundamentalValue(true)); | 432 base::Value(true)); |
| 433 VerifyTimerIsStopped(); | 433 VerifyTimerIsStopped(); |
| 434 | 434 |
| 435 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); | 435 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); |
| 436 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, | 436 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, |
| 437 ash::MAGNIFIER_FULL); | 437 ash::MAGNIFIER_FULL); |
| 438 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 438 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
| 439 base::FundamentalValue(true)); | 439 base::Value(true)); |
| 440 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 440 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
| 441 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 441 base::Value(ash::MAGNIFIER_FULL)); |
| 442 VerifyTimerIsStopped(); | 442 VerifyTimerIsStopped(); |
| 443 | 443 |
| 444 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); | 444 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); |
| 445 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 445 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 446 base::FundamentalValue(true)); | 446 base::Value(true)); |
| 447 VerifyTimerIsStopped(); | 447 VerifyTimerIsStopped(); |
| 448 } | 448 } |
| 449 | 449 |
| 450 TEST_F(RecommendationRestorerTest, RestoreOnUserChange) { | 450 TEST_F(RecommendationRestorerTest, RestoreOnUserChange) { |
| 451 // Verifies that if recommended values have been set and user settings change | 451 // Verifies that if recommended values have been set and user settings change |
| 452 // while the login screen is being shown, a timer is started that will clear | 452 // while the login screen is being shown, a timer is started that will clear |
| 453 // the user settings eventually. | 453 // the user settings eventually. |
| 454 RegisterLoginProfilePrefs(); | 454 RegisterLoginProfilePrefs(); |
| 455 SetRecommendedValues(); | 455 SetRecommendedValues(); |
| 456 | 456 |
| 457 CreateLoginProfile(); | 457 CreateLoginProfile(); |
| 458 | 458 |
| 459 VerifyTimerIsStopped(); | 459 VerifyTimerIsStopped(); |
| 460 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); | 460 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); |
| 461 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 461 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
| 462 base::FundamentalValue(true)); | 462 base::Value(true)); |
| 463 VerifyTimerIsRunning(); | 463 VerifyTimerIsRunning(); |
| 464 runner_->RunUntilIdle(); | 464 runner_->RunUntilIdle(); |
| 465 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 465 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
| 466 base::FundamentalValue(false)); | 466 base::Value(false)); |
| 467 | 467 |
| 468 VerifyTimerIsStopped(); | 468 VerifyTimerIsStopped(); |
| 469 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); | 469 prefs_->SetBoolean(prefs::kAccessibilitySpokenFeedbackEnabled, true); |
| 470 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, | 470 VerifyPrefFollowsUser(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 471 base::FundamentalValue(true)); | 471 base::Value(true)); |
| 472 VerifyTimerIsRunning(); | 472 VerifyTimerIsRunning(); |
| 473 runner_->RunUntilIdle(); | 473 runner_->RunUntilIdle(); |
| 474 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, | 474 VerifyPrefFollowsRecommendation(prefs::kAccessibilitySpokenFeedbackEnabled, |
| 475 base::FundamentalValue(false)); | 475 base::Value(false)); |
| 476 | 476 |
| 477 VerifyTimerIsStopped(); | 477 VerifyTimerIsStopped(); |
| 478 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); | 478 prefs_->SetBoolean(prefs::kAccessibilityHighContrastEnabled, true); |
| 479 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, | 479 VerifyPrefFollowsUser(prefs::kAccessibilityHighContrastEnabled, |
| 480 base::FundamentalValue(true)); | 480 base::Value(true)); |
| 481 VerifyTimerIsRunning(); | 481 VerifyTimerIsRunning(); |
| 482 runner_->RunUntilIdle(); | 482 runner_->RunUntilIdle(); |
| 483 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, | 483 VerifyPrefFollowsRecommendation(prefs::kAccessibilityHighContrastEnabled, |
| 484 base::FundamentalValue(false)); | 484 base::Value(false)); |
| 485 | 485 |
| 486 VerifyTimerIsStopped(); | 486 VerifyTimerIsStopped(); |
| 487 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); | 487 prefs_->SetBoolean(prefs::kAccessibilityScreenMagnifierEnabled, true); |
| 488 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, | 488 prefs_->SetInteger(prefs::kAccessibilityScreenMagnifierType, |
| 489 ash::MAGNIFIER_FULL); | 489 ash::MAGNIFIER_FULL); |
| 490 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, | 490 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierEnabled, |
| 491 base::FundamentalValue(true)); | 491 base::Value(true)); |
| 492 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, | 492 VerifyPrefFollowsUser(prefs::kAccessibilityScreenMagnifierType, |
| 493 base::FundamentalValue(ash::MAGNIFIER_FULL)); | 493 base::Value(ash::MAGNIFIER_FULL)); |
| 494 VerifyTimerIsRunning(); | 494 VerifyTimerIsRunning(); |
| 495 runner_->RunUntilIdle(); | 495 runner_->RunUntilIdle(); |
| 496 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, | 496 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierEnabled, |
| 497 base::FundamentalValue(false)); | 497 base::Value(false)); |
| 498 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, | 498 VerifyPrefFollowsRecommendation(prefs::kAccessibilityScreenMagnifierType, |
| 499 base::FundamentalValue(0)); | 499 base::Value(0)); |
| 500 | 500 |
| 501 VerifyTimerIsStopped(); | 501 VerifyTimerIsStopped(); |
| 502 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); | 502 prefs_->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, true); |
| 503 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, | 503 VerifyPrefFollowsUser(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 504 base::FundamentalValue(true)); | 504 base::Value(true)); |
| 505 VerifyTimerIsRunning(); | 505 VerifyTimerIsRunning(); |
| 506 runner_->RunUntilIdle(); | 506 runner_->RunUntilIdle(); |
| 507 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, | 507 VerifyPrefFollowsRecommendation(prefs::kAccessibilityVirtualKeyboardEnabled, |
| 508 base::FundamentalValue(false)); | 508 base::Value(false)); |
| 509 | 509 |
| 510 VerifyTimerIsStopped(); | 510 VerifyTimerIsStopped(); |
| 511 } | 511 } |
| 512 | 512 |
| 513 TEST_F(RecommendationRestorerTest, RestoreOnSessionStart) { | 513 TEST_F(RecommendationRestorerTest, RestoreOnSessionStart) { |
| 514 // Verifies that if recommended values have been set, user settings have | 514 // Verifies that if recommended values have been set, user settings have |
| 515 // changed and a session is then started, the user settings are cleared | 515 // changed and a session is then started, the user settings are cleared |
| 516 // immediately and the timer that would have cleared them eventually on the | 516 // immediately and the timer that would have cleared them eventually on the |
| 517 // login screen is stopped. | 517 // login screen is stopped. |
| 518 RegisterLoginProfilePrefs(); | 518 RegisterLoginProfilePrefs(); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 549 CreateLoginProfile(); | 549 CreateLoginProfile(); |
| 550 | 550 |
| 551 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); | 551 prefs_->SetBoolean(prefs::kAccessibilityLargeCursorEnabled, true); |
| 552 VerifyTimerIsRunning(); | 552 VerifyTimerIsRunning(); |
| 553 | 553 |
| 554 // Notify that there is user activity, then fast forward until the originally | 554 // Notify that there is user activity, then fast forward until the originally |
| 555 // set timer fires. | 555 // set timer fires. |
| 556 NotifyOfUserActivity(); | 556 NotifyOfUserActivity(); |
| 557 runner_->RunPendingTasks(); | 557 runner_->RunPendingTasks(); |
| 558 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, | 558 VerifyPrefFollowsUser(prefs::kAccessibilityLargeCursorEnabled, |
| 559 base::FundamentalValue(true)); | 559 base::Value(true)); |
| 560 | 560 |
| 561 // Fast forward until the reset timer fires. | 561 // Fast forward until the reset timer fires. |
| 562 VerifyTimerIsRunning(); | 562 VerifyTimerIsRunning(); |
| 563 runner_->RunUntilIdle(); | 563 runner_->RunUntilIdle(); |
| 564 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, | 564 VerifyPrefFollowsRecommendation(prefs::kAccessibilityLargeCursorEnabled, |
| 565 base::FundamentalValue(false)); | 565 base::Value(false)); |
| 566 VerifyTimerIsStopped(); | 566 VerifyTimerIsStopped(); |
| 567 } | 567 } |
| 568 | 568 |
| 569 } // namespace policy | 569 } // namespace policy |
| OLD | NEW |