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

Side by Side Diff: ash/system/cast/tray_cast.h

Issue 1118613003: Add UI for cast system tray integration (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address changes Created 5 years, 7 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
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef ASH_SYSTEM_CAST_TRAY_CAST_H_
6 #define ASH_SYSTEM_CAST_TRAY_CAST_H_
7
8 #include "ash/shell_observer.h"
9 #include "ash/system/tray/system_tray_item.h"
10
11 namespace ash {
12 namespace tray {
13 class CastTrayView;
14 class CastSelectDefaultView;
15 class CastDetailedView;
16 class CastDuplexView;
17 } // namespace tray
18
19 class CastConfigDelegate;
20
21 class TrayCast : public SystemTrayItem, public ShellObserver {
22 public:
23 explicit TrayCast(SystemTray* system_tray);
24 ~TrayCast() override;
25
26 private:
27 bool HasCastExtension();
28
29 // Overridden from SystemTrayItem.
30 views::View* CreateTrayView(user::LoginStatus status) override;
31 views::View* CreateDefaultView(user::LoginStatus status) override;
32 views::View* CreateDetailedView(user::LoginStatus status) override;
33 void DestroyTrayView() override;
34 void DestroyDefaultView() override;
35 void DestroyDetailedView() override;
36 void UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) override;
37
38 // Overridden from ShellObserver.
39 void OnCastingSessionStartedOrStopped(bool started) override;
40
41 // This makes sure that the current view displayed in the tray is the correct
42 // one, depending on if we are currently casting. If we're casting, then a
43 // view with a stop button is displayed; otherwise, a view that links to a
44 // detail view is displayed instead that allows the user to easily begin a
45 // casting session.
46 void UpdatePrimaryView();
47
48 bool is_casting_ = false;
49
50 // Not owned.
51 tray::CastTrayView* tray_ = nullptr;
52 tray::CastDuplexView* default_ = nullptr;
53 tray::CastDetailedView* detailed_ = nullptr;
54 CastConfigDelegate* cast_config_delegate_;
55
56 DISALLOW_COPY_AND_ASSIGN(TrayCast);
57 };
58
59 } // namespace ash
60
61 #endif // ASH_SYSTEM_CAST_TRAY_CAST_H_
OLDNEW
« no previous file with comments | « ash/ash.gyp ('k') | ash/system/cast/tray_cast.cc » ('j') | ash/system/cast/tray_cast.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698