Index: ash/system/tray/system_tray_bubble.h |
=================================================================== |
--- ash/system/tray/system_tray_bubble.h (revision 137750) |
+++ ash/system/tray/system_tray_bubble.h (working copy) |
@@ -8,6 +8,7 @@ |
#include "ash/system/user/login_status.h" |
#include "base/base_export.h" |
+#include "base/message_pump_observer.h" |
#include "base/timer.h" |
#include "ui/views/bubble/bubble_delegate.h" |
#include "ui/views/widget/widget.h" |
@@ -57,7 +58,8 @@ |
DISALLOW_COPY_AND_ASSIGN(SystemTrayBubbleView); |
}; |
-class SystemTrayBubble : public views::Widget::Observer { |
+class SystemTrayBubble : public base::MessagePumpObserver, |
+ public views::Widget::Observer { |
public: |
enum BubbleType { |
BUBBLE_TYPE_DEFAULT, |
@@ -107,8 +109,14 @@ |
private: |
void CreateItemViews(user::LoginStatus login_status); |
+ // Overridden from base::MessagePumpObserver. |
+ virtual base::EventStatus WillProcessEvent( |
+ const base::NativeEvent& event) OVERRIDE; |
+ virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE; |
// Overridden from views::Widget::Observer. |
virtual void OnWidgetClosing(views::Widget* widget) OVERRIDE; |
+ virtual void OnWidgetVisibilityChanged(views::Widget* widget, |
+ bool visible) OVERRIDE; |
ash::SystemTray* tray_; |
SystemTrayBubbleView* bubble_view_; |