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

Unified Diff: chrome/browser/ui/webui/media_router/media_router_ui.cc

Issue 2540773005: Add GetCurrentRoutes() to MediaRouter API, ensure dialog has routes at init (Closed)
Patch Set: Created 4 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.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;

Powered by Google App Engine
This is Rietveld 408576698