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

Side by Side Diff: chrome/browser/ui/webui/media_router/media_router_webui_message_handler.cc

Issue 1510603003: [Media Router] Add UMA metrics for Media Router Dialog WebUI performance. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years 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 unified diff | Download patch
OLDNEW
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 <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
(...skipping 11 matching lines...) Expand all
22 const char kHelpPageUrlPrefix[] = 22 const char kHelpPageUrlPrefix[] =
23 "https://support.google.com/chromecast/answer/%d"; 23 "https://support.google.com/chromecast/answer/%d";
24 24
25 // Message names. 25 // Message names.
26 const char kRequestInitialData[] = "requestInitialData"; 26 const char kRequestInitialData[] = "requestInitialData";
27 const char kCreateRoute[] = "requestRoute"; 27 const char kCreateRoute[] = "requestRoute";
28 const char kActOnIssue[] = "actOnIssue"; 28 const char kActOnIssue[] = "actOnIssue";
29 const char kCloseRoute[] = "closeRoute"; 29 const char kCloseRoute[] = "closeRoute";
30 const char kCloseDialog[] = "closeDialog"; 30 const char kCloseDialog[] = "closeDialog";
31 const char kReportSinkCount[] = "reportSinkCount"; 31 const char kReportSinkCount[] = "reportSinkCount";
32 const char kOnInitialDataReceived[] = "onInitialDataReceived";
32 33
33 // JS function names. 34 // JS function names.
34 const char kSetInitialData[] = "media_router.ui.setInitialData"; 35 const char kSetInitialData[] = "media_router.ui.setInitialData";
35 const char kNotifyRouteCreationTimeout[] = 36 const char kNotifyRouteCreationTimeout[] =
36 "media_router.ui.onNotifyRouteCreationTimeout"; 37 "media_router.ui.onNotifyRouteCreationTimeout";
37 const char kOnCreateRouteResponseReceived[] = 38 const char kOnCreateRouteResponseReceived[] =
38 "media_router.ui.onCreateRouteResponseReceived"; 39 "media_router.ui.onCreateRouteResponseReceived";
39 const char kSetIssue[] = "media_router.ui.setIssue"; 40 const char kSetIssue[] = "media_router.ui.setIssue";
40 const char kSetSinkList[] = "media_router.ui.setSinkList"; 41 const char kSetSinkList[] = "media_router.ui.setSinkList";
41 const char kSetRouteList[] = "media_router.ui.setRouteList"; 42 const char kSetRouteList[] = "media_router.ui.setRouteList";
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 base::Bind(&MediaRouterWebUIMessageHandler::OnCloseRoute, 250 base::Bind(&MediaRouterWebUIMessageHandler::OnCloseRoute,
250 base::Unretained(this))); 251 base::Unretained(this)));
251 web_ui()->RegisterMessageCallback( 252 web_ui()->RegisterMessageCallback(
252 kCloseDialog, 253 kCloseDialog,
253 base::Bind(&MediaRouterWebUIMessageHandler::OnCloseDialog, 254 base::Bind(&MediaRouterWebUIMessageHandler::OnCloseDialog,
254 base::Unretained(this))); 255 base::Unretained(this)));
255 web_ui()->RegisterMessageCallback( 256 web_ui()->RegisterMessageCallback(
256 kReportSinkCount, 257 kReportSinkCount,
257 base::Bind(&MediaRouterWebUIMessageHandler::OnReportSinkCount, 258 base::Bind(&MediaRouterWebUIMessageHandler::OnReportSinkCount,
258 base::Unretained(this))); 259 base::Unretained(this)));
260 web_ui()->RegisterMessageCallback(
261 kOnInitialDataReceived,
262 base::Bind(&MediaRouterWebUIMessageHandler::OnInitialDataReceived,
263 base::Unretained(this)));
259 } 264 }
260 265
261 void MediaRouterWebUIMessageHandler::OnRequestInitialData( 266 void MediaRouterWebUIMessageHandler::OnRequestInitialData(
262 const base::ListValue* args) { 267 const base::ListValue* args) {
263 DVLOG(1) << "OnRequestInitialData"; 268 DVLOG(1) << "OnRequestInitialData";
269 media_router_ui_->OnUIInitiallyLoaded();
264 base::DictionaryValue initial_data; 270 base::DictionaryValue initial_data;
265 271
266 // "No Cast devices found?" Chromecast help center page. 272 // "No Cast devices found?" Chromecast help center page.
267 initial_data.SetString("deviceMissingUrl", 273 initial_data.SetString("deviceMissingUrl",
268 base::StringPrintf(kHelpPageUrlPrefix, 3249268)); 274 base::StringPrintf(kHelpPageUrlPrefix, 3249268));
269 275
270 scoped_ptr<base::ListValue> sinks(SinksToValue(media_router_ui_->sinks())); 276 scoped_ptr<base::ListValue> sinks(SinksToValue(media_router_ui_->sinks()));
271 initial_data.Set("sinks", sinks.release()); 277 initial_data.Set("sinks", sinks.release());
272 278
273 scoped_ptr<base::ListValue> routes(RoutesToValue(media_router_ui_->routes(), 279 scoped_ptr<base::ListValue> routes(RoutesToValue(media_router_ui_->routes(),
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 const base::ListValue* args) { 391 const base::ListValue* args) {
386 DVLOG(1) << "OnReportSinkCount"; 392 DVLOG(1) << "OnReportSinkCount";
387 int sink_count; 393 int sink_count;
388 if (!args->GetInteger(0, &sink_count)) { 394 if (!args->GetInteger(0, &sink_count)) {
389 DVLOG(1) << "Unable to extract args."; 395 DVLOG(1) << "Unable to extract args.";
390 return; 396 return;
391 } 397 }
392 UMA_HISTOGRAM_COUNTS_100("MediaRouter.Ui.Device.Count", sink_count); 398 UMA_HISTOGRAM_COUNTS_100("MediaRouter.Ui.Device.Count", sink_count);
393 } 399 }
394 400
401 void MediaRouterWebUIMessageHandler::OnInitialDataReceived(
402 const base::ListValue* args) {
403 DVLOG(1) << "OnInitialDataReceived";
404 media_router_ui_->OnUIInitialDataReceived();
405 }
406
395 bool MediaRouterWebUIMessageHandler::ActOnIssueType( 407 bool MediaRouterWebUIMessageHandler::ActOnIssueType(
396 const IssueAction::Type& action_type, 408 const IssueAction::Type& action_type,
397 const base::DictionaryValue* args) { 409 const base::DictionaryValue* args) {
398 if (action_type == IssueAction::TYPE_LEARN_MORE) { 410 if (action_type == IssueAction::TYPE_LEARN_MORE) {
399 std::string learn_more_url = GetLearnMoreUrl(args); 411 std::string learn_more_url = GetLearnMoreUrl(args);
400 if (learn_more_url.empty()) 412 if (learn_more_url.empty())
401 return false; 413 return false;
402 scoped_ptr<base::ListValue> open_args(new base::ListValue); 414 scoped_ptr<base::ListValue> open_args(new base::ListValue);
403 open_args->AppendString(learn_more_url); 415 open_args->AppendString(learn_more_url);
404 web_ui()->CallJavascriptFunction(kWindowOpen, *open_args); 416 web_ui()->CallJavascriptFunction(kWindowOpen, *open_args);
405 return true; 417 return true;
406 } else { 418 } else {
407 // Do nothing; no other issue action types require any other action. 419 // Do nothing; no other issue action types require any other action.
408 return true; 420 return true;
409 } 421 }
410 } 422 }
411 423
412 } // namespace media_router 424 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/media_router/media_router_webui_message_handler.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698