| Index: chrome/browser/chromeos/login/screen_manager.h
|
| diff --git a/chrome/browser/chromeos/login/screen_manager.h b/chrome/browser/chromeos/login/screen_manager.h
|
| index 360d2b28e96c573a667e271613c148879567e9ff..e0b1383e26da8f95c1defdb389b2814558d8b287 100644
|
| --- a/chrome/browser/chromeos/login/screen_manager.h
|
| +++ b/chrome/browser/chromeos/login/screen_manager.h
|
| @@ -6,26 +6,26 @@
|
| #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREEN_MANAGER_H_
|
|
|
| #include <map>
|
| +#include <memory>
|
| #include <string>
|
|
|
| #include "base/gtest_prod_util.h"
|
| #include "base/macros.h"
|
| -#include "base/memory/linked_ptr.h"
|
| #include "chrome/browser/chromeos/login/screens/base_screen.h"
|
|
|
| namespace chromeos {
|
|
|
| +class WizardController;
|
| +
|
| // Class that manages creation and ownership of screens.
|
| class ScreenManager {
|
| public:
|
| - ScreenManager();
|
| - virtual ~ScreenManager();
|
| + // |wizard_controller| is not owned by this class.
|
| + explicit ScreenManager(WizardController* wizard_controller);
|
| + ~ScreenManager();
|
|
|
| // Getter for screen with lazy initialization.
|
| - virtual BaseScreen* GetScreen(OobeScreen screen);
|
| -
|
| - // Factory for screen instances.
|
| - virtual BaseScreen* CreateScreen(OobeScreen screen) = 0;
|
| + BaseScreen* GetScreen(OobeScreen screen);
|
|
|
| bool HasScreen(OobeScreen screen);
|
|
|
| @@ -37,8 +37,11 @@ class ScreenManager {
|
| friend class WizardInProcessBrowserTest;
|
| friend class WizardControllerBrokenLocalStateTest;
|
|
|
| - // Screens.
|
| - std::map<OobeScreen, linked_ptr<BaseScreen>> screens_;
|
| + // Created screens.
|
| + std::map<OobeScreen, std::unique_ptr<BaseScreen>> screens_;
|
| +
|
| + // Used to allocate BaseScreen instances. Unowned.
|
| + WizardController* wizard_controller_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ScreenManager);
|
| };
|
|
|