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

Side by Side Diff: ash/system/status_area_widget.h

Issue 12313118: Refactor: Shelf Widget (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: safer shutdown (status_area_widget_) Created 7 years, 9 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
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_STATUS_AREA_WIDGET_H_ 5 #ifndef ASH_SYSTEM_STATUS_AREA_WIDGET_H_
6 #define ASH_SYSTEM_STATUS_AREA_WIDGET_H_ 6 #define ASH_SYSTEM_STATUS_AREA_WIDGET_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "ash/launcher/background_animator.h" 9 #include "ash/shelf/shelf_types.h"
10 #include "ash/shelf_types.h"
11 #include "ash/system/user/login_status.h" 10 #include "ash/system/user/login_status.h"
12 #include "ui/views/widget/widget.h" 11 #include "ui/views/widget/widget.h"
13 12
14 namespace ash { 13 namespace ash {
15 14
16 class ShellDelegate; 15 class ShellDelegate;
17 class SystemTray; 16 class SystemTray;
18 class WebNotificationTray; 17 class WebNotificationTray;
19 18
20 namespace internal { 19 namespace internal {
21 20
22 class StatusAreaWidgetDelegate; 21 class StatusAreaWidgetDelegate;
23 22
24 class ASH_EXPORT StatusAreaWidget : public views::Widget { 23 class ASH_EXPORT StatusAreaWidget : public views::Widget {
25 public: 24 public:
26 explicit StatusAreaWidget(aura::Window* status_container); 25 explicit StatusAreaWidget(aura::Window* status_container);
27 virtual ~StatusAreaWidget(); 26 virtual ~StatusAreaWidget();
28 27
29 // Creates the SystemTray and the WebNotificationTray. 28 // Creates the SystemTray and the WebNotificationTray.
30 void CreateTrayViews(); 29 void CreateTrayViews();
31 30
32 // Destroys the system tray and web notification tray. Called before 31 // Destroys the system tray and web notification tray. Called before
33 // tearing down the windows to avoid shutdown ordering issues. 32 // tearing down the windows to avoid shutdown ordering issues.
34 void Shutdown(); 33 void Shutdown();
35 34
36 // Update the alignment of the widget and tray views. 35 // Update the alignment of the widget and tray views.
37 void SetShelfAlignment(ShelfAlignment alignment); 36 void SetShelfAlignment(ShelfAlignment alignment);
38 37
39 // Update whether to paint a background for each tray view.
40 void SetPaintsBackground(
41 bool value,
42 internal::BackgroundAnimator::ChangeType change_type);
43
44 // Set the visibility state of web notifications. 38 // Set the visibility state of web notifications.
45 void SetHideWebNotifications(bool hide); 39 void SetHideWebNotifications(bool hide);
46 40
47 // Set the visibility of system notifications. 41 // Set the visibility of system notifications.
48 void SetHideSystemNotifications(bool hide); 42 void SetHideSystemNotifications(bool hide);
49 43
50 // Returns true if it is OK to show a non system notification. 44 // Returns true if it is OK to show a non system notification.
51 bool ShouldShowWebNotifications(); 45 bool ShouldShowWebNotifications();
52 46
53 // Called by the client when the login status changes. Caches login_status 47 // Called by the client when the login status changes. Caches login_status
(...skipping 29 matching lines...) Expand all
83 WebNotificationTray* web_notification_tray_; 77 WebNotificationTray* web_notification_tray_;
84 user::LoginStatus login_status_; 78 user::LoginStatus login_status_;
85 79
86 DISALLOW_COPY_AND_ASSIGN(StatusAreaWidget); 80 DISALLOW_COPY_AND_ASSIGN(StatusAreaWidget);
87 }; 81 };
88 82
89 } // namespace internal 83 } // namespace internal
90 } // namespace ash 84 } // namespace ash
91 85
92 #endif // ASH_SYSTEM_STATUS_AREA_WIDGET_H_ 86 #endif // ASH_SYSTEM_STATUS_AREA_WIDGET_H_
OLDNEW
« no previous file with comments | « ash/system/session_length_limit/tray_session_length_limit.cc ('k') | ash/system/status_area_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698