| Index: ash/system/status_area_widget.cc
|
| diff --git a/ash/system/status_area_widget.cc b/ash/system/status_area_widget.cc
|
| index 97dd7ca11c46367675ce65625409a182704b125c..b3e2b4f3a13fef363b3ba0e89238632f9d56be9f 100644
|
| --- a/ash/system/status_area_widget.cc
|
| +++ b/ash/system/status_area_widget.cc
|
| @@ -303,8 +303,7 @@ StatusAreaWidget::StatusAreaWidget()
|
| : status_area_widget_delegate_(new internal::StatusAreaWidgetDelegate),
|
| system_tray_(NULL),
|
| web_notification_tray_(NULL),
|
| - login_status_(user::LOGGED_IN_NONE),
|
| - should_show_launcher_(false) {
|
| + login_status_(user::LOGGED_IN_NONE) {
|
| views::Widget::InitParams params(
|
| views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
|
| params.delegate = status_area_widget_delegate_;
|
| @@ -343,6 +342,22 @@ void StatusAreaWidget::Shutdown() {
|
| delete web_notification_tray_;
|
| }
|
|
|
| +bool StatusAreaWidget::ShouldShowLauncher() const {
|
| + if ((system_tray_ && system_tray_->HasSystemBubble()) ||
|
| + (web_notification_tray_ &&
|
| + web_notification_tray_->IsMessageCenterBubbleVisible()))
|
| + return true;
|
| +
|
| + if (!Shell::GetInstance()->shelf()->IsVisible())
|
| + return false;
|
| +
|
| + // If the launcher is currently visible, don't hide the launcher if the mouse
|
| + // is in any of the notification bubbles.
|
| + return (system_tray_ && system_tray_->IsMouseInNotificationBubble()) ||
|
| + (web_notification_tray_ &&
|
| + web_notification_tray_->IsMouseInNotificationBubble());
|
| +}
|
| +
|
| void StatusAreaWidget::AddSystemTray(ShellDelegate* shell_delegate) {
|
| system_tray_ = new SystemTray(this);
|
| status_area_widget_delegate_->AddTray(system_tray_);
|
| @@ -403,27 +418,5 @@ void StatusAreaWidget::UpdateAfterLoginStatusChange(
|
| web_notification_tray_->UpdateAfterLoginStatusChange(login_status);
|
| }
|
|
|
| -void StatusAreaWidget::UpdateShouldShowLauncher() {
|
| - // If any bubble is visible, we should show the launcher.
|
| - bool should_show_launcher =
|
| - (system_tray_ && system_tray_->HasSystemBubble()) ||
|
| - (web_notification_tray_ &&
|
| - web_notification_tray_->IsMessageCenterBubbleVisible());
|
| - if (!should_show_launcher && Shell::GetInstance()->shelf()->IsVisible()) {
|
| - // If the launcher is currently visible, don't hide the launcher if
|
| - // the mouse is in this widget or in any notification bubbles.
|
| - should_show_launcher =
|
| - (GetWindowBoundsInScreen().Contains(
|
| - gfx::Screen::GetCursorScreenPoint())) ||
|
| - (system_tray_ && system_tray_->IsMouseInNotificationBubble()) ||
|
| - (web_notification_tray_ &&
|
| - web_notification_tray_->IsMouseInNotificationBubble());
|
| - }
|
| - if (should_show_launcher != should_show_launcher_) {
|
| - should_show_launcher_ = should_show_launcher;
|
| - Shell::GetInstance()->shelf()->UpdateAutoHideState();
|
| - }
|
| -}
|
| -
|
| } // namespace internal
|
| } // namespace ash
|
|
|