Index: chrome/browser/ui/webui/signin/login_ui_service.h |
=================================================================== |
--- chrome/browser/ui/webui/signin/login_ui_service.h (revision 145382) |
+++ chrome/browser/ui/webui/signin/login_ui_service.h (working copy) |
@@ -7,6 +7,7 @@ |
#pragma once |
#include "base/basictypes.h" |
+#include "base/observer_list.h" |
#include "chrome/browser/profiles/profile_keyed_service.h" |
class Browser; |
@@ -29,6 +30,14 @@ |
virtual ~LoginUI() {} |
}; |
+ class Observer { |
+ public: |
Andrew T Wilson (Slow)
2012/07/10 17:37:43
Style guide requires a virtual destructor for inte
Munjal (Google)
2012/07/10 18:02:58
Done.
|
+ // Called when a new login UI is shown. |
+ virtual void OnLoginUIShown(LoginUI* ui) = 0; |
+ // Called when a login UI is closed. |
+ virtual void OnLoginUIClosed(LoginUI* ui) = 0; |
+ }; |
+ |
LoginUIService(); |
virtual ~LoginUIService(); |
@@ -37,6 +46,9 @@ |
return ui_; |
} |
+ void AddObserver(Observer* observer); |
+ void RemoveObserver(Observer* observer); |
+ |
// Sets the currently active login UI. It is illegal to call this if there is |
// already login UI visible. |
void SetLoginUI(LoginUI* ui); |
@@ -54,6 +66,8 @@ |
// Weak pointer to the currently active login UI, or null if none. |
LoginUI* ui_; |
+ ObserverList<Observer> observer_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(LoginUIService); |
}; |