| 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 35a23d4cc56a51c9bb3a8bab010842739530d2ef..c84ce50b918f78d1069a07a1d0af8e57a89bbde1 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
|
| @@ -58,6 +58,7 @@ const char kReportSelectedCastMode[] = "reportSelectedCastMode";
|
| const char kReportSinkCount[] = "reportSinkCount";
|
| const char kReportTimeToClickSink[] = "reportTimeToClickSink";
|
| const char kReportTimeToInitialActionClose[] = "reportTimeToInitialActionClose";
|
| +const char kSearchProviders[] = "searchProviders";
|
| const char kOnInitialDataReceived[] = "onInitialDataReceived";
|
|
|
| // JS function names.
|
| @@ -372,6 +373,10 @@ void MediaRouterWebUIMessageHandler::RegisterMessages() {
|
| &MediaRouterWebUIMessageHandler::OnReportTimeToInitialActionClose,
|
| base::Unretained(this)));
|
| web_ui()->RegisterMessageCallback(
|
| + kSearchProviders,
|
| + base::Bind(&MediaRouterWebUIMessageHandler::OnSearchProviders,
|
| + base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback(
|
| kOnInitialDataReceived,
|
| base::Bind(&MediaRouterWebUIMessageHandler::OnInitialDataReceived,
|
| base::Unretained(this)));
|
| @@ -719,6 +724,32 @@ void MediaRouterWebUIMessageHandler::OnReportTimeToInitialActionClose(
|
| base::TimeDelta::FromMillisecondsD(time_to_close));
|
| }
|
|
|
| +void MediaRouterWebUIMessageHandler::OnSearchProviders(
|
| + const base::ListValue* args) {
|
| + DVLOG(1) << "OnSearchProviders";
|
| + const base::DictionaryValue* args_dict = nullptr;
|
| + std::string sink_id;
|
| + int cast_mode_num = -1;
|
| + if (!args->GetDictionary(0, &args_dict) ||
|
| + !args_dict->GetString("sinkId", &sink_id) ||
|
| + !args_dict->GetInteger("selectedCastMode", &cast_mode_num)) {
|
| + DVLOG(1) << "Unable to extract args";
|
| + return;
|
| + }
|
| +
|
| + if (sink_id.empty()) {
|
| + DVLOG(1) << "Media Router UI did not provide a valid sink ID. Aborting";
|
| + }
|
| +
|
| + if (!IsValidCastModeNum(cast_mode_num)) {
|
| + DVLOG(1) << "Invalid cast mode: " << cast_mode_num << ". Aborting.";
|
| + return;
|
| + }
|
| +
|
| + media_router_ui_->SearchProviders(sink_id,
|
| + static_cast<MediaCastMode>(cast_mode_num));
|
| +}
|
| +
|
| void MediaRouterWebUIMessageHandler::OnInitialDataReceived(
|
| const base::ListValue* args) {
|
| DVLOG(1) << "OnInitialDataReceived";
|
|
|