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

Side by Side Diff: chrome/browser/chromeos/login/screens/error_screen.h

Issue 245113003: Removed dependency on the UI from the NetworkPortalDetector. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ERROR_SCREEN_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ERROR_SCREEN_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ERROR_SCREEN_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ERROR_SCREEN_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/observer_list.h"
13 #include "chrome/browser/chromeos/login/login_performer.h" 12 #include "chrome/browser/chromeos/login/login_performer.h"
14 #include "chrome/browser/chromeos/login/oobe_display.h" 13 #include "chrome/browser/chromeos/login/oobe_display.h"
15 #include "chrome/browser/chromeos/login/screens/error_screen_actor_delegate.h" 14 #include "chrome/browser/chromeos/login/screens/error_screen_actor_delegate.h"
16 #include "chrome/browser/chromeos/login/screens/wizard_screen.h" 15 #include "chrome/browser/chromeos/login/screens/wizard_screen.h"
17 #include "chrome/browser/chromeos/settings/device_settings_service.h" 16 #include "chrome/browser/chromeos/settings/device_settings_service.h"
18 17
19 namespace chromeos { 18 namespace chromeos {
20 19
21 class ScreenObserver; 20 class ScreenObserver;
22 21
23 // Controller for the error screen. 22 // Controller for the error screen.
24 class ErrorScreen : public WizardScreen, 23 class ErrorScreen : public WizardScreen,
25 public ErrorScreenActorDelegate, 24 public ErrorScreenActorDelegate,
26 public LoginPerformer::Delegate { 25 public LoginPerformer::Delegate {
27 public: 26 public:
28 class Observer {
29 public:
30 virtual ~Observer() {}
31 virtual void OnErrorScreenShow() = 0;
32 virtual void OnErrorScreenHide() = 0;
33 };
34
35 enum UIState { 27 enum UIState {
36 UI_STATE_UNKNOWN = 0, 28 UI_STATE_UNKNOWN = 0,
37 UI_STATE_UPDATE, 29 UI_STATE_UPDATE,
38 UI_STATE_SIGNIN, 30 UI_STATE_SIGNIN,
39 UI_STATE_LOCALLY_MANAGED, 31 UI_STATE_LOCALLY_MANAGED,
40 UI_STATE_KIOSK_MODE, 32 UI_STATE_KIOSK_MODE,
41 UI_STATE_LOCAL_STATE_ERROR, 33 UI_STATE_LOCAL_STATE_ERROR,
42 UI_STATE_AUTO_ENROLLMENT_ERROR, 34 UI_STATE_AUTO_ENROLLMENT_ERROR,
43 }; 35 };
44 36
45 enum ErrorState { 37 enum ErrorState {
46 ERROR_STATE_UNKNOWN = 0, 38 ERROR_STATE_UNKNOWN = 0,
47 ERROR_STATE_PORTAL, 39 ERROR_STATE_PORTAL,
48 ERROR_STATE_OFFLINE, 40 ERROR_STATE_OFFLINE,
49 ERROR_STATE_PROXY, 41 ERROR_STATE_PROXY,
50 ERROR_STATE_AUTH_EXT_TIMEOUT, 42 ERROR_STATE_AUTH_EXT_TIMEOUT,
51 ERROR_STATE_KIOSK_ONLINE 43 ERROR_STATE_KIOSK_ONLINE
52 }; 44 };
53 45
54 ErrorScreen(ScreenObserver* screen_observer, ErrorScreenActor* actor); 46 ErrorScreen(ScreenObserver* screen_observer, ErrorScreenActor* actor);
55 virtual ~ErrorScreen(); 47 virtual ~ErrorScreen();
56 48
57 void AddObserver(Observer* observer);
58 void RemoveObserver(Observer* observer);
59
60 // WizardScreen implementation. 49 // WizardScreen implementation.
61 virtual void PrepareToShow() OVERRIDE; 50 virtual void PrepareToShow() OVERRIDE;
62 virtual void Show() OVERRIDE; 51 virtual void Show() OVERRIDE;
63 virtual void Hide() OVERRIDE; 52 virtual void Hide() OVERRIDE;
64 virtual std::string GetName() const OVERRIDE; 53 virtual std::string GetName() const OVERRIDE;
65 54
66 // ErrorScreenActorDelegate implementation: 55 // ErrorScreenActorDelegate implementation:
67 virtual void OnErrorShow() OVERRIDE; 56 virtual void OnErrorShow() OVERRIDE;
68 virtual void OnErrorHide() OVERRIDE; 57 virtual void OnErrorHide() OVERRIDE;
69 virtual void OnLaunchOobeGuestSession() OVERRIDE; 58 virtual void OnLaunchOobeGuestSession() OVERRIDE;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 private: 99 private:
111 // Handles the response of an ownership check and starts the guest session if 100 // Handles the response of an ownership check and starts the guest session if
112 // applicable. 101 // applicable.
113 void StartGuestSessionAfterOwnershipCheck( 102 void StartGuestSessionAfterOwnershipCheck(
114 DeviceSettingsService::OwnershipStatus ownership_status); 103 DeviceSettingsService::OwnershipStatus ownership_status);
115 104
116 ErrorScreenActor* actor_; 105 ErrorScreenActor* actor_;
117 106
118 OobeDisplay::Screen parent_screen_; 107 OobeDisplay::Screen parent_screen_;
119 108
109 scoped_ptr<LoginPerformer> guest_login_performer_;
110
120 base::WeakPtrFactory<ErrorScreen> weak_factory_; 111 base::WeakPtrFactory<ErrorScreen> weak_factory_;
121 112
122 ObserverList<Observer> observers_;
123
124 scoped_ptr<LoginPerformer> guest_login_performer_;
125
126 DISALLOW_COPY_AND_ASSIGN(ErrorScreen); 113 DISALLOW_COPY_AND_ASSIGN(ErrorScreen);
127 }; 114 };
128 115
129 } // namespace chromeos 116 } // namespace chromeos
130 117
131 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ERROR_SCREEN_H_ 118 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_ERROR_SCREEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698