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

Unified Diff: chrome/browser/chromeos/login/screens/reset_screen.h

Issue 904163003: Reset Screen moved to ScreenContext. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Include for GetNativeWindow added. Created 5 years, 10 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/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..8fb87dbd69eee98fcbf3ab50519128c8dc050cff 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.
@@ -7,32 +7,65 @@
#include <string>
-#include "base/basictypes.h"
#include "base/compiler_specific.h"
-#include "chrome/browser/chromeos/login/screens/base_screen.h"
-#include "chrome/browser/chromeos/login/screens/reset_screen_actor.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/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 OnViewDestroyed(ResetView* view) override;
+ void OnUserAction(const std::string& action_id) override;
+
+ // UpdateEngineClient::Observer implementation:
+ void UpdateStatusChanged(const UpdateEngineClient::Status& status) override;
- // ResetScreenActor::Delegate implementation:
- void OnExit() override;
- void OnActorDestroyed(ResetScreenActor* actor) override;
+ void OnRollbackCheck(bool can_rollback);
private:
- ResetScreenActor* actor_;
+
+ enum State {
+ STATE_RESTART_REQUIRED = 0,
+ STATE_REVERT_PROMISE,
+ STATE_POWERWASH_PROPOSAL,
+ STATE_ERROR
+ };
+
+ void OnCancel();
+ void OnPowerwash();
+ void OnRestart();
+ void OnToggleRollback();
+ void OnShowConfirm();
+ void OnLearnMore();
+ void OnConfirmationDismissed();
+
+ // Returns an instance of the error screen.
+ ErrorScreen* GetErrorScreen();
+
+ ResetView* view_;
+
+ // Help application used for help dialogs.
+ scoped_refptr<HelpAppLauncher> help_app_;
+
+ base::WeakPtrFactory<ResetScreen> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(ResetScreen);
};
« no previous file with comments | « chrome/browser/chromeos/login/screens/reset_model.cc ('k') | chrome/browser/chromeos/login/screens/reset_screen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698