| 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_;
|
|
|