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

Unified Diff: ash/system/tray/system_tray.cc

Issue 10514008: Add WebNotificationTray (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase 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
« no previous file with comments | « ash/system/tray/system_tray.h ('k') | ash/system/tray/system_tray_bubble.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/system/tray/system_tray.cc
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc
index b2b9eca423e25ef2be4ce0c3f57870460b1d6dee..4b4eae351af7fa96d825926a644de03c7b4f80e9 100644
--- a/ash/system/tray/system_tray.cc
+++ b/ash/system/tray/system_tray.cc
@@ -139,8 +139,8 @@ SystemTray::SystemTray()
update_observer_(NULL),
user_observer_(NULL),
should_show_launcher_(false),
- shelf_alignment_(SHELF_ALIGNMENT_BOTTOM),
- default_bubble_height_(0) {
+ default_bubble_height_(0),
+ hide_notifications_(false) {
tray_container_ = new internal::SystemTrayContainer;
tray_container_->SetLayoutManager(new views::BoxLayout(
views::BoxLayout::kHorizontal, 0, 0, 0));
@@ -298,6 +298,16 @@ void SystemTray::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) {
}
}
+void SystemTray::SetHideNotifications(bool hide_notifications) {
+ if (notification_bubble_.get())
+ notification_bubble_->SetVisible(!hide_notifications);
+ hide_notifications_ = hide_notifications;
+}
+
+bool SystemTray::IsBubbleVisible() const {
+ return bubble_.get() && bubble_->IsVisible();
+}
+
bool SystemTray::CloseBubbleForTest() const {
if (!bubble_.get())
return false;
@@ -462,6 +472,8 @@ void SystemTray::UpdateNotificationBubble() {
if (arrow_offset >= 0)
init_params.arrow_offset = arrow_offset;
notification_bubble_->InitView(init_params);
+ if (hide_notifications_)
+ notification_bubble_->SetVisible(false);
}
void SystemTray::UpdateNotificationAnchor() {
@@ -474,11 +486,11 @@ void SystemTray::UpdateNotificationAnchor() {
void SystemTray::SetBorder() {
// Change the border padding for different shelf alignment.
- if (shelf_alignment_ == SHELF_ALIGNMENT_BOTTOM) {
+ if (shelf_alignment() == SHELF_ALIGNMENT_BOTTOM) {
set_border(views::Border::CreateEmptyBorder(0, 0,
kPaddingFromBottomOfScreenBottomAlignment,
kPaddingFromRightEdgeOfScreenBottomAlignment));
- } else if (shelf_alignment_ == SHELF_ALIGNMENT_LEFT) {
+ } else if (shelf_alignment() == SHELF_ALIGNMENT_LEFT) {
set_border(views::Border::CreateEmptyBorder(0,
kPaddingFromEdgeOfScreenVerticalAlignment,
kPaddingFromBottomOfScreenVerticalAlignment,
@@ -492,9 +504,9 @@ void SystemTray::SetBorder() {
}
void SystemTray::SetShelfAlignment(ShelfAlignment alignment) {
- if (alignment == shelf_alignment_)
+ if (alignment == shelf_alignment())
return;
- shelf_alignment_ = alignment;
+ internal::TrayBackgroundView::SetShelfAlignment(alignment);
UpdateAfterShelfAlignmentChange(alignment);
SetBorder();
tray_container_->SetLayoutManager(new views::BoxLayout(
« no previous file with comments | « ash/system/tray/system_tray.h ('k') | ash/system/tray/system_tray_bubble.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698