summaryrefslogtreecommitdiffstats
path: root/ash/system/tray/tray_bubble_wrapper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ash/system/tray/tray_bubble_wrapper.cc')
-rw-r--r--ash/system/tray/tray_bubble_wrapper.cc13
1 files changed, 1 insertions, 12 deletions
diff --git a/ash/system/tray/tray_bubble_wrapper.cc b/ash/system/tray/tray_bubble_wrapper.cc
index c57cc7a..75651c2 100644
--- a/ash/system/tray/tray_bubble_wrapper.cc
+++ b/ash/system/tray/tray_bubble_wrapper.cc
@@ -7,9 +7,6 @@
#include "ash/system/tray/tray_background_view.h"
#include "ash/system/tray/tray_event_filter.h"
#include "ash/wm/window_properties.h"
-#include "base/bind.h"
-#include "base/message_loop.h"
-#include "base/time.h"
#include "ui/views/bubble/tray_bubble_view.h"
#include "ui/views/widget/widget.h"
@@ -20,7 +17,6 @@ TrayBubbleWrapper::TrayBubbleWrapper(TrayBackgroundView* tray,
views::TrayBubbleView* bubble_view)
: tray_(tray),
bubble_view_(bubble_view) {
- DCHECK(tray_);
bubble_widget_ = views::BubbleDelegateView::CreateBubble(bubble_view_);
bubble_widget_->AddObserver(this);
bubble_widget_->GetNativeView()->
@@ -44,14 +40,7 @@ TrayBubbleWrapper::~TrayBubbleWrapper() {
void TrayBubbleWrapper::OnWidgetDestroying(views::Widget* widget) {
CHECK_EQ(bubble_widget_, widget);
bubble_widget_ = NULL;
-
- // Do not call HideBubbleWithView directly but post the task to ensure that
- // HideBubbleWithView is called after the click event on the tray button is
- // handled. See crbug.com/177075 and crbug.com/169940
- MessageLoopForUI::current()->PostTask(
- FROM_HERE,
- base::Bind(&TrayBackgroundView::HideBubbleWithView,
- base::Unretained(tray_), base::Unretained(bubble_view_)));
+ tray_->HideBubbleWithView(bubble_view_); // May destroy |bubble_view_|
}
} // namespace internal