| Index: ash/system/status_area_widget.h
|
| diff --git a/ash/system/status_area_widget.h b/ash/system/status_area_widget.h
|
| index 8e56688e55657aa5e024e2253eb2d54b074b7a40..5b66862dc387e42f98a87b77bd4f2c1f82533822 100644
|
| --- a/ash/system/status_area_widget.h
|
| +++ b/ash/system/status_area_widget.h
|
| @@ -7,6 +7,7 @@
|
| #pragma once
|
|
|
| #include "ash/ash_export.h"
|
| +#include "ash/launcher/background_animator.h"
|
| #include "ash/wm/shelf_auto_hide_behavior.h"
|
| #include "ui/views/widget/widget.h"
|
|
|
| @@ -15,6 +16,7 @@ namespace ash {
|
| class ShellDelegate;
|
| class SystemTray;
|
| class SystemTrayDelegate;
|
| +class WebNotificationTray;
|
|
|
| namespace internal {
|
|
|
| @@ -22,30 +24,51 @@ class StatusAreaWidgetDelegate;
|
|
|
| class ASH_EXPORT StatusAreaWidget : public views::Widget {
|
| public:
|
| + enum UserAction {
|
| + NON_USER_ACTION,
|
| + USER_ACTION
|
| + };
|
| +
|
| StatusAreaWidget();
|
| virtual ~StatusAreaWidget();
|
|
|
| - // Creates the SystemTray.
|
| + // Creates the SystemTray and the WebNotificationTray.
|
| void CreateTrayViews(ShellDelegate* shell_delegate);
|
|
|
| - // Destroys the system tray. Called before tearing down the windows to avoid
|
| - // shutdown ordering issues.
|
| + // Destroys the system tray and web notification tray. Called before
|
| + // tearing down the windows to avoid shutdown ordering issues.
|
| void Shutdown();
|
|
|
| + // Update the alignment of the widget and tray views.
|
| void SetShelfAlignment(ShelfAlignment alignment);
|
|
|
| + // Update whether to paint a background for each tray view.
|
| + void SetPaintsBackground(
|
| + bool value,
|
| + internal::BackgroundAnimator::ChangeType change_type);
|
| +
|
| + // Always used to show/hide the web notification tray. These handle any logic
|
| + // with hiding/supressing notifications from the system tray.
|
| + void ShowWebNotificationBubble(UserAction user_action);
|
| + void HideWebNotificationBubble();
|
| +
|
| SystemTray* system_tray() { return system_tray_; }
|
| SystemTrayDelegate* system_tray_delegate() {
|
| return system_tray_delegate_.get();
|
| }
|
| + WebNotificationTray* web_notification_tray() {
|
| + return web_notification_tray_;
|
| + }
|
|
|
| private:
|
| void AddSystemTray(SystemTray* system_tray, ShellDelegate* shell_delegate);
|
| + void AddWebNotificationTray(WebNotificationTray* web_notification_tray);
|
|
|
| scoped_ptr<SystemTrayDelegate> system_tray_delegate_;
|
| // Weak pointers to View classes that are parented to StatusAreaWidget:
|
| internal::StatusAreaWidgetDelegate* widget_delegate_;
|
| SystemTray* system_tray_;
|
| + WebNotificationTray* web_notification_tray_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(StatusAreaWidget);
|
| };
|
|
|