Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(296)

Unified Diff: ash/system/status_area_widget.h

Issue 10546125: Add WebNotificationTray to the status area (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698