| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/media_router/media_router_webui_message_handle
r.h" | 5 #include "chrome/browser/ui/webui/media_router/media_router_webui_message_handle
r.h" |
| 6 | 6 |
| 7 #include <memory> | |
| 8 #include <string> | 7 #include <string> |
| 9 #include <utility> | 8 #include <utility> |
| 10 | 9 |
| 11 #include "base/bind.h" | 10 #include "base/bind.h" |
| 12 #include "base/metrics/histogram_macros.h" | 11 #include "base/metrics/histogram_macros.h" |
| 13 #include "base/metrics/sparse_histogram.h" | 12 #include "base/metrics/sparse_histogram.h" |
| 14 #include "base/metrics/user_metrics.h" | 13 #include "base/metrics/user_metrics.h" |
| 15 #include "base/strings/string_util.h" | 14 #include "base/strings/string_util.h" |
| 16 #include "base/strings/stringprintf.h" | 15 #include "base/strings/stringprintf.h" |
| 17 #include "base/values.h" | 16 #include "base/values.h" |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 | 124 |
| 126 int cast_mode_bits = 0; | 125 int cast_mode_bits = 0; |
| 127 for (MediaCastMode cast_mode : sink_with_cast_modes.cast_modes) | 126 for (MediaCastMode cast_mode : sink_with_cast_modes.cast_modes) |
| 128 cast_mode_bits |= cast_mode; | 127 cast_mode_bits |= cast_mode; |
| 129 | 128 |
| 130 sink_val->SetInteger("castModes", cast_mode_bits); | 129 sink_val->SetInteger("castModes", cast_mode_bits); |
| 131 sink_val->SetBoolean("isPseudoSink", is_pseudo_sink); | 130 sink_val->SetBoolean("isPseudoSink", is_pseudo_sink); |
| 132 sinks_val->Append(std::move(sink_val)); | 131 sinks_val->Append(std::move(sink_val)); |
| 133 } | 132 } |
| 134 | 133 |
| 135 sink_list_and_identity->Set("sinks", std::move(sinks_val)); | 134 sink_list_and_identity->Set("sinks", sinks_val.release()); |
| 136 sink_list_and_identity->SetBoolean("showEmail", show_email); | 135 sink_list_and_identity->SetBoolean("showEmail", show_email); |
| 137 sink_list_and_identity->SetBoolean("showDomain", show_domain); | 136 sink_list_and_identity->SetBoolean("showDomain", show_domain); |
| 138 return sink_list_and_identity; | 137 return sink_list_and_identity; |
| 139 } | 138 } |
| 140 | 139 |
| 141 std::unique_ptr<base::DictionaryValue> RouteToValue( | 140 std::unique_ptr<base::DictionaryValue> RouteToValue( |
| 142 const MediaRoute& route, | 141 const MediaRoute& route, |
| 143 bool can_join, | 142 bool can_join, |
| 144 const std::string& extension_id, | 143 const std::string& extension_id, |
| 145 bool incognito, | 144 bool incognito, |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 DVLOG(1) << "OnRequestInitialData"; | 407 DVLOG(1) << "OnRequestInitialData"; |
| 409 media_router_ui_->OnUIInitiallyLoaded(); | 408 media_router_ui_->OnUIInitiallyLoaded(); |
| 410 base::DictionaryValue initial_data; | 409 base::DictionaryValue initial_data; |
| 411 | 410 |
| 412 // "No Cast devices found?" Chromecast help center page. | 411 // "No Cast devices found?" Chromecast help center page. |
| 413 initial_data.SetString("deviceMissingUrl", | 412 initial_data.SetString("deviceMissingUrl", |
| 414 base::StringPrintf(kHelpPageUrlPrefix, 3249268)); | 413 base::StringPrintf(kHelpPageUrlPrefix, 3249268)); |
| 415 | 414 |
| 416 std::unique_ptr<base::DictionaryValue> sinks_and_identity( | 415 std::unique_ptr<base::DictionaryValue> sinks_and_identity( |
| 417 SinksAndIdentityToValue(media_router_ui_->sinks(), GetAccountInfo())); | 416 SinksAndIdentityToValue(media_router_ui_->sinks(), GetAccountInfo())); |
| 418 initial_data.Set("sinksAndIdentity", std::move(sinks_and_identity)); | 417 initial_data.Set("sinksAndIdentity", sinks_and_identity.release()); |
| 419 | 418 |
| 420 std::unique_ptr<base::ListValue> routes(RoutesToValue( | 419 std::unique_ptr<base::ListValue> routes(RoutesToValue( |
| 421 media_router_ui_->routes(), media_router_ui_->joinable_route_ids(), | 420 media_router_ui_->routes(), media_router_ui_->joinable_route_ids(), |
| 422 media_router_ui_->routes_and_cast_modes())); | 421 media_router_ui_->routes_and_cast_modes())); |
| 423 initial_data.Set("routes", std::move(routes)); | 422 initial_data.Set("routes", routes.release()); |
| 424 | 423 |
| 425 const std::set<MediaCastMode> cast_modes = media_router_ui_->cast_modes(); | 424 const std::set<MediaCastMode> cast_modes = media_router_ui_->cast_modes(); |
| 426 std::unique_ptr<base::ListValue> cast_modes_list(CastModesToValue( | 425 std::unique_ptr<base::ListValue> cast_modes_list(CastModesToValue( |
| 427 cast_modes, media_router_ui_->GetPresentationRequestSourceName())); | 426 cast_modes, media_router_ui_->GetPresentationRequestSourceName())); |
| 428 initial_data.Set("castModes", std::move(cast_modes_list)); | 427 initial_data.Set("castModes", cast_modes_list.release()); |
| 429 | 428 |
| 430 // If the cast mode last chosen for the current origin is tab mirroring, | 429 // If the cast mode last chosen for the current origin is tab mirroring, |
| 431 // that should be the cast mode initially selected in the dialog. Otherwise | 430 // that should be the cast mode initially selected in the dialog. Otherwise |
| 432 // the initial cast mode should be chosen automatically by the dialog. | 431 // the initial cast mode should be chosen automatically by the dialog. |
| 433 bool use_tab_mirroring = | 432 bool use_tab_mirroring = |
| 434 base::ContainsKey(cast_modes, MediaCastMode::TAB_MIRROR) && | 433 base::ContainsKey(cast_modes, MediaCastMode::TAB_MIRROR) && |
| 435 media_router_ui_->UserSelectedTabMirroringForCurrentOrigin(); | 434 media_router_ui_->UserSelectedTabMirroringForCurrentOrigin(); |
| 436 initial_data.SetBoolean("useTabMirroring", use_tab_mirroring); | 435 initial_data.SetBoolean("useTabMirroring", use_tab_mirroring); |
| 437 | 436 |
| 438 web_ui()->CallJavascriptFunctionUnsafe(kSetInitialData, initial_data); | 437 web_ui()->CallJavascriptFunctionUnsafe(kSetInitialData, initial_data); |
| (...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 895 } | 894 } |
| 896 | 895 |
| 897 return value; | 896 return value; |
| 898 } | 897 } |
| 899 | 898 |
| 900 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) { | 899 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) { |
| 901 set_web_ui(web_ui); | 900 set_web_ui(web_ui); |
| 902 } | 901 } |
| 903 | 902 |
| 904 } // namespace media_router | 903 } // namespace media_router |
| OLD | NEW |