Index: ash/system/web_notification/web_notification_tray.cc |
diff --git a/ash/system/web_notification/web_notification_tray.cc b/ash/system/web_notification/web_notification_tray.cc |
index 4125dd58ab073f10ac94867cd079f3a2472b322e..208187b9972a67c591f93046e8c98e7aa87d3065 100644 |
--- a/ash/system/web_notification/web_notification_tray.cc |
+++ b/ash/system/web_notification/web_notification_tray.cc |
@@ -11,8 +11,6 @@ |
#include "ash/common/shelf/wm_shelf.h" |
#include "ash/common/shelf/wm_shelf_util.h" |
#include "ash/common/shell_window_ids.h" |
-#include "ash/common/system/tray/system_tray_delegate.h" |
-#include "ash/common/system/tray/tray_bubble_wrapper.h" |
#include "ash/common/system/tray/tray_constants.h" |
#include "ash/common/system/tray/tray_utils.h" |
#include "ash/common/wm_lookup.h" |
@@ -21,6 +19,8 @@ |
#include "ash/common/wm_window.h" |
#include "ash/system/status_area_widget.h" |
#include "ash/system/tray/system_tray.h" |
+#include "ash/system/tray/tray_background_view.h" |
+#include "ash/system/tray/tray_bubble_wrapper.h" |
#include "ash/system/web_notification/ash_popup_alignment_delegate.h" |
#include "base/auto_reset.h" |
#include "base/i18n/number_formatting.h" |
@@ -205,13 +205,11 @@ |
}; |
WebNotificationTray::WebNotificationTray(StatusAreaWidget* status_area_widget) |
- : TrayBackgroundView(status_area_widget->wm_shelf()), |
- status_area_widget_(status_area_widget), |
+ : TrayBackgroundView(status_area_widget), |
button_(NULL), |
show_message_center_on_unlock_(false), |
should_update_tray_content_(false), |
should_block_shelf_auto_hide_(false) { |
- DCHECK(status_area_widget_); |
button_ = new WebNotificationButton(this); |
button_->set_triggerable_event_flags( |
ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON); |
@@ -258,13 +256,14 @@ |
message_center_tray_.get(), |
true); |
+ WmShelf* shelf = GetShelf(); |
int max_height; |
- if (IsHorizontalAlignment(shelf()->GetAlignment())) { |
- max_height = shelf()->GetIdealBounds().y(); |
+ if (IsHorizontalAlignment(shelf->GetAlignment())) { |
+ max_height = shelf->GetIdealBounds().y(); |
} else { |
// Assume the status area and bubble bottoms are aligned when vertical. |
WmWindow* status_area_window = |
- WmLookup::Get()->GetWindowForWidget(status_area_widget_); |
+ WmLookup::Get()->GetWindowForWidget(status_area_widget()); |
gfx::Rect bounds_in_root = |
status_area_window->GetRootWindow()->ConvertRectFromScreen( |
status_area_window->GetBoundsInScreen()); |
@@ -277,8 +276,8 @@ |
message_center_bubble_.reset( |
new WebNotificationBubbleWrapper(this, message_center_bubble)); |
- status_area_widget_->SetHideSystemNotifications(true); |
- shelf()->UpdateAutoHideState(); |
+ status_area_widget()->SetHideSystemNotifications(true); |
+ shelf->UpdateAutoHideState(); |
button_->SetBubbleVisible(true); |
SetDrawBackgroundAsActive(true); |
return true; |
@@ -295,8 +294,8 @@ |
message_center_bubble_.reset(); |
should_block_shelf_auto_hide_ = false; |
show_message_center_on_unlock_ = false; |
- status_area_widget_->SetHideSystemNotifications(false); |
- shelf()->UpdateAutoHideState(); |
+ status_area_widget()->SetHideSystemNotifications(false); |
+ GetShelf()->UpdateAutoHideState(); |
button_->SetBubbleVisible(false); |
} |
@@ -324,8 +323,8 @@ |
// Private methods. |
bool WebNotificationTray::ShouldShowMessageCenter() { |
- return !(status_area_widget_->system_tray() && |
- status_area_widget_->system_tray()->HasNotificationBubble()); |
+ return !(status_area_widget()->system_tray() && |
+ status_area_widget()->system_tray()->HasNotificationBubble()); |
} |
bool WebNotificationTray::ShouldBlockShelfAutoHide() const { |
@@ -520,11 +519,8 @@ |
} |
bool WebNotificationTray::IsLoggedIn() const { |
- WmShell* shell = WmShell::Get(); |
- // TODO(jamescook): Should this also check LoginState::LOCKED? |
- return shell->system_tray_delegate()->GetUserLoginStatus() != |
- LoginStatus::NOT_LOGGED_IN && |
- !shell->GetSessionStateDelegate()->IsInSecondaryLoginScreen(); |
+ return status_area_widget()->login_status() != LoginStatus::NOT_LOGGED_IN && |
+ !WmShell::Get()->GetSessionStateDelegate()->IsInSecondaryLoginScreen(); |
} |
// Methods for testing |