Index: trunk/src/chrome/browser/chromeos/login/screens/error_screen.h |
=================================================================== |
--- trunk/src/chrome/browser/chromeos/login/screens/error_screen.h (revision 268189) |
+++ trunk/src/chrome/browser/chromeos/login/screens/error_screen.h (working copy) |
@@ -9,6 +9,7 @@ |
#include "base/compiler_specific.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/observer_list.h" |
#include "chrome/browser/chromeos/login/login_performer.h" |
#include "chrome/browser/chromeos/login/oobe_display.h" |
#include "chrome/browser/chromeos/login/screens/error_screen_actor_delegate.h" |
@@ -24,6 +25,13 @@ |
public ErrorScreenActorDelegate, |
public LoginPerformer::Delegate { |
public: |
+ class Observer { |
+ public: |
+ virtual ~Observer() {} |
+ virtual void OnErrorScreenShow() = 0; |
+ virtual void OnErrorScreenHide() = 0; |
+ }; |
+ |
enum UIState { |
UI_STATE_UNKNOWN = 0, |
UI_STATE_UPDATE, |
@@ -46,6 +54,9 @@ |
ErrorScreen(ScreenObserver* screen_observer, ErrorScreenActor* actor); |
virtual ~ErrorScreen(); |
+ void AddObserver(Observer* observer); |
+ void RemoveObserver(Observer* observer); |
+ |
// WizardScreen implementation. |
virtual void PrepareToShow() OVERRIDE; |
virtual void Show() OVERRIDE; |
@@ -106,10 +117,12 @@ |
OobeDisplay::Screen parent_screen_; |
+ base::WeakPtrFactory<ErrorScreen> weak_factory_; |
+ |
+ ObserverList<Observer> observers_; |
+ |
scoped_ptr<LoginPerformer> guest_login_performer_; |
- base::WeakPtrFactory<ErrorScreen> weak_factory_; |
- |
DISALLOW_COPY_AND_ASSIGN(ErrorScreen); |
}; |