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

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

Issue 2724513002: (Not for review) Dummy C++ side Custom Controls implementation (Closed)
Patch Set: . Created 3 years, 9 months 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 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 const char kReportInitialState[] = "reportInitialState"; 55 const char kReportInitialState[] = "reportInitialState";
56 const char kReportNavigateToView[] = "reportNavigateToView"; 56 const char kReportNavigateToView[] = "reportNavigateToView";
57 const char kReportRouteCreationOutcome[] = "reportRouteCreationOutcome"; 57 const char kReportRouteCreationOutcome[] = "reportRouteCreationOutcome";
58 const char kReportRouteCreation[] = "reportRouteCreation"; 58 const char kReportRouteCreation[] = "reportRouteCreation";
59 const char kReportSelectedCastMode[] = "reportSelectedCastMode"; 59 const char kReportSelectedCastMode[] = "reportSelectedCastMode";
60 const char kReportSinkCount[] = "reportSinkCount"; 60 const char kReportSinkCount[] = "reportSinkCount";
61 const char kReportTimeToClickSink[] = "reportTimeToClickSink"; 61 const char kReportTimeToClickSink[] = "reportTimeToClickSink";
62 const char kReportTimeToInitialActionClose[] = "reportTimeToInitialActionClose"; 62 const char kReportTimeToInitialActionClose[] = "reportTimeToInitialActionClose";
63 const char kSearchSinksAndCreateRoute[] = "searchSinksAndCreateRoute"; 63 const char kSearchSinksAndCreateRoute[] = "searchSinksAndCreateRoute";
64 const char kOnInitialDataReceived[] = "onInitialDataReceived"; 64 const char kOnInitialDataReceived[] = "onInitialDataReceived";
65 const char kOnRouteDetailsClosed[] = "onRouteDetailsClosed";
66 const char kOnRouteDetailsOpened[] = "onRouteDetailsOpened";
67 const char kPauseRoute[] = "pauseRoute";
68 const char kPlayRoute[] = "playRoute";
69 const char kSeekRoute[] = "seekRoute";
70 const char kSetRouteMute[] = "setRouteMute";
71 const char kSetRouteVolume[] = "setRouteVolume";
65 72
66 // JS function names. 73 // JS function names.
67 const char kSetInitialData[] = "media_router.ui.setInitialData"; 74 const char kSetInitialData[] = "media_router.ui.setInitialData";
68 const char kOnCreateRouteResponseReceived[] = 75 const char kOnCreateRouteResponseReceived[] =
69 "media_router.ui.onCreateRouteResponseReceived"; 76 "media_router.ui.onCreateRouteResponseReceived";
70 const char kReceiveSearchResult[] = "media_router.ui.receiveSearchResult"; 77 const char kReceiveSearchResult[] = "media_router.ui.receiveSearchResult";
71 const char kSetFirstRunFlowData[] = "media_router.ui.setFirstRunFlowData"; 78 const char kSetFirstRunFlowData[] = "media_router.ui.setFirstRunFlowData";
72 const char kSetIssue[] = "media_router.ui.setIssue"; 79 const char kSetIssue[] = "media_router.ui.setIssue";
73 const char kSetSinkListAndIdentity[] = "media_router.ui.setSinkListAndIdentity"; 80 const char kSetSinkListAndIdentity[] = "media_router.ui.setSinkListAndIdentity";
74 const char kSetRouteList[] = "media_router.ui.setRouteList"; 81 const char kSetRouteList[] = "media_router.ui.setRouteList";
75 const char kSetCastModeList[] = "media_router.ui.setCastModeList"; 82 const char kSetCastModeList[] = "media_router.ui.setCastModeList";
76 const char kUpdateMaxHeight[] = "media_router.ui.updateMaxHeight"; 83 const char kUpdateMaxHeight[] = "media_router.ui.updateMaxHeight";
84 const char kUpdateRouteStatus[] = "media_router.ui.updateRouteStatus";
77 const char kWindowOpen[] = "window.open"; 85 const char kWindowOpen[] = "window.open";
78 86
79 std::unique_ptr<base::DictionaryValue> SinksAndIdentityToValue( 87 std::unique_ptr<base::DictionaryValue> SinksAndIdentityToValue(
80 const std::vector<MediaSinkWithCastModes>& sinks, 88 const std::vector<MediaSinkWithCastModes>& sinks,
81 const AccountInfo& account_info) { 89 const AccountInfo& account_info) {
82 std::unique_ptr<base::DictionaryValue> sink_list_and_identity( 90 std::unique_ptr<base::DictionaryValue> sink_list_and_identity(
83 new base::DictionaryValue); 91 new base::DictionaryValue);
84 bool show_email = false; 92 bool show_email = false;
85 bool show_domain = false; 93 bool show_domain = false;
86 std::string user_domain; 94 std::string user_domain;
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 web_ui()->CallJavascriptFunctionUnsafe(kSetIssue, 317 web_ui()->CallJavascriptFunctionUnsafe(kSetIssue,
310 *base::Value::CreateNullValue()); 318 *base::Value::CreateNullValue());
311 } 319 }
312 320
313 void MediaRouterWebUIMessageHandler::UpdateMaxDialogHeight(int height) { 321 void MediaRouterWebUIMessageHandler::UpdateMaxDialogHeight(int height) {
314 DVLOG(2) << "UpdateMaxDialogHeight"; 322 DVLOG(2) << "UpdateMaxDialogHeight";
315 web_ui()->CallJavascriptFunctionUnsafe(kUpdateMaxHeight, 323 web_ui()->CallJavascriptFunctionUnsafe(kUpdateMaxHeight,
316 base::FundamentalValue(height)); 324 base::FundamentalValue(height));
317 } 325 }
318 326
327 void MediaRouterWebUIMessageHandler::UpdateMediaRouteStatus(
328 const MediaStatus& status) {
329 base::DictionaryValue status_value;
330 status_value.SetString("title", status.title);
331 status_value.SetString("status", status.status);
332 status_value.SetBoolean("canPlayPause", status.can_play_pause);
333 status_value.SetBoolean("canMute", status.can_mute);
334 status_value.SetBoolean("canSetVolume", status.can_set_volume);
335 status_value.SetBoolean("canSeek", status.can_seek);
336 status_value.SetBoolean("isPaused", status.is_paused);
337 status_value.SetBoolean("isMuted", status.is_muted);
338 status_value.SetInteger("duration", status.duration);
339 status_value.SetInteger("currentTime", status.current_time);
340 status_value.SetDouble("volume", status.volume);
341 web_ui()->CallJavascriptFunctionUnsafe(kUpdateRouteStatus,
342 std::move(status_value));
343 }
344
319 void MediaRouterWebUIMessageHandler::RegisterMessages() { 345 void MediaRouterWebUIMessageHandler::RegisterMessages() {
320 web_ui()->RegisterMessageCallback( 346 web_ui()->RegisterMessageCallback(
321 kRequestInitialData, 347 kRequestInitialData,
322 base::Bind(&MediaRouterWebUIMessageHandler::OnRequestInitialData, 348 base::Bind(&MediaRouterWebUIMessageHandler::OnRequestInitialData,
323 base::Unretained(this))); 349 base::Unretained(this)));
324 web_ui()->RegisterMessageCallback( 350 web_ui()->RegisterMessageCallback(
325 kCreateRoute, 351 kCreateRoute,
326 base::Bind(&MediaRouterWebUIMessageHandler::OnCreateRoute, 352 base::Bind(&MediaRouterWebUIMessageHandler::OnCreateRoute,
327 base::Unretained(this))); 353 base::Unretained(this)));
328 web_ui()->RegisterMessageCallback( 354 web_ui()->RegisterMessageCallback(
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 &MediaRouterWebUIMessageHandler::OnReportTimeToInitialActionClose, 421 &MediaRouterWebUIMessageHandler::OnReportTimeToInitialActionClose,
396 base::Unretained(this))); 422 base::Unretained(this)));
397 web_ui()->RegisterMessageCallback( 423 web_ui()->RegisterMessageCallback(
398 kSearchSinksAndCreateRoute, 424 kSearchSinksAndCreateRoute,
399 base::Bind(&MediaRouterWebUIMessageHandler::OnSearchSinksAndCreateRoute, 425 base::Bind(&MediaRouterWebUIMessageHandler::OnSearchSinksAndCreateRoute,
400 base::Unretained(this))); 426 base::Unretained(this)));
401 web_ui()->RegisterMessageCallback( 427 web_ui()->RegisterMessageCallback(
402 kOnInitialDataReceived, 428 kOnInitialDataReceived,
403 base::Bind(&MediaRouterWebUIMessageHandler::OnInitialDataReceived, 429 base::Bind(&MediaRouterWebUIMessageHandler::OnInitialDataReceived,
404 base::Unretained(this))); 430 base::Unretained(this)));
431 web_ui()->RegisterMessageCallback(
432 kOnRouteDetailsClosed,
433 base::Bind(&MediaRouterWebUIMessageHandler::OnRouteDetailsClosed,
434 base::Unretained(this)));
435 web_ui()->RegisterMessageCallback(
436 kOnRouteDetailsOpened,
437 base::Bind(&MediaRouterWebUIMessageHandler::OnRouteDetailsOpened,
438 base::Unretained(this)));
439 web_ui()->RegisterMessageCallback(
440 kPauseRoute,
441 base::Bind(&MediaRouterWebUIMessageHandler::OnPauseRoute,
442 base::Unretained(this)));
443 web_ui()->RegisterMessageCallback(
444 kPlayRoute,
445 base::Bind(&MediaRouterWebUIMessageHandler::OnPlayRoute,
446 base::Unretained(this)));
447 web_ui()->RegisterMessageCallback(
448 kSeekRoute,
449 base::Bind(&MediaRouterWebUIMessageHandler::OnSeekRoute,
450 base::Unretained(this)));
451 web_ui()->RegisterMessageCallback(
452 kSetRouteMute,
453 base::Bind(&MediaRouterWebUIMessageHandler::OnSetRouteMute,
454 base::Unretained(this)));
455 web_ui()->RegisterMessageCallback(
456 kSetRouteVolume,
457 base::Bind(&MediaRouterWebUIMessageHandler::OnSetRouteVolume,
458 base::Unretained(this)));
405 } 459 }
406 460
407 void MediaRouterWebUIMessageHandler::OnRequestInitialData( 461 void MediaRouterWebUIMessageHandler::OnRequestInitialData(
408 const base::ListValue* args) { 462 const base::ListValue* args) {
409 DVLOG(1) << "OnRequestInitialData"; 463 DVLOG(1) << "OnRequestInitialData";
410 media_router_ui_->OnUIInitiallyLoaded(); 464 media_router_ui_->OnUIInitiallyLoaded();
411 base::DictionaryValue initial_data; 465 base::DictionaryValue initial_data;
412 466
413 // "No Cast devices found?" Chromecast help center page. 467 // "No Cast devices found?" Chromecast help center page.
414 initial_data.SetString("deviceMissingUrl", 468 initial_data.SetString("deviceMissingUrl",
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
784 static_cast<MediaCastMode>(cast_mode_num)); 838 static_cast<MediaCastMode>(cast_mode_num));
785 } 839 }
786 840
787 void MediaRouterWebUIMessageHandler::OnInitialDataReceived( 841 void MediaRouterWebUIMessageHandler::OnInitialDataReceived(
788 const base::ListValue* args) { 842 const base::ListValue* args) {
789 DVLOG(1) << "OnInitialDataReceived"; 843 DVLOG(1) << "OnInitialDataReceived";
790 media_router_ui_->OnUIInitialDataReceived(); 844 media_router_ui_->OnUIInitialDataReceived();
791 MaybeUpdateFirstRunFlowData(); 845 MaybeUpdateFirstRunFlowData();
792 } 846 }
793 847
848 void MediaRouterWebUIMessageHandler::OnRouteDetailsClosed(
849 const base::ListValue* args) {
850 media_router_ui_->OnUIDetailsViewClosed();
851 }
852
853 void MediaRouterWebUIMessageHandler::OnRouteDetailsOpened(
854 const base::ListValue* args) {
855 const base::DictionaryValue* args_dict = nullptr;
856 std::string route_id;
857 if (!args->GetDictionary(0, &args_dict) ||
858 !args_dict->GetString("routeId", &route_id)) {
859 DVLOG(1) << "Unable to extract media route ID";
860 return;
861 }
862 media_router_ui_->OnUIDetailsViewOpened(route_id);
863 }
864
865 void MediaRouterWebUIMessageHandler::OnPauseRoute(const base::ListValue* args) {
866 media_router_ui_->PauseRoute();
867 }
868
869 void MediaRouterWebUIMessageHandler::OnPlayRoute(const base::ListValue* args) {
870 media_router_ui_->PlayRoute();
871 }
872
873 void MediaRouterWebUIMessageHandler::OnSeekRoute(const base::ListValue* args) {
874 const base::DictionaryValue* args_dict = nullptr;
875 double time;
876 if (!args->GetDictionary(0, &args_dict) ||
877 !args_dict->GetDouble("time", &time)) {
878 DVLOG(1) << "Unable to extract time";
879 return;
880 }
881 media_router_ui_->SeekRoute(time);
882 }
883
884 void MediaRouterWebUIMessageHandler::OnSetRouteMute(
885 const base::ListValue* args) {
886 const base::DictionaryValue* args_dict = nullptr;
887 bool mute;
888 if (!args->GetDictionary(0, &args_dict) ||
889 !args_dict->GetBoolean("mute", &mute)) {
890 DVLOG(1) << "Unable to extract mute";
891 return;
892 }
893 media_router_ui_->SetRouteMute(mute);
894 }
895
896 void MediaRouterWebUIMessageHandler::OnSetRouteVolume(
897 const base::ListValue* args) {
898 const base::DictionaryValue* args_dict = nullptr;
899 double volume;
900 if (!args->GetDictionary(0, &args_dict) ||
901 !args_dict->GetDouble("volume", &volume)) {
902 DVLOG(1) << "Unable to extract volume";
903 return;
904 }
905 media_router_ui_->SetRouteVolume(volume);
906 }
907
794 bool MediaRouterWebUIMessageHandler::ActOnIssueType( 908 bool MediaRouterWebUIMessageHandler::ActOnIssueType(
795 IssueInfo::Action action_type, 909 IssueInfo::Action action_type,
796 const base::DictionaryValue* args) { 910 const base::DictionaryValue* args) {
797 if (action_type == IssueInfo::Action::LEARN_MORE) { 911 if (action_type == IssueInfo::Action::LEARN_MORE) {
798 std::string learn_more_url = GetLearnMoreUrl(args); 912 std::string learn_more_url = GetLearnMoreUrl(args);
799 if (learn_more_url.empty()) 913 if (learn_more_url.empty())
800 return false; 914 return false;
801 std::unique_ptr<base::ListValue> open_args(new base::ListValue); 915 std::unique_ptr<base::ListValue> open_args(new base::ListValue);
802 open_args->AppendString(learn_more_url); 916 open_args->AppendString(learn_more_url);
803 web_ui()->CallJavascriptFunctionUnsafe(kWindowOpen, *open_args); 917 web_ui()->CallJavascriptFunctionUnsafe(kWindowOpen, *open_args);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
896 } 1010 }
897 1011
898 return value; 1012 return value;
899 } 1013 }
900 1014
901 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) { 1015 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) {
902 set_web_ui(web_ui); 1016 set_web_ui(web_ui);
903 } 1017 }
904 1018
905 } // namespace media_router 1019 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/media_router/media_router_webui_message_handler.h ('k') | extensions/renderer/dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698