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

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 comments Created 6 years, 6 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..1034f484367531668425642df0be53b6ed73c7f1 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,33 @@ class EnrollmentScreenHandler
// Implements BrowsingDataRemover::Observer:
virtual void OnBrowsingDataRemoverDone() OVERRIDE;
+ // Implements NetworkStateInformer::NetworkStateInformerObserver
+ virtual void UpdateState(ErrorScreenActor::ErrorReason reason) OVERRIDE;
+
+ //
+ virtual void DidFailProvisionalLoad(
+ int64 frame_id,
+ const base::string16& frame_unique_name,
+ bool is_main_frame,
+ const GURL& validated_url,
+ int error_code,
+ const base::string16& error_description,
+ content::RenderViewHost* render_view_host) 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 FrameError() const { return frame_error_; }
// Shows a given enrollment step.
void ShowStep(const char* step);
@@ -86,6 +112,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.
ygorshenin1 2014/06/19 18:28:53 nit: s/Enrollment/enrollment/
Roman Sorokin (ftl) 2014/06/23 12:58:30 Done.
+ bool IsOnEnrollmentScreen() const;
+
+ // Returns true if current visible screen is the error screen over
+ // Enrollment sign-in page.
+ bool IsEnrollmentScreenHiddenByError() const;
ygorshenin1 2014/06/19 18:28:53 nit: s/Enrollment/enrollment/
Roman Sorokin (ftl) 2014/06/23 12:58:30 Done.
+
// Keeps the controller for this actor.
Controller* controller_;
@@ -113,6 +149,14 @@ class EnrollmentScreenHandler
// Helper that retrieves the authenticated user's e-mail address.
scoped_ptr<AuthenticatedUserEmailRetriever> email_retriever_;
+ // Latest Enrollment frame error.
ygorshenin1 2014/06/19 18:28:53 nit: s/Enrollment/enrollment/
Roman Sorokin (ftl) 2014/06/23 12:58:30 Done.
+ net::Error frame_error_;
+
+ // Network state informer used to keep signin screen up.
+ scoped_refptr<NetworkStateInformer> network_state_informer_;
+
+ ErrorScreenActor* error_screen_actor_;
+
DISALLOW_COPY_AND_ASSIGN(EnrollmentScreenHandler);
};

Powered by Google App Engine
This is Rietveld 408576698