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