Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(713)

Side by Side Diff: chrome/browser/chromeos/login/ui/login_display_host_impl.cc

Issue 900553006: Updated KioskAppManager to track whether an app was auto-launched. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/ui/login_display_host_impl.h" 5 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/audio/sounds.h" 9 #include "ash/audio/sounds.h"
10 #include "ash/desktop_background/desktop_background_controller.h" 10 #include "ash/desktop_background/desktop_background_controller.h"
(...skipping 649 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 660
661 void LoginDisplayHostImpl::StartDemoAppLaunch() { 661 void LoginDisplayHostImpl::StartDemoAppLaunch() {
662 VLOG(1) << "Login WebUI >> starting demo app."; 662 VLOG(1) << "Login WebUI >> starting demo app.";
663 SetStatusAreaVisible(false); 663 SetStatusAreaVisible(false);
664 664
665 demo_app_launcher_.reset(new DemoAppLauncher()); 665 demo_app_launcher_.reset(new DemoAppLauncher());
666 demo_app_launcher_->StartDemoAppLaunch(); 666 demo_app_launcher_->StartDemoAppLaunch();
667 } 667 }
668 668
669 void LoginDisplayHostImpl::StartAppLaunch(const std::string& app_id, 669 void LoginDisplayHostImpl::StartAppLaunch(const std::string& app_id,
670 bool diagnostic_mode) { 670 bool diagnostic_mode,
671 bool auto_launch) {
671 VLOG(1) << "Login WebUI >> start app launch."; 672 VLOG(1) << "Login WebUI >> start app launch.";
672 SetStatusAreaVisible(false); 673 SetStatusAreaVisible(false);
673 674
674 // Wait for the |CrosSettings| to become either trusted or permanently 675 // Wait for the |CrosSettings| to become either trusted or permanently
675 // untrusted. 676 // untrusted.
676 const CrosSettingsProvider::TrustedStatus status = 677 const CrosSettingsProvider::TrustedStatus status =
677 CrosSettings::Get()->PrepareTrustedValues(base::Bind( 678 CrosSettings::Get()->PrepareTrustedValues(base::Bind(
678 &LoginDisplayHostImpl::StartAppLaunch, 679 &LoginDisplayHostImpl::StartAppLaunch,
679 pointer_factory_.GetWeakPtr(), 680 pointer_factory_.GetWeakPtr(),
680 app_id, 681 app_id,
681 diagnostic_mode)); 682 diagnostic_mode,
683 auto_launch));
682 if (status == CrosSettingsProvider::TEMPORARILY_UNTRUSTED) 684 if (status == CrosSettingsProvider::TEMPORARILY_UNTRUSTED)
683 return; 685 return;
684 686
685 if (status == CrosSettingsProvider::PERMANENTLY_UNTRUSTED) { 687 if (status == CrosSettingsProvider::PERMANENTLY_UNTRUSTED) {
686 // If the |CrosSettings| are permanently untrusted, refuse to launch a 688 // If the |CrosSettings| are permanently untrusted, refuse to launch a
687 // single-app kiosk mode session. 689 // single-app kiosk mode session.
688 LOG(ERROR) << "Login WebUI >> Refusing to launch single-app kiosk mode."; 690 LOG(ERROR) << "Login WebUI >> Refusing to launch single-app kiosk mode.";
689 SetStatusAreaVisible(true); 691 SetStatusAreaVisible(true);
690 return; 692 return;
691 } 693 }
692 694
693 bool device_disabled = false; 695 bool device_disabled = false;
694 CrosSettings::Get()->GetBoolean(kDeviceDisabled, &device_disabled); 696 CrosSettings::Get()->GetBoolean(kDeviceDisabled, &device_disabled);
695 if (device_disabled && system::DeviceDisablingManager:: 697 if (device_disabled && system::DeviceDisablingManager::
696 HonorDeviceDisablingDuringNormalOperation()) { 698 HonorDeviceDisablingDuringNormalOperation()) {
697 // If the device is disabled, bail out. A device disabled screen will be 699 // If the device is disabled, bail out. A device disabled screen will be
698 // shown by the DeviceDisablingManager. 700 // shown by the DeviceDisablingManager.
699 return; 701 return;
700 } 702 }
701 703
702 finalize_animation_type_ = ANIMATION_FADE_OUT; 704 finalize_animation_type_ = ANIMATION_FADE_OUT;
703 if (!login_window_) 705 if (!login_window_)
704 LoadURL(GURL(kAppLaunchSplashURL)); 706 LoadURL(GURL(kAppLaunchSplashURL));
705 707
706 login_view_->set_should_emit_login_prompt_visible(false); 708 login_view_->set_should_emit_login_prompt_visible(false);
707 709
708 app_launch_controller_.reset(new AppLaunchController( 710 app_launch_controller_.reset(new AppLaunchController(
709 app_id, diagnostic_mode, this, GetOobeUI())); 711 app_id, diagnostic_mode, this, GetOobeUI()));
710 712
711 app_launch_controller_->StartAppLaunch(); 713 app_launch_controller_->StartAppLaunch(auto_launch);
712 } 714 }
713 715
714 //////////////////////////////////////////////////////////////////////////////// 716 ////////////////////////////////////////////////////////////////////////////////
715 // LoginDisplayHostImpl, public 717 // LoginDisplayHostImpl, public
716 718
717 WizardController* LoginDisplayHostImpl::CreateWizardController() { 719 WizardController* LoginDisplayHostImpl::CreateWizardController() {
718 // TODO(altimofeev): ensure that WebUI is ready. 720 // TODO(altimofeev): ensure that WebUI is ready.
719 OobeDisplay* oobe_display = GetOobeUI(); 721 OobeDisplay* oobe_display = GetOobeUI();
720 return new WizardController(this, oobe_display); 722 return new WizardController(this, oobe_display);
721 } 723 }
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 ? session_manager::SESSION_STATE_LOGIN_PRIMARY 1184 ? session_manager::SESSION_STATE_LOGIN_PRIMARY
1183 : session_manager::SESSION_STATE_OOBE); 1185 : session_manager::SESSION_STATE_OOBE);
1184 1186
1185 LoginDisplayHostImpl* display_host = new LoginDisplayHostImpl(screen_bounds); 1187 LoginDisplayHostImpl* display_host = new LoginDisplayHostImpl(screen_bounds);
1186 1188
1187 bool show_app_launch_splash_screen = 1189 bool show_app_launch_splash_screen =
1188 (first_screen_name == WizardController::kAppLaunchSplashScreenName); 1190 (first_screen_name == WizardController::kAppLaunchSplashScreenName);
1189 if (show_app_launch_splash_screen) { 1191 if (show_app_launch_splash_screen) {
1190 const std::string& auto_launch_app_id = 1192 const std::string& auto_launch_app_id =
1191 KioskAppManager::Get()->GetAutoLaunchApp(); 1193 KioskAppManager::Get()->GetAutoLaunchApp();
1194 const bool diagnostic_mode = false;
1195 const bool auto_launch = true;
1192 display_host->StartAppLaunch(auto_launch_app_id, 1196 display_host->StartAppLaunch(auto_launch_app_id,
1193 false /* diagnostic_mode */); 1197 diagnostic_mode,
1198 auto_launch);
1194 return; 1199 return;
1195 } 1200 }
1196 1201
1197 // Check whether we need to execute OOBE flow. 1202 // Check whether we need to execute OOBE flow.
1198 const policy::EnrollmentConfig enrollment_config = 1203 const policy::EnrollmentConfig enrollment_config =
1199 g_browser_process->platform_part() 1204 g_browser_process->platform_part()
1200 ->browser_policy_connector_chromeos() 1205 ->browser_policy_connector_chromeos()
1201 ->GetPrescribedEnrollmentConfig(); 1206 ->GetPrescribedEnrollmentConfig();
1202 if (enrollment_config.should_enroll() && first_screen_name.empty()) { 1207 if (enrollment_config.should_enroll() && first_screen_name.empty()) {
1203 // Shows networks screen instead of enrollment screen to resume the 1208 // Shows networks screen instead of enrollment screen to resume the
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 1270
1266 locale_util::SwitchLanguageCallback callback( 1271 locale_util::SwitchLanguageCallback callback(
1267 base::Bind(&OnLanguageSwitchedCallback, base::Passed(data.Pass()))); 1272 base::Bind(&OnLanguageSwitchedCallback, base::Passed(data.Pass())));
1268 1273
1269 // Load locale keyboards here. Hardware layout would be automatically enabled. 1274 // Load locale keyboards here. Hardware layout would be automatically enabled.
1270 locale_util::SwitchLanguage( 1275 locale_util::SwitchLanguage(
1271 locale, true, true /* login_layouts_only */, callback); 1276 locale, true, true /* login_layouts_only */, callback);
1272 } 1277 }
1273 1278
1274 } // namespace chromeos 1279 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/ui/login_display_host_impl.h ('k') | chrome/browser/chromeos/login/ui/mock_login_display_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698