Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1485)

Unified Diff: ash/system/tray/tray_bubble_wrapper.h

Issue 12510005: Remove close_on_deactivate=false for tray bubbles (2nd) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/system/tray/tray_bubble_wrapper.h
diff --git a/ash/system/tray/tray_bubble_wrapper.h b/ash/system/tray/tray_bubble_wrapper.h
index baa5416473806273e2be11454d33ceee1dfea8a4..562b196e818bdc7000327df8c22f8ab9582f8970 100644
--- a/ash/system/tray/tray_bubble_wrapper.h
+++ b/ash/system/tray/tray_bubble_wrapper.h
@@ -7,6 +7,7 @@
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
#include "ui/views/widget/widget_observer.h"
namespace views {
@@ -20,8 +21,8 @@ class TrayBackgroundView;
class TrayEventFilter;
// Creates and manages the Widget and EventFilter components of a bubble.
-
-class TrayBubbleWrapper : public views::WidgetObserver {
+class TrayBubbleWrapper : public views::WidgetObserver,
+ public base::SupportsWeakPtr<TrayBubbleWrapper> {
public:
TrayBubbleWrapper(TrayBackgroundView* tray,
views::TrayBubbleView* bubble_view);
@@ -36,8 +37,15 @@ class TrayBubbleWrapper : public views::WidgetObserver {
const views::Widget* bubble_widget() const { return bubble_widget_; }
private:
+ void HideBubbleWithView();
+
+ // unowned. |tray_| owns this and it should outlive.
TrayBackgroundView* tray_;
- views::TrayBubbleView* bubble_view_; // unowned
+
+ // unowned.
+ views::TrayBubbleView* bubble_view_;
+
+ // unowned.
views::Widget* bubble_widget_;
DISALLOW_COPY_AND_ASSIGN(TrayBubbleWrapper);

Powered by Google App Engine
This is Rietveld 408576698