| 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 5dfa09ab751454e385acbaba4ac0ec9ff8660704..cc8f0f75e692d2d50d690946fbb41afbacaf62f6 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
|
| @@ -187,27 +187,30 @@ std::unique_ptr<base::ListValue> CastModesToValue(
|
|
|
| // Returns an Issue dictionary created from |issue| that can be used in WebUI.
|
| std::unique_ptr<base::DictionaryValue> IssueToValue(const Issue& issue) {
|
| + const IssueInfo& issue_info = issue.info();
|
| std::unique_ptr<base::DictionaryValue> dictionary(new base::DictionaryValue);
|
| - dictionary->SetString("id", issue.id());
|
| - dictionary->SetString("title", issue.title());
|
| - dictionary->SetString("message", issue.message());
|
| - dictionary->SetInteger("defaultActionType", issue.default_action().type());
|
| - if (!issue.secondary_actions().empty()) {
|
| + dictionary->SetInteger("id", issue.id());
|
| + dictionary->SetString("title", issue_info.title);
|
| + dictionary->SetString("message", issue_info.message);
|
| + dictionary->SetInteger("defaultActionType",
|
| + static_cast<int>(issue_info.default_action));
|
| + if (!issue_info.secondary_actions.empty()) {
|
| dictionary->SetInteger("secondaryActionType",
|
| - issue.secondary_actions().begin()->type());
|
| + static_cast<int>(issue_info.secondary_actions[0]));
|
| }
|
| - if (!issue.route_id().empty())
|
| - dictionary->SetString("routeId", issue.route_id());
|
| - dictionary->SetBoolean("isBlocking", issue.is_blocking());
|
| - if (issue.help_page_id() > 0)
|
| - dictionary->SetInteger("helpPageId", issue.help_page_id());
|
| + if (!issue_info.route_id.empty())
|
| + dictionary->SetString("routeId", issue_info.route_id);
|
| + dictionary->SetBoolean("isBlocking", issue_info.is_blocking);
|
| + if (issue_info.help_page_id > 0)
|
| + dictionary->SetInteger("helpPageId", issue_info.help_page_id);
|
|
|
| return dictionary;
|
| }
|
|
|
| bool IsValidIssueActionTypeNum(int issue_action_type_num) {
|
| return issue_action_type_num >= 0 &&
|
| - issue_action_type_num < IssueAction::TYPE_MAX;
|
| + issue_action_type_num <
|
| + static_cast<int>(IssueInfo::Action::NUM_VALUES);
|
| }
|
|
|
| // Composes a "learn more" URL. The URL depends on template arguments in |args|.
|
| @@ -454,11 +457,9 @@ void MediaRouterWebUIMessageHandler::OnCreateRoute(
|
| static_cast<MediaRouterUI*>(web_ui()->GetController());
|
| if (media_router_ui->HasPendingRouteRequest()) {
|
| DVLOG(1) << "UI already has pending route request. Ignoring.";
|
| - Issue issue(
|
| + IssueInfo issue(
|
| l10n_util::GetStringUTF8(IDS_MEDIA_ROUTER_ISSUE_PENDING_ROUTE),
|
| - std::string(), IssueAction(IssueAction::TYPE_DISMISS),
|
| - std::vector<IssueAction>(), std::string(), Issue::NOTIFICATION,
|
| - false, -1);
|
| + IssueInfo::Action::DISMISS, IssueInfo::Severity::NOTIFICATION);
|
| media_router_ui_->AddIssue(issue);
|
| return;
|
| }
|
| @@ -503,7 +504,7 @@ void MediaRouterWebUIMessageHandler::OnActOnIssue(
|
| Issue::Id issue_id;
|
| int action_type_num = -1;
|
| if (!args->GetDictionary(0, &args_dict) ||
|
| - !args_dict->GetString("issueId", &issue_id) ||
|
| + !args_dict->GetInteger("issueId", &issue_id) ||
|
| !args_dict->GetInteger("actionType", &action_type_num)) {
|
| DVLOG(1) << "Unable to extract args.";
|
| return;
|
| @@ -512,8 +513,8 @@ void MediaRouterWebUIMessageHandler::OnActOnIssue(
|
| DVLOG(1) << "Invalid action type: " << action_type_num;
|
| return;
|
| }
|
| - IssueAction::Type action_type =
|
| - static_cast<IssueAction::Type>(action_type_num);
|
| + IssueInfo::Action action_type =
|
| + static_cast<IssueInfo::Action>(action_type_num);
|
| if (ActOnIssueType(action_type, args_dict))
|
| DVLOG(1) << "ActOnIssueType failed for Issue ID " << issue_id;
|
| media_router_ui_->ClearIssue(issue_id);
|
| @@ -547,11 +548,9 @@ void MediaRouterWebUIMessageHandler::OnJoinRoute(const base::ListValue* args) {
|
| static_cast<MediaRouterUI*>(web_ui()->GetController());
|
| if (media_router_ui->HasPendingRouteRequest()) {
|
| DVLOG(1) << "UI already has pending route request. Ignoring.";
|
| - Issue issue(
|
| + IssueInfo issue(
|
| l10n_util::GetStringUTF8(IDS_MEDIA_ROUTER_ISSUE_PENDING_ROUTE),
|
| - std::string(), IssueAction(IssueAction::TYPE_DISMISS),
|
| - std::vector<IssueAction>(), std::string(), Issue::NOTIFICATION,
|
| - false, -1);
|
| + IssueInfo::Action::DISMISS, IssueInfo::Severity::NOTIFICATION);
|
| media_router_ui_->AddIssue(issue);
|
| return;
|
| }
|
| @@ -780,9 +779,9 @@ void MediaRouterWebUIMessageHandler::OnInitialDataReceived(
|
| }
|
|
|
| bool MediaRouterWebUIMessageHandler::ActOnIssueType(
|
| - const IssueAction::Type& action_type,
|
| + IssueInfo::Action action_type,
|
| const base::DictionaryValue* args) {
|
| - if (action_type == IssueAction::TYPE_LEARN_MORE) {
|
| + if (action_type == IssueInfo::Action::LEARN_MORE) {
|
| std::string learn_more_url = GetLearnMoreUrl(args);
|
| if (learn_more_url.empty())
|
| return false;
|
|
|