Index: ash/common/system/web_notification/web_notification_tray.h |
diff --git a/ash/common/system/web_notification/web_notification_tray.h b/ash/common/system/web_notification/web_notification_tray.h |
index 6938498016b13a470ac9069fa7106f7aa32b32c9..8d1da9ad24f26ed9af2eac5cf83b70183ec503ad 100644 |
--- a/ash/common/system/web_notification/web_notification_tray.h |
+++ b/ash/common/system/web_notification/web_notification_tray.h |
@@ -14,6 +14,7 @@ |
#include "base/macros.h" |
#include "base/memory/weak_ptr.h" |
#include "ui/base/models/simple_menu_model.h" |
+#include "ui/gfx/animation/animation_container.h" |
#include "ui/message_center/message_center_tray.h" |
#include "ui/message_center/message_center_tray_delegate.h" |
#include "ui/views/bubble/tray_bubble_view.h" |
@@ -44,13 +45,14 @@ class AshPopupAlignmentDelegate; |
class SystemTray; |
class WebNotificationBubbleWrapper; |
class WebNotificationButton; |
+class WebNotificationImage; |
+class WebNotificationLabel; |
class WmWindow; |
class ASH_EXPORT WebNotificationTray |
: public TrayBackgroundView, |
public views::TrayBubbleView::Delegate, |
public message_center::MessageCenterTrayDelegate, |
- public views::ButtonListener, |
public base::SupportsWeakPtr<WebNotificationTray>, |
public ui::SimpleMenuModel::Delegate { |
public: |
@@ -59,6 +61,8 @@ class ASH_EXPORT WebNotificationTray |
SystemTray* system_tray); |
~WebNotificationTray() override; |
+ static void DisableAnimationsForTest(bool disable); |
+ |
// Sets the height of the system tray bubble (or legacy notification bubble) |
// from the edge of the work area so that the web notification popups don't |
// overlap with the tray. Pass 0 if no bubble is shown. |
@@ -106,9 +110,6 @@ class ASH_EXPORT WebNotificationTray |
views::Widget::InitParams* params) const override; |
void HideBubble(const views::TrayBubbleView* bubble_view) override; |
- // Overridden from ButtonListener. |
- void ButtonPressed(views::Button* sender, const ui::Event& event) override; |
- |
// Overridden from MessageCenterTrayDelegate. |
void OnMessageCenterTrayChanged() override; |
bool ShowMessageCenter() override; |
@@ -119,7 +120,7 @@ class ASH_EXPORT WebNotificationTray |
bool IsContextMenuEnabled() const override; |
message_center::MessageCenterTray* GetMessageCenterTray() override; |
- // Overridden from SimpleMenuModel::Delegate. |
+ // Overridden from ui::SimpleMenuModel::Delegate. |
bool IsCommandIdChecked(int command_id) const override; |
bool IsCommandIdEnabled(int command_id) const override; |
void ExecuteCommand(int command_id, int event_flags) override; |
@@ -175,7 +176,13 @@ class ASH_EXPORT WebNotificationTray |
std::unique_ptr<message_center::MessageCenterTray> message_center_tray_; |
std::unique_ptr<WebNotificationBubbleWrapper> message_center_bubble_; |
std::unique_ptr<message_center::MessagePopupCollection> popup_collection_; |
- WebNotificationButton* button_; |
+ std::unique_ptr<WebNotificationImage> bell_icon_; |
+ std::unique_ptr<WebNotificationLabel> counter_; |
+ |
+ scoped_refptr<gfx::AnimationContainer> animation_container_ = |
+ new gfx::AnimationContainer(); |
+ |
+ std::unordered_map<std::string, WebNotificationImage*> visible_small_icons_; |
bool show_message_center_on_unlock_; |