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

Side by Side Diff: ash/common/system/tray/system_tray.h

Issue 2565823002: Reland: Add test for system tray network menu icon for extension-controlled networks (Closed)
Patch Set: fix use-after-free Created 4 years 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
« no previous file with comments | « ash/common/system/networking_config_delegate.h ('k') | ash/common/system/tray/system_tray.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_H_ 5 #ifndef ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_H_
6 #define ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_H_ 6 #define ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_H_
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 11 matching lines...) Expand all
22 class KeyEventWatcher; 22 class KeyEventWatcher;
23 enum class LoginStatus; 23 enum class LoginStatus;
24 class ScreenTrayItem; 24 class ScreenTrayItem;
25 class SystemBubbleWrapper; 25 class SystemBubbleWrapper;
26 class SystemTrayDelegate; 26 class SystemTrayDelegate;
27 class SystemTrayItem; 27 class SystemTrayItem;
28 class TrayAccessibility; 28 class TrayAccessibility;
29 class TrayAudio; 29 class TrayAudio;
30 class TrayCast; 30 class TrayCast;
31 class TrayDate; 31 class TrayDate;
32 class TrayNetwork;
32 class TraySystemInfo; 33 class TraySystemInfo;
33 class TrayTiles; 34 class TrayTiles;
34 class TrayUpdate; 35 class TrayUpdate;
35 class WebNotificationTray; 36 class WebNotificationTray;
36 37
37 // There are different methods for creating bubble views. 38 // There are different methods for creating bubble views.
38 enum BubbleCreationType { 39 enum BubbleCreationType {
39 BUBBLE_CREATE_NEW, // Closes any existing bubble and creates a new one. 40 BUBBLE_CREATE_NEW, // Closes any existing bubble and creates a new one.
40 BUBBLE_USE_EXISTING, // Uses any existing bubble, or creates a new one. 41 BUBBLE_USE_EXISTING, // Uses any existing bubble, or creates a new one.
41 }; 42 };
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 158
158 TrayAccessibility* GetTrayAccessibilityForTest() { 159 TrayAccessibility* GetTrayAccessibilityForTest() {
159 return tray_accessibility_; 160 return tray_accessibility_;
160 } 161 }
161 162
162 // Get the tray item view (or NULL) for a given |tray_item| in a unit test. 163 // Get the tray item view (or NULL) for a given |tray_item| in a unit test.
163 views::View* GetTrayItemViewForTest(SystemTrayItem* tray_item); 164 views::View* GetTrayItemViewForTest(SystemTrayItem* tray_item);
164 165
165 TrayCast* GetTrayCastForTesting() const; 166 TrayCast* GetTrayCastForTesting() const;
166 TrayDate* GetTrayDateForTesting() const; 167 TrayDate* GetTrayDateForTesting() const;
168 TrayNetwork* GetTrayNetworkForTesting() const;
167 TraySystemInfo* GetTraySystemInfoForTesting() const; 169 TraySystemInfo* GetTraySystemInfoForTesting() const;
168 TrayTiles* GetTrayTilesForTesting() const; 170 TrayTiles* GetTrayTilesForTesting() const;
169 TrayUpdate* GetTrayUpdateForTesting() const; 171 TrayUpdate* GetTrayUpdateForTesting() const;
170 172
171 // Activates the system tray bubble. 173 // Activates the system tray bubble.
172 void ActivateBubble(); 174 void ActivateBubble();
173 175
174 private: 176 private:
175 class ActivationObserver; 177 class ActivationObserver;
176 178
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 // This is true when the displayed system tray menu is a full tray menu, 262 // This is true when the displayed system tray menu is a full tray menu,
261 // otherwise a single line item menu like the volume slider is shown. 263 // otherwise a single line item menu like the volume slider is shown.
262 // Note that the value is only valid when |system_bubble_| is true. 264 // Note that the value is only valid when |system_bubble_| is true.
263 bool full_system_tray_menu_; 265 bool full_system_tray_menu_;
264 266
265 // These objects are not owned by this class. 267 // These objects are not owned by this class.
266 TrayAccessibility* tray_accessibility_; 268 TrayAccessibility* tray_accessibility_;
267 TrayAudio* tray_audio_; // May be null. 269 TrayAudio* tray_audio_; // May be null.
268 TrayCast* tray_cast_; 270 TrayCast* tray_cast_;
269 TrayDate* tray_date_; // null for material design. 271 TrayDate* tray_date_; // null for material design.
272 TrayNetwork* tray_network_;
270 TrayTiles* tray_tiles_; // only used in material design. 273 TrayTiles* tray_tiles_; // only used in material design.
271 TraySystemInfo* tray_system_info_; // only used in material design. 274 TraySystemInfo* tray_system_info_; // only used in material design.
272 TrayUpdate* tray_update_; 275 TrayUpdate* tray_update_;
273 276
274 // A reference to the Screen share and capture item. 277 // A reference to the Screen share and capture item.
275 ScreenTrayItem* screen_capture_tray_item_; // not owned 278 ScreenTrayItem* screen_capture_tray_item_; // not owned
276 ScreenTrayItem* screen_share_tray_item_; // not owned 279 ScreenTrayItem* screen_share_tray_item_; // not owned
277 280
278 // TODO(oshima): Remove this when crbug.com/651242 is fixed. 281 // TODO(oshima): Remove this when crbug.com/651242 is fixed.
279 bool activating_ = false; 282 bool activating_ = false;
280 283
281 std::unique_ptr<KeyEventWatcher> key_event_watcher_; 284 std::unique_ptr<KeyEventWatcher> key_event_watcher_;
282 285
283 std::unique_ptr<ActivationObserver> activation_observer_; 286 std::unique_ptr<ActivationObserver> activation_observer_;
284 287
285 DISALLOW_COPY_AND_ASSIGN(SystemTray); 288 DISALLOW_COPY_AND_ASSIGN(SystemTray);
286 }; 289 };
287 290
288 } // namespace ash 291 } // namespace ash
289 292
290 #endif // ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_H_ 293 #endif // ASH_COMMON_SYSTEM_TRAY_SYSTEM_TRAY_H_
OLDNEW
« no previous file with comments | « ash/common/system/networking_config_delegate.h ('k') | ash/common/system/tray/system_tray.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698