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

Unified Diff: chrome/browser/ui/webui/media_router/media_router_ui.h

Issue 1415103006: Non-Local Join for Media Router and Presentation API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ready for Review Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/media_router/media_router_ui.h
diff --git a/chrome/browser/ui/webui/media_router/media_router_ui.h b/chrome/browser/ui/webui/media_router/media_router_ui.h
index 3d7859f49b6f38cd254d0cb1ab151d15100703db..b4031b13e7b2fad5bf207483ec6429635edc2555 100644
--- a/chrome/browser/ui/webui/media_router/media_router_ui.h
+++ b/chrome/browser/ui/webui/media_router/media_router_ui.h
@@ -94,6 +94,9 @@ class MediaRouterUI
// completes.
bool CreateRoute(const MediaSink::Id& sink_id, MediaCastMode cast_mode);
+ // Calls MediaRouter to join the given route.
+ bool JoinRoute(const MediaSink::Id& sink_id, const MediaRoute::Id& route_id);
+
// Calls MediaRouter to close the given route.
void CloseRoute(const MediaRoute::Id& route_id);
@@ -111,6 +114,9 @@ class MediaRouterUI
const GURL& frame_url() const { return frame_url_; }
const std::vector<MediaSinkWithCastModes>& sinks() const { return sinks_; }
const std::vector<MediaRoute>& routes() const { return routes_; }
+ const std::vector<MediaRoute::Id>& joinable_route_ids() const {
+ return joinable_route_ids_;
+ }
const std::set<MediaCastMode>& cast_modes() const { return cast_modes_; }
const content::WebContents* initiator() const { return initiator_; }
@@ -120,18 +126,24 @@ class MediaRouterUI
private:
FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest,
UIMediaRoutesObserverFiltersNonDisplayRoutes);
+ FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest,
+ UIMediaRoutesObserverFiltersNonDisplayJoinableRoutes);
class UIIssuesObserver;
+
class UIMediaRoutesObserver : public MediaRoutesObserver {
public:
using RoutesUpdatedCallback =
- base::Callback<void(const std::vector<MediaRoute>&)>;
- UIMediaRoutesObserver(MediaRouter* router,
+ base::Callback<void(const std::vector<MediaRoute>&,
+ const std::vector<MediaRoute::Id>&)>;
+ UIMediaRoutesObserver(MediaRouter* router, const MediaSource::Id source_id,
const RoutesUpdatedCallback& callback);
~UIMediaRoutesObserver() override;
// MediaRoutesObserver
- void OnRoutesUpdated(const std::vector<MediaRoute>& routes) override;
+ void OnRoutesUpdated(
+ const std::vector<MediaRoute>& routes,
+ const std::vector<MediaRoute::Id>& joinable_route_ids) override;
private:
// Callback to the owning MediaRouterUI instance.
@@ -150,7 +162,8 @@ class MediaRouterUI
void SetIssue(const Issue* issue);
// Called by |routes_observer_| when the set of active routes has changed.
- void OnRoutesUpdated(const std::vector<MediaRoute>& routes);
+ void OnRoutesUpdated(const std::vector<MediaRoute>& routes,
+ const std::vector<MediaRoute::Id>& joinable_route_ids);
// Callback passed to MediaRouter to receive response to route creation
// requests.
@@ -201,6 +214,7 @@ class MediaRouterUI
std::vector<MediaSinkWithCastModes> sinks_;
std::vector<MediaRoute> routes_;
+ std::vector<MediaRoute::Id> joinable_route_ids_;
CastModeSet cast_modes_;
GURL frame_url_;

Powered by Google App Engine
This is Rietveld 408576698