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

Side by Side Diff: third_party/WebKit/Source/modules/mediastream/RTCPeerConnection.cpp

Issue 1417023003: Disable test and remove the reference of enable_localhost_ice_candidate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test cases with certificates Created 5 years, 1 month 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 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 iceTransports = RTCIceTransportsNone; 136 iceTransports = RTCIceTransportsNone;
137 } else if (iceTransportsString == "relay") { 137 } else if (iceTransportsString == "relay") {
138 iceTransports = RTCIceTransportsRelay; 138 iceTransports = RTCIceTransportsRelay;
139 } else if (iceTransportsString != "all") { 139 } else if (iceTransportsString != "all") {
140 exceptionState.throwTypeError("Malformed RTCIceTransports"); 140 exceptionState.throwTypeError("Malformed RTCIceTransports");
141 return 0; 141 return 0;
142 } 142 }
143 } 143 }
144 144
145 ArrayValue iceServers; 145 ArrayValue iceServers;
146 size_t numberOfServers = 0; 146 bool ok = DictionaryHelper::get(configuration, "iceServers", iceServers);
147 bool createIceServerArray = true; 147 if (!ok || iceServers.isUndefinedOrNull()) {
148 if (DictionaryHelper::get(configuration, "iceServers", iceServers)) { 148 exceptionState.throwTypeError("Malformed RTCConfiguration");
149 if (!iceServers.length(numberOfServers)) { 149 return 0;
150 exceptionState.throwTypeError("Malformed RTCConfiguration"); 150 }
151 return 0; 151
152 } 152 size_t numberOfServers;
153 } else { 153 ok = iceServers.length(numberOfServers);
154 v8::Local<v8::Value> iceServersValue; 154 if (!ok) {
155 // Failed to parse iceServers as ArrayValue, try it as a scalar. If 155 exceptionState.throwTypeError("Malformed RTCConfiguration");
156 // iceServers is not specified (get returns false) or specified as 156 return 0;
157 // "undefined", treat it as the special case which RTCIceServerArray
158 // will not be created.
159 bool ok = (!DictionaryHelper::get(configuration, "iceServers", iceServer sValue)
160 || iceServersValue->IsUndefined());
161 if (!ok) {
162 exceptionState.throwTypeError("Malformed RTCConfiguration");
163 return 0;
164 }
165 createIceServerArray = false;
166 } 157 }
167 158
168 RTCBundlePolicy bundlePolicy = RTCBundlePolicyBalanced; 159 RTCBundlePolicy bundlePolicy = RTCBundlePolicyBalanced;
169 String bundlePolicyString; 160 String bundlePolicyString;
170 if (DictionaryHelper::get(configuration, "bundlePolicy", bundlePolicyString) ) { 161 if (DictionaryHelper::get(configuration, "bundlePolicy", bundlePolicyString) ) {
171 if (bundlePolicyString == "max-compat") { 162 if (bundlePolicyString == "max-compat") {
172 bundlePolicy = RTCBundlePolicyMaxCompat; 163 bundlePolicy = RTCBundlePolicyMaxCompat;
173 } else if (bundlePolicyString == "max-bundle") { 164 } else if (bundlePolicyString == "max-bundle") {
174 bundlePolicy = RTCBundlePolicyMaxBundle; 165 bundlePolicy = RTCBundlePolicyMaxBundle;
175 } else if (bundlePolicyString != "balanced") { 166 } else if (bundlePolicyString != "balanced") {
(...skipping 10 matching lines...) Expand all
186 } else if (rtcpMuxPolicyString != "negotiate") { 177 } else if (rtcpMuxPolicyString != "negotiate") {
187 exceptionState.throwTypeError("Malformed RTCRtcpMuxPolicy"); 178 exceptionState.throwTypeError("Malformed RTCRtcpMuxPolicy");
188 return 0; 179 return 0;
189 } 180 }
190 } 181 }
191 182
192 RTCConfiguration* rtcConfiguration = RTCConfiguration::create(); 183 RTCConfiguration* rtcConfiguration = RTCConfiguration::create();
193 rtcConfiguration->setIceTransports(iceTransports); 184 rtcConfiguration->setIceTransports(iceTransports);
194 rtcConfiguration->setBundlePolicy(bundlePolicy); 185 rtcConfiguration->setBundlePolicy(bundlePolicy);
195 rtcConfiguration->setRtcpMuxPolicy(rtcpMuxPolicy); 186 rtcConfiguration->setRtcpMuxPolicy(rtcpMuxPolicy);
196 if (createIceServerArray) {
197 rtcConfiguration->setIceServers(RTCIceServerArray::create());
198 }
199 187
200 for (size_t i = 0; i < numberOfServers; ++i) { 188 for (size_t i = 0; i < numberOfServers; ++i) {
201 Dictionary iceServer; 189 Dictionary iceServer;
202 bool ok = iceServers.get(i, iceServer); 190 ok = iceServers.get(i, iceServer);
203 if (!ok) { 191 if (!ok) {
204 exceptionState.throwTypeError("Malformed RTCIceServer"); 192 exceptionState.throwTypeError("Malformed RTCIceServer");
205 return 0; 193 return 0;
206 } 194 }
207 195
208 Vector<String> names; 196 Vector<String> names;
209 iceServer.getPropertyNames(names); 197 iceServer.getPropertyNames(names);
210 198
211 Vector<String> urlStrings; 199 Vector<String> urlStrings;
212 if (names.contains("urls")) { 200 if (names.contains("urls")) {
(...skipping 23 matching lines...) Expand all
236 DictionaryHelper::get(iceServer, "username", username); 224 DictionaryHelper::get(iceServer, "username", username);
237 DictionaryHelper::get(iceServer, "credential", credential); 225 DictionaryHelper::get(iceServer, "credential", credential);
238 226
239 for (Vector<String>::iterator iter = urlStrings.begin(); iter != urlStri ngs.end(); ++iter) { 227 for (Vector<String>::iterator iter = urlStrings.begin(); iter != urlStri ngs.end(); ++iter) {
240 KURL url(KURL(), *iter); 228 KURL url(KURL(), *iter);
241 if (!url.isValid() || !(url.protocolIs("turn") || url.protocolIs("tu rns") || url.protocolIs("stun"))) { 229 if (!url.isValid() || !(url.protocolIs("turn") || url.protocolIs("tu rns") || url.protocolIs("stun"))) {
242 exceptionState.throwTypeError("Malformed URL"); 230 exceptionState.throwTypeError("Malformed URL");
243 return 0; 231 return 0;
244 } 232 }
245 233
246 rtcConfiguration->iceServers()->appendServer(RTCIceServer::create(ur l, username, credential)); 234 rtcConfiguration->appendServer(RTCIceServer::create(url, username, c redential));
247 } 235 }
248 } 236 }
249 237
250 ArrayValue certificates; 238 ArrayValue certificates;
251 if (DictionaryHelper::get(configuration, "certificates", certificates) && !c ertificates.isUndefinedOrNull()) { 239 if (DictionaryHelper::get(configuration, "certificates", certificates) && !c ertificates.isUndefinedOrNull()) {
252 size_t numberOfCertificates; 240 size_t numberOfCertificates;
253 certificates.length(numberOfCertificates); 241 certificates.length(numberOfCertificates);
254 for (size_t i = 0; i < numberOfCertificates; ++i) { 242 for (size_t i = 0; i < numberOfCertificates; ++i) {
255 RTCCertificate* certificate = nullptr; 243 RTCCertificate* certificate = nullptr;
256 244
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after
969 { 957 {
970 visitor->trace(m_localStreams); 958 visitor->trace(m_localStreams);
971 visitor->trace(m_remoteStreams); 959 visitor->trace(m_remoteStreams);
972 visitor->trace(m_dataChannels); 960 visitor->trace(m_dataChannels);
973 visitor->trace(m_scheduledEvents); 961 visitor->trace(m_scheduledEvents);
974 RefCountedGarbageCollectedEventTargetWithInlineData<RTCPeerConnection>::trac e(visitor); 962 RefCountedGarbageCollectedEventTargetWithInlineData<RTCPeerConnection>::trac e(visitor);
975 ActiveDOMObject::trace(visitor); 963 ActiveDOMObject::trace(visitor);
976 } 964 }
977 965
978 } // namespace blink 966 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698