| 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 <signal.h> | 7 #include <signal.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdlib.h> | 9 #include <stdlib.h> |
| 10 #include <sys/types.h> | 10 #include <sys/types.h> |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 | 250 |
| 251 PrefService* WizardController::local_state_for_testing_ = nullptr; | 251 PrefService* WizardController::local_state_for_testing_ = nullptr; |
| 252 | 252 |
| 253 WizardController::WizardController(LoginDisplayHost* host, OobeUI* oobe_ui) | 253 WizardController::WizardController(LoginDisplayHost* host, OobeUI* oobe_ui) |
| 254 : screen_manager_(this), | 254 : screen_manager_(this), |
| 255 host_(host), | 255 host_(host), |
| 256 oobe_ui_(oobe_ui), | 256 oobe_ui_(oobe_ui), |
| 257 weak_factory_(this) { | 257 weak_factory_(this) { |
| 258 DCHECK(default_controller_ == nullptr); | 258 DCHECK(default_controller_ == nullptr); |
| 259 default_controller_ = this; | 259 default_controller_ = this; |
| 260 |
| 261 oobe_ui_->GetCoreOobeView()->SetDelegate(&screen_manager_); |
| 262 |
| 260 if (!ash_util::IsRunningInMash()) { | 263 if (!ash_util::IsRunningInMash()) { |
| 261 AccessibilityManager* accessibility_manager = AccessibilityManager::Get(); | 264 AccessibilityManager* accessibility_manager = AccessibilityManager::Get(); |
| 262 CHECK(accessibility_manager); | 265 CHECK(accessibility_manager); |
| 263 accessibility_subscription_ = accessibility_manager->RegisterCallback( | 266 accessibility_subscription_ = accessibility_manager->RegisterCallback( |
| 264 base::Bind(&WizardController::OnAccessibilityStatusChanged, | 267 base::Bind(&WizardController::OnAccessibilityStatusChanged, |
| 265 base::Unretained(this))); | 268 base::Unretained(this))); |
| 266 } else { | 269 } else { |
| 267 NOTIMPLEMENTED(); | 270 NOTIMPLEMENTED(); |
| 268 } | 271 } |
| 269 } | 272 } |
| 270 | 273 |
| 271 WizardController::~WizardController() { | 274 WizardController::~WizardController() { |
| 275 // OobeUI handlers may have already been destroyed. |
| 276 if (oobe_ui_->GetCoreOobeView()) |
| 277 oobe_ui_->GetCoreOobeView()->SetDelegate(nullptr); |
| 278 |
| 272 if (shark_connection_listener_.get()) { | 279 if (shark_connection_listener_.get()) { |
| 273 base::ThreadTaskRunnerHandle::Get()->DeleteSoon( | 280 base::ThreadTaskRunnerHandle::Get()->DeleteSoon( |
| 274 FROM_HERE, shark_connection_listener_.release()); | 281 FROM_HERE, shark_connection_listener_.release()); |
| 275 } | 282 } |
| 276 if (default_controller_ == this) { | 283 if (default_controller_ == this) { |
| 277 default_controller_ = nullptr; | 284 default_controller_ = nullptr; |
| 278 } else { | 285 } else { |
| 279 NOTREACHED() << "More than one controller are alive."; | 286 NOTREACHED() << "More than one controller are alive."; |
| 280 } | 287 } |
| 281 } | 288 } |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 remora_controller_.get()); | 379 remora_controller_.get()); |
| 373 } else if (screen == OobeScreen::SCREEN_USER_IMAGE_PICKER) { | 380 } else if (screen == OobeScreen::SCREEN_USER_IMAGE_PICKER) { |
| 374 return new UserImageScreen(this, oobe_ui_->GetUserImageView()); | 381 return new UserImageScreen(this, oobe_ui_->GetUserImageView()); |
| 375 } else if (screen == OobeScreen::SCREEN_OOBE_EULA) { | 382 } else if (screen == OobeScreen::SCREEN_OOBE_EULA) { |
| 376 return new EulaScreen(this, this, oobe_ui_->GetEulaView()); | 383 return new EulaScreen(this, this, oobe_ui_->GetEulaView()); |
| 377 } else if (screen == OobeScreen::SCREEN_OOBE_ENROLLMENT) { | 384 } else if (screen == OobeScreen::SCREEN_OOBE_ENROLLMENT) { |
| 378 return new EnrollmentScreen(this, oobe_ui_->GetEnrollmentScreenView()); | 385 return new EnrollmentScreen(this, oobe_ui_->GetEnrollmentScreenView()); |
| 379 } else if (screen == OobeScreen::SCREEN_OOBE_RESET) { | 386 } else if (screen == OobeScreen::SCREEN_OOBE_RESET) { |
| 380 return new chromeos::ResetScreen(this, oobe_ui_->GetResetView()); | 387 return new chromeos::ResetScreen(this, oobe_ui_->GetResetView()); |
| 381 } else if (screen == OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING) { | 388 } else if (screen == OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING) { |
| 382 return new EnableDebuggingScreen(this, | 389 auto* result = new EnableDebuggingScreen(this, oobe_ui_->GetCoreOobeView()); |
| 383 oobe_ui_->GetEnableDebuggingScreenView()); | 390 // TODO(jdufault): When BaseScreen derives from CoreOobeView we can move the |
| 391 // AddDelegate call directly into ScreenManager. See crbug.com/672142. |
| 392 screen_manager_.AddDelegate(result); |
| 393 return result; |
| 384 } else if (screen == OobeScreen::SCREEN_KIOSK_ENABLE) { | 394 } else if (screen == OobeScreen::SCREEN_KIOSK_ENABLE) { |
| 385 return new KioskEnableScreen(this, oobe_ui_->GetKioskEnableScreenView()); | 395 return new KioskEnableScreen(this, oobe_ui_->GetKioskEnableScreenView()); |
| 386 } else if (screen == OobeScreen::SCREEN_KIOSK_AUTOLAUNCH) { | 396 } else if (screen == OobeScreen::SCREEN_KIOSK_AUTOLAUNCH) { |
| 387 return new KioskAutolaunchScreen(this, | 397 return new KioskAutolaunchScreen(this, |
| 388 oobe_ui_->GetKioskAutolaunchScreenView()); | 398 oobe_ui_->GetKioskAutolaunchScreenView()); |
| 389 } else if (screen == OobeScreen::SCREEN_TERMS_OF_SERVICE) { | 399 } else if (screen == OobeScreen::SCREEN_TERMS_OF_SERVICE) { |
| 390 return new TermsOfServiceScreen(this, | 400 return new TermsOfServiceScreen(this, |
| 391 oobe_ui_->GetTermsOfServiceScreenView()); | 401 oobe_ui_->GetTermsOfServiceScreenView()); |
| 392 } else if (screen == OobeScreen::SCREEN_ARC_TERMS_OF_SERVICE) { | 402 } else if (screen == OobeScreen::SCREEN_ARC_TERMS_OF_SERVICE) { |
| 393 return new ArcTermsOfServiceScreen( | 403 return new ArcTermsOfServiceScreen( |
| (...skipping 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1511 : policy::EnrollmentConfig::MODE_MANUAL_REENROLLMENT; | 1521 : policy::EnrollmentConfig::MODE_MANUAL_REENROLLMENT; |
| 1512 } | 1522 } |
| 1513 | 1523 |
| 1514 EnrollmentScreen* screen = EnrollmentScreen::Get(screen_manager()); | 1524 EnrollmentScreen* screen = EnrollmentScreen::Get(screen_manager()); |
| 1515 screen->SetParameters(effective_config, shark_controller_.get()); | 1525 screen->SetParameters(effective_config, shark_controller_.get()); |
| 1516 SetStatusAreaVisible(true); | 1526 SetStatusAreaVisible(true); |
| 1517 SetCurrentScreen(screen); | 1527 SetCurrentScreen(screen); |
| 1518 } | 1528 } |
| 1519 | 1529 |
| 1520 } // namespace chromeos | 1530 } // namespace chromeos |
| OLD | NEW |