| Index: chrome/browser/ui/views/frame/immersive_mode_controller.h
|
| diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller.h b/chrome/browser/ui/views/frame/immersive_mode_controller.h
|
| index 8978e7fbbb90b1f67c386115549cba94e9acef3d..26ced2f7489d7ecd787ecec6ba9713ce2310d68d 100644
|
| --- a/chrome/browser/ui/views/frame/immersive_mode_controller.h
|
| +++ b/chrome/browser/ui/views/frame/immersive_mode_controller.h
|
| @@ -6,6 +6,7 @@
|
| #define CHROME_BROWSER_UI_VIEWS_FRAME_IMMERSIVE_MODE_CONTROLLER_H_
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/observer_list.h"
|
|
|
| class BookmarkBarView;
|
| class FullscreenController;
|
| @@ -39,6 +40,17 @@ class ImmersiveModeController {
|
| ANIMATE_REVEAL_NO
|
| };
|
|
|
| + class Observer {
|
| + public:
|
| + virtual ~Observer() {}
|
| +
|
| + // Called when a reveal of the top-of-window views has been initiated.
|
| + virtual void OnImmersiveRevealStarted() {}
|
| +
|
| + // Called when the immersive mode controller has been destroyed.
|
| + virtual void OnImmersiveModeControllerDestroyed() {}
|
| + };
|
| +
|
| class Delegate {
|
| public:
|
| // Returns the bookmark bar, or NULL if the window does not support one.
|
| @@ -57,7 +69,8 @@ class ImmersiveModeController {
|
| virtual ~Delegate() {}
|
| };
|
|
|
| - virtual ~ImmersiveModeController() {}
|
| + ImmersiveModeController();
|
| + virtual ~ImmersiveModeController();
|
|
|
| // Must initialize after browser view has a Widget and native window.
|
| virtual void Init(Delegate* delegate,
|
| @@ -120,6 +133,15 @@ class ImmersiveModeController {
|
|
|
| // Called by the TopContainerView to indicate that its bounds have changed.
|
| virtual void OnTopContainerBoundsChanged() = 0;
|
| +
|
| + virtual void AddObserver(Observer* observer);
|
| + virtual void RemoveObserver(Observer* observer);
|
| +
|
| + protected:
|
| + ObserverList<Observer> observers_;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ImmersiveModeController);
|
| };
|
|
|
| namespace chrome {
|
|
|