OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 <memory> | 5 #include <memory> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "apps/test/app_window_waiter.h" | 8 #include "apps/test/app_window_waiter.h" |
9 #include "ash/common/wallpaper/wallpaper_controller.h" | 9 #include "ash/common/wallpaper/wallpaper_controller.h" |
10 #include "ash/common/wallpaper/wallpaper_controller_observer.h" | 10 #include "ash/common/wallpaper/wallpaper_controller_observer.h" |
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
544 fake_cws_->Init(embedded_test_server()); | 544 fake_cws_->Init(embedded_test_server()); |
545 | 545 |
546 if (use_consumer_kiosk_mode_) | 546 if (use_consumer_kiosk_mode_) |
547 command_line->AppendSwitch(switches::kEnableConsumerKiosk); | 547 command_line->AppendSwitch(switches::kEnableConsumerKiosk); |
548 } | 548 } |
549 | 549 |
550 void LaunchApp(const std::string& app_id, bool diagnostic_mode) { | 550 void LaunchApp(const std::string& app_id, bool diagnostic_mode) { |
551 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI(); | 551 bool new_kiosk_ui = KioskAppMenuHandler::EnableNewKioskUI(); |
552 GetLoginUI()->CallJavascriptFunctionUnsafe( | 552 GetLoginUI()->CallJavascriptFunctionUnsafe( |
553 new_kiosk_ui ? kLaunchAppForTestNewAPI : kLaunchAppForTestOldAPI, | 553 new_kiosk_ui ? kLaunchAppForTestNewAPI : kLaunchAppForTestOldAPI, |
554 base::StringValue(app_id), base::Value(diagnostic_mode)); | 554 base::Value(app_id), base::Value(diagnostic_mode)); |
555 } | 555 } |
556 | 556 |
557 void ReloadKioskApps() { | 557 void ReloadKioskApps() { |
558 SetupTestAppUpdateCheck(); | 558 SetupTestAppUpdateCheck(); |
559 | 559 |
560 // Remove then add to ensure NOTIFICATION_KIOSK_APPS_LOADED fires. | 560 // Remove then add to ensure NOTIFICATION_KIOSK_APPS_LOADED fires. |
561 KioskAppManager::Get()->RemoveApp(test_app_id_, | 561 KioskAppManager::Get()->RemoveApp(test_app_id_, |
562 owner_settings_service_.get()); | 562 owner_settings_service_.get()); |
563 KioskAppManager::Get()->AddApp(test_app_id_, owner_settings_service_.get()); | 563 KioskAppManager::Get()->AddApp(test_app_id_, owner_settings_service_.get()); |
564 } | 564 } |
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
947 | 947 |
948 // Start app launch and wait for network connectivity timeout. | 948 // Start app launch and wait for network connectivity timeout. |
949 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); | 949 StartAppLaunchFromLoginScreen(SimulateNetworkOnlineClosure()); |
950 OobeScreenWaiter splash_waiter(OobeScreen::SCREEN_APP_LAUNCH_SPLASH); | 950 OobeScreenWaiter splash_waiter(OobeScreen::SCREEN_APP_LAUNCH_SPLASH); |
951 splash_waiter.Wait(); | 951 splash_waiter.Wait(); |
952 | 952 |
953 // A network error screen should be shown after authenticating. | 953 // A network error screen should be shown after authenticating. |
954 OobeScreenWaiter error_screen_waiter(OobeScreen::SCREEN_ERROR_MESSAGE); | 954 OobeScreenWaiter error_screen_waiter(OobeScreen::SCREEN_ERROR_MESSAGE); |
955 // Simulate Ctrl+Alt+N accelerator. | 955 // Simulate Ctrl+Alt+N accelerator. |
956 GetLoginUI()->CallJavascriptFunctionUnsafe( | 956 GetLoginUI()->CallJavascriptFunctionUnsafe( |
957 "cr.ui.Oobe.handleAccelerator", | 957 "cr.ui.Oobe.handleAccelerator", base::Value("app_launch_network_config")); |
958 base::StringValue("app_launch_network_config")); | |
959 error_screen_waiter.Wait(); | 958 error_screen_waiter.Wait(); |
960 ASSERT_TRUE(GetAppLaunchController()->showing_network_dialog()); | 959 ASSERT_TRUE(GetAppLaunchController()->showing_network_dialog()); |
961 | 960 |
962 // Continue button should be visible since we are online. | 961 // Continue button should be visible since we are online. |
963 JsExpect("$('continue-network-config-btn').hidden == false"); | 962 JsExpect("$('continue-network-config-btn').hidden == false"); |
964 | 963 |
965 // Click on [Continue] button. | 964 // Click on [Continue] button. |
966 ASSERT_TRUE(content::ExecuteScript( | 965 ASSERT_TRUE(content::ExecuteScript( |
967 GetLoginUI()->GetWebContents(), | 966 GetLoginUI()->GetWebContents(), |
968 "(function() {" | 967 "(function() {" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1019 set_test_app_version(""); | 1018 set_test_app_version(""); |
1020 OobeScreenWaiter splash_waiter(OobeScreen::SCREEN_APP_LAUNCH_SPLASH); | 1019 OobeScreenWaiter splash_waiter(OobeScreen::SCREEN_APP_LAUNCH_SPLASH); |
1021 StartAppLaunchFromLoginScreen(SimulateNetworkOfflineClosure()); | 1020 StartAppLaunchFromLoginScreen(SimulateNetworkOfflineClosure()); |
1022 splash_waiter.Wait(); | 1021 splash_waiter.Wait(); |
1023 | 1022 |
1024 settings_helper_.SetBoolean( | 1023 settings_helper_.SetBoolean( |
1025 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled, true); | 1024 kAccountsPrefDeviceLocalAccountAutoLoginBailoutEnabled, true); |
1026 content::WindowedNotificationObserver signal( | 1025 content::WindowedNotificationObserver signal( |
1027 chrome::NOTIFICATION_APP_TERMINATING, | 1026 chrome::NOTIFICATION_APP_TERMINATING, |
1028 content::NotificationService::AllSources()); | 1027 content::NotificationService::AllSources()); |
1029 GetLoginUI()->CallJavascriptFunctionUnsafe( | 1028 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", |
1030 "cr.ui.Oobe.handleAccelerator", base::StringValue("app_launch_bailout")); | 1029 base::Value("app_launch_bailout")); |
1031 signal.Wait(); | 1030 signal.Wait(); |
1032 EXPECT_EQ(chromeos::KioskAppLaunchError::USER_CANCEL, | 1031 EXPECT_EQ(chromeos::KioskAppLaunchError::USER_CANCEL, |
1033 chromeos::KioskAppLaunchError::Get()); | 1032 chromeos::KioskAppLaunchError::Get()); |
1034 } | 1033 } |
1035 | 1034 |
1036 IN_PROC_BROWSER_TEST_F(KioskTest, LaunchInDiagnosticMode) { | 1035 IN_PROC_BROWSER_TEST_F(KioskTest, LaunchInDiagnosticMode) { |
1037 PrepareAppLaunch(); | 1036 PrepareAppLaunch(); |
1038 SimulateNetworkOnline(); | 1037 SimulateNetworkOnline(); |
1039 | 1038 |
1040 LaunchApp(kTestKioskApp, true); | 1039 LaunchApp(kTestKioskApp, true); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1136 CHECK(wizard_controller); | 1135 CHECK(wizard_controller); |
1137 | 1136 |
1138 // Check Kiosk mode status. | 1137 // Check Kiosk mode status. |
1139 EXPECT_EQ(KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_CONFIGURABLE, | 1138 EXPECT_EQ(KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_CONFIGURABLE, |
1140 GetConsumerKioskModeStatus()); | 1139 GetConsumerKioskModeStatus()); |
1141 | 1140 |
1142 // Wait for the login UI to come up and switch to the kiosk_enable screen. | 1141 // Wait for the login UI to come up and switch to the kiosk_enable screen. |
1143 wizard_controller->SkipToLoginForTesting(LoginScreenContext()); | 1142 wizard_controller->SkipToLoginForTesting(LoginScreenContext()); |
1144 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); | 1143 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); |
1145 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", | 1144 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", |
1146 base::StringValue("kiosk_enable")); | 1145 base::Value("kiosk_enable")); |
1147 | 1146 |
1148 // Wait for the kiosk_enable screen to show and cancel the screen. | 1147 // Wait for the kiosk_enable screen to show and cancel the screen. |
1149 content::WindowedNotificationObserver( | 1148 content::WindowedNotificationObserver( |
1150 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, | 1149 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, |
1151 content::NotificationService::AllSources()).Wait(); | 1150 content::NotificationService::AllSources()).Wait(); |
1152 GetLoginUI()->CallJavascriptFunctionUnsafe( | 1151 GetLoginUI()->CallJavascriptFunctionUnsafe( |
1153 "login.KioskEnableScreen.enableKioskForTesting", base::Value(false)); | 1152 "login.KioskEnableScreen.enableKioskForTesting", base::Value(false)); |
1154 | 1153 |
1155 // Wait for the kiosk_enable screen to disappear. | 1154 // Wait for the kiosk_enable screen to disappear. |
1156 content::WindowedNotificationObserver( | 1155 content::WindowedNotificationObserver( |
(...skipping 13 matching lines...) Expand all Loading... |
1170 CHECK(wizard_controller); | 1169 CHECK(wizard_controller); |
1171 | 1170 |
1172 // Check Kiosk mode status. | 1171 // Check Kiosk mode status. |
1173 EXPECT_EQ(KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_CONFIGURABLE, | 1172 EXPECT_EQ(KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_CONFIGURABLE, |
1174 GetConsumerKioskModeStatus()); | 1173 GetConsumerKioskModeStatus()); |
1175 | 1174 |
1176 // Wait for the login UI to come up and switch to the kiosk_enable screen. | 1175 // Wait for the login UI to come up and switch to the kiosk_enable screen. |
1177 wizard_controller->SkipToLoginForTesting(LoginScreenContext()); | 1176 wizard_controller->SkipToLoginForTesting(LoginScreenContext()); |
1178 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); | 1177 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); |
1179 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", | 1178 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", |
1180 base::StringValue("kiosk_enable")); | 1179 base::Value("kiosk_enable")); |
1181 | 1180 |
1182 // Wait for the kiosk_enable screen to show and cancel the screen. | 1181 // Wait for the kiosk_enable screen to show and cancel the screen. |
1183 content::WindowedNotificationObserver( | 1182 content::WindowedNotificationObserver( |
1184 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, | 1183 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, |
1185 content::NotificationService::AllSources()).Wait(); | 1184 content::NotificationService::AllSources()).Wait(); |
1186 GetLoginUI()->CallJavascriptFunctionUnsafe( | 1185 GetLoginUI()->CallJavascriptFunctionUnsafe( |
1187 "login.KioskEnableScreen.enableKioskForTesting", base::Value(true)); | 1186 "login.KioskEnableScreen.enableKioskForTesting", base::Value(true)); |
1188 | 1187 |
1189 // Wait for the signal that indicates Kiosk Mode is enabled. | 1188 // Wait for the signal that indicates Kiosk Mode is enabled. |
1190 content::WindowedNotificationObserver( | 1189 content::WindowedNotificationObserver( |
(...skipping 10 matching lines...) Expand all Loading... |
1201 CHECK(wizard_controller); | 1200 CHECK(wizard_controller); |
1202 | 1201 |
1203 // Check Kiosk mode status. | 1202 // Check Kiosk mode status. |
1204 EXPECT_EQ(KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_CONFIGURABLE, | 1203 EXPECT_EQ(KioskAppManager::CONSUMER_KIOSK_AUTO_LAUNCH_CONFIGURABLE, |
1205 GetConsumerKioskModeStatus()); | 1204 GetConsumerKioskModeStatus()); |
1206 | 1205 |
1207 // Wait for the login UI to come up and switch to the kiosk_enable screen. | 1206 // Wait for the login UI to come up and switch to the kiosk_enable screen. |
1208 wizard_controller->SkipToLoginForTesting(LoginScreenContext()); | 1207 wizard_controller->SkipToLoginForTesting(LoginScreenContext()); |
1209 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); | 1208 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); |
1210 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", | 1209 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", |
1211 base::StringValue("kiosk_enable")); | 1210 base::Value("kiosk_enable")); |
1212 | 1211 |
1213 // Wait for the kiosk_enable screen to show and cancel the screen. | 1212 // Wait for the kiosk_enable screen to show and cancel the screen. |
1214 content::WindowedNotificationObserver( | 1213 content::WindowedNotificationObserver( |
1215 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, | 1214 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, |
1216 content::NotificationService::AllSources()).Wait(); | 1215 content::NotificationService::AllSources()).Wait(); |
1217 GetLoginUI()->CallJavascriptFunctionUnsafe( | 1216 GetLoginUI()->CallJavascriptFunctionUnsafe( |
1218 "login.KioskEnableScreen.enableKioskForTesting", base::Value(false)); | 1217 "login.KioskEnableScreen.enableKioskForTesting", base::Value(false)); |
1219 | 1218 |
1220 // Wait for the kiosk_enable screen to disappear. | 1219 // Wait for the kiosk_enable screen to disappear. |
1221 content::WindowedNotificationObserver( | 1220 content::WindowedNotificationObserver( |
1222 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED, | 1221 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_COMPLETED, |
1223 content::NotificationService::AllSources()).Wait(); | 1222 content::NotificationService::AllSources()).Wait(); |
1224 | 1223 |
1225 // Show signin screen again. | 1224 // Show signin screen again. |
1226 LoginDisplayHost::default_host()->StartSignInScreen(LoginScreenContext()); | 1225 LoginDisplayHost::default_host()->StartSignInScreen(LoginScreenContext()); |
1227 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); | 1226 OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); |
1228 | 1227 |
1229 // Show kiosk enable screen again. | 1228 // Show kiosk enable screen again. |
1230 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", | 1229 GetLoginUI()->CallJavascriptFunctionUnsafe("cr.ui.Oobe.handleAccelerator", |
1231 base::StringValue("kiosk_enable")); | 1230 base::Value("kiosk_enable")); |
1232 | 1231 |
1233 // And it should show up. | 1232 // And it should show up. |
1234 content::WindowedNotificationObserver( | 1233 content::WindowedNotificationObserver( |
1235 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, | 1234 chrome::NOTIFICATION_KIOSK_ENABLE_WARNING_VISIBLE, |
1236 content::NotificationService::AllSources()).Wait(); | 1235 content::NotificationService::AllSources()).Wait(); |
1237 } | 1236 } |
1238 | 1237 |
1239 IN_PROC_BROWSER_TEST_F(KioskTest, DoNotLaunchWhenUntrusted) { | 1238 IN_PROC_BROWSER_TEST_F(KioskTest, DoNotLaunchWhenUntrusted) { |
1240 PrepareAppLaunch(); | 1239 PrepareAppLaunch(); |
1241 SimulateNetworkOnline(); | 1240 SimulateNetworkOnline(); |
(...skipping 1144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2386 content::WindowedNotificationObserver( | 2385 content::WindowedNotificationObserver( |
2387 chrome::NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE, | 2386 chrome::NOTIFICATION_KIOSK_AUTOLAUNCH_WARNING_VISIBLE, |
2388 content::NotificationService::AllSources()).Wait(); | 2387 content::NotificationService::AllSources()).Wait(); |
2389 | 2388 |
2390 // Wait for the wallpaper to load. | 2389 // Wait for the wallpaper to load. |
2391 WaitForWallpaper(); | 2390 WaitForWallpaper(); |
2392 EXPECT_TRUE(wallpaper_loaded()); | 2391 EXPECT_TRUE(wallpaper_loaded()); |
2393 } | 2392 } |
2394 | 2393 |
2395 } // namespace chromeos | 2394 } // namespace chromeos |
OLD | NEW |