| 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 ae8a0eb3b5093fb41141fec5694821be2be2fe37..81da8d862d85de9370091a260be5efb9d20d58ac 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;
|
| @@ -40,6 +41,18 @@ class ImmersiveModeController {
|
| ANIMATE_REVEAL_NO
|
| };
|
|
|
| + class Observer {
|
| + public:
|
| + // 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() {}
|
| +
|
| + protected:
|
| + virtual ~Observer() {}
|
| + };
|
| +
|
| class Delegate {
|
| public:
|
| // Returns the bookmark bar, or NULL if the window does not support one.
|
| @@ -58,7 +71,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,
|
| @@ -127,6 +141,15 @@ class ImmersiveModeController {
|
| // visible.
|
| virtual void OnFindBarVisibleBoundsChanged(
|
| const gfx::Rect& new_visible_bounds_in_screen) = 0;
|
| +
|
| + virtual void AddObserver(Observer* observer);
|
| + virtual void RemoveObserver(Observer* observer);
|
| +
|
| + protected:
|
| + ObserverList<Observer> observers_;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ImmersiveModeController);
|
| };
|
|
|
| namespace chrome {
|
|
|