| 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 3c44c1c3c9f8dad1fb056bdeeb6e5f2ccc14bbe7..9c9092ec8a6cba272760df5e17922870690fdfb4 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
|
| @@ -7,6 +7,7 @@
|
| #include <string>
|
|
|
| #include "base/bind.h"
|
| +#include "base/metrics/histogram_macros.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "chrome/browser/media/router/issue.h"
|
| #include "chrome/browser/ui/webui/media_router/media_router_ui.h"
|
| @@ -27,6 +28,7 @@ const char kCreateRoute[] = "requestRoute";
|
| const char kActOnIssue[] = "actOnIssue";
|
| const char kCloseRoute[] = "closeRoute";
|
| const char kCloseDialog[] = "closeDialog";
|
| +const char kReportSinkCount[] = "reportSinkCount";
|
|
|
| // JS function names.
|
| const char kSetInitialData[] = "media_router.ui.setInitialData";
|
| @@ -202,10 +204,14 @@ void MediaRouterWebUIMessageHandler::OnCreateRouteResponseReceived(
|
| media_router_ui_->GetRouteProviderExtensionId()));
|
| web_ui()->CallJavascriptFunction(kOnCreateRouteResponseReceived,
|
| base::StringValue(sink_id), *route_value);
|
| + UMA_HISTOGRAM_BOOLEAN("MediaRouter.Ui.Action.StartLocalSessionSuccessful",
|
| + true);
|
| } else {
|
| web_ui()->CallJavascriptFunction(kOnCreateRouteResponseReceived,
|
| base::StringValue(sink_id),
|
| *base::Value::CreateNullValue());
|
| + UMA_HISTOGRAM_BOOLEAN("MediaRouter.Ui.Action.StartLocalSessionSuccessful",
|
| + false);
|
| }
|
| }
|
|
|
| @@ -246,6 +252,10 @@ void MediaRouterWebUIMessageHandler::RegisterMessages() {
|
| kCloseDialog,
|
| base::Bind(&MediaRouterWebUIMessageHandler::OnCloseDialog,
|
| base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback(
|
| + kReportSinkCount,
|
| + base::Bind(&MediaRouterWebUIMessageHandler::OnReportSinkCount,
|
| + base::Unretained(this)));
|
| }
|
|
|
| void MediaRouterWebUIMessageHandler::OnRequestInitialData(
|
| @@ -373,6 +383,17 @@ void MediaRouterWebUIMessageHandler::OnCloseDialog(
|
| media_router_ui_->Close();
|
| }
|
|
|
| +void MediaRouterWebUIMessageHandler::OnReportSinkCount(
|
| + const base::ListValue* args) {
|
| + DVLOG(1) << "OnReportSinkCount";
|
| + int sink_count;
|
| + if (!args->GetInteger(0, &sink_count)) {
|
| + DVLOG(1) << "Unable to extract args.";
|
| + return;
|
| + }
|
| + UMA_HISTOGRAM_COUNTS_100("MediaRouter.Ui.Device.Count", sink_count);
|
| +}
|
| +
|
| bool MediaRouterWebUIMessageHandler::ActOnIssueType(
|
| const IssueAction::Type& action_type,
|
| const base::DictionaryValue* args) {
|
|
|