| 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/screens/error_screen.h" | 5 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| 11 #include "chrome/browser/app_mode/app_mode_utils.h" | 11 #include "chrome/browser/app_mode/app_mode_utils.h" |
| 12 #include "chrome/browser/chrome_notification_types.h" | 12 #include "chrome/browser/chrome_notification_types.h" |
| 13 #include "chrome/browser/chromeos/app_mode/certificate_manager_dialog.h" | 13 #include "chrome/browser/chromeos/app_mode/certificate_manager_dialog.h" |
| 14 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| 14 #include "chrome/browser/chromeos/login/auth/chrome_login_performer.h" | 15 #include "chrome/browser/chromeos/login/auth/chrome_login_performer.h" |
| 15 #include "chrome/browser/chromeos/login/chrome_restart_request.h" | 16 #include "chrome/browser/chromeos/login/chrome_restart_request.h" |
| 16 #include "chrome/browser/chromeos/login/screens/network_error_view.h" | 17 #include "chrome/browser/chromeos/login/screens/network_error_view.h" |
| 17 #include "chrome/browser/chromeos/login/startup_utils.h" | 18 #include "chrome/browser/chromeos/login/startup_utils.h" |
| 18 #include "chrome/browser/chromeos/login/ui/captive_portal_window_proxy.h" | 19 #include "chrome/browser/chromeos/login/ui/captive_portal_window_proxy.h" |
| 19 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" | 20 #include "chrome/browser/chromeos/login/ui/login_display_host.h" |
| 20 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" | 21 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" |
| 21 #include "chrome/browser/chromeos/login/wizard_controller.h" | 22 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 22 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 23 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| 23 #include "chrome/browser/chromeos/settings/cros_settings.h" | 24 #include "chrome/browser/chromeos/settings/cros_settings.h" |
| 24 #include "chrome/browser/chromeos/settings/device_settings_service.h" | 25 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
| 25 #include "chrome/browser/extensions/component_loader.h" | 26 #include "chrome/browser/extensions/component_loader.h" |
| 26 #include "chrome/browser/extensions/extension_service.h" | 27 #include "chrome/browser/extensions/extension_service.h" |
| 27 #include "chrome/browser/profiles/profile_manager.h" | 28 #include "chrome/browser/profiles/profile_manager.h" |
| 28 #include "chrome/browser/ui/extensions/app_launch_params.h" | 29 #include "chrome/browser/ui/extensions/app_launch_params.h" |
| 29 #include "chrome/browser/ui/extensions/application_launch.h" | 30 #include "chrome/browser/ui/extensions/application_launch.h" |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 void ErrorScreen::AllowGuestSignin(bool allowed) { | 140 void ErrorScreen::AllowGuestSignin(bool allowed) { |
| 140 GetContextEditor().SetBoolean(kContextKeyGuestSigninAllowed, allowed); | 141 GetContextEditor().SetBoolean(kContextKeyGuestSigninAllowed, allowed); |
| 141 } | 142 } |
| 142 | 143 |
| 143 void ErrorScreen::AllowOfflineLogin(bool allowed) { | 144 void ErrorScreen::AllowOfflineLogin(bool allowed) { |
| 144 GetContextEditor().SetBoolean(kContextKeyOfflineSigninAllowed, allowed); | 145 GetContextEditor().SetBoolean(kContextKeyOfflineSigninAllowed, allowed); |
| 145 } | 146 } |
| 146 | 147 |
| 147 void ErrorScreen::FixCaptivePortal() { | 148 void ErrorScreen::FixCaptivePortal() { |
| 148 if (!captive_portal_window_proxy_.get()) { | 149 if (!captive_portal_window_proxy_.get()) { |
| 149 content::WebContents* web_contents = LoginDisplayHostImpl::default_host() | 150 content::WebContents* web_contents = |
| 150 ->GetWebUILoginView() | 151 LoginDisplayHost::default_host()->GetWebUILoginView()->GetWebContents(); |
| 151 ->GetWebContents(); | |
| 152 captive_portal_window_proxy_.reset(new CaptivePortalWindowProxy( | 152 captive_portal_window_proxy_.reset(new CaptivePortalWindowProxy( |
| 153 network_state_informer_.get(), web_contents)); | 153 network_state_informer_.get(), web_contents)); |
| 154 } | 154 } |
| 155 captive_portal_window_proxy_->ShowIfRedirected(); | 155 captive_portal_window_proxy_->ShowIfRedirected(); |
| 156 } | 156 } |
| 157 | 157 |
| 158 NetworkError::UIState ErrorScreen::GetUIState() const { | 158 NetworkError::UIState ErrorScreen::GetUIState() const { |
| 159 return ui_state_; | 159 return ui_state_; |
| 160 } | 160 } |
| 161 | 161 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 void ErrorScreen::DefaultHideCallback() { | 253 void ErrorScreen::DefaultHideCallback() { |
| 254 if (parent_screen_ != OobeUI::SCREEN_UNKNOWN && view_) | 254 if (parent_screen_ != OobeUI::SCREEN_UNKNOWN && view_) |
| 255 view_->ShowScreen(parent_screen_); | 255 view_->ShowScreen(parent_screen_); |
| 256 | 256 |
| 257 // TODO(antrim): Due to potential race with GAIA reload and hiding network | 257 // TODO(antrim): Due to potential race with GAIA reload and hiding network |
| 258 // error UI we can't just reset parent screen to SCREEN_UNKNOWN here. | 258 // error UI we can't just reset parent screen to SCREEN_UNKNOWN here. |
| 259 } | 259 } |
| 260 | 260 |
| 261 void ErrorScreen::OnConfigureCerts() { | 261 void ErrorScreen::OnConfigureCerts() { |
| 262 gfx::NativeWindow native_window = | 262 gfx::NativeWindow native_window = |
| 263 LoginDisplayHostImpl::default_host()->GetNativeWindow(); | 263 LoginDisplayHost::default_host()->GetNativeWindow(); |
| 264 CertificateManagerDialog* dialog = new CertificateManagerDialog( | 264 CertificateManagerDialog* dialog = new CertificateManagerDialog( |
| 265 GetAppProfile(), NULL, native_window); | 265 GetAppProfile(), NULL, native_window); |
| 266 dialog->Show(); | 266 dialog->Show(); |
| 267 } | 267 } |
| 268 | 268 |
| 269 void ErrorScreen::OnDiagnoseButtonClicked() { | 269 void ErrorScreen::OnDiagnoseButtonClicked() { |
| 270 Profile* profile = GetAppProfile(); | 270 Profile* profile = GetAppProfile(); |
| 271 ExtensionService* extension_service = | 271 ExtensionService* extension_service = |
| 272 extensions::ExtensionSystem::Get(profile)->extension_service(); | 272 extensions::ExtensionSystem::Get(profile)->extension_service(); |
| 273 | 273 |
| 274 std::string extension_id = extension_service->component_loader()->Add( | 274 std::string extension_id = extension_service->component_loader()->Add( |
| 275 IDR_CONNECTIVITY_DIAGNOSTICS_MANIFEST, | 275 IDR_CONNECTIVITY_DIAGNOSTICS_MANIFEST, |
| 276 base::FilePath(extension_misc::kConnectivityDiagnosticsPath)); | 276 base::FilePath(extension_misc::kConnectivityDiagnosticsPath)); |
| 277 | 277 |
| 278 const extensions::Extension* extension = | 278 const extensions::Extension* extension = |
| 279 extension_service->GetExtensionById(extension_id, true); | 279 extension_service->GetExtensionById(extension_id, true); |
| 280 OpenApplication( | 280 OpenApplication( |
| 281 AppLaunchParams(profile, extension, extensions::LAUNCH_CONTAINER_WINDOW, | 281 AppLaunchParams(profile, extension, extensions::LAUNCH_CONTAINER_WINDOW, |
| 282 NEW_WINDOW, extensions::SOURCE_CHROME_INTERNAL)); | 282 NEW_WINDOW, extensions::SOURCE_CHROME_INTERNAL)); |
| 283 KioskAppManager::Get()->InitSession(profile, extension_id); | 283 KioskAppManager::Get()->InitSession(profile, extension_id); |
| 284 | 284 |
| 285 user_manager::UserManager::Get()->SessionStarted(); | 285 user_manager::UserManager::Get()->SessionStarted(); |
| 286 | 286 |
| 287 LoginDisplayHostImpl::default_host()->Finalize(); | 287 LoginDisplayHost::default_host()->Finalize(); |
| 288 } | 288 } |
| 289 | 289 |
| 290 void ErrorScreen::OnLaunchOobeGuestSession() { | 290 void ErrorScreen::OnLaunchOobeGuestSession() { |
| 291 DeviceSettingsService::Get()->GetOwnershipStatusAsync( | 291 DeviceSettingsService::Get()->GetOwnershipStatusAsync( |
| 292 base::Bind(&ErrorScreen::StartGuestSessionAfterOwnershipCheck, | 292 base::Bind(&ErrorScreen::StartGuestSessionAfterOwnershipCheck, |
| 293 weak_factory_.GetWeakPtr())); | 293 weak_factory_.GetWeakPtr())); |
| 294 } | 294 } |
| 295 | 295 |
| 296 void ErrorScreen::OnLocalStateErrorPowerwashButtonClicked() { | 296 void ErrorScreen::OnLocalStateErrorPowerwashButtonClicked() { |
| 297 chromeos::DBusThreadManager::Get() | 297 chromeos::DBusThreadManager::Get() |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 } | 336 } |
| 337 | 337 |
| 338 if (guest_login_performer_) | 338 if (guest_login_performer_) |
| 339 return; | 339 return; |
| 340 | 340 |
| 341 guest_login_performer_.reset(new ChromeLoginPerformer(this)); | 341 guest_login_performer_.reset(new ChromeLoginPerformer(this)); |
| 342 guest_login_performer_->LoginOffTheRecord(); | 342 guest_login_performer_->LoginOffTheRecord(); |
| 343 } | 343 } |
| 344 | 344 |
| 345 } // namespace chromeos | 345 } // namespace chromeos |
| OLD | NEW |