Chromium Code Reviews| Index: chrome/browser/ui/webui/media_router/media_router_ui.cc |
| diff --git a/chrome/browser/ui/webui/media_router/media_router_ui.cc b/chrome/browser/ui/webui/media_router/media_router_ui.cc |
| index 3374fc27a4c5285c2972b246aa0fd5e50e5f571d..afa019443166ba0ca6a7f39db11bc3096b9a47e7 100644 |
| --- a/chrome/browser/ui/webui/media_router/media_router_ui.cc |
| +++ b/chrome/browser/ui/webui/media_router/media_router_ui.cc |
| @@ -164,6 +164,7 @@ MediaRouterUI::MediaRouterUI(content::WebUI* web_ui) |
| : ConstrainedWebDialogUI(web_ui), |
| handler_(new MediaRouterWebUIMessageHandler(this)), |
| ui_initialized_(false), |
| + initial_routes_received_(false), |
| current_route_request_id_(-1), |
| route_request_counter_(0), |
| initiator_(nullptr), |
| @@ -531,6 +532,9 @@ void MediaRouterUI::OnRoutesUpdated( |
| routes_ = routes; |
| joinable_route_ids_ = joinable_route_ids; |
| + if (!initial_routes_received_) |
| + initial_routes_received_ = true; |
| + |
| std::unordered_map<MediaSource::Id, MediaCastMode> available_source_map; |
| for (const auto& cast_mode : cast_modes_) { |
| for (const auto& source : |
| @@ -672,6 +676,15 @@ const std::string& MediaRouterUI::GetRouteProviderExtensionId() const { |
| ->media_route_provider_extension_id(); |
| } |
| +const std::vector<MediaRoute>& MediaRouterUI::GetRoutes() { |
| + if (!initial_routes_received_) { |
| + // OnRoutesUpdated() updates |routes_| with routes for display. |
| + routes_observer_->OnRoutesUpdated(router_->GetCurrentRoutes(), |
|
imcheng
2016/11/30 19:54:06
This feels a bit strange. You are calling the obse
mark a. foltz
2016/11/30 23:52:10
Will this be the same routes list as UIMediaRoutes
takumif
2016/12/01 00:51:13
UIMediaRoutesObserver::OnRoutesUpdated() filters o
|
| + std::vector<MediaRoute::Id>()); |
| + } |
| + return routes_; |
| +} |
| + |
| void MediaRouterUI::SetUIInitializationTimer(const base::Time& start_time) { |
| DCHECK(!start_time.is_null()); |
| start_time_ = start_time; |