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

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: Review Fixes 2 Created 5 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 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 958b5bb7bcde0bdba2726f17880ab118646c0e9a..ce3426e8c34f8f9a8de027b1168ab7e5dbb11739 100644
--- a/chrome/browser/ui/webui/media_router/media_router_ui.h
+++ b/chrome/browser/ui/webui/media_router/media_router_ui.h
@@ -98,6 +98,9 @@ class MediaRouterUI : public ConstrainedWebDialogUI,
// 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);
@@ -115,6 +118,9 @@ class MediaRouterUI : public ConstrainedWebDialogUI,
}
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_; }
@@ -124,6 +130,8 @@ class MediaRouterUI : public ConstrainedWebDialogUI,
private:
FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest,
UIMediaRoutesObserverFiltersNonDisplayRoutes);
+ FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest,
+ UIMediaRoutesObserverFiltersNonDisplayJoinableRoutes);
FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest, GetExtensionNameExtensionPresent);
FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest,
GetExtensionNameEmptyWhenNotInstalled);
@@ -131,16 +139,20 @@ class MediaRouterUI : public ConstrainedWebDialogUI,
GetExtensionNameEmptyWhenNotExtensionURL);
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.
@@ -162,7 +174,8 @@ class MediaRouterUI : public ConstrainedWebDialogUI,
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.
@@ -214,6 +227,7 @@ class MediaRouterUI : public ConstrainedWebDialogUI,
std::vector<MediaSinkWithCastModes> sinks_;
std::vector<MediaRoute> routes_;
+ std::vector<MediaRoute::Id> joinable_route_ids_;
CastModeSet cast_modes_;
scoped_ptr<QueryResultManager> query_result_manager_;

Powered by Google App Engine
This is Rietveld 408576698