Chromium Code Reviews| Index: chrome/browser/chromeos/login/screens/reset_screen.h |
| diff --git a/chrome/browser/chromeos/login/screens/reset_screen.h b/chrome/browser/chromeos/login/screens/reset_screen.h |
| index 92d1bb00bdff20d3ae452ae9fc7e70fad711b90d..3349005dcf8428fb6d6c00307afb24da77769a73 100644 |
| --- a/chrome/browser/chromeos/login/screens/reset_screen.h |
| +++ b/chrome/browser/chromeos/login/screens/reset_screen.h |
| @@ -1,4 +1,4 @@ |
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| @@ -9,30 +9,63 @@ |
| #include "base/basictypes.h" |
|
dzhioev (left Google)
2015/02/11 12:38:29
What this include is needed for?
merkulova
2015/02/11 15:07:17
Removed.
|
| #include "base/compiler_specific.h" |
| +#include "base/memory/ref_counted.h" |
| +#include "base/memory/weak_ptr.h" |
| +#include "chrome/browser/chromeos/login/help_app_launcher.h" |
| #include "chrome/browser/chromeos/login/screens/base_screen.h" |
|
dzhioev (left Google)
2015/02/11 12:38:29
Not needed.
merkulova
2015/02/11 15:07:17
Done.
|
| -#include "chrome/browser/chromeos/login/screens/reset_screen_actor.h" |
| +#include "chrome/browser/chromeos/login/screens/reset_model.h" |
| +#include "chromeos/dbus/update_engine_client.h" |
| + |
| namespace chromeos { |
| +class ErrorScreen; |
| +class ResetView; |
| + |
| // Representation independent class that controls screen showing reset to users. |
| -class ResetScreen : public BaseScreen, public ResetScreenActor::Delegate { |
| +class ResetScreen : public ResetModel, |
| + public UpdateEngineClient::Observer { |
| public: |
| ResetScreen(BaseScreenDelegate* base_screen_delegate, |
| - ResetScreenActor* actor); |
| + ResetView* view); |
| ~ResetScreen() override; |
| - // BaseScreen implementation: |
| + // ResetModel implementation: |
| void PrepareToShow() override; |
| void Show() override; |
| void Hide() override; |
| - std::string GetName() const override; |
| + void OnCancel() override; |
| + void OnPowerwash() override; |
| + void OnRestart() override; |
| + void OnToggleRollback() override; |
| + void OnShowConfirm() override; |
| + void OnLearnMore() override; |
| + void OnViewDestroyed(ResetView* view) override; |
| + void OnUserAction(const std::string& action_id) override; |
| - // ResetScreenActor::Delegate implementation: |
| - void OnExit() override; |
| - void OnActorDestroyed(ResetScreenActor* actor) override; |
| + // UpdateEngineClient::Observer implementation: |
| + void UpdateStatusChanged(const UpdateEngineClient::Status& status) override; |
| + |
| + void OnRollbackCheck(bool can_rollback); |
| private: |
| - ResetScreenActor* actor_; |
| + |
| + enum State { |
| + STATE_RESTART_REQUIRED = 0, |
| + STATE_REVERT_PROMISE, |
| + STATE_POWERWASH_PROPOSAL, |
| + STATE_ERROR |
| + }; |
| + |
| + // Returns an instance of the error screen. |
| + ErrorScreen* GetErrorScreen(); |
| + |
| + ResetView* view_; |
| + |
| + // Help application used for help dialogs. |
| + scoped_refptr<HelpAppLauncher> help_app_; |
|
dzhioev (left Google)
2015/02/11 12:38:29
Do you now why help_app_ is a scoped_refptr, and n
merkulova
2015/02/11 15:07:17
Because some other screens might use it.
dzhioev (left Google)
2015/02/12 12:51:58
First of all, help_app_ is a private field without
merkulova
2015/02/12 13:37:37
is_refcounted_type_and_needs_scoped_refptr as Help
|
| + |
| + base::WeakPtrFactory<ResetScreen> weak_ptr_factory_; |
| DISALLOW_COPY_AND_ASSIGN(ResetScreen); |
| }; |