| 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 "chrome/browser/chromeos/login/wizard_controller.h" | 5 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 6 | 6 |
| 7 #include "ash/common/accessibility_types.h" | 7 #include "ash/common/accessibility_types.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| 11 #include "base/run_loop.h" | 11 #include "base/run_loop.h" |
| 12 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
| 13 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
| 14 #include "chrome/browser/browser_process.h" | 14 #include "chrome/browser/browser_process.h" |
| 15 #include "chrome/browser/browser_shutdown.h" | 15 #include "chrome/browser/browser_shutdown.h" |
| 16 #include "chrome/browser/chrome_notification_types.h" | 16 #include "chrome/browser/chrome_notification_types.h" |
| 17 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 17 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
| 18 #include "chrome/browser/chromeos/base/locale_util.h" | 18 #include "chrome/browser/chromeos/base/locale_util.h" |
| 19 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 19 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
| 20 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper.
h" | 20 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper.
h" |
| 21 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc
reen.h" | 21 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc
reen.h" |
| 22 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" | 22 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" |
| 23 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 23 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 24 #include "chrome/browser/chromeos/login/oobe_screen.h" | 24 #include "chrome/browser/chromeos/login/oobe_screen.h" |
| 25 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" | 25 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" |
| 26 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 26 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
| 27 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" | 27 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" |
| 28 #include "chrome/browser/chromeos/login/screens/mock_device_disabled_screen_view
.h" | |
| 29 #include "chrome/browser/chromeos/login/screens/mock_enable_debugging_screen.h" | 28 #include "chrome/browser/chromeos/login/screens/mock_enable_debugging_screen.h" |
| 30 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" | 29 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" |
| 31 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" | 30 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" |
| 32 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" | 31 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" |
| 33 #include "chrome/browser/chromeos/login/screens/mock_wrong_hwid_screen.h" | 32 #include "chrome/browser/chromeos/login/screens/mock_wrong_hwid_screen.h" |
| 34 #include "chrome/browser/chromeos/login/screens/network_screen.h" | 33 #include "chrome/browser/chromeos/login/screens/network_screen.h" |
| 35 #include "chrome/browser/chromeos/login/screens/reset_screen.h" | 34 #include "chrome/browser/chromeos/login/screens/reset_screen.h" |
| 36 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" | 35 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" |
| 37 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" | 36 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" |
| 38 #include "chrome/browser/chromeos/login/startup_utils.h" | 37 #include "chrome/browser/chromeos/login/startup_utils.h" |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT, | 437 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT, |
| 439 MockEnrollmentScreen, MockEnrollmentScreenView); | 438 MockEnrollmentScreen, MockEnrollmentScreenView); |
| 440 MOCK(mock_auto_enrollment_check_screen_, | 439 MOCK(mock_auto_enrollment_check_screen_, |
| 441 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK, | 440 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK, |
| 442 MockAutoEnrollmentCheckScreen, MockAutoEnrollmentCheckScreenView); | 441 MockAutoEnrollmentCheckScreen, MockAutoEnrollmentCheckScreenView); |
| 443 MOCK(mock_wrong_hwid_screen_, OobeScreen::SCREEN_WRONG_HWID, | 442 MOCK(mock_wrong_hwid_screen_, OobeScreen::SCREEN_WRONG_HWID, |
| 444 MockWrongHWIDScreen, MockWrongHWIDScreenView); | 443 MockWrongHWIDScreen, MockWrongHWIDScreenView); |
| 445 MOCK(mock_enable_debugging_screen_, | 444 MOCK(mock_enable_debugging_screen_, |
| 446 OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING, MockEnableDebuggingScreen, | 445 OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING, MockEnableDebuggingScreen, |
| 447 MockCoreOobeView); | 446 MockCoreOobeView); |
| 448 device_disabled_screen_view_.reset(new MockDeviceDisabledScreenView); | 447 core_oobe_view_.reset(new MockCoreOobeView); |
| 449 wizard_controller->screen_manager() | 448 wizard_controller->screen_manager() |
| 450 ->screens_[OobeScreen::SCREEN_DEVICE_DISABLED] = | 449 ->screens_[OobeScreen::SCREEN_DEVICE_DISABLED] = |
| 451 base::MakeUnique<DeviceDisabledScreen>( | 450 base::MakeUnique<DeviceDisabledScreen>(wizard_controller, |
| 452 wizard_controller, device_disabled_screen_view_.get()); | 451 core_oobe_view_.get()); |
| 453 EXPECT_CALL(*device_disabled_screen_view_, Show()).Times(0); | 452 EXPECT_CALL(*core_oobe_view_, Show(DeviceDisabledScreen::kScreenId)) |
| 453 .Times(0); |
| 454 | 454 |
| 455 // Switch to the initial screen. | 455 // Switch to the initial screen. |
| 456 EXPECT_EQ(NULL, wizard_controller->current_screen()); | 456 EXPECT_EQ(NULL, wizard_controller->current_screen()); |
| 457 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 457 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
| 458 wizard_controller->AdvanceToScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 458 wizard_controller->AdvanceToScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 459 } | 459 } |
| 460 | 460 |
| 461 void TearDownOnMainThread() override { | 461 void TearDownOnMainThread() override { |
| 462 mock_network_screen_ = nullptr; | 462 mock_network_screen_ = nullptr; |
| 463 device_disabled_screen_view_.reset(); | 463 core_oobe_view_.reset(); |
| 464 WizardControllerTest::TearDownOnMainThread(); | 464 WizardControllerTest::TearDownOnMainThread(); |
| 465 } | 465 } |
| 466 | 466 |
| 467 void TearDown() override { | 467 void TearDown() override { |
| 468 if (fallback_fetcher_factory_) { | 468 if (fallback_fetcher_factory_) { |
| 469 fetcher_factory_.reset(); | 469 fetcher_factory_.reset(); |
| 470 net::URLFetcherImpl::set_factory(fallback_fetcher_factory_.get()); | 470 net::URLFetcherImpl::set_factory(fallback_fetcher_factory_.get()); |
| 471 fallback_fetcher_factory_.reset(); | 471 fallback_fetcher_factory_.reset(); |
| 472 } | 472 } |
| 473 } | 473 } |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_; | 577 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_; |
| 578 MockOutShowHide<MockEnrollmentScreen, MockEnrollmentScreenView>* | 578 MockOutShowHide<MockEnrollmentScreen, MockEnrollmentScreenView>* |
| 579 mock_enrollment_screen_; | 579 mock_enrollment_screen_; |
| 580 MockOutShowHide<MockAutoEnrollmentCheckScreen, | 580 MockOutShowHide<MockAutoEnrollmentCheckScreen, |
| 581 MockAutoEnrollmentCheckScreenView>* | 581 MockAutoEnrollmentCheckScreenView>* |
| 582 mock_auto_enrollment_check_screen_; | 582 mock_auto_enrollment_check_screen_; |
| 583 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenView>* | 583 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenView>* |
| 584 mock_wrong_hwid_screen_; | 584 mock_wrong_hwid_screen_; |
| 585 MockOutShowHide<MockEnableDebuggingScreen, MockCoreOobeView>* | 585 MockOutShowHide<MockEnableDebuggingScreen, MockCoreOobeView>* |
| 586 mock_enable_debugging_screen_; | 586 mock_enable_debugging_screen_; |
| 587 std::unique_ptr<MockDeviceDisabledScreenView> device_disabled_screen_view_; | 587 std::unique_ptr<MockCoreOobeView> core_oobe_view_; |
| 588 | 588 |
| 589 private: | 589 private: |
| 590 NetworkPortalDetectorTestImpl* network_portal_detector_; | 590 NetworkPortalDetectorTestImpl* network_portal_detector_; |
| 591 | 591 |
| 592 // Use a test factory as a fallback so we don't have to deal with other | 592 // Use a test factory as a fallback so we don't have to deal with other |
| 593 // requests. | 593 // requests. |
| 594 std::unique_ptr<WizardControllerTestURLFetcherFactory> | 594 std::unique_ptr<WizardControllerTestURLFetcherFactory> |
| 595 fallback_fetcher_factory_; | 595 fallback_fetcher_factory_; |
| 596 std::unique_ptr<net::FakeURLFetcherFactory> fetcher_factory_; | 596 std::unique_ptr<net::FakeURLFetcherFactory> fetcher_factory_; |
| 597 | 597 |
| (...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 968 // The error screen shows up if device state could not be retrieved. | 968 // The error screen shows up if device state could not be retrieved. |
| 969 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 969 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 970 EXPECT_EQ(GetErrorScreen(), | 970 EXPECT_EQ(GetErrorScreen(), |
| 971 WizardController::default_controller()->current_screen()); | 971 WizardController::default_controller()->current_screen()); |
| 972 base::DictionaryValue device_state; | 972 base::DictionaryValue device_state; |
| 973 device_state.SetString(policy::kDeviceStateRestoreMode, | 973 device_state.SetString(policy::kDeviceStateRestoreMode, |
| 974 policy::kDeviceStateRestoreModeDisabled); | 974 policy::kDeviceStateRestoreModeDisabled); |
| 975 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage); | 975 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage); |
| 976 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, | 976 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, |
| 977 device_state); | 977 device_state); |
| 978 EXPECT_CALL(*device_disabled_screen_view_, UpdateMessage(kDisabledMessage)) | 978 EXPECT_CALL(*core_oobe_view_, UpdateDeviceDisabledMessage(kDisabledMessage)) |
| 979 .Times(1); | 979 .Times(1); |
| 980 EXPECT_CALL(*device_disabled_screen_view_, Show()).Times(1); | 980 EXPECT_CALL(*core_oobe_view_, Show(DeviceDisabledScreen::kScreenId)).Times(1); |
| 981 OnExit(*mock_auto_enrollment_check_screen_, | 981 OnExit(*mock_auto_enrollment_check_screen_, |
| 982 ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 982 ScreenExitCode::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 983 | 983 |
| 984 ResetAutoEnrollmentCheckScreen(); | 984 ResetAutoEnrollmentCheckScreen(); |
| 985 | 985 |
| 986 // Make sure the device disabled screen is shown. | 986 // Make sure the device disabled screen is shown. |
| 987 CheckCurrentScreen(OobeScreen::SCREEN_DEVICE_DISABLED); | 987 CheckCurrentScreen(OobeScreen::SCREEN_DEVICE_DISABLED); |
| 988 | 988 |
| 989 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 989 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 990 } | 990 } |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1334 | 1334 |
| 1335 // TODO(dzhioev): Add tests for controller/host pairing flow. | 1335 // TODO(dzhioev): Add tests for controller/host pairing flow. |
| 1336 // http://crbug.com/375191 | 1336 // http://crbug.com/375191 |
| 1337 | 1337 |
| 1338 // TODO(khmel): Add tests for ARC OptIn flow. | 1338 // TODO(khmel): Add tests for ARC OptIn flow. |
| 1339 // http://crbug.com/651144 | 1339 // http://crbug.com/651144 |
| 1340 static_assert(static_cast<int>(ScreenExitCode::EXIT_CODES_COUNT) == 25, | 1340 static_assert(static_cast<int>(ScreenExitCode::EXIT_CODES_COUNT) == 25, |
| 1341 "tests for new control flow are missing"); | 1341 "tests for new control flow are missing"); |
| 1342 | 1342 |
| 1343 } // namespace chromeos | 1343 } // namespace chromeos |
| OLD | NEW |