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