Index: ash/wm/caption_buttons/frame_maximize_button.h |
diff --git a/ash/wm/caption_buttons/frame_maximize_button.h b/ash/wm/caption_buttons/frame_maximize_button.h |
index 1539833a750ffed666a96324fcf9779ef9c0eb64..c60f7a570d1f7030c9f5a240544ab8885e2ed3c9 100644 |
--- a/ash/wm/caption_buttons/frame_maximize_button.h |
+++ b/ash/wm/caption_buttons/frame_maximize_button.h |
@@ -9,6 +9,7 @@ |
#include "ash/wm/caption_buttons/maximize_bubble_frame_state.h" |
#include "ash/wm/workspace/snap_types.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/observer_list.h" |
#include "base/timer/timer.h" |
#include "ui/aura/window_observer.h" |
#include "ui/views/controls/button/image_button.h" |
@@ -19,6 +20,7 @@ class Widget; |
} |
namespace ash { |
+class FrameMaximizeButtonObserver; |
namespace internal { |
class PhantomWindowController; |
@@ -36,6 +38,9 @@ class ASH_EXPORT FrameMaximizeButton : public views::ImageButton, |
views::Widget* frame); |
virtual ~FrameMaximizeButton(); |
+ void AddObserver(FrameMaximizeButtonObserver* observer); |
+ void RemoveObserver(FrameMaximizeButtonObserver* observer); |
+ |
// Updates |snap_type_| based on a a given snap type. This is used by |
// external hover events from the button menu. |
void SnapButtonHovered(SnapType type); |
@@ -44,6 +49,9 @@ class ASH_EXPORT FrameMaximizeButton : public views::ImageButton, |
// which will at the same time close the window. |
void ExecuteSnapAndCloseMenu(SnapType type); |
+ // Called by the MaximizeBubbleController when the maximize bubble is shown. |
+ void OnMaximizeBubbleShown(views::Widget* bubble); |
+ |
// Remove the maximize menu from the screen (and destroy it). |
void DestroyMaximizeMenu(); |
@@ -175,6 +183,8 @@ class ASH_EXPORT FrameMaximizeButton : public views::ImageButton, |
// The delay of the bubble appearance. |
int bubble_appearance_delay_ms_; |
+ ObserverList<FrameMaximizeButtonObserver> observer_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(FrameMaximizeButton); |
}; |