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

Side by Side Diff: ash/system/web_notification/web_notification_tray.h

Issue 369573004: Separate the logic of popup alignment and workarea handling as delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698