Index: chrome/browser/chromeos/login/screens/error_screen.h |
diff --git a/chrome/browser/chromeos/login/screens/error_screen.h b/chrome/browser/chromeos/login/screens/error_screen.h |
index 66cb7705c8f28f46faafbba8d1d659bb1fee9d3b..bd20d81f9efa0e21734983764cdc0d296949ba0c 100644 |
--- a/chrome/browser/chromeos/login/screens/error_screen.h |
+++ b/chrome/browser/chromeos/login/screens/error_screen.h |
@@ -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, |
@@ -45,6 +53,9 @@ |
ErrorScreen(ScreenObserver* screen_observer, ErrorScreenActor* actor); |
virtual ~ErrorScreen(); |
+ |
+ void AddObserver(Observer* observer); |
+ void RemoveObserver(Observer* observer); |
// WizardScreen implementation. |
virtual void PrepareToShow() OVERRIDE; |
@@ -106,9 +117,11 @@ |
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); |
}; |