OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_SYSTEM_WEB_NOTIFICATION_WEB_NOTIFICATION_TRAY_H_ | 5 #ifndef ASH_SYSTEM_WEB_NOTIFICATION_WEB_NOTIFICATION_TRAY_H_ |
6 #define ASH_SYSTEM_WEB_NOTIFICATION_WEB_NOTIFICATION_TRAY_H_ | 6 #define ASH_SYSTEM_WEB_NOTIFICATION_WEB_NOTIFICATION_TRAY_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "ash/system/tray/tray_background_view.h" | 9 #include "ash/system/tray/tray_background_view.h" |
10 #include "ash/system/user/login_status.h" | 10 #include "ash/system/user/login_status.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 class MessageBubbleBase; | 34 class MessageBubbleBase; |
35 class MessageCenter; | 35 class MessageCenter; |
36 class MessageCenterBubble; | 36 class MessageCenterBubble; |
37 class MessagePopupCollection; | 37 class MessagePopupCollection; |
38 } | 38 } |
39 | 39 |
40 namespace ash { | 40 namespace ash { |
41 class StatusAreaWidget; | 41 class StatusAreaWidget; |
42 class WebNotificationBubbleWrapper; | 42 class WebNotificationBubbleWrapper; |
43 class WebNotificationButton; | 43 class WebNotificationButton; |
44 class WorkAreaObserver; | 44 class AshPopupAlignmentDelegate; |
45 | 45 |
46 class ASH_EXPORT WebNotificationTray | 46 class ASH_EXPORT WebNotificationTray |
47 : public TrayBackgroundView, | 47 : public TrayBackgroundView, |
48 public views::TrayBubbleView::Delegate, | 48 public views::TrayBubbleView::Delegate, |
49 public message_center::MessageCenterTrayDelegate, | 49 public message_center::MessageCenterTrayDelegate, |
50 public views::ButtonListener, | 50 public views::ButtonListener, |
51 public base::SupportsWeakPtr<WebNotificationTray>, | 51 public base::SupportsWeakPtr<WebNotificationTray>, |
52 public ui::SimpleMenuModel::Delegate { | 52 public ui::SimpleMenuModel::Delegate { |
53 public: | 53 public: |
54 explicit WebNotificationTray(StatusAreaWidget* status_area_widget); | 54 explicit WebNotificationTray(StatusAreaWidget* status_area_widget); |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 bool show_message_center_on_unlock_; | 168 bool show_message_center_on_unlock_; |
169 | 169 |
170 bool should_update_tray_content_; | 170 bool should_update_tray_content_; |
171 | 171 |
172 // True when the shelf auto hide behavior has to be blocked. Previously | 172 // True when the shelf auto hide behavior has to be blocked. Previously |
173 // this was done by checking |message_center_bubble_| but actually | 173 // this was done by checking |message_center_bubble_| but actually |
174 // the check can be called when creating this object, so it would cause | 174 // the check can be called when creating this object, so it would cause |
175 // flickers of the shelf from hidden to shown. See: crbug.com/181213 | 175 // flickers of the shelf from hidden to shown. See: crbug.com/181213 |
176 bool should_block_shelf_auto_hide_; | 176 bool should_block_shelf_auto_hide_; |
177 | 177 |
178 // Observes the work area for |popup_collection_| and notifies to it. | 178 scoped_ptr<AshPopupAlignmentDelegate> popup_alignment_delegate_; |
179 scoped_ptr<WorkAreaObserver> work_area_observer_; | |
180 | 179 |
181 DISALLOW_COPY_AND_ASSIGN(WebNotificationTray); | 180 DISALLOW_COPY_AND_ASSIGN(WebNotificationTray); |
182 }; | 181 }; |
183 | 182 |
184 } // namespace ash | 183 } // namespace ash |
185 | 184 |
186 #endif // ASH_SYSTEM_WEB_NOTIFICATION_WEB_NOTIFICATION_TRAY_H_ | 185 #endif // ASH_SYSTEM_WEB_NOTIFICATION_WEB_NOTIFICATION_TRAY_H_ |
OLD | NEW |