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

Unified Diff: chrome/browser/chromeos/login/wizard_controller.h

Issue 2739073002: cros: Use ScreenManager as a component instead of deriving WizardController from it (Closed)
Patch Set: Address comment Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/wizard_controller.h
diff --git a/chrome/browser/chromeos/login/wizard_controller.h b/chrome/browser/chromeos/login/wizard_controller.h
index d11dffc256f3caa193e624007a446505ee6de3c4..8e9d150043a41ebab3df603f4c958396d70e6307 100644
--- a/chrome/browser/chromeos/login/wizard_controller.h
+++ b/chrome/browser/chromeos/login/wizard_controller.h
@@ -51,7 +51,6 @@ struct TimeZoneResponseData;
// Class that manages control flow between wizard screens. Wizard controller
// interacts with screen controllers to move the user between screens.
class WizardController : public BaseScreenDelegate,
- public ScreenManager,
public EulaScreen::Delegate,
public ControllerPairingScreen::Delegate,
public HostPairingScreen::Delegate,
@@ -113,13 +112,19 @@ class WizardController : public BaseScreenDelegate,
// Returns true if the current wizard instance has reached the login screen.
bool login_screen_started() const { return login_screen_started_; }
- // ScreenManager implementation.
- BaseScreen* GetScreen(OobeScreen screen) override;
- BaseScreen* CreateScreen(OobeScreen screen) override;
+ // Returns a given screen. Creates it lazily.
+ BaseScreen* GetScreen(OobeScreen screen);
+
+ // Returns the current ScreenManager instance.
+ ScreenManager* screen_manager() { return &screen_manager_; }
// Volume percent at which spoken feedback is still audible.
static const int kMinAudibleOutputVolumePercent;
+ // Allocate a given BaseScreen for the given |Screen|. Used by
+ // |screen_manager_|.
+ BaseScreen* CreateScreen(OobeScreen screen);
+
private:
// Show specific screen.
void ShowNetworkScreen();
@@ -300,6 +305,8 @@ class WizardController : public BaseScreenDelegate,
// attestation-based enrollment if appropriate.
void StartEnrollmentScreen(bool force_interactive);
+ ScreenManager screen_manager_;
+
// Whether to skip any screens that may normally be shown after login
// (registration, Terms of Service, user image selection).
static bool skip_post_login_screens_;

Powered by Google App Engine
This is Rietveld 408576698