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

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

Issue 2862393002: [Media Router] Force DEFAULT cast mode when starting presentations from content. (Closed)
Patch Set: Fix bug found by closure compiler Created 3 years, 7 months 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_webui_message_handler.cc
diff --git a/chrome/browser/ui/webui/media_router/media_router_webui_message_handler.cc b/chrome/browser/ui/webui/media_router/media_router_webui_message_handler.cc
index 9b537efe5ad534ea3a50c3094bbca51c94602648..b4da44a360259469ba5a3edda5a4c923271a8606 100644
--- a/chrome/browser/ui/webui/media_router/media_router_webui_message_handler.cc
+++ b/chrome/browser/ui/webui/media_router/media_router_webui_message_handler.cc
@@ -178,7 +178,8 @@ std::unique_ptr<base::DictionaryValue> RouteToValue(
std::unique_ptr<base::ListValue> CastModesToValue(
const CastModeSet& cast_modes,
- const std::string& source_host) {
+ const std::string& source_host,
+ base::Optional<MediaCastMode> forced_cast_mode) {
std::unique_ptr<base::ListValue> value(new base::ListValue);
for (const MediaCastMode& cast_mode : cast_modes) {
@@ -188,6 +189,8 @@ std::unique_ptr<base::ListValue> CastModesToValue(
cast_mode_val->SetString(
"description", MediaCastModeToDescription(cast_mode, source_host));
cast_mode_val->SetString("host", source_host);
+ cast_mode_val->SetBoolean(
+ "isForced", forced_cast_mode && forced_cast_mode == cast_mode);
value->Append(std::move(cast_mode_val));
}
@@ -275,10 +278,11 @@ void MediaRouterWebUIMessageHandler::UpdateRoutes(
void MediaRouterWebUIMessageHandler::UpdateCastModes(
const CastModeSet& cast_modes,
- const std::string& source_host) {
+ const std::string& source_host,
+ base::Optional<MediaCastMode> forced_cast_mode) {
DVLOG(2) << "UpdateCastModes";
std::unique_ptr<base::ListValue> cast_modes_val(
- CastModesToValue(cast_modes, source_host));
+ CastModesToValue(cast_modes, source_host, forced_cast_mode));
web_ui()->CallJavascriptFunctionUnsafe(kSetCastModeList, *cast_modes_val);
}
@@ -485,7 +489,8 @@ void MediaRouterWebUIMessageHandler::OnRequestInitialData(
const std::set<MediaCastMode> cast_modes = media_router_ui_->cast_modes();
std::unique_ptr<base::ListValue> cast_modes_list(CastModesToValue(
- cast_modes, media_router_ui_->GetPresentationRequestSourceName()));
+ cast_modes, media_router_ui_->GetPresentationRequestSourceName(),
+ media_router_ui_->forced_cast_mode()));
initial_data.Set("castModes", std::move(cast_modes_list));
// If the cast mode last chosen for the current origin is tab mirroring,

Powered by Google App Engine
This is Rietveld 408576698