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

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

Issue 863263006: Migrating UpdateScreen to ScreenContext (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: refactor Created 5 years, 11 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/update_screen.h
diff --git a/chrome/browser/chromeos/login/screens/update_screen.h b/chrome/browser/chromeos/login/screens/update_screen.h
index 6b3938920fd0d29d0e66fce322793f2ad42acdb2..e9b291e8b97defb0e77f8d6def7bcf77095d37b7 100644
--- a/chrome/browser/chromeos/login/screens/update_screen.h
+++ b/chrome/browser/chromeos/login/screens/update_screen.h
@@ -13,8 +13,7 @@
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
#include "base/timer/timer.h"
-#include "chrome/browser/chromeos/login/screens/base_screen.h"
-#include "chrome/browser/chromeos/login/screens/update_screen_actor.h"
+#include "chrome/browser/chromeos/login/screens/update_model.h"
#include "chromeos/dbus/update_engine_client.h"
#include "chromeos/network/portal_detector/network_portal_detector.h"
#include "components/pairing/host_pairing_controller.h"
@@ -26,40 +25,33 @@ class ErrorScreen;
class ErrorScreensHistogramHelper;
class NetworkState;
class ScreenManager;
+class UpdateView;
-// Controller for the update screen. It does not depend on the specific
-// implementation of the screen showing (Views of WebUI based), the dependency
-// is moved to the UpdateScreenActor instead.
-class UpdateScreen : public UpdateEngineClient::Observer,
- public UpdateScreenActor::Delegate,
- public BaseScreen,
+// Controller for the update screen.
+class UpdateScreen : public UpdateModel,
+ public UpdateEngineClient::Observer,
public NetworkPortalDetector::Observer {
public:
UpdateScreen(BaseScreenDelegate* base_screen_delegate,
- UpdateScreenActor* actor,
+ UpdateView* view,
pairing_chromeos::HostPairingController* remora_controller);
~UpdateScreen() override;
static UpdateScreen* Get(ScreenManager* manager);
- // Overridden from BaseScreen.
+ // UpdateModel:
void PrepareToShow() override;
void Show() override;
void Hide() override;
- std::string GetName() const override;
-
- // UpdateScreenActor::Delegate implementation:
- void CancelUpdate() override;
- void OnActorDestroyed(UpdateScreenActor* actor) override;
+ void Initialize(::login::ScreenContext* context) override;
+ void OnViewDestroyed(UpdateView* view) override;
+ void OnUserAction(const std::string& action_id) override;
+ void OnContextKeyUpdated(const ::login::ScreenContext::KeyType& key) override;
void OnConnectToNetworkRequested() override;
// Starts network check. Made virtual to simplify mocking.
virtual void StartNetworkCheck();
- // Reboot check delay get/set, in seconds.
- int reboot_check_delay() const { return reboot_check_delay_; }
- void SetRebootCheckDelay(int seconds);
-
// Returns true if this instance is still active (i.e. has not been deleted).
static bool HasInstance(UpdateScreen* inst);
@@ -82,6 +74,9 @@ class UpdateScreen : public UpdateEngineClient::Observer,
const NetworkState* network,
const NetworkPortalDetector::CaptivePortalState& state) override;
+ // Skip update UI, usually used only in debug builds/tests.
+ void CancelUpdate();
+
private:
FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestBasic);
FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestUpdateAvailable);
@@ -149,8 +144,7 @@ class UpdateScreen : public UpdateEngineClient::Observer,
// Ignore fist IDLE status that is sent before update screen initiated check.
bool ignore_idle_status_;
- // Keeps actor which is delegated with all showing operations.
- UpdateScreenActor* actor_;
+ UpdateView* view_;
// Used to track updates over Bluetooth.
pairing_chromeos::HostPairingController* remora_controller_;
« no previous file with comments | « chrome/browser/chromeos/login/screens/update_model.cc ('k') | chrome/browser/chromeos/login/screens/update_screen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698