Chromium Code Reviews| 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..9a7bcf31e82cd82e5921571038ffeece7231799b 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,8 @@ |
| #include <string> |
| #include "base/bind.h" |
| +#include "base/metrics/histogram.h" |
| +#include "base/metrics/histogram_base.h" |
|
Ilya Sherman
2015/10/23 20:40:22
Please replace these with a histogram_macros inclu
apacible
2015/10/23 22:52:55
Done.
|
| #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 +29,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 +205,16 @@ 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); |
|
Ilya Sherman
2015/10/23 20:40:22
Please record this as UMA_HISTOGRAM_BOOLEAN(..., r
apacible
2015/10/23 22:52:55
Done.
apacible
2015/10/26 17:52:32
Switched back because of these warnings:
e:\b\bui
|
| } |
| } |
| @@ -246,6 +255,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 +386,19 @@ void MediaRouterWebUIMessageHandler::OnCloseDialog( |
| media_router_ui_->Close(); |
| } |
| +void MediaRouterWebUIMessageHandler::OnReportSinkCount( |
| + const base::ListValue* args) { |
| + DVLOG(1) << "OnReportSinkCount"; |
| + const base::DictionaryValue* args_dict = nullptr; |
| + int sink_count = -1; |
| + if (!args->GetDictionary(0, &args_dict) || |
| + !args_dict->GetInteger("sinkCount", &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) { |