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

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

Issue 1950223002: [Media Router WebUI] Don't let pseudo sinks alone show user email. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « no previous file | chrome/browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/webui/media_router/media_router_webui_message_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698