| 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 for (const MediaSinkWithCastModes& sink_with_cast_modes : sinks) { | 94 for (const MediaSinkWithCastModes& sink_with_cast_modes : sinks) { |
| 95 std::unique_ptr<base::DictionaryValue> sink_val(new base::DictionaryValue); | 95 std::unique_ptr<base::DictionaryValue> sink_val(new base::DictionaryValue); |
| 96 | 96 |
| 97 const MediaSink& sink = sink_with_cast_modes.sink; | 97 const MediaSink& sink = sink_with_cast_modes.sink; |
| 98 sink_val->SetString("id", sink.id()); | 98 sink_val->SetString("id", sink.id()); |
| 99 sink_val->SetString("name", sink.name()); | 99 sink_val->SetString("name", sink.name()); |
| 100 sink_val->SetInteger("iconType", sink.icon_type()); | 100 sink_val->SetInteger("iconType", sink.icon_type()); |
| 101 if (!sink.description().empty()) | 101 if (!sink.description().empty()) |
| 102 sink_val->SetString("description", sink.description()); | 102 sink_val->SetString("description", sink.description()); |
| 103 | 103 |
| 104 bool is_pseudo_sink = |
| 105 base::StartsWith(sink.id(), "pseudo:", base::CompareCase::SENSITIVE); |
| 104 if (!user_domain.empty() && !sink.domain().empty()) { | 106 if (!user_domain.empty() && !sink.domain().empty()) { |
| 105 std::string domain = sink.domain(); | 107 std::string domain = sink.domain(); |
| 106 // Convert default domains to user domain | 108 // Convert default domains to user domain |
| 107 if (sink.domain() == "default") { | 109 if (sink.domain() == "default") { |
| 108 domain = user_domain; | 110 domain = user_domain; |
| 109 if (domain == Profile::kNoHostedDomainFound) { | 111 if (domain == Profile::kNoHostedDomainFound) { |
| 110 // Default domain will be empty for non-dasher accounts. | 112 // Default domain will be empty for non-dasher accounts. |
| 111 domain.clear(); | 113 domain.clear(); |
| 112 } | 114 } |
| 113 } | 115 } |
| 114 | 116 |
| 115 sink_val->SetString("domain", domain); | 117 sink_val->SetString("domain", domain); |
| 116 | 118 |
| 117 show_email = true; | 119 show_email = show_email || !is_pseudo_sink; |
| 118 if (!domain.empty() && domain != user_domain) | 120 if (!domain.empty() && domain != user_domain) { |
| 119 show_domain = true; | 121 show_domain = true; |
| 122 } |
| 120 } | 123 } |
| 121 | 124 |
| 122 int cast_mode_bits = 0; | 125 int cast_mode_bits = 0; |
| 123 for (MediaCastMode cast_mode : sink_with_cast_modes.cast_modes) | 126 for (MediaCastMode cast_mode : sink_with_cast_modes.cast_modes) |
| 124 cast_mode_bits |= cast_mode; | 127 cast_mode_bits |= cast_mode; |
| 125 | 128 |
| 126 sink_val->SetInteger("castModes", cast_mode_bits); | 129 sink_val->SetInteger("castModes", cast_mode_bits); |
| 127 sink_val->SetBoolean( | 130 sink_val->SetBoolean("isPseudoSink", is_pseudo_sink); |
| 128 "isPseudoSink", | |
| 129 base::StartsWith(sink.id(), "pseudo:", base::CompareCase::SENSITIVE)); | |
| 130 sinks_val->Append(sink_val.release()); | 131 sinks_val->Append(sink_val.release()); |
| 131 } | 132 } |
| 132 | 133 |
| 133 sink_list_and_identity->Set("sinks", sinks_val.release()); | 134 sink_list_and_identity->Set("sinks", sinks_val.release()); |
| 134 sink_list_and_identity->SetBoolean("showEmail", show_email); | 135 sink_list_and_identity->SetBoolean("showEmail", show_email); |
| 135 sink_list_and_identity->SetBoolean("showDomain", show_domain); | 136 sink_list_and_identity->SetBoolean("showDomain", show_domain); |
| 136 return sink_list_and_identity; | 137 return sink_list_and_identity; |
| 137 } | 138 } |
| 138 | 139 |
| 139 std::unique_ptr<base::DictionaryValue> RouteToValue( | 140 std::unique_ptr<base::DictionaryValue> RouteToValue( |
| (...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 870 #endif // defined(GOOGLE_CHROME_BUILD) | 871 #endif // defined(GOOGLE_CHROME_BUILD) |
| 871 | 872 |
| 872 return AccountInfo(); | 873 return AccountInfo(); |
| 873 } | 874 } |
| 874 | 875 |
| 875 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) { | 876 void MediaRouterWebUIMessageHandler::SetWebUIForTest(content::WebUI* web_ui) { |
| 876 set_web_ui(web_ui); | 877 set_web_ui(web_ui); |
| 877 } | 878 } |
| 878 | 879 |
| 879 } // namespace media_router | 880 } // namespace media_router |
| OLD | NEW |