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

Unified Diff: chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h

Issue 332243002: Network connectivity errors handling (incl. CP) for enrollment flow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed nits Created 6 years, 5 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/ui/webui/chromeos/login/enrollment_screen_handler.h
diff --git a/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h
index e5e7ffd474d7167cafa3fa700eccf8ffc0cc5ebb..78a97076ab558c650632aa69c6f8915577b1440e 100644
--- a/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h
@@ -14,7 +14,9 @@
#include "base/memory/scoped_vector.h"
#include "chrome/browser/browsing_data/browsing_data_remover.h"
#include "chrome/browser/chromeos/login/enrollment/enrollment_screen_actor.h"
+#include "chrome/browser/chromeos/login/ui/webui_login_view.h"
#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
+#include "chrome/browser/ui/webui/chromeos/login/network_state_informer.h"
namespace policy {
class PolicyOAuth2TokenFetcher;
@@ -29,9 +31,13 @@ class AuthenticatedUserEmailRetriever;
class EnrollmentScreenHandler
: public BaseScreenHandler,
public EnrollmentScreenActor,
- public BrowsingDataRemover::Observer {
+ public BrowsingDataRemover::Observer,
+ public NetworkStateInformer::NetworkStateInformerObserver,
+ public WebUILoginView::FrameObserver {
public:
- EnrollmentScreenHandler();
+ EnrollmentScreenHandler(
+ const scoped_refptr<NetworkStateInformer>& network_state_informer,
+ ErrorScreenActor* error_screen_actor);
virtual ~EnrollmentScreenHandler();
// Implements WebUIMessageHandler:
@@ -60,13 +66,26 @@ class EnrollmentScreenHandler
// Implements BrowsingDataRemover::Observer:
virtual void OnBrowsingDataRemoverDone() OVERRIDE;
+ // Implements NetworkStateInformer::NetworkStateInformerObserver
+ virtual void UpdateState(ErrorScreenActor::ErrorReason reason) OVERRIDE;
+
+ // Implements WebUILoginView::FrameObserver
+ virtual void OnFrameError(const std::string& frame_unique_name) OVERRIDE;
+
private:
// Handlers for WebUI messages.
void HandleRetrieveAuthenticatedUserEmail(double attempt_token);
void HandleClose(const std::string& reason);
void HandleCompleteLogin(const std::string& user);
void HandleRetry();
+ void HandleFrameLoadingCompleted(int status);
+
+ void SetupAndShowOfflineMessage(NetworkStateInformer::State state,
+ ErrorScreenActor::ErrorReason reason);
+ void HideOfflineMessage(NetworkStateInformer::State state,
+ ErrorScreenActor::ErrorReason reason);
+ net::Error frame_error() const { return frame_error_; }
// Shows a given enrollment step.
void ShowStep(const char* step);
@@ -86,6 +105,16 @@ class EnrollmentScreenHandler
// Shows the screen.
void DoShow();
+ // Returns current visible screen.
+ OobeUI::Screen GetCurrentScreen() const;
+
+ // Returns true if current visible screen is the enrollment sign-in page.
+ bool IsOnEnrollmentScreen() const;
+
+ // Returns true if current visible screen is the error screen over
+ // enrollment sign-in page.
+ bool IsEnrollmentScreenHiddenByError() const;
+
// Keeps the controller for this actor.
Controller* controller_;
@@ -113,6 +142,16 @@ class EnrollmentScreenHandler
// Helper that retrieves the authenticated user's e-mail address.
scoped_ptr<AuthenticatedUserEmailRetriever> email_retriever_;
+ // Latest enrollment frame error.
+ net::Error frame_error_;
+
+ // Network state informer used to keep signin screen up.
+ scoped_refptr<NetworkStateInformer> network_state_informer_;
+
+ ErrorScreenActor* error_screen_actor_;
+
+ base::WeakPtrFactory<EnrollmentScreenHandler> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(EnrollmentScreenHandler);
};

Powered by Google App Engine
This is Rietveld 408576698