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

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

Issue 1415103006: Non-Local Join for Media Router and Presentation API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removing Logging Statements Created 5 years, 1 month 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 9c9092ec8a6cba272760df5e17922870690fdfb4..45262ec6e8efa89ca103063298adad16afb6a221 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
@@ -27,6 +27,8 @@ const char kRequestInitialData[] = "requestInitialData";
const char kCreateRoute[] = "requestRoute";
const char kActOnIssue[] = "actOnIssue";
const char kCloseRoute[] = "closeRoute";
+const char kJoinRoute[] = "joinRoute";
+const char kCanJoinRoute[] = "canJoin";
const char kCloseDialog[] = "closeDialog";
const char kReportSinkCount[] = "reportSinkCount";
@@ -66,7 +68,8 @@ scoped_ptr<base::ListValue> SinksToValue(
}
scoped_ptr<base::DictionaryValue> RouteToValue(
- const MediaRoute& route, const std::string& extension_id) {
+ const MediaRoute& route,
+ const std::string& extension_id) {
scoped_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue);
dictionary->SetString("id", route.media_route_id());
@@ -77,24 +80,23 @@ scoped_ptr<base::DictionaryValue> RouteToValue(
const std::string& custom_path = route.custom_controller_path();
if (!custom_path.empty()) {
- std::string full_custom_controller_path = base::StringPrintf("%s://%s/%s",
- extensions::kExtensionScheme, extension_id.c_str(),
- custom_path.c_str());
+ std::string full_custom_controller_path =
+ base::StringPrintf("%s://%s/%s", extensions::kExtensionScheme,
+ extension_id.c_str(), custom_path.c_str());
DCHECK(GURL(full_custom_controller_path).is_valid());
- dictionary->SetString("customControllerPath",
- full_custom_controller_path);
+ dictionary->SetString("customControllerPath", full_custom_controller_path);
}
return dictionary.Pass();
}
-scoped_ptr<base::ListValue> RoutesToValue(
- const std::vector<MediaRoute>& routes, const std::string& extension_id) {
+scoped_ptr<base::ListValue> RoutesToValue(const std::vector<MediaRoute>& routes,
+ const std::string& extension_id) {
scoped_ptr<base::ListValue> value(new base::ListValue);
for (const MediaRoute& route : routes) {
- scoped_ptr<base::DictionaryValue> route_val(RouteToValue(route,
- extension_id));
+ scoped_ptr<base::DictionaryValue> route_val(
+ RouteToValue(route, extension_id));
value->Append(route_val.release());
}
@@ -163,13 +165,11 @@ std::string GetLearnMoreUrl(const base::DictionaryValue* args) {
MediaRouterWebUIMessageHandler::MediaRouterWebUIMessageHandler(
MediaRouterUI* media_router_ui)
- : dialog_closing_(false),
- media_router_ui_(media_router_ui) {
+ : dialog_closing_(false), media_router_ui_(media_router_ui) {
DCHECK(media_router_ui_);
}
-MediaRouterWebUIMessageHandler::~MediaRouterWebUIMessageHandler() {
-}
+MediaRouterWebUIMessageHandler::~MediaRouterWebUIMessageHandler() {}
void MediaRouterWebUIMessageHandler::UpdateSinks(
const std::vector<MediaSinkWithCastModes>& sinks) {
@@ -181,8 +181,8 @@ void MediaRouterWebUIMessageHandler::UpdateSinks(
void MediaRouterWebUIMessageHandler::UpdateRoutes(
const std::vector<MediaRoute>& routes) {
DVLOG(2) << "UpdateRoutes";
- scoped_ptr<base::ListValue> routes_val(RoutesToValue(routes,
- media_router_ui_->GetRouteProviderExtensionId()));
+ scoped_ptr<base::ListValue> routes_val(
+ RoutesToValue(routes, media_router_ui_->GetRouteProviderExtensionId()));
web_ui()->CallJavascriptFunction(kSetRouteList, *routes_val);
}
@@ -200,8 +200,8 @@ void MediaRouterWebUIMessageHandler::OnCreateRouteResponseReceived(
const MediaRoute* route) {
DVLOG(2) << "OnCreateRouteResponseReceived";
if (route) {
- scoped_ptr<base::DictionaryValue> route_value(RouteToValue(*route,
- media_router_ui_->GetRouteProviderExtensionId()));
+ scoped_ptr<base::DictionaryValue> route_value(
+ RouteToValue(*route, media_router_ui_->GetRouteProviderExtensionId()));
web_ui()->CallJavascriptFunction(kOnCreateRouteResponseReceived,
base::StringValue(sink_id), *route_value);
UMA_HISTOGRAM_BOOLEAN("MediaRouter.Ui.Action.StartLocalSessionSuccessful",
@@ -237,21 +237,23 @@ void MediaRouterWebUIMessageHandler::RegisterMessages() {
base::Bind(&MediaRouterWebUIMessageHandler::OnRequestInitialData,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
- kCreateRoute,
- base::Bind(&MediaRouterWebUIMessageHandler::OnCreateRoute,
- base::Unretained(this)));
+ kCreateRoute, base::Bind(&MediaRouterWebUIMessageHandler::OnCreateRoute,
+ base::Unretained(this)));
web_ui()->RegisterMessageCallback(
- kActOnIssue,
- base::Bind(&MediaRouterWebUIMessageHandler::OnActOnIssue,
- base::Unretained(this)));
+ kActOnIssue, base::Bind(&MediaRouterWebUIMessageHandler::OnActOnIssue,
+ base::Unretained(this)));
web_ui()->RegisterMessageCallback(
- kCloseRoute,
- base::Bind(&MediaRouterWebUIMessageHandler::OnCloseRoute,
- base::Unretained(this)));
+ kCloseRoute, base::Bind(&MediaRouterWebUIMessageHandler::OnCloseRoute,
+ base::Unretained(this)));
web_ui()->RegisterMessageCallback(
- kCloseDialog,
- base::Bind(&MediaRouterWebUIMessageHandler::OnCloseDialog,
- base::Unretained(this)));
+ kJoinRoute, base::Bind(&MediaRouterWebUIMessageHandler::OnJoinRoute,
+ base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ kCanJoinRoute, base::Bind(&MediaRouterWebUIMessageHandler::OnCanJoinRoute,
+ base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ kCloseDialog, base::Bind(&MediaRouterWebUIMessageHandler::OnCloseDialog,
+ base::Unretained(this)));
web_ui()->RegisterMessageCallback(
kReportSinkCount,
base::Bind(&MediaRouterWebUIMessageHandler::OnReportSinkCount,
@@ -265,13 +267,14 @@ void MediaRouterWebUIMessageHandler::OnRequestInitialData(
// "No Cast devices found?" Chromecast help center page.
initial_data.SetString("deviceMissingUrl",
- base::StringPrintf(kHelpPageUrlPrefix, 3249268));
+ base::StringPrintf(kHelpPageUrlPrefix, 3249268));
scoped_ptr<base::ListValue> sinks(SinksToValue(media_router_ui_->sinks()));
initial_data.Set("sinks", sinks.release());
- scoped_ptr<base::ListValue> routes(RoutesToValue(media_router_ui_->routes(),
- media_router_ui_->GetRouteProviderExtensionId()));
+ scoped_ptr<base::ListValue> routes(
+ RoutesToValue(media_router_ui_->routes(),
+ media_router_ui_->GetRouteProviderExtensionId()));
initial_data.Set("routes", routes.release());
const std::set<MediaCastMode> cast_modes = media_router_ui_->cast_modes();
@@ -315,11 +318,10 @@ void MediaRouterWebUIMessageHandler::OnCreateRoute(
static_cast<MediaRouterUI*>(web_ui()->GetController());
if (media_router_ui->HasPendingRouteRequest()) {
DVLOG(1) << "UI already has pending route request. Ignoring.";
- Issue issue(
- l10n_util::GetStringUTF8(IDS_MEDIA_ROUTER_ISSUE_PENDING_ROUTE),
- std::string(), IssueAction(IssueAction::TYPE_DISMISS),
- std::vector<IssueAction>(), std::string(), Issue::NOTIFICATION,
- false, std::string());
+ Issue issue(l10n_util::GetStringUTF8(IDS_MEDIA_ROUTER_ISSUE_PENDING_ROUTE),
+ std::string(), IssueAction(IssueAction::TYPE_DISMISS),
+ std::vector<IssueAction>(), std::string(), Issue::NOTIFICATION,
+ false, std::string());
media_router_ui_->AddIssue(issue);
return;
}
@@ -337,8 +339,7 @@ void MediaRouterWebUIMessageHandler::OnCreateRoute(
}
}
-void MediaRouterWebUIMessageHandler::OnActOnIssue(
- const base::ListValue* args) {
+void MediaRouterWebUIMessageHandler::OnActOnIssue(const base::ListValue* args) {
DVLOG(1) << "OnActOnIssue";
const base::DictionaryValue* args_dict = nullptr;
Issue::Id issue_id;
@@ -360,8 +361,34 @@ void MediaRouterWebUIMessageHandler::OnActOnIssue(
media_router_ui_->ClearIssue(issue_id);
}
-void MediaRouterWebUIMessageHandler::OnCloseRoute(
+void MediaRouterWebUIMessageHandler::OnCanJoinRoute(
const base::ListValue* args) {
+ DVLOG(0) << "OnCanJoinRoute";
+ const base::DictionaryValue* args_dict = nullptr;
+ std::string route_id;
+ if (!args->GetDictionary(0, &args_dict) ||
+ !args_dict->GetString("routeId", &route_id)) {
+ DVLOG(1) << "Unable to extract args.";
+ return;
+ }
+ media_router_ui_->CanJoinRoute(route_id);
+}
+
+void MediaRouterWebUIMessageHandler::OnJoinRoute(const base::ListValue* args) {
+ DVLOG(0) << "OnJoinRoute";
+ const base::DictionaryValue* args_dict = nullptr;
+ std::string route_id;
+ std::string sink_id;
+ if (!args->GetDictionary(0, &args_dict) ||
+ !args_dict->GetString("sinkId", &sink_id) ||
+ !args_dict->GetString("routeId", &route_id)) {
+ DVLOG(1) << "Unable to extract args.";
+ return;
+ }
+ media_router_ui_->JoinRoute(sink_id, route_id);
+}
+
+void MediaRouterWebUIMessageHandler::OnCloseRoute(const base::ListValue* args) {
DVLOG(1) << "OnCloseRoute";
const base::DictionaryValue* args_dict = nullptr;
std::string route_id;

Powered by Google App Engine
This is Rietveld 408576698