| 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 7346b300e8d6172baf7679efd98a43671c7faeae..0b8a30b9a8ac456b26f105deb9598a3ac57570b4 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
|
| @@ -94,8 +94,7 @@ const char kWindowOpen[] = "window.open";
|
| std::unique_ptr<base::DictionaryValue> SinksAndIdentityToValue(
|
| const std::vector<MediaSinkWithCastModes>& sinks,
|
| const AccountInfo& account_info) {
|
| - std::unique_ptr<base::DictionaryValue> sink_list_and_identity(
|
| - new base::DictionaryValue);
|
| + auto sink_list_and_identity = base::MakeUnique<base::DictionaryValue>();
|
| bool show_email = false;
|
| bool show_domain = false;
|
| std::string user_domain;
|
| @@ -104,10 +103,10 @@ std::unique_ptr<base::DictionaryValue> SinksAndIdentityToValue(
|
| sink_list_and_identity->SetString("userEmail", account_info.email);
|
| }
|
|
|
| - std::unique_ptr<base::ListValue> sinks_val(new base::ListValue);
|
| + auto sinks_val = base::MakeUnique<base::ListValue>();
|
|
|
| for (const MediaSinkWithCastModes& sink_with_cast_modes : sinks) {
|
| - std::unique_ptr<base::DictionaryValue> sink_val(new base::DictionaryValue);
|
| + auto sink_val = base::MakeUnique<base::DictionaryValue>();
|
|
|
| const MediaSink& sink = sink_with_cast_modes.sink;
|
| sink_val->SetString("id", sink.id());
|
| @@ -157,12 +156,16 @@ std::unique_ptr<base::DictionaryValue> RouteToValue(
|
| bool can_join,
|
| const std::string& extension_id,
|
| bool incognito,
|
| - int current_cast_mode) {
|
| - std::unique_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue);
|
| + int current_cast_mode,
|
| + bool is_web_ui_route_controller_available) {
|
| + auto dictionary = base::MakeUnique<base::DictionaryValue>();
|
| dictionary->SetString("id", route.media_route_id());
|
| dictionary->SetString("sinkId", route.media_sink_id());
|
| dictionary->SetString("description", route.description());
|
| dictionary->SetBoolean("isLocal", route.is_local());
|
| + dictionary->SetBoolean("supportsWebUiController",
|
| + is_web_ui_route_controller_available &&
|
| + route.supports_media_route_controller());
|
| dictionary->SetBoolean("canJoin", can_join);
|
| if (current_cast_mode > 0) {
|
| dictionary->SetInteger("currentCastMode", current_cast_mode);
|
| @@ -184,11 +187,10 @@ std::unique_ptr<base::ListValue> CastModesToValue(
|
| const CastModeSet& cast_modes,
|
| const std::string& source_host,
|
| base::Optional<MediaCastMode> forced_cast_mode) {
|
| - std::unique_ptr<base::ListValue> value(new base::ListValue);
|
| + auto value = base::MakeUnique<base::ListValue>();
|
|
|
| for (const MediaCastMode& cast_mode : cast_modes) {
|
| - std::unique_ptr<base::DictionaryValue> cast_mode_val(
|
| - new base::DictionaryValue);
|
| + auto cast_mode_val = base::MakeUnique<base::DictionaryValue>();
|
| cast_mode_val->SetInteger("type", cast_mode);
|
| cast_mode_val->SetString(
|
| "description", MediaCastModeToDescription(cast_mode, source_host));
|
| @@ -204,7 +206,7 @@ std::unique_ptr<base::ListValue> CastModesToValue(
|
| // Returns an Issue dictionary created from |issue| that can be used in WebUI.
|
| std::unique_ptr<base::DictionaryValue> IssueToValue(const Issue& issue) {
|
| const IssueInfo& issue_info = issue.info();
|
| - std::unique_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue);
|
| + auto dictionary = base::MakeUnique<base::DictionaryValue>();
|
| dictionary->SetInteger("id", issue.id());
|
| dictionary->SetString("title", issue_info.title);
|
| dictionary->SetString("message", issue_info.message);
|
| @@ -256,6 +258,8 @@ MediaRouterWebUIMessageHandler::MediaRouterWebUIMessageHandler(
|
| : incognito_(
|
| Profile::FromWebUI(media_router_ui->web_ui())->IsOffTheRecord()),
|
| dialog_closing_(false),
|
| + is_web_ui_route_controller_available_(base::FeatureList::IsEnabled(
|
| + features::kMediaRouterUIRouteController)),
|
| media_router_ui_(media_router_ui) {}
|
|
|
| MediaRouterWebUIMessageHandler::~MediaRouterWebUIMessageHandler() {}
|
| @@ -298,7 +302,7 @@ void MediaRouterWebUIMessageHandler::OnCreateRouteResponseReceived(
|
| route->media_route_id(), media_router_ui_->routes_and_cast_modes());
|
| std::unique_ptr<base::DictionaryValue> route_value(RouteToValue(
|
| *route, false, media_router_ui_->GetRouteProviderExtensionId(),
|
| - incognito_, current_cast_mode));
|
| + incognito_, current_cast_mode, is_web_ui_route_controller_available_));
|
| web_ui()->CallJavascriptFunctionUnsafe(kOnCreateRouteResponseReceived,
|
| base::Value(sink_id), *route_value,
|
| base::Value(route->for_display()));
|
| @@ -513,10 +517,6 @@ void MediaRouterWebUIMessageHandler::OnRequestInitialData(
|
| media_router_ui_->UserSelectedTabMirroringForCurrentOrigin();
|
| initial_data.SetBoolean("useTabMirroring", use_tab_mirroring);
|
|
|
| - initial_data.SetBoolean(
|
| - "useWebUiRouteControls",
|
| - base::FeatureList::IsEnabled(features::kMediaRouterUIRouteController));
|
| -
|
| web_ui()->CallJavascriptFunctionUnsafe(kSetInitialData, initial_data);
|
| media_router_ui_->UIInitialized();
|
| }
|
| @@ -977,7 +977,7 @@ bool MediaRouterWebUIMessageHandler::ActOnIssueType(
|
| std::string learn_more_url = GetLearnMoreUrl(args);
|
| if (learn_more_url.empty())
|
| return false;
|
| - std::unique_ptr<base::ListValue> open_args(new base::ListValue);
|
| + auto open_args = base::MakeUnique<base::ListValue>();
|
| open_args->AppendString(learn_more_url);
|
| web_ui()->CallJavascriptFunctionUnsafe(kWindowOpen, *open_args);
|
| return true;
|
| @@ -1060,7 +1060,7 @@ std::unique_ptr<base::ListValue> MediaRouterWebUIMessageHandler::RoutesToValue(
|
| const std::vector<MediaRoute::Id>& joinable_route_ids,
|
| const std::unordered_map<MediaRoute::Id, MediaCastMode>& current_cast_modes)
|
| const {
|
| - std::unique_ptr<base::ListValue> value(new base::ListValue);
|
| + auto value = base::MakeUnique<base::ListValue>();
|
| const std::string& extension_id =
|
| media_router_ui_->GetRouteProviderExtensionId();
|
|
|
| @@ -1069,8 +1069,9 @@ std::unique_ptr<base::ListValue> MediaRouterWebUIMessageHandler::RoutesToValue(
|
| base::ContainsValue(joinable_route_ids, route.media_route_id());
|
| int current_cast_mode =
|
| CurrentCastModeForRouteId(route.media_route_id(), current_cast_modes);
|
| - std::unique_ptr<base::DictionaryValue> route_val(RouteToValue(
|
| - route, can_join, extension_id, incognito_, current_cast_mode));
|
| + std::unique_ptr<base::DictionaryValue> route_val(
|
| + RouteToValue(route, can_join, extension_id, incognito_,
|
| + current_cast_mode, is_web_ui_route_controller_available_));
|
| value->Append(std::move(route_val));
|
| }
|
|
|
|
|