| OLD | NEW |
| 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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 const char kReportClickedSinkIndex[] = "reportClickedSinkIndex"; | 51 const char kReportClickedSinkIndex[] = "reportClickedSinkIndex"; |
| 52 const char kReportInitialAction[] = "reportInitialAction"; | 52 const char kReportInitialAction[] = "reportInitialAction"; |
| 53 const char kReportInitialState[] = "reportInitialState"; | 53 const char kReportInitialState[] = "reportInitialState"; |
| 54 const char kReportNavigateToView[] = "reportNavigateToView"; | 54 const char kReportNavigateToView[] = "reportNavigateToView"; |
| 55 const char kReportRouteCreationOutcome[] = "reportRouteCreationOutcome"; | 55 const char kReportRouteCreationOutcome[] = "reportRouteCreationOutcome"; |
| 56 const char kReportRouteCreation[] = "reportRouteCreation"; | 56 const char kReportRouteCreation[] = "reportRouteCreation"; |
| 57 const char kReportSelectedCastMode[] = "reportSelectedCastMode"; | 57 const char kReportSelectedCastMode[] = "reportSelectedCastMode"; |
| 58 const char kReportSinkCount[] = "reportSinkCount"; | 58 const char kReportSinkCount[] = "reportSinkCount"; |
| 59 const char kReportTimeToClickSink[] = "reportTimeToClickSink"; | 59 const char kReportTimeToClickSink[] = "reportTimeToClickSink"; |
| 60 const char kReportTimeToInitialActionClose[] = "reportTimeToInitialActionClose"; | 60 const char kReportTimeToInitialActionClose[] = "reportTimeToInitialActionClose"; |
| 61 const char kSearchProviders[] = "searchProviders"; |
| 61 const char kOnInitialDataReceived[] = "onInitialDataReceived"; | 62 const char kOnInitialDataReceived[] = "onInitialDataReceived"; |
| 62 | 63 |
| 63 // JS function names. | 64 // JS function names. |
| 64 const char kSetInitialData[] = "media_router.ui.setInitialData"; | 65 const char kSetInitialData[] = "media_router.ui.setInitialData"; |
| 65 const char kOnCreateRouteResponseReceived[] = | 66 const char kOnCreateRouteResponseReceived[] = |
| 66 "media_router.ui.onCreateRouteResponseReceived"; | 67 "media_router.ui.onCreateRouteResponseReceived"; |
| 67 const char kSetFirstRunFlowData[] = "media_router.ui.setFirstRunFlowData"; | 68 const char kSetFirstRunFlowData[] = "media_router.ui.setFirstRunFlowData"; |
| 68 const char kSetIssue[] = "media_router.ui.setIssue"; | 69 const char kSetIssue[] = "media_router.ui.setIssue"; |
| 69 const char kSetSinkListAndIdentity[] = "media_router.ui.setSinkListAndIdentity"; | 70 const char kSetSinkListAndIdentity[] = "media_router.ui.setSinkListAndIdentity"; |
| 70 const char kSetRouteList[] = "media_router.ui.setRouteList"; | 71 const char kSetRouteList[] = "media_router.ui.setRouteList"; |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 web_ui()->RegisterMessageCallback( | 366 web_ui()->RegisterMessageCallback( |
| 366 kReportTimeToClickSink, | 367 kReportTimeToClickSink, |
| 367 base::Bind(&MediaRouterWebUIMessageHandler::OnReportTimeToClickSink, | 368 base::Bind(&MediaRouterWebUIMessageHandler::OnReportTimeToClickSink, |
| 368 base::Unretained(this))); | 369 base::Unretained(this))); |
| 369 web_ui()->RegisterMessageCallback( | 370 web_ui()->RegisterMessageCallback( |
| 370 kReportTimeToInitialActionClose, | 371 kReportTimeToInitialActionClose, |
| 371 base::Bind( | 372 base::Bind( |
| 372 &MediaRouterWebUIMessageHandler::OnReportTimeToInitialActionClose, | 373 &MediaRouterWebUIMessageHandler::OnReportTimeToInitialActionClose, |
| 373 base::Unretained(this))); | 374 base::Unretained(this))); |
| 374 web_ui()->RegisterMessageCallback( | 375 web_ui()->RegisterMessageCallback( |
| 376 kSearchProviders, |
| 377 base::Bind(&MediaRouterWebUIMessageHandler::OnSearchProviders, |
| 378 base::Unretained(this))); |
| 379 web_ui()->RegisterMessageCallback( |
| 375 kOnInitialDataReceived, | 380 kOnInitialDataReceived, |
| 376 base::Bind(&MediaRouterWebUIMessageHandler::OnInitialDataReceived, | 381 base::Bind(&MediaRouterWebUIMessageHandler::OnInitialDataReceived, |
| 377 base::Unretained(this))); | 382 base::Unretained(this))); |
| 378 } | 383 } |
| 379 | 384 |
| 380 void MediaRouterWebUIMessageHandler::OnRequestInitialData( | 385 void MediaRouterWebUIMessageHandler::OnRequestInitialData( |
| 381 const base::ListValue* args) { | 386 const base::ListValue* args) { |
| 382 DVLOG(1) << "OnRequestInitialData"; | 387 DVLOG(1) << "OnRequestInitialData"; |
| 383 media_router_ui_->OnUIInitiallyLoaded(); | 388 media_router_ui_->OnUIInitiallyLoaded(); |
| 384 base::DictionaryValue initial_data; | 389 base::DictionaryValue initial_data; |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 712 DVLOG(1) << "OnReportTimeToInitialActionClose"; | 717 DVLOG(1) << "OnReportTimeToInitialActionClose"; |
| 713 double time_to_close; | 718 double time_to_close; |
| 714 if (!args->GetDouble(0, &time_to_close)) { | 719 if (!args->GetDouble(0, &time_to_close)) { |
| 715 VLOG(0) << "Unable to extract args."; | 720 VLOG(0) << "Unable to extract args."; |
| 716 return; | 721 return; |
| 717 } | 722 } |
| 718 UMA_HISTOGRAM_TIMES("MediaRouter.Ui.Action.CloseLatency", | 723 UMA_HISTOGRAM_TIMES("MediaRouter.Ui.Action.CloseLatency", |
| 719 base::TimeDelta::FromMillisecondsD(time_to_close)); | 724 base::TimeDelta::FromMillisecondsD(time_to_close)); |
| 720 } | 725 } |
| 721 | 726 |
| 727 void MediaRouterWebUIMessageHandler::OnSearchProviders( |
| 728 const base::ListValue* args) { |
| 729 DVLOG(1) << "OnSearchProviders"; |
| 730 const base::DictionaryValue* args_dict = nullptr; |
| 731 std::string sink_id; |
| 732 int cast_mode_num = -1; |
| 733 if (!args->GetDictionary(0, &args_dict) || |
| 734 !args_dict->GetString("sinkId", &sink_id) || |
| 735 !args_dict->GetInteger("selectedCastMode", &cast_mode_num)) { |
| 736 DVLOG(1) << "Unable to extract args"; |
| 737 return; |
| 738 } |
| 739 |
| 740 if (sink_id.empty()) { |
| 741 DVLOG(1) << "Media Router UI did not provide a valid sink ID. Aborting"; |
| 742 } |
| 743 |
| 744 if (!IsValidCastModeNum(cast_mode_num)) { |
| 745 DVLOG(1) << "Invalid cast mode: " << cast_mode_num << ". Aborting."; |
| 746 return; |
| 747 } |
| 748 |
| 749 media_router_ui_->SearchProviders(sink_id, |
| 750 static_cast<MediaCastMode>(cast_mode_num)); |
| 751 } |
| 752 |
| 722 void MediaRouterWebUIMessageHandler::OnInitialDataReceived( | 753 void MediaRouterWebUIMessageHandler::OnInitialDataReceived( |
| 723 const base::ListValue* args) { | 754 const base::ListValue* args) { |
| 724 DVLOG(1) << "OnInitialDataReceived"; | 755 DVLOG(1) << "OnInitialDataReceived"; |
| 725 media_router_ui_->OnUIInitialDataReceived(); | 756 media_router_ui_->OnUIInitialDataReceived(); |
| 726 MaybeUpdateFirstRunFlowData(); | 757 MaybeUpdateFirstRunFlowData(); |
| 727 } | 758 } |
| 728 | 759 |
| 729 bool MediaRouterWebUIMessageHandler::ActOnIssueType( | 760 bool MediaRouterWebUIMessageHandler::ActOnIssueType( |
| 730 const IssueAction::Type& action_type, | 761 const IssueAction::Type& action_type, |
| 731 const base::DictionaryValue* args) { | 762 const base::DictionaryValue* args) { |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 803 #else | 834 #else |
| 804 return AccountInfo(); | 835 return AccountInfo(); |
| 805 #endif // defined(GOOGLE_CHROME_BUILD) | 836 #endif // defined(GOOGLE_CHROME_BUILD) |
| 806 } | 837 } |
| 807 | 838 |
| 808 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) { | 839 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) { |
| 809 set_web_ui(web_ui); | 840 set_web_ui(web_ui); |
| 810 } | 841 } |
| 811 | 842 |
| 812 } // namespace media_router | 843 } // namespace media_router |
| OLD | NEW |