Chromium Code Reviews| 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 09040ca0f6245c83f5eb749ecc7ec7140473b4b8..056ba013d09751cc040afc457c74d6f3aaf12758 100644 |
| --- a/chrome/browser/ui/webui/media_router/media_router_ui.h |
| +++ b/chrome/browser/ui/webui/media_router/media_router_ui.h |
| @@ -103,6 +103,10 @@ class MediaRouterUI : public ConstrainedWebDialogUI, |
| // completes. |
| bool CreateRoute(const MediaSink::Id& sink_id, MediaCastMode cast_mode); |
| + // Calls MediaRouter to join the given route. |
| + bool ConnectRemoteRoute(const MediaSink::Id& sink_id, |
| + const MediaRoute::Id& route_id); |
| + |
| // Calls MediaRouter to close the given route. |
| void CloseRoute(const MediaRoute::Id& route_id); |
| @@ -120,6 +124,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_; } |
| @@ -135,6 +142,8 @@ class MediaRouterUI : public ConstrainedWebDialogUI, |
| FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest, SortedSinks); |
| FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest, |
| UIMediaRoutesObserverFiltersNonDisplayRoutes); |
| + FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest, |
| + UIMediaRoutesObserverFiltersNonDisplayJoinableRoutes); |
| FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest, GetExtensionNameExtensionPresent); |
| FRIEND_TEST_ALL_PREFIXES(MediaRouterUITest, |
| GetExtensionNameEmptyWhenNotInstalled); |
| @@ -142,16 +151,22 @@ class MediaRouterUI : public ConstrainedWebDialogUI, |
| GetExtensionNameEmptyWhenNotExtensionURL); |
| class UIIssuesObserver; |
| + |
| class UIMediaRoutesObserver : public MediaRoutesObserver { |
| public: |
| using RoutesUpdatedCallback = |
| - base::Callback<void(const std::vector<MediaRoute>&)>; |
| + base::Callback<void(const std::vector<MediaRoute>&, |
| + const std::vector<MediaRoute::Id>&)>; |
| UIMediaRoutesObserver(MediaRouter* router, |
| const RoutesUpdatedCallback& callback); |
| + UIMediaRoutesObserver(MediaRouter* router, const MediaSource::Id& source_id, |
| + const RoutesUpdatedCallback& callback); |
|
stevenjb
2016/01/05 20:10:23
We avoid multiple constructors in Chrome. Either u
matt.boetger
2016/01/06 22:49:07
Done.
|
| ~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. |
| @@ -173,7 +188,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. |
| @@ -194,6 +210,15 @@ class MediaRouterUI : public ConstrainedWebDialogUI, |
| const PresentationRequest& presentation_request) override; |
| void OnDefaultPresentationRemoved() override; |
| + // Creates a brand new route or, if a |route_id| is supplied, connects to a |
| + // non-local route. This is used for connecting to a non-local route. |
|
stevenjb
2016/01/05 20:10:23
s/ / /
matt.boetger
2016/01/06 22:49:07
Done.
|
| + // Returns true if a route request is successfully submitted. |
| + // |OnRouteResponseReceived()| will be invoked when the route request |
| + // completed. |
|
stevenjb
2016/01/05 20:10:23
'completes' or 'is completed'
matt.boetger
2016/01/06 22:49:07
Done.
|
| + bool CreateOrConnectRoute(const MediaSink::Id& sink_id, |
| + MediaCastMode cast_mode, |
| + const MediaRoute::Id& route_id); |
| + |
| // Updates the set of supported cast modes and sends the updated set to |
| // |handler_|. |
| void UpdateCastModes(); |
| @@ -229,6 +254,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_; |